2012-07-03 13 views
7

Ich benutze Sphinx für Code-Dokumentation und verwenden mehrere Sprachen innerhalb des Codes, ich möchte markieren für diesen Code. Sphinx erwähnt kurz einige der Sprachen, die es unterstützt (on this page), und erwähnt dann, dass es Pygments für lexikalische Analyse und Hervorhebung verwendet. Die Durchsicht der Dokumentation für Sphinx und Pygmente brachte mir keine Ahnung, wie man etwas wie den Ziel-C-Code hervorhebt.Sphinx: Liste der unterstützten Sprachen zum Hervorheben?

Pygents erwähnt die Liste der unterstützten Sprachen, here, aber das sagt mir nicht die genaue Syntax, die ich innerhalb Sphinx (.rst-Dateien) verwenden muss, um den Codeblock für eine bestimmte Sprache zu markieren. Zum Beispiel, C++ Code, den Sie einfach Gebrauch dieses, bevor Sie Ihren Code zu markieren Block:

.. highlight:: c++

jedoch, nachdem diese versucht, kann ich nicht scheinen, Objective-C-Code zu markieren:

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

Kann mir jemand liefern mit der Liste der Sprachen (wie Sie sie in der Dokumentation beziehen würden)?

Antwort

6

Soweit ich das beurteilen kann, ist die Liste in der Datei pygments/lexers/_mapping.py, im (automatisch generierten) Wörterbuch LEXERS. In meiner Kopie, sehe ich eine Linie

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

ich denke, das sollte bedeuten, dass jedes des Tags objective-c, objectivec, obj-c oder objc funktionieren soll, solange Ihre Version von Pygments up-to-date ist. Sie arbeiten für mich.

3

Wenn Sie das Modul pygents installieren. Sie können dieses Skript verwenden, um eine Liste der unterstützten highlighters zu erhalten:

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" 

erster Gedankenstrich Outputniveau wird allgemein und zweiten Ebene werden Kurznamen von highlighters sein, die Sie verwenden können.

Ausgabe

  • Debian Source

    • sourceslist
    • sources.list
  • Delphi

    • delphi
    • pas
    • pascal
    • Object

Source