Mercurialのhgwebdir.cgiでsyntax highlightする。

http://d.hatena.ne.jp/methane/20080331/1206968345
で言ってた、hgwebdir.cgiでsyntax highlightが有効にならない問題の解決方法。hgwebdir.cgiに以下の2行を加える。

import hgext.highlight
hgext.highlight.demandimport.enable()

ただし、cgiで動かすとソースコードの表示が目に見えて遅くなるので注意。Pythonは.pyファイルを.pycファイルにする機能があるので、Rubyに比べるとcgiでも早いと言われているが、やはりある程度の大きさになるとimportの大きさは問題になる。
hgwebdir自体はwsgiなので、fcgiだろうと何だろうと設定すれば動くので、cgiから別の何かに乗り換えよう。

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。