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