| 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 |