399 |
if (!sort) |
if (!sort) |
400 |
die("%s not found.", POSIX_SORT); |
die("%s not found.", POSIX_SORT); |
401 |
sortfilter = strbuf_open(0); |
sortfilter = strbuf_open(0); |
402 |
strbuf_puts(sortfilter, sort); |
/* |
403 |
if (sflag) { |
* The --devel option is for test. |
404 |
strbuf_puts(sortfilter, " -u"); |
*/ |
405 |
unique = 1; |
if (devel) { |
406 |
} |
if (tflag) { /* ctags format */ |
|
if (tflag) /* ctags format */ |
|
|
if (devel) { |
|
|
strbuf_reset(sortfilter); |
|
407 |
strbuf_puts(sortfilter, "gtags --sort --ctags"); |
strbuf_puts(sortfilter, "gtags --sort --ctags"); |
408 |
if (sflag) |
if (sflag) |
409 |
strbuf_puts(sortfilter, " --unique"); |
strbuf_puts(sortfilter, " --unique"); |
410 |
} else { |
} else if (fflag) { |
411 |
strbuf_puts(sortfilter, " -k 1,1 -k 2,2 -k 3,3n"); |
STRBUF *sb = strbuf_open(0); |
412 |
} |
/* |
413 |
else if (fflag) { |
* By default, the -f option need sort filter, |
414 |
STRBUF *sb = strbuf_open(0); |
* because there is a possibility that an external |
415 |
/* |
* parser is used instead of gtags-parser(1). |
416 |
* By default, the -f option need sort filter, |
* Clear the sort filter when understanding that |
417 |
* because there is a possibility that an external |
* the parser is gtags-parser. |
418 |
* parser is used instead of gtags-parser(1). |
*/ |
419 |
* Clear the sort filter when understanding that |
if (!getconfs(dbname(db), sb)) |
420 |
* the parser is gtags-parser. |
die("cannot get parser for %s.", dbname(db)); |
421 |
*/ |
if (!locatestring(strbuf_value(sb), "gtags-parser", MATCH_FIRST)) { |
422 |
if (!getconfs(dbname(db), sb)) |
strbuf_puts(sortfilter, sort); |
423 |
die("cannot get parser for %s.", dbname(db)); |
strbuf_puts(sortfilter, " -k 3,3 -k 2,2n"); |
424 |
if (locatestring(strbuf_value(sb), "gtags-parser", MATCH_FIRST)) |
} |
425 |
strbuf_setlen(sortfilter, 0); |
strbuf_close(sb); |
426 |
else |
} else if (gflag || Pflag) { |
427 |
strbuf_puts(sortfilter, " -k 3,3 -k 2,2n"); |
; /* doesn't use sort filter */ |
428 |
strbuf_close(sb); |
} else if (xflag) { /* print details */ |
|
} else if (gflag || Pflag) |
|
|
strbuf_setlen(sortfilter, 0); |
|
|
else if (xflag) { /* print details */ |
|
|
if (devel) { |
|
|
strbuf_reset(sortfilter); |
|
429 |
strbuf_puts(sortfilter, "gtags --sort"); |
strbuf_puts(sortfilter, "gtags --sort"); |
430 |
if (sflag) |
if (sflag) |
431 |
strbuf_puts(sortfilter, " --unique"); |
strbuf_puts(sortfilter, " --unique"); |
432 |
} else { |
} else { /* print just a file name */ |
433 |
strbuf_puts(sortfilter, " -k 1,1 -k 3,3 -k 2,2n"); |
strbuf_puts(sortfilter, "gtags --sort --pathname"); |
434 |
} |
} |
435 |
} else if (!unique) /* print just a file name */ |
} else { |
436 |
strbuf_puts(sortfilter, " -u"); |
strbuf_puts(sortfilter, sort); |
437 |
|
if (sflag) { |
438 |
|
strbuf_puts(sortfilter, " -u"); |
439 |
|
unique = 1; |
440 |
|
} |
441 |
|
if (tflag) /* ctags format */ |
442 |
|
strbuf_puts(sortfilter, " -k 1,1 -k 2,2 -k 3,3n"); |
443 |
|
else if (fflag) { |
444 |
|
STRBUF *sb = strbuf_open(0); |
445 |
|
/* |
446 |
|
* By default, the -f option need sort filter, |
447 |
|
* because there is a possibility that an external |
448 |
|
* parser is used instead of gtags-parser(1). |
449 |
|
* Clear the sort filter when understanding that |
450 |
|
* the parser is gtags-parser. |
451 |
|
*/ |
452 |
|
if (!getconfs(dbname(db), sb)) |
453 |
|
die("cannot get parser for %s.", dbname(db)); |
454 |
|
if (locatestring(strbuf_value(sb), "gtags-parser", MATCH_FIRST)) |
455 |
|
strbuf_setlen(sortfilter, 0); |
456 |
|
else |
457 |
|
strbuf_puts(sortfilter, " -k 3,3 -k 2,2n"); |
458 |
|
strbuf_close(sb); |
459 |
|
} else if (gflag || Pflag) |
460 |
|
strbuf_setlen(sortfilter, 0); |
461 |
|
else if (xflag) { /* print details */ |
462 |
|
strbuf_puts(sortfilter, " -k 1,1 -k 3,3 -k 2,2n"); |
463 |
|
} else if (!unique) /* print just a file name */ |
464 |
|
strbuf_puts(sortfilter, " -u"); |
465 |
|
} |
466 |
} |
} |
467 |
/* |
/* |
468 |
* make path filter. |
* make path filter. |