ソースコードのシンタックスカラーリング
Trac は Wiki形式 のテキストと リポジトリブラウザ での、ソースコードの言語特有のシンタックスハイライトに対応しています。
色付けを行うために、 Trac はとても多くのプログラミング言語に対応している外部のライブラリを使用しています。
現在、 Trac は以下にあげる 1 つ以上のパッケージを使用して、シンタックスハイライトを実現しています:
シンタックスハイライトを有効にするためには、ただこれらのパッケージをインストールするだけです。追加のコンフィグレーションは必要ありませんが、カラーリングを修正するためには、 trac/htdocs/css/code.css を参照してください。
シンタックスハイライトを使用するとき、可能な限り Trac は自動的に Enscript よりも SilverCity のハイライトを優先します (下の注を参照のこと)。
どちらのパッケージも使用できないときは、 Trac はプレーンテキストでデータを表示します。
Note: Enscript はとても多くのプログラミング言語に対応しますが、 SilverCity はライブラリが一つで、外部プロセスで実行しないので、 Enscript よりも処理が速いです。
SilverCity について
SilverCity は Scintilla の lexer を使用します。 Scintilla は SilverCity が実装しているよりもより多くのプログラミング言語に対応しています。もし、 SilverCity に Scintilla が対応しているプログラミング言語を追加したいならば、そんなに難しいことではありません。どのようにすればいいのかは、 SilverCityAddLanguage を参照してください。
対応しているシンタックスハイライト
SilverCity | Enscript | |
Ada | X | |
Asm | X | |
* ASP | X | X |
* C | X | X |
* C# | X(2) | |
* C++ | X | X |
* Java | X | |
Awk | X | |
CSS | X | |
Diff | X | |
Eiffel | X | |
Elisp | X | |
Fortran | X | |
Haskell | X | |
HTML | X | X |
IDL | X | |
Javascript | X | X |
m4 | X | |
Makefile | X | |
Matlab | X | |
Objective-C | X | |
Pascal | X | |
* Perl | X | X |
* PHP | X | X |
PSP | X | |
Pyrex | X | |
* Python | X | X |
* Ruby | X | X (1) |
Scheme | X | |
Shell | X | |
SQL | X | X |
Troff | X | |
TCL | X | |
Tex | X | |
Verilog | X | |
VHDL | X | |
Visual Basic | X | |
VRML | X | |
XML | X |
(*) WikiFormatting の WikiProcessors でシンタックスハイライトが対応しています。
(1) Enscript では Ruby のハイライトは含まれていません。 Ruby のハイライトルールは http://neugierig.org/software/ruby/ から入手することができます。
(2) C# のハイライトは Enscript の配布物には含まれていません。 C# 用のハイライトのルールは http://wiki.hasno.info/index.php/Csharp.st より入手可能です。
その他のソフトウェア
- GNU Enscript -- http://directory.fsf.org/GNU/enscript.html
- GNU Enscript for Windows -- http://gnuwin32.sourceforge.net/packages/enscript.htm
- SilverCity -- http://silvercity.sf.net/
See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser