Tracに色付けルールを追加する

id:ladybug:20041117 にて書いた csharp.st を有効化するためには2つの設定を変更しなければならない。

MimeType text/x-csharp の設定

1つめの設定は MimeType への関連付けであり、拡張子と MimeType に関する設定は trac/Mimeview.py にある MIME_MAP に追加する。

MIME_MAP = {
    'css':'text/css',
    'html':'text/html',
    (略)
    'c':'text/x-csrc',
    'cs':'text/x-csharp',
    'csh':'application/x-csh',
    (略)
    'zsh':'text/x-zsh',
    'barf':'application/x-test',
 }

enscript のパラメータ設定

2つめの設定は、設定した MimeType に対応した Enscript のコマンドラインオプションの調整で、こちらは trac/mimeviewers/enscript.py にて行う。

supported_types = [
    (2, 'application/postscript', 'postscript'),
    (2, 'application/x-csh', 'csh'),
    (略)
    (2, 'text/x-csrc',       'c'),
    (2, 'text/x-csharp',  'csharp'),
    (2, 'text/x-diff',       'diffu'),
    (略)
    (2, 'application/x-sh',  'sh'),
    (2, 'text/x-zsh',        'zsh'),
    ]

Trac on Win32

Win32 上で Trac + Enscript を動作させる場合、GNU Win32 の enscript.exe を利用すると良いのだが、conf/trac.ini に enscript.exe を指定する場合に注意点がある。

  • enscript.exe のフルパスを記述すること
  • state.exe がパスの通った場所にあること

前者は、おそらく Win32 Python の popen の仕様で、後者は enscript.exe が子プロセスとして呼び出すため、必要となるようだ。