|   | 1 | = Syntax Coloring of Source Code =  | 
                  
                          |   | 2 | Trac supports language-specific colorization (syntax highlighting) of source code in [wiki:WikiFormatting WikiFormatted] text and the [wiki:TracBrowser Source 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://people.ssh.fi/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 needed.  | 
                  
                          |   | 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 || X ||  | 
                  
                          |   | 31 | || * Java   ||   || X ||  | 
                  
                          |   | 32 | || Awk      ||   || X ||  | 
                  
                          |   | 33 | || CSS      || X ||   ||  | 
                  
                          |   | 34 | || Diff     ||   || X ||  | 
                  
                          |   | 35 | || Eiffel   ||   || X ||  | 
                  
                          |   | 36 | || Elisp    ||   || X ||  | 
                  
                          |   | 37 | || Fortran  ||   || X ||  | 
                  
                          |   | 38 | || Haskell  ||   || X ||  | 
                  
                          |   | 39 | || HTML     || X || X ||  | 
                  
                          |   | 40 | || IDL      ||   || X ||  | 
                  
                          |   | 41 | || Javascript || X || X ||  | 
                  
                          |   | 42 | || m4       ||   || X ||  | 
                  
                          |   | 43 | || Makefile ||   || X ||  | 
                  
                          |   | 44 | || Matlab   ||   || X ||  | 
                  
                          |   | 45 | || Objective-C|| || X ||  | 
                  
                          |   | 46 | || Pascal   ||   || X ||  | 
                  
                          |   | 47 | || * Perl   || X || X ||  | 
                  
                          |   | 48 | || * PHP    || X || X ||  | 
                  
                          |   | 49 | || PSP      || X ||   ||  | 
                  
                          |   | 50 | || Pyrex    ||   || X ||  | 
                  
                          |   | 51 | || * Python || X || X ||  | 
                  
                          |   | 52 | || * Ruby   || X || X ||  | 
                  
                          |   | 53 | || Scheme   ||   || X ||  | 
                  
                          |   | 54 | || Shell    ||   || X ||  | 
                  
                          |   | 55 | || SQL      || X || X ||  | 
                  
                          |   | 56 | || Troff    ||   || X ||  | 
                  
                          |   | 57 | || TCL      ||   || X ||  | 
                  
                          |   | 58 | || Tex      ||   || X ||  | 
                  
                          |   | 59 | || Verilog  ||   || X ||  | 
                  
                          |   | 60 | || VHDL     ||   || X ||  | 
                  
                          |   | 61 | || Visual Basic |||| X ||  | 
                  
                          |   | 62 | || VRML     ||   || X ||  | 
                  
                          |   | 63 | || XML      || X || X ||  | 
                  
                          |   | 64 |   | 
                  
                          |   | 65 | ''(*) Supported as inline code blocks in [wiki:WikiFormatting Wiki text] using WikiProcessors.''  | 
                  
                          |   | 66 |   | 
                  
                          |   | 67 | == Extra Software ==  | 
                  
                          |   | 68 |  * GNU Enscript -- http://people.ssh.fi/mtr/genscript/  | 
                  
                          |   | 69 |  * !SilverCity -- http://silvercity.sf.net/  | 
                  
                          |   | 70 |   | 
                  
                          |   | 71 | ----  | 
                  
                          |   | 72 | See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser  |