====== Syntax Coloring of Source Code ====== Trac supports language-specific syntax highlighting of source code in [[:WikiFormatting|wiki formatted]] text and the [[:TracBrowser|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: * [[http://www.codento.com/people/mtr/genscript/|GNU Enscript]] * [[http://silvercity.sourceforge.net/|SilverCity]] 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 [[http://www.scintilla.org/|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 [[http://projects.edgewall.com/trac/wiki/SilverCityAddLanguage|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 [[:WikiFormatting|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 ===== * GNU Enscript -- http://directory.fsf.org/GNU/enscript.html * GNU Enscript for Windows -- http://gnuwin32.sourceforge.net/packages/enscript.htm * SilverCity -- http://silvercity.sf.net/ ---- See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser