less -R は色を表示しません

less -R は色を表示しません

私は OSSierra で iterm2 を使用しています。

私は、Golangでマークダウンの簡単な解析を行い、特定の行をターミナルに色付きで印刷する小さなプロジェクトを持っています。https://github.com/deltaskelta/readme私はこのライブラリをカラーに使用していますhttps://github.com/fatih/color

プログラムを単独で実行するとすべてがうまくいきますが、パイプしてless -Rページャーで色付きの出力を取得できるようにして、長いファイルを簡単に表示できるようにしたいと思います...

にパイプしようとするとすべての色が失われます。less基礎となるカラー コードに何らかの問題があるはずですが、問題を追跡するには十分な知識がありません...

何か案は?

答え1

一部のプログラムは、パイプまたは通常のファイルに書き込むか、端末 (tty) に書き込むかを検出できます。後者の場合にのみ、カラフルな出力が生成されます。

例:lsは で同様のことを行いますls --color=auto。 によって色を強制することができますls --color=always

ツールを にパイプするとどうなるか確認してみましょうless( も も使用し-Rません-r)。コードは何かありますか? および と比較してls --color=auto | lessくださいls --color=always | less

コードがない場合は、ツールはパイプで使用されている場合でもそれらを生成します (--color=alwaysのオプションと同等ls)。ツールのドキュメントがある場合は確認してください。

関連情報