User Tools

Site Tools


tracsyntaxcoloring
no way to compare when less than two revisions

Differences

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


tracsyntaxcoloring [2015/06/09 15:23] (current) – created - external edit 127.0.0.1
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 by 127.0.0.1