wiki:TracSyntaxColoring

Version 3 (modified by trac, 11 years ago) ( diff )

--

ソースコードのシンタックスカラーリング

Trac は wiki プロセッサ ブロック内の Wiki 形式のテキストと リポジトリブラウザ での、ソースコードの言語特有のシンタックスハイライトに対応しています。

Trac では色付けを行うために、とても多くのプログラミング言語に対応している外部ライブラリを使用しています。

現在、 Trac は以下にあげるパッケージを 1 つ以上使用して、シンタックスハイライトを実現しています:

  • ​Pygments 最も推奨するシステムです。というのもカバーしているプログラミング言語、構造化テキストが多いこととサポート体制が活発であるからです
  • ​GNU Enscript 通常 UNIX で利用できますが、 Windows ではサポートされていません
  • ​SilverCity レガシーなシステムです。いくつかのバージョンには ​問題があります

シンタックスカラーリングを有効にするには、これらのパッケージのどれか 1 つまたは 1 つ以上をインストールするだけです ( 下記の その他のソフトウェア を参照 ) もし、これらのパッケージの中で適用できるものがなければ、 Trac はプレーンテキストとしてデータを表示します。

Pygments について

Trac 0.11 以降で、 ​pygments はデフォルトのハイライトパッケージとなりました。ハイライト用のライブラリがピュアな Python コードで書かれていて、とても速く、拡張しやすく ​ドキュメントが豊富です 。

Pygments のデフォルトのスタイルは、 trac.ini の mime-viewer セクションで指定できます。デフォルトのスタイルは、 個人設定のシンタックスハイライトタブ 上のスタイルを設定することで、オーバーライドされます。

Pygments の構文解析エンジンが対応するリストは毎週のように更新されています。以下のリストが古い可能性は非常に高いです。 正確には ​supported lexers のページを参照してください。

対応しているシンタックスハイライト

対応している MIME タイプ

MIME TypesWikiProcessors
application/graphvizcirco fdp graphviz neato twopi
application/javascriptjs
application/msworddoc dot
application/pdfpdf
application/postscriptps
application/rss+xmlrss
application/rtfrtf
application/x-cshcsh
application/x-dos-batchbat batch cmd dos
application/x-genshigenshi
application/x-shsh
application/x-troffnroff roff troff
application/x-yamlyaml yml
application/xsl+xmlxsl
application/xslt+xmlxslt
image/svg+xmlsvg
image/x-iconico
model/vrmlvrml wrl
text/csscss
text/htmlhtm html
text/html+jinjajinja
text/plainAUTHORS COPYING ChangeLog INSTALL README RELEASE TXT text txt
text/x-adaada adb ads
text/x-apacheconfapache apacheconf
text/x-asmasm
text/x-aspasp
text/x-awkawk
text/x-c++hdrH HH c++hdr hh hpp
text/x-c++srcC C++ CC c++ c++src cc cpp
text/x-chdrchdr h
text/x-csharpC# c# cs csharp
text/x-csrcc csrc xs
text/x-diffdiff patch
text/x-dylandylan
text/x-eiffele eiffel
text/x-elispel elisp
text/x-fortranf fortran
text/x-haskellhaskell hs
text/x-idlice idl
text/x-infinf
text/x-inicfg ini
text/x-javajava
text/x-kshksh
text/x-lualua
text/x-m4m4
text/x-mailmail
text/x-makefileGNUMakefile Makefile make makefile mk
text/x-nginx-confnginx nginx-conf
text/x-objcm mm objc
text/x-ocamlml mli ocaml
text/x-pascalpas pascal
text/x-perlPL perl pl pm
text/x-phpphp php3 php4
text/x-psppsp
text/x-pyrexpyrex pyx
text/x-pythonpy python
text/x-python-doctestpycon python-doctest
text/x-rfcrfc
text/x-rstrst
text/x-rubyrb ruby
text/x-schemescheme scm
text/x-sqlsql
text/x-tcltcl
text/x-textex
text/x-textiletextile txtl
text/x-vbabas vb vba
text/x-verilogv verilog
text/x-vhdlvhd vhdl
text/x-zshzsh
text/xmlxml

Note: 高度なコンテンツはシンタックスハイライトの代わりに直接レンダリングされるかもしれません。これはインストールされている予備のパッケージ及び設定したコンポーネントによって決まります。例えば、text/x-rst ドキュメントでは、docutils がインストールされていて、trac.mimeview.rst.ReStructuredTextRenderer が無効になっておらず、他にシンタックスハイライトが存在するような場合、docutils を通してレンダリングされます。

同様の方法で、 MIME タイプ text/x-trac-wiki のドキュメントは Trac Wiki フォーマットを使ってレンダリングされます。ただし、 trac.mimeview.api.WikiTextRenderer コンポーネントは無効とされます。

HTML ドキュメントは render_unsafe_html が TracIni で有効に設定されている場合に限り、直接レンダリングされます。 (ドキュメントがどこからくるかによって異なるセキュリティ上の懸念がある場合、これらの設定は、複数のセクションに存在します)。もし HTML ドキュメントがレンダリングを行わず、シンタックスハイライトなるよう保証したいのであれば、 MIME タイプ text/xml を使用してください。

'svn:mime-type' 属性が 'text/plain' のように MIME タイプで設定されている場合、例え 'java' で書かれたファイルであっても色づけされません。

ハイライトパッケージがサポートする言語

このリストはほんの一例です:

SilverCity Enscript Pygments
Ada ✓
Asm ✓
Apache Conf ✓
ASP ✓ ✓
C ✓ ✓ ✓
C# ✓ (1) ✓
C++ ✓ ✓ ✓
CMake ? ? ✓
Java ✓ (2) ✓ ✓
Awk ✓
Boo ✓
CSS ✓ ✓
Python Doctests ✓
Diff ✓ ✓
Eiffel ✓
Elisp ✓
Fortran ✓ (1) ✓
Haskell ✓ ✓
Genshi ✓
HTML ✓ ✓ ✓
IDL ✓
INI ✓
Javascript ✓ ✓ ✓
Lua ✓
m4 ✓
Makefile ✓ ✓
Mako ✓
Matlab (3) ✓ ✓
Mygthy ✓
Objective-C ✓ ✓
OCaml ✓
Pascal ✓ ✓
Perl ✓ ✓ ✓
PHP ✓ ✓
PSP ✓
Pyrex ✓
Python ✓ ✓ ✓
Ruby ✓ ✓ (1) ✓
Scheme ✓ ✓
Shell ✓ ✓
Smarty ✓
SQL ✓ ✓ ✓
Troff ✓ ✓
TCL ✓
Tex ✓ ✓
Verilog ✓ (2) ✓
VHDL ✓
Visual Basic ✓ ✓
VRML ✓
XML ✓ ✓

(1) Enscript のパッケージには含まれていません。 以下のハイライトルールを追加することが可能です。 ​Ruby, ​C#, ​Fortran 90x/2003

(2) Silvercity 0.9.7 は 2006-11-23 にリリースされました。

(3) デフォルトで、 .m ファイルは Objective-C のファイルだと解釈されます。 .m ファイルを MATLAB ファイルとして扱うためには、 "text/matlab:m" を trac.ini の [mimeviewer] セクション 内、 "mime_map" の設定に追加してください。

その他のソフトウェア


See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser

Note: See TracWiki for help on using the wiki.