SVN::Webでシンタックスハイライト

SVN::WebっていうPerlで書かれたSubversionフロントエンドがあります。基本的にTracのBrowse Sourceのところを切り出しただけな感じですが(ほんとはもっといろいろできるかもしれないけど知らない)、Tracシンタックスハイライトされるのに対してSVN::Webではされません。

というわけで作ってみた。
たぶん既に誰かやってるだろうけどまあ気にしない。Text::VimColorというモジュールを使いました。

ソースおよび実際に動作している様子は以下で。
MIME判定のところはTracのソースからぱくったりした。
http://onot.in/svnweb/tktsh/view/SVN-Web-View-VimColor/trunk/lib/SVN/Web/View/VimColor.pm

テンプレの変更とかCSSの追加とか必須。

ちなみにText::VimColor絡みで2つ躓いた。

日本語が化ける

Apacheの実行ユーザーの環境変数LANGを設定したら直った。

FastCGIだと動かない

CatalystでText::VimColorを使う - masaki@catalyst - Catalystグループを試してみたんだけど依然として直らなかったので放置。よくわかんない。なので今はCGIで動いてる。そもそも実際にVIMを起動してるのがどうかという気もする。


あとhttp://rt.cpan.org/Public/Bug/Display.html?id=27950というのがあって、これはSyntax::Highlight::Engine::Kateを使ってハイライトするみたいです。Kateっていうエディターがあるらしい。