Trac supports language-specific syntax highlighting of source code within wiki formatted text in wiki processors blocks and in the repository browser.
To do this, Trac uses external libraries with support for a great number of programming languages.
Currently Trac supports syntax coloring using one or more of the following packages:
To activate syntax coloring, simply install either one (or more) of these packages (see #ExtraSoftware section below). If none of these packages is available, Trac will display the data as plain text.
Starting with trac 0.11 ?pygments will be the new default highlighter. It's a highlighting library implemented in pure python, very fast, easy to extend and ?well documented.
The Pygments default style can specified in the mime-viewer section of trac.ini. The default style can be overridden by setting a Style preference on the preferences page.
It's very likely that the list below is outdated because the list of supported pygments lexers is growing weekly. Just have a look at the page of ?supported lexers on the pygments webpage.
MIME Types | WikiProcessors |
---|---|
application/javascript | js |
application/msword | doc dot |
application/pdf | pdf |
application/postscript | ps |
application/rss+xml | rss |
application/rtf | rtf |
application/x-csh | csh |
application/x-sh | sh |
application/x-troff | nroff roff troff |
application/x-yaml | yaml yml |
application/xsl+xml | xsl |
application/xslt+xml | xslt |
image/svg+xml | svg |
image/x-icon | ico |
model/vrml | vrml wrl |
text/css | css |
text/html | htm html |
text/plain | AUTHORS COPYING ChangeLog INSTALL README RELEASE TXT text txt |
text/x-ada | ada adb ads |
text/x-asm | asm |
text/x-asp | asp |
text/x-awk | awk |
text/x-c++hdr | H HH c++hdr hh hpp |
text/x-c++src | C C++ CC c++ c++src cc cpp |
text/x-chdr | chdr h |
text/x-csharp | C# c# cs csharp |
text/x-csrc | c csrc xs |
text/x-diff | diff patch |
text/x-dylan | dylan |
text/x-eiffel | e eiffel |
text/x-elisp | el elisp |
text/x-fortran | f fortran |
text/x-haskell | haskell hs |
text/x-idl | ice idl |
text/x-inf | inf |
text/x-ini | cfg ini |
text/x-java | java |
text/x-ksh | ksh |
text/x-lua | lua |
text/x-m4 | m4 |
text/x-mail | mail |
text/x-makefile | GNUMakefile Makefile make makefile mk |
text/x-objc | m mm objc |
text/x-ocaml | ml mli ocaml |
text/x-pascal | pas pascal |
text/x-perl | PL perl pl pm |
text/x-php | php php3 php4 |
text/x-psp | psp |
text/x-pyrex | pyrex pyx |
text/x-python | py python |
text/x-rfc | rfc |
text/x-rst | rst |
text/x-ruby | rb ruby |
text/x-scheme | scheme scm |
text/x-sql | sql |
text/x-tcl | tcl |
text/x-tex | tex |
text/x-textile | textile txtl |
text/x-vba | bas vb vba |
text/x-verilog | v verilog |
text/x-vhdl | vhd vhdl |
text/x-zsh | zsh |
text/xml | xml |
This list is only indicative.
SilverCity | Enscript | Pygments | |
---|---|---|---|
Ada | ? | ||
Asm | ? | ||
Apache Conf | ? | ||
ASP | ? | ? | |
C | ? | ? | ? |
C# | ? (1) | ? | |
C++ | ? | ? | ? |
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) Not included in the Enscript distribution. Additional highlighting rules can be obtained for ?Ruby, ?C#, ?Fortran 90x/2003
(2) since Silvercity 0.9.7 released on 2006-11-23
(3) By default .m files are considered Objective-C files. In order to treat .m files as MATLAB files, add "text/matlab:m" to the "mime_map" setting in the [mimeviewer] section of trac.ini.
See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser