平衡点


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 をカラフルに


連絡先など
最近の日記
  • 2024/05/10
    • 1. 特定の文字列を含むRubyスクリプトをEmacsで開くと CPU100% で止まります
  • 2024/04/28
    • 1. CF-SR3 での生活環境構築 (できてない)
  • 2024/03/29
    • 1. Debian GNU/Linux on CF-SR3
  • 2024/03/25
    • 1. org-mode → beamer でのリスト記号の一時変更
  • 2024/03/22
    • 1. 静的htmlによるGit Repository Browser
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|05|
Back to Top ▲