close Warning: Can't synchronize with repository "(default)" (/var/svn/mioproject does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 2 and Version 3 of TracSyntaxColoring


Ignore:
Timestamp:
Jul 30, 2013, 8:39:06 PM (11 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracSyntaxColoring

    v2 v3  
    1 = ソースコードのシンタックスカラーリング = #SyntaxColoringofSourceCode
    2 Trac は [wiki:WikiFormatting Wiki形式] のテキストと [wiki:TracBrowser リポジトリブラウザ] での、ソースコードの言語特有のシンタックスハイライトに対応しています。
     1= Syntax Coloring of Source Code =
     2Trac supports language-specific syntax highlighting of source code within wiki formatted text in [WikiProcessors#CodeHighlightingSupport wiki processors] blocks and in the [TracBrowser repository browser].
    33
    4 色付けを行うために、 Trac はとても多くのプログラミング言語に対応している外部のライブラリを使用しています。
     4To do this, Trac uses external libraries with support for a great number of programming languages.
    55
    6 現在、 Trac は以下にあげる 1 つ以上のパッケージを使用して、シンタックスハイライトを実現しています:
     6Currently Trac supports syntax coloring using one or more of the following packages:
    77
    8  * [http://www.codento.com/people/mtr/genscript/ GNU Enscript]
    9  * [http://silvercity.sourceforge.net/ SilverCity]
    10  * [http://pygments.pocoo.org/ Pygments] (0.10 では対応したプラグインが必要です。 [#AboutPygments 以下] を参照してください。)
    11 
    12 シンタックスハイライトを有効にするためには、ただこれらのパッケージをインストールするだけです。追加のコンフィグレーションは必要ありませんが、カラーリングを修正するためには、 `trac/htdocs/css/code.css` を参照してください。
    13 
    14 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
    15 
    16 シンタックスハイライトを使用するとき、可能な限り Trac は自動的に Enscript よりも !SilverCity のハイライトを優先します (下の注を参照のこと)。
    17 
    18 どちらのパッケージも使用できないときは、 Trac はプレーンテキストでデータを表示します。
    19 
    20 '''Note:''' Enscript はとても多くのプログラミング言語に対応しますが、 !SilverCity はライブラリであり、外部プロセスで実行されないので、 Enscript よりも処理が速いです。
    21 
    22 === !SilverCity について === #AboutSilverCity
    23 !SilverCity は [http://www.scintilla.org/ Scintilla] の構文解析エンジンを使用します。 Scintilla は !SilverCity が実装しているよりもより多くのプログラミング言語に対応しています。もし、 !SilverCity に Scintilla が対応しているプログラミング言語を追加したいならば、そんなに難しいことではありません。どのようにすればいいのかは、 [http://trac.edgewall.org/wiki/SilverCityAddLanguage SilverCityAddLanguage] を参照してください。
    24 
    25 === Pygments について === #AboutPygments
    26 
    27 Trac 0.11 からは [http://pygments.org/ Pygments] が新しいデフォルトのハイライトライブラリになります。 Pygments は Python で実装され、非常に高速で、拡張しやすく、 [http://pygments.org/docs/ 良いドキュメント] があるハイライトライブラリです。 Enscript や Scintilla ほど多くの言語をサポートしませんが総合的な出力品質は、はるかに良いです。
    28 
    29 Pygments を Trac 0.11 で使用するためには、 Pygments 0.6 以上をインストールしなければなりません (また [mimeviewer] 配下にオプション pygments_default_style = colorful を追加してください)。 Trac 0.10 でも Pygments を使用したいのであれば、 trac hacks から [http://trac-hacks.org/wiki/TracPygmentsPlugin TracPygmentsPlugin] をインストールしなければなりません。なんらかのバグを発見した場合は  [http://dev.pocoo.org/projects/pygments/ Pygments の Trac] にチケットを登録してください。
    30 
    31 Pygments の構文解析エンジンが対応するリストは毎週のように更新されています。以下のリストが古い可能性は非常に高いです。 正確には [http://pygments.org/docs/lexers/ supported lexers] のページを参照してください。
     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]
    3211
    3312
    34 == 対応しているシンタックスハイライト == #SyntaxColoringSupport
     13To activate syntax coloring, simply install either one (or more) of these packages (see [#ExtraSoftware] section below).
     14If none of these packages is available, Trac will display the data as plain text.
    3515
    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 ||
    8616
    87 ''(*) [wiki:WikiFormatting WikiFormatting] の WikiProcessors でシンタックスハイライトが対応しています。''
     17=== About Pygments ===
    8818
    89 ''(1) Enscript では Ruby のハイライトは含まれていません。 Ruby のハイライトルールは [http://neugierig.org/software/ruby/] から入手することができます。''
     19Starting with trac 0.11 [http://pygments.org/ pygments] will be the new default highlighter. It's a highlighting library implemented in pure python, very fast, easy to extend and [http://pygments.org/docs/ well documented].
    9020
    91 ''(2) C# のハイライトは Enscript の配布物には含まれていません。 C# 用のハイライトのルールは http://wiki.hasno.info/index.php/Csharp.st より入手可能です。
     21The Pygments default style can specified in the [TracIni#mimeviewer-section mime-viewer] section of trac.ini. The default style can be overridden by setting a Style preference on the [/prefs/pygments preferences page].
    9222
    93 ''(3) Fortran: Enscript ではパッケージ化されている固定のソース形式のみをサポートしています。 Fortran 90x/2003 のハイライトルールは http://wiki.hasno.info/index.php/F90.st から入手することができます。
     23It's very likely that the list below is outdated because the list of supported pygments lexers is growing weekly. Just have a look at the page of [http://pygments.org/docs/lexers/ supported lexers] on the pygments webpage.
    9424
    95 ''(4) 2006 年 11 月 23 日にリリースされた Silvercity 0.9.7 以来更新されていません。
    9625
    97 ''(5) デフォルトで `.m` ファイルは Objective-C ファイルとして扱われます。 MATLAB ファイルとして `.m` ファイルを扱うには、 [wiki:TracIni#mimeviewer-section "trac.ini の [mimeviewer] セクション"]の "mime_map" に  "text/x-matlab:m" を追加してください。
     26== Syntax Coloring Support ==
    9827
    99 == その他のソフトウェア == #ExtraSoftware
    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/
     28=== Known MIME Types
     29
     30[[KnownMimeTypes]]
     31
     32Note that the rich content may be directly //rendered// instead of syntax highlighted. This usually depends on which auxiliary packages are installed and on which components are activated in your setup. For example a `text/x-rst` document will be rendered via `docutils` if it is installed and the `trac.mimeview.rst.ReStructuredTextRenderer` is not disabled, and will be syntax highlighted otherwise.
     33
     34In a similar way, a document with the mimetype `text/x-trac-wiki` is rendered using the Trac wiki formatter, unless the `trac.mimeview.api.WikiTextRenderer` component is disabled.
     35
     36HTML documents are directly rendered only if the `render_unsafe_html` settings are enabled in the TracIni (those settings are present in multiple sections, as there are different security concerns depending where the document comes from). If you want to ensure that an HTML document gets syntax highlighted and not rendered, use the `text/xml` mimetype.
     37
     38If mimetype such as 'svn:mime-type' is set to 'text/plain', there is no coloring even if file is known type like 'java'.
     39
     40=== List of Languages Supported, by Highlighter #language-supported
     41
     42This 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"].
     106
     107== Extra Software ==
     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/**
    104112
    105113----
    106114See also: WikiProcessors, WikiFormatting, TracWiki, TracBrowser
    107