平衡点
2014/08/22
_ less の syntax highlight に pygments を使う
今迄は GNU Source-highlight を使っていたのだけれども, 試しに Pygments を使ってみたら 予想以上に良い感じだったので, のりかえてみた.
やった事は単純で pygmentize-lessfilter を
# source: sh
#!/bin/sh
if [ "$?" -eq "0" ]; then
pygmentize -g -O "style=native,encoding=$(nkf -g $1)" $1 | nkf -w
else
exit 1
fi
なんて作成しておいて, ~/.zshrc で
# source: sh
LESSCHARSET=utf8
LESS='-R'
if ( whence pygmentize >/dev/null ) && ( whence nkf > /dev/null ) ; then
LESSOPEN="| pygmentize-lessfilter %s"
fi
としただけ.
最初は LESSOPEN で nkf -w 通して pygmentize に直接渡そうと考えてみたのだけれど, ファイル名が無いと syntax highlight する言語の判定に失敗することがあって, 結局別スクリプトにしてみた.
結構綺麗で良いと思う. 出力結果をカスタマイズしたいなら, 適当に style を書いたら良いかと.
似た様な話→ man をカラフルに
[ツッコミを入れる]