|  | 1 | = Syntax Coloring of Source Code = | 
                          |  | 2 | Trac supports language-specific syntax highlighting of source code in [wiki:WikiFormatting wiki formatted] text and the [wiki:TracBrowser repository browser]. | 
                          |  | 3 |  | 
                          |  | 4 | To do this, Trac uses external libraries with support for a great number of programming languages. | 
                          |  | 5 |  | 
                          |  | 6 | Currently Trac supports syntax coloring using one or more of the following packages: | 
                          |  | 7 |  | 
                          |  | 8 | * [http://www.codento.com/people/mtr/genscript/ GNU Enscript] | 
                          |  | 9 | * [http://silvercity.sourceforge.net/ SilverCity] | 
                          |  | 10 |  | 
                          |  | 11 | 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`. | 
                          |  | 12 |  | 
                          |  | 13 | When in use, Trac will automatically prioritize !SilverCity highlighting over Enscript if possible, (see note below). | 
                          |  | 14 |  | 
                          |  | 15 | If neither package is available, Trac will display the data as plain text. | 
                          |  | 16 |  | 
                          |  | 17 | '''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. | 
                          |  | 18 |  | 
                          |  | 19 | === About SilverCity === | 
                          |  | 20 | !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. | 
                          |  | 21 |  | 
                          |  | 22 |  | 
                          |  | 23 | == Syntax Coloring Support == | 
                          |  | 24 |  | 
                          |  | 25 | || || !SilverCity || Enscript || | 
                          |  | 26 | || Ada      ||   || X || | 
                          |  | 27 | || Asm      ||   || X || | 
                          |  | 28 | || * ASP    || X || X || | 
                          |  | 29 | || * C      || X || X || | 
                          |  | 30 | || * C#     ||   || X(2) || | 
                          |  | 31 | || * C++    || X || X || | 
                          |  | 32 | || * Java   ||   || X || | 
                          |  | 33 | || Awk      ||   || X || | 
                          |  | 34 | || CSS      || X ||   || | 
                          |  | 35 | || Diff     ||   || X || | 
                          |  | 36 | || Eiffel   ||   || X || | 
                          |  | 37 | || Elisp    ||   || X || | 
                          |  | 38 | || Fortran  ||   || X || | 
                          |  | 39 | || Haskell  ||   || X || | 
                          |  | 40 | || HTML     || X || X || | 
                          |  | 41 | || IDL      ||   || X || | 
                          |  | 42 | || Javascript || X || X || | 
                          |  | 43 | || m4       ||   || X || | 
                          |  | 44 | || Makefile ||   || X || | 
                          |  | 45 | || Matlab   ||   || X || | 
                          |  | 46 | || Objective-C|| || X || | 
                          |  | 47 | || Pascal   ||   || X || | 
                          |  | 48 | || * Perl   || X || X || | 
                          |  | 49 | || * PHP    || X || X || | 
                          |  | 50 | || PSP      || X ||   || | 
                          |  | 51 | || Pyrex    ||   || X || | 
                          |  | 52 | || * Python || X || X || | 
                          |  | 53 | || * Ruby   || X || X (1) || | 
                          |  | 54 | || Scheme   ||   || X || | 
                          |  | 55 | || Shell    ||   || X || | 
                          |  | 56 | || SQL      || X || X || | 
                          |  | 57 | || Troff    ||   || X || | 
                          |  | 58 | || TCL      ||   || X || | 
                          |  | 59 | || Tex      ||   || X || | 
                          |  | 60 | || Verilog  ||   || X || | 
                          |  | 61 | || VHDL     ||   || X || | 
                          |  | 62 | || Visual Basic |||| X || | 
                          |  | 63 | || VRML     ||   || X || | 
                          |  | 64 | || XML      || X ||  || | 
                          |  | 65 |  | 
                          |  | 66 | ''(*) Supported as inline code blocks in [wiki:WikiFormatting Wiki text] using WikiProcessors.'' | 
                          |  | 67 |  | 
                          |  | 68 | ''(1) Ruby highlighting is not included in the Enscript distribution.  Highlighting rules for Ruby can be obtained from: http://neugierig.org/software/ruby/ | 
                          |  | 69 |  | 
                          |  | 70 | ''(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 | 
                          |  | 71 |  | 
                          |  | 72 | == Extra Software == | 
                          |  | 73 | * GNU Enscript -- http://directory.fsf.org/GNU/enscript.html | 
                          |  | 74 | * GNU Enscript for Windows -- http://gnuwin32.sourceforge.net/packages/enscript.htm | 
                          |  | 75 | * !SilverCity -- http://silvercity.sf.net/ | 
                          |  | 76 |  | 
                          |  | 77 | ---- | 
                          |  | 78 | See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser |