平衡点


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

としただけ.

最初は LESSOPENnkf -w 通して pygmentize に直接渡そうと考えてみたのだけれど, ファイル名が無いと syntax highlight する言語の判定に失敗することがあって, 結局別スクリプトにしてみた.

結構綺麗で良いと思う. 出力結果をカスタマイズしたいなら, 適当に style を書いたら良いかと.

似た様な話→ man をカラフルに


連絡先など
"
最近の日記
一覧
Back to Top ▲