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