コマンドラインからコードを確認する際はlessコマンドなどで確認するのですが、どうやらシンタックスハイライトを行って表示することができるようなので試してみました。
目次
GNU Source-highlightを導入する
GNU Source-highlightはソースコードからシンタックスハイライト したドキュメントを作成するためのプログラムです。ソースファイルを引数として呼び出すとHTML形式でドキュメントを生成してくれます。
[shell]
% brew install source-highlight
[/shell]
source-highlightは以下のようにして使用します。
[shell]
% source-highlight hello.c
Processing hello.c … created hello.c.html
[/shell]
hello.c.htmlをブラウザで表示するとシンタックスハイライトされているのが確認できます。
またデフォルトの出力形式はHTMLですが他の形式も選べます。
docbook, esc, esc256, groff_man, groff_mm, groff_mm_color, html, html-css, html5, htmltable, javadoc, latex, latexcolor, mediawiki, odf, sexp, texinfo, xhtml, xhtml-css, xhtmltable
lessコマンドへパイプする
出力形式を esc にして結果を less へパイプしてやればいいです。
[shell]
% source-highlight -f esc -i hello.c | less -R
[/shell]
もしくは既存のスクリプトがあるので、これを利用したほうが簡単かもしれません。
[shell]
% src-hilite-lesspipe.sh hello.c | less -R
[/shell]
エイリアス/関数を作成する
最後にエイリアス/関数を作成します。csh/tcshとbash/zshでは作成方法が異なるのでコードを載せておきます。
[shell]
# csh/tcsh
alias lessh ‘src-hilite-lesspipe.sh \!* | less -R’
[/shell]
[shell]
# bash/zsh
function lessh() { src-hilite-lesspipe.sh $1 | less -R }
[/shell]
今回は lessh で実行できるようにしました。