agでファイル出力時もterminalと同じように閲覧したい
agことthe_silver_searcherをterminal上で使用した場合以下のような形式で出力されます
ag isatty
src/options.c
355: if (!isatty(fileno(stdout))) {
src/print_w32.c
50: !isatty(fileno(fp)) ||
これをファイルなどに書き込んだ場合、ファイルパスが先頭についた形で出力されます。
src/options.c:355: if (!isatty(fileno(stdout))) {
src/print_w32.c:50: !isatty(fileno(fp)) ||
これは出力先がterminalかどうかをisattyで判定しているので起きているのですが
351 /* If we're not outputting to a terminal. change output to:
352 * turn off colors
353 * print filenames on every line
354 */
355 if (!isatty(fileno(stdout))) {
terminalで見てる感じでファイルにも出力したいよねという感じでラーメン好きな人に相談したら
ag --heading --numbers isatty
こちらのオプションで似たような出力を得ることができました。
src/options.c
355: if (!isatty(fileno(stdout))) {
src/print_w32.c
50: !isatty(fileno(fp)) ||
便利ですね。
なお、こちらで使用されたagは以下のバージョンを使用しております
ag --version ag version 1.0.2 Features: +jit +lzma +zlib