2012-07-03 4 views
7

Я использую Sphinx для документации по коду и использую несколько языков в коде, я хотел бы настроить выделение для всего этого кода. Sphinx кратко упоминает несколько языков, которые он поддерживает (on this page), а затем упоминает, что он использует Pygments для лексического анализа и выделения. Просеивание документации для Sphinx и Pygments не дало мне понять, как сделать что-то вроде кода объектива-c.Sphinx: список поддерживаемых языков для выделения?

Пигменты упоминает список поддерживаемых им языков, here, однако это не говорит мне точного синтаксиса, который я должен использовать в файлах Sphinx (.rst), чтобы указать блоку кода выделить для определенного языка. Например, чтобы выделить C++ код, который вы просто использовать это до кода блока:

.. highlight:: c++

Однако после попытки их я не могу показаться, чтобы выделить код Objective-C:

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

Может кто-нибудь поставить меня со списком языков (как вы хотели бы ссылаться на них в документации)?

ответ

6

Насколько я могу судить, список находится в файле pygments/lexers/_mapping.py, в (автогенерированном) словаре LEXERS. В моей копии, я вижу линию

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

Я думаю, что это должно означать, что любой из тегов objective-c, objectivec, obj-c или objc должен работать, до тех пор, как ваша версия Pygments является уточненным. Они работают для меня.

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" 

Первого отступа уровень выпуска будет общее название и второй уровень будут короткие именами фломастеров, которые вы можете использовать.

Результат

  • Debian SOURCELIST

    • sourceslist
    • sources.list
  • Delphi

    • Дельфи
    • па
    • Паскаля
    • ObjectPascal

Source

Смежные вопросы