| 8 | | * [http://www.codento.com/people/mtr/genscript/ GNU Enscript] |
| 9 | | * [http://silvercity.sourceforge.net/ SilverCity] |
| 10 | | * [http://pygments.pocoo.org/ Pygments] (but needs a plugin for 0.10, see [#AboutPygments below]) |
| | 8 | * [http://pygments.pocoo.org/ Pygments], by far the preferred system, as it covers a wide range of programming languages and other structured texts and is actively supported |
| | 9 | * [http://www.codento.com/people/mtr/genscript/ GNU Enscript], commonly available on Unix but somewhat unsupported on Windows |
| | 10 | * [http://silvercity.sourceforge.net/ SilverCity], legacy system, some versions can be [http://trac.edgewall.org/wiki/TracFaq#why-is-my-css-code-not-being-highlighted-even-though-i-have-silvercity-installed problematic] |
| 16 | | When in use, Trac will automatically prioritize !SilverCity highlighting over Enscript if possible, (see note below). |
| 17 | | |
| 18 | | If neither package is available, Trac will display the data as plain text. |
| 19 | | |
| 20 | | '''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. |
| 21 | | |
| 22 | | === About !SilverCity === |
| 23 | | !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://trac.edgewall.org/wiki/SilverCityAddLanguage SilverCityAddLanguage] for some information how. |
| 36 | | || || !SilverCity || Enscript || Pygments || |
| 37 | | || Ada || || X || || |
| 38 | | || Asm || || X || || |
| 39 | | || Apache Conf (htaccess)) || || || X || |
| 40 | | || * ASP || X || X || || |
| 41 | | || * C || X || X || X || |
| 42 | | || * C# || || X(2) || X || |
| 43 | | || * C++ || X || X || X || |
| 44 | | || * Java || X(4)|| X || X || |
| 45 | | || Awk || || X || || |
| 46 | | || Boo || || || X || |
| 47 | | || CSS || X || || X || |
| 48 | | || Python Doctests || || || X || |
| 49 | | || Diff || || X || X || |
| 50 | | || Eiffel || || X || || |
| 51 | | || Elisp || || X || || |
| 52 | | || Fortran || || X(3) || || |
| 53 | | || Haskell || || X || X || |
| 54 | | || Genshi || || || X || |
| 55 | | || HTML || X || X || X || |
| 56 | | || IDL || || X || || |
| 57 | | || INI || || || X || |
| 58 | | || Javascript || X || X || X || |
| 59 | | || Lua || || || X || |
| 60 | | || m4 || || X || || |
| 61 | | || Makefile || || X || X || |
| 62 | | || Mako || || || X || |
| 63 | | || Matlab || || X (5) || || |
| 64 | | || Mygthy || || || X || |
| 65 | | || Objective-C|| || X || || |
| 66 | | || OCaml || || || X || |
| 67 | | || Pascal || || X || X || |
| 68 | | || * Perl || X || X || X || |
| 69 | | || * PHP || X || || X || |
| 70 | | || PSP || X || || || |
| 71 | | || Pyrex || || X || || |
| 72 | | || * Python || X || X || X || |
| 73 | | || * Ruby || X || X (1) || X || |
| 74 | | || Scheme || || X || X || |
| 75 | | || Shell || || X || X || |
| 76 | | || Smarty || || || X || |
| 77 | | || SQL || X || X || X || |
| 78 | | || Troff || || X || X || |
| 79 | | || TCL || || X || || |
| 80 | | || Tex || || X || X || |
| 81 | | || Verilog || X(4) || X || || |
| 82 | | || VHDL || || X || || |
| 83 | | || Visual Basic |||| X || X || |
| 84 | | || VRML || || X || || |
| 85 | | || XML || X || || X || |
| | 28 | === Known MIME Types |
| 97 | | ''(5) By default `.m` files are considered Objective-C files. In order to treat `.m` files as MATLAB files, add "text/x-matlab:m" to the "mime_map" setting in the [wiki:TracIni#mimeviewer-section "[mimeviewer] section of trac.ini"]. |
| | 40 | === List of Languages Supported, by Highlighter #language-supported |
| | 41 | |
| | 42 | This list is only indicative. |
| | 43 | |
| | 44 | || ||= !SilverCity =||= Enscript =||= Pygments =|| |
| | 45 | || Ada || || ✓ || || |
| | 46 | || Asm || || ✓ || || |
| | 47 | || Apache Conf || || || ✓ || |
| | 48 | || ASP || ✓ || ✓ || || |
| | 49 | || C || ✓ || ✓ || ✓ || |
| | 50 | || C# || || ✓ ^[#a1 (1)]^ || ✓ || |
| | 51 | || C++ || ✓ || ✓ || ✓ || |
| | 52 | || CMake || ? || ? || ✓ || |
| | 53 | || Java || ✓ ^[#a2 (2)]^ || ✓ || ✓ || |
| | 54 | || Awk || || ✓ || || |
| | 55 | || Boo || || || ✓ || |
| | 56 | || CSS || ✓ || || ✓ || |
| | 57 | || Python Doctests || || || ✓ || |
| | 58 | || Diff || || ✓ || ✓ || |
| | 59 | || Eiffel || || ✓ || || |
| | 60 | || Elisp || || ✓ || || |
| | 61 | || Fortran || || ✓ ^[#a1 (1)]^ || ✓ || |
| | 62 | || Haskell || || ✓ || ✓ || |
| | 63 | || Genshi || || || ✓ || |
| | 64 | || HTML || ✓ || ✓ || ✓ || |
| | 65 | || IDL || || ✓ || || |
| | 66 | || INI || || || ✓ || |
| | 67 | || Javascript || ✓ || ✓ || ✓ || |
| | 68 | || Lua || || || ✓ || |
| | 69 | || m4 || || ✓ || || |
| | 70 | || Makefile || || ✓ || ✓ || |
| | 71 | || Mako || || || ✓ || |
| | 72 | || Matlab ^[#a3 (3)]^ || || ✓ || ✓ || |
| | 73 | || Mygthy || || || ✓ || |
| | 74 | || Objective-C || || ✓ || ✓ || |
| | 75 | || OCaml || || || ✓ || |
| | 76 | || Pascal || || ✓ || ✓ || |
| | 77 | || Perl || ✓ || ✓ || ✓ || |
| | 78 | || PHP || ✓ || || ✓ || |
| | 79 | || PSP || ✓ || || || |
| | 80 | || Pyrex || || ✓ || || |
| | 81 | || Python || ✓ || ✓ || ✓ || |
| | 82 | || Ruby || ✓ || ✓ ^[#a1 (1)]^ || ✓ || |
| | 83 | || Scheme || || ✓ || ✓ || |
| | 84 | || Shell || || ✓ || ✓ || |
| | 85 | || Smarty || || || ✓ || |
| | 86 | || SQL || ✓ || ✓ || ✓ || |
| | 87 | || Troff || || ✓ || ✓ || |
| | 88 | || TCL || || ✓ || || |
| | 89 | || Tex || || ✓ || ✓ || |
| | 90 | || Verilog || ✓ ^[#a2 (2)]^ || ✓ || || |
| | 91 | || VHDL || || ✓ || || |
| | 92 | || Visual Basic || || ✓ || ✓ || |
| | 93 | || VRML || || ✓ || || |
| | 94 | || XML || ✓ || || ✓ || |
| | 95 | |
| | 96 | |
| | 97 | |
| | 98 | ''[=#a1 (1)] Not included in the Enscript distribution. Additional highlighting rules can be obtained for |
| | 99 | [http://neugierig.org/software/ruby/ Ruby], |
| | 100 | [http://wiki.hasno.info/index.php/Csharp.st C#], |
| | 101 | [http://wiki.hasno.info/index.php/F90.st Fortran 90x/2003] |
| | 102 | |
| | 103 | ''[=#a2 (2)] since Silvercity 0.9.7 released on 2006-11-23 |
| | 104 | |
| | 105 | ''[=#a3 (3)] By default `.m` files are considered Objective-C files. In order to treat `.m` files as MATLAB files, add "text/matlab:m" to the "mime_map" setting in the [wiki:TracIni#mimeviewer-section "[mimeviewer] section of trac.ini"]. |
| 100 | | * GNU Enscript -- http://directory.fsf.org/GNU/enscript.html |
| 101 | | * GNU Enscript for Windows -- http://gnuwin32.sourceforge.net/packages/enscript.htm |
| 102 | | * !SilverCity -- http://silvercity.sf.net/ |
| 103 | | * Pygments -- http://pygments.org/ |
| | 108 | * GNU Enscript — http://directory.fsf.org/GNU/enscript.html |
| | 109 | * GNU Enscript for Windows — http://gnuwin32.sourceforge.net/packages/enscript.htm |
| | 110 | * !SilverCity — http://silvercity.sf.net/ |
| | 111 | * **Pygments — http://pygments.org/** |