For new content and tickets please use the main OpenSC Trac (direct link)
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