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(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

(*) 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/

(2) C# highlighting is not included in the Enscript distribution. Highlighting rules for C# can be obtained from: http://wiki.hasno.info/index.php/Csharp.st

Extra Software


See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser








注:TracSyntaxColoring(原文出处,翻译整理仅供参考!)