動機
- xmlが出力されるときにシンタックスハイライトしたい
- Vimで読めというのは無しで
- sedスクリプトを書けというのも無しで
Pygments、Pygmentsを使う
- Python製のシンタックスハイライトライブラリ
- 非常に多くの言語に対応している
- 静的サイトジェネレータでシンタックスハイライトを実現するのに使われているのをよく見る
- ターミナル用のシンタックスハイライトコマンド
pygmentize
が含まれている
Pygmentsをインストール
- anyenv、anyenvを使う
- バージョンをいくつにしたらいいかわからなかったので、HomebrewのPythonパッケージのバージョンに合わせた
$ anyenv install pyenv
$ exec $SHELL -l # シェルを再起動してpyenvを有効化
$ pyenv install 2.7.9
$ pyenv global 2.7.9 # インストールしたバージョンを優先使用
$ pip install Pygments
$ type pygmentize
pygmentize is /Users/catfist/.anyenv/envs/pyenv/shims/pygmentize
パイプで渡してシンタックスハイライト
- こんな感じで使える。
$ cat sample.xml | pygmentize
- きれい
- みやすい
- らくちん