Changes between Version 1 and Version 2 of TracSyntaxColoring


Ignore:
Timestamp:
May 13, 2012, 9:15:45 PM (12 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracSyntaxColoring

    v1 v2  
    1 = ソースコードのシンタックスカラーリング =
    2 Trac は [wiki:WikiFormatting Wiki形式] のテキストと [wiki:TracBrowser リポジトリブラウザ] での、ソースコードの言語特有のシンタックスハイライトに対応しています。
     1= ソースコードのシンタックスカラーリング = #SyntaxColoringofSourceCode
     2Trac は [WikiProcessors#CodeHighlightingSupport wiki プロセッサ] ブロック内の Wiki 形式のテキストと [wiki:TracBrowser リポジトリブラウザ] での、ソースコードの言語特有のシンタックスハイライトに対応しています。
    33
    44色付けを行うために、 Trac はとても多くのプログラミング言語に対応している外部のライブラリを使用しています。
     
    66現在、 Trac は以下にあげる 1 つ以上のパッケージを使用して、シンタックスハイライトを実現しています:
    77
    8  * [http://www.codento.com/people/mtr/genscript/ GNU Enscript]
    9  * [http://silvercity.sourceforge.net/ SilverCity]
    10 
    11 シンタックスハイライトを有効にするためには、ただこれらのパッケージをインストールするだけです。追加のコンフィグレーションは必要ありませんが、カラーリングを修正するためには、 `trac/htdocs/css/code.css` を参照してください。
    12 
    13 シンタックスハイライトを使用するとき、可能な限り Trac は自動的に Enscript よりも !SilverCity のハイライトを優先します (下の注を参照のこと)。
    14 
    15 どちらのパッケージも使用できないときは、 Trac はプレーンテキストでデータを表示します。
    16 
    17 '''Note:''' Enscript はとても多くのプログラミング言語に対応しますが、 !SilverCity はライブラリが一つで、外部プロセスで実行しないので、 Enscript よりも処理が速いです。
    18 
    19 === SilverCity について ===
    20 !SilverCity は [http://www.scintilla.org/ Scintilla] の lexer を使用します。 Scintilla は !SilverCity が実装しているよりもより多くのプログラミング言語に対応しています。もし、 !SilverCity に Scintilla が対応しているプログラミング言語を追加したいならば、そんなに難しいことではありません。どのようにすればいいのかは、 [http://trac.edgewall.org/wiki/SilverCityAddLanguage SilverCityAddLanguage] を参照してください。
     8 * [http://pygments.pocoo.org/ Pygments] 最も推奨するシステムです。というのもカバーしているプログラミング言語、構造化テキストが多いこととサポート体制が活発であるからです。
     9 * [http://www.codento.com/people/mtr/genscript/ GNU Enscript] 通常 UNIX で利用できますが、 Windows ではサポートされていません。
     10 * [http://silvercity.sourceforge.net/ SilverCity] レガシーなシステムです。いくつかのバージョンには [http://trac.edgewall.org/wiki/TracFaq#why-is-my-css-code-not-being-highlighted-even-though-i-have-silvercity-installed 問題があります]
    2111
    2212
    23 == 対応しているシンタックスハイライト ==
     13シンタックスカラーリングを有効にするには、これらのパッケージのどれか 1 つまたは 1 つ以上をインストールするだけです ( 下記の [#ExtraSoftware その他のソフトウェア] を参照 )
     14もし、これらのパッケージの中で適用できるものがなければ、 Trac はプレーンテキストとしてデータを表示します。
    2415
    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 ||  ||
    6516
    66 ''(*) [wiki:WikiFormatting WikiFormatting] の WikiProcessors でシンタックスハイライトが対応しています。''
     17=== Pygments について === #AboutPygments
    6718
    68 ''(1) Enscript では Ruby のハイライトは含まれていません。 Ruby のハイライトルールは [http://neugierig.org/software/ruby/] から入手することができます。''
     19Trac 0.11 以降で、 [http://pygments.org/ pygments] はデフォルトのハイライトパッケージとなりました。ハイライト用のライブラリがピュアな Python コードで書かれていて、とても速く、拡張しやすく [http://pygments.org/docs/ ドキュメントが豊富です] 。
    6920
    70 ''(2) C# のハイライトは Enscript の配布物には含まれていません。 C# 用のハイライトのルールは http://wiki.hasno.info/index.php/Csharp.st より入手可能です。
     21Pygments のデフォルトのスタイルは、 trac.ini の [TracIni#mimeviewer-section mime-viewer] セクションで指定できます。デフォルトのスタイルは、 [/prefs/pygments 個人設定のシンタックスハイライトタブ] 上のスタイルを設定することで、オーバーライドされます。
    7122
    72 == その他のソフトウェア ==
     23Pygments の構文解析エンジンが対応するリストは毎週のように更新されています。以下のリストが古い可能性は非常に高いです。 正確には [http://pygments.org/docs/lexers/ supported lexers] のページを参照してください。
     24
     25
     26== 対応しているシンタックスハイライト == #SyntaxColoringSupport
     27
     28=== 対応している MIME タイプ ===#KnownMIMETypes
     29
     30[[KnownMimeTypes]]
     31
     32
     33=== ハイライトパッケージがサポートする言語 #language-supported
     34
     35このリストはほんの一例です:
     36
     37||                 ||= !SilverCity   =||= Enscript      =||= Pygments =||
     38|| Ada             ||                 ||  ✓              ||     ||
     39|| Asm             ||                 ||  ✓              ||     ||
     40|| Apache Conf     ||                 ||                 ||  ✓  ||
     41|| ASP             ||  ✓              ||  ✓              ||     ||
     42|| C               ||  ✓              ||  ✓              ||  ✓  ||
     43|| C#              ||                 ||  ✓ ^[#a1 (1)]^  ||  ✓  ||
     44|| C++             ||  ✓              ||  ✓              ||  ✓  ||
     45|| Java            ||  ✓ ^[#a2 (2)]^  ||  ✓              ||  ✓  ||
     46|| Awk             ||                 ||  ✓              ||     ||
     47|| Boo             ||                 ||                 ||  ✓  ||
     48|| CSS             ||  ✓              ||                 ||  ✓  ||
     49|| Python Doctests ||                 ||                 ||  ✓  ||
     50|| Diff            ||                 ||  ✓              ||  ✓  ||
     51|| Eiffel          ||                 ||  ✓              ||     ||
     52|| Elisp           ||                 ||  ✓              ||     ||
     53|| Fortran         ||                 ||  ✓ ^[#a1 (1)]^  ||  ✓  ||
     54|| Haskell         ||                 ||  ✓              ||  ✓  ||
     55|| Genshi          ||                 ||                 ||  ✓  ||
     56|| HTML            ||  ✓              ||  ✓              ||  ✓  ||
     57|| IDL             ||                 ||  ✓              ||     ||
     58|| INI             ||                 ||                 ||  ✓  ||
     59|| Javascript      ||  ✓              ||  ✓              ||  ✓  ||
     60|| Lua             ||                 ||                 ||  ✓  ||
     61|| m4              ||                 ||  ✓              ||     ||
     62|| Makefile        ||                 ||  ✓              ||  ✓  ||
     63|| Mako            ||                 ||                 ||  ✓  ||
     64|| Matlab ^[#a3 (3)]^  ||             ||  ✓              ||  ✓  ||
     65|| Mygthy          ||                 ||                 ||  ✓  ||
     66|| Objective-C     ||                 ||  ✓              ||  ✓  ||
     67|| OCaml           ||                 ||                 ||  ✓  ||
     68|| Pascal          ||                 ||  ✓              ||  ✓  ||
     69|| Perl            ||  ✓              ||  ✓              ||  ✓  ||
     70|| PHP             ||  ✓              ||                 ||  ✓  ||
     71|| PSP             ||  ✓              ||                 ||     ||
     72|| Pyrex           ||                 ||  ✓              ||     ||
     73|| Python          ||  ✓              ||  ✓              ||  ✓  ||
     74|| Ruby            ||  ✓              ||  ✓ ^[#a1 (1)]^  ||  ✓  ||
     75|| Scheme          ||                 ||  ✓              ||  ✓  ||
     76|| Shell           ||                 ||  ✓              ||  ✓  ||
     77|| Smarty          ||                 ||                 ||  ✓  ||
     78|| SQL             ||  ✓              ||  ✓              ||  ✓  ||
     79|| Troff           ||                 ||  ✓              ||  ✓  ||
     80|| TCL             ||                 ||  ✓              ||     ||
     81|| Tex             ||                 ||  ✓              ||  ✓  ||
     82|| Verilog         ||  ✓ ^[#a2 (2)]^  ||  ✓              ||     ||
     83|| VHDL            ||                 ||  ✓              ||     ||
     84|| Visual Basic    ||                 ||  ✓              ||  ✓  ||
     85|| VRML            ||                 ||  ✓              ||     ||
     86|| XML             ||  ✓              ||                 ||  ✓  ||
     87
     88
     89
     90''[=#a1 (1)] Enscript のパッケージには含まれていません。  以下のハイライトルールを追加することが可能です。
     91[http://neugierig.org/software/ruby/ Ruby],
     92[http://wiki.hasno.info/index.php/Csharp.st C#],
     93[http://wiki.hasno.info/index.php/F90.st Fortran 90x/2003]
     94
     95''[=#a2 (2)] Silvercity 0.9.7 は 2006-11-23 にリリースされました。
     96
     97''[=#a3 (3)] デフォルトで、 `.m` ファイルは Objective-C のファイルだと解釈されます。 `.m` ファイルを MATLAB ファイルとして扱うためには、 "text/matlab:m" を [wiki:TracIni#mimeviewer-section "trac.ini の [mimeviewer] セクション"] 内、 "mime_map" の設定に追加してください。
     98
     99
     100== その他のソフトウェア == #ExtraSoftware
    73101 * GNU Enscript -- http://directory.fsf.org/GNU/enscript.html
    74102 * GNU Enscript for Windows -- http://gnuwin32.sourceforge.net/packages/enscript.htm
    75103 * !SilverCity -- http://silvercity.sf.net/
     104 * Pygments -- http://pygments.org/
    76105
    77106----