User Tools

Site Tools


tracsyntaxcoloring

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

tracsyntaxcoloring [2015/06/09 15:23] (current)
Line 1: Line 1:
 +====== 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
  
tracsyntaxcoloring.txt ยท Last modified: 2015/06/09 15:23 (external edit)