Edgewall Software

Syntax Coloring of Source Code

На других языках:

Подсветка синтаксиса в исходных кодах

Trac поддерживает подсветку синтаксиса языков программирования в wiki-форматированных текстах и SVN-репозитории.

Trac использует внешние библиотеки с поддержкой большого числа языков программирования.

В настоящее время Trac поддерживает подсветку синтаксиса, используя один или больше следующих пакетов:

Чтобы включить подсветку синтаксиса, просто установите или один (или больше) из этих пакетов. Никакая дополнительная конфигурация не требуется, однако чтобы изменить цвета, взгляните на 'trac/htdocs/css/code.css'.

Если Вы не знаете, почему trac не может найти установленной библиотеки, попытайтесь включить ведение логов Trac. Обычно с Trac не работает SilverCity 0.9.6. В таком случае используйте текущую версию 0.9.7 или старше 0.9.5 http://trac.edgewall.org/wiki/TracFaq#why-is-my-css-code-not-being-highlighted-even-though-i-have-silvercity-installed

Trac автоматически отдает приоритет SilverCity прежде Enscript если возможно (см. примечание ниже).

Если никакой из этих пакетов не доступен, Trac отобразит простой plain-текст.

Примечание: Enscript поддерживает большее число языков, однако SilverCity быстрее работает, потому что реализован в виде библиотеки и не выполняется во внешнем процессе.

SilverCity

SilverCity использует лексический анализатор (lexer) Scintilla. Scintilla поддерживает больше языков, чем SilverCity. Если вы хотите добавить к SilverCity еще один язык, уже поддерживаемый Scintiilla, это совсем не трудно. См. SilverCityAddLanguage для дополнительной информации.

Pygments

Начиная с версии trac 0.11 pygments будет новым модулем подсветки синтаксиса по умолчанию. Эта библиотека реализована на чистом python, очень быстрая, легко расширяется и хорошо документирована. Пока не поддерживает столь же много языков, как Enscript или Scintilla, но в целом исполнение более качественное.

Чтобы использовать pygments в trac 0.11 вы должны установить pygments 0.5.1 или выше. Для использования в trac 0.10 вы должны также установить TracPygmentsPlugin из trac hacks. Если вы нашли любой баг, пожалуйста обращайтесь к pygments trac.

Возможно, приведенная ниже таблица уже устарела, потому что список поддерживаемых языков анализатором pygments пополняется каждую неделю. Просто взгляните на страницу поддержки языкового анализатора pygments.

Выделение синтаксиса исходников

SilverCity Enscript Pygments
Ada X
Asm X
Apache Conf (htaccess)) X
* ASP X X
* C X X X
* C# X(2) X
* C++ X X X
* CMake ? ? X
* Java X(4) X X
Awk X
Boo X
CSS X X
Python Doctests X
Diff X X
Eiffel X
Elisp X
Fortran X(3)
Haskell X X
Genshi X
HTML X X X
IDL X
INI X
Javascript X X X
Lua X
m4 X
Makefile X X
Mako X
Matlab X (5)
Mygthy X
Objective-C X
OCaml X
Pascal X X
* Perl X X X
* PHP X X
PSP X
Pyrex X
* Python X X X
* Ruby X X (1) X
Scheme X X
Shell X X
Smarty X
SQL X X X
Troff X X
TCL X
Tex X X
Verilog X(4) X
VHDL X
Visual Basic X X
VRML X
XML X X

(*) Supported as inline code blocks in Wiki text using WikiProcessors.

(1) Ruby highlighting is not included in the Enscript distribution. Highlighting rules for Ruby can be obtained from: http://neugierig.org/software/ruby/

(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

(3) Fortran: as packaged, Enscript only supports the fixed source form. Highlighting rules for Fortran 90x/2003 can be obtained from: http://wiki.hasno.info/index.php/F90.st

(4) since Silvercity 0.9.7 released on 2006-11-23

(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 [mimeviewer] section of trac.ini.

Extra Software


См. также: WikiProcessors, WikiFormatting, TracWiki, TracBrowser

Last modified 6 years ago Last modified on Jul 6, 2012, 8:42:46 AM
Note: See TracWiki for help on using the wiki.