
Я попробовал использовать json lexer в документе *.rst с sphinx. Это работает:
.. code-block:: console
//Comment
key1: value,
key2: value2,
Но когда я пытаюсь использовать json следующим образом:
.. code-block:: json
//Comment
key1: value,
key2: value2,
Я получаю сообщение об ошибке
WARNING: Could not lex literal_block as "json". Highlighting skipped.
Я проверил с pygmentize -L lexers | grep json
но это возвращает, что json есть на борту. В чем здесь проблема?
решение1
Я тоже задавался вопросом об этом предупреждении!
Я разобрался, и оказалось, что лексер JSON доступен, но мой код на самом деле не является допустимым JSON, и поэтому Sphinx отключил лексер для этого фрагмента кода.
Если вы измените свой блок кода на корректный JSON, подсветка должна снова работать!
Обратите внимание, что (IIRC):
- JSON не допускает комментариев
- строки должны быть заключены в кавычки
- Значения словаря должны быть заключены в
{
и}
- запятая после последней пары ключ-значение не допускается
Обратите внимание, что если лексер недоступен, предупреждающее сообщение будет другим:
WARNING: Pygments lexer name 'xyz' is not known