19

私はコードドキュメントにSphinxを使用しており、コード内でいくつかの言語を使用しています。そのすべてのコードの強調表示を設定したいと思います。Sphinxは、サポートしているいくつかの言語(このページ)について簡単に説明し、次に字句解析と強調表示にPygmentsを使用していることについて説明します。SphinxとPygmentsの両方のドキュメントをふるいにかけると、objective-cコードを強調表示するようなことを行う方法についての手がかりが得られませんでした。

Pygmentsは、ここでサポートする言語のリストについて言及していますが、特定の言語を強調表示するようにコードブロックに指示するためにSphinx(.rstファイル)内で使用する必要がある正確な構文を教えてくれません。たとえば、C ++コードを強調表示するには、コードブロックの前にこれを使用するだけです。

.. highlight:: c++

しかし、これらを試した後、Objective-Cコードを強調することができないようです。

.. highlight:: Objective-C
.. highlight:: objective-c
.. highlight:: Obj-C
.. highlight:: obj-c

誰かが私に言語のリストを提供できますか(ドキュメント内でそれらを参照するように)?

4

3 に答える 3

15

pygmentize -L lexersサポートされているすべてのレクサーを一覧表示します。

于 2019-02-16T09:47:30.823 に答える
9

私の知る限り、リストはファイルpygments/lexers/_mapping.py内の(自動生成された)辞書にありLEXERSます。私のコピーには、行があります

'ObjectiveCLexer': ('pygments.lexers.compiled', 'Objective-C', ('objective-c', 'objectivec', 'obj-c', 'objc'), ('*.m',), ('text/x-objective-c',)),

これは、Pygmentsのバージョンが最新である限り、タグ、、、、またはのいずれかが機能するobjective-cことを意味すると思います。彼らは私のために働きます。objectivecobj-cobjc

于 2012-07-03T18:08:23.090 に答える
3

pygmentsモジュールをインストールする場合。このスクリプトを使用して、サポートされている蛍光ペンのリストを取得できます。

from pygments.lexers import get_all_lexers

lexers = get_all_lexers()
for lexer in lexers:
        print "-\t" + lexer[0] + "\n"
        print "\t-\t" + "\n\t-\t".join(lexer[1]) + "\n"

出力の最初のインデントレベルは一般名になり、2番目のレベルは使用できる蛍光ペンの短い名前になります。

出力例

  • Debianソースリスト

    • ソースリスト
    • sources.list
  • デルファイ

    • デルフィ
    • pas
    • パスカル
    • objectpascal

ソース

于 2014-12-01T09:38:19.500 に答える