Syntax Coloring of Source Code
Trac supports language-specific syntax highlighting of source code in wiki formatted text and 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. No additional configuration is required, however to modify the colors, have a look at trac/htdocs/css/code.css.
When in use, Trac will automatically prioritize SilverCity highlighting over Enscript if possible, (see note below).
If neither package is available, Trac will display the data as plain text.
Note: Enscript supports a greater number of languages, however SilverCity is generally faster since it is a library and isn't executed in an external process.
About SilverCity?
SilverCity uses the lexer from Scintilla. Scintilla supports more languages than SilverCity implements. If you want to add a language to SilverCity supported by Scintilla, it's not very difficult. See SilverCityAddLanguage for some information how.
Syntax Coloring Support
SilverCity | Enscript | |
Ada | X | |
Asm | X | |
* ASP | X | X |
* C | X | X |
* 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 | X |
(*) Supported as inline code blocks in Wiki text using WikiProcessors.
(1) Ruby highlighting is not included in the Enscript distribution. Highlighting rules for Ruby can be obtained from: http://neugierig.org/software/ruby/
Extra Software
- GNU Enscript -- http://people.ssh.fi/mtr/genscript/
- SilverCity -- http://silvercity.sf.net/
See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser