Джексон Лексер не доступен в Сфинксе?
Я пытался использовать лексер json в *.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