at posts/single.html

ソースコードを快適に読むための GNU GLOBAL 入門 (後編)

前編では GNU GLOBAL のインストールからコマンドラインまでを、 中編ではエディタ (vim) からの使い方を書いた。

後編では、ソースコードを HTML に変換して Web ブラウザから見られるようにする、 htags というコマンドについて書くよ。 といっても、エディタとの連携などと違って、それほど書くことはないんだけどね。

HTML への変換前に、 gtags コマンド(前編参照)でタグファイル (GTAGS など) を作成しておく。 次に、 ソースコードのルートディレクトリで htags コマンドを実行することで、ソースコードが HTML に変換される。 HTML 化されたデータは vim での :GtagsCursor コマンドと同じように、関数の定義と参照のジャンプが簡単にできる。 ふと、 HTML とリンクという概念は、やっぱり素晴らしいと思った。

それはさておき、 htags コマンドはオプションがたくさんあって悩む。 とりあえず以下のオプションを設定した。

htags -ansx

これは、以下のように設定するのと同じ。

htags --alphabet --line-number --symbol --xhtml

オプションの意味は以下の通り。

--alphabetアルファベット順の関数一覧を作成する
--line-numberソースコードに行番号を表示する
--symbol関数だけでなくシンボル(変数など)にもリンクを張る
--xhtmlXHTML形式で出力する (未指定時はHTML)

詳しくは、リファレンス(英語)か、日本語での説明が参考になる。

ruby-1.9.1 のソースコードでは、所要時間は数分程度でファイルサイズは 246 MB だった。 --symbol オプションを付けなければ、 169 MB だった。 --symbol オプションを指定すると、すべての変数にもリンクが張られるので、場合によっては邪魔になるかも。 また、 --xhtml オプションを指定しないと、スタイルシートを使わずにタグ上で色づけされちゃうみたい。 デザイン(色など)をカスタマイズしたい場合は --xhtml オプションを指定しておいた方がいい。

ちなみに arton さんとこで、 ruby1.9.0 のソースを HTML 化したデータが公開されてる。

長くなったけど、 GNU GLOBAL の良さが伝わるといいな。

関連する日記