1

Я пытался использовать лексер 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 ответ1

0

Мне тоже было интересно об этом предупреждении!

Я изучил его, и оказалось, что лексер JSON был доступен, но мой код на самом деле не был допустимым JSON, и поэтому Sphinx отключил лексер для этого фрагмента кода.

Если вы измените свой блок кода на допустимый JSON, выделение должно работать снова!

Обратите внимание, что (IIRC):

  • JSON не позволяет комментировать
  • Строки должны быть указаны
  • значения словаря должны быть заключены в { и }
  • запятая после последней пары ключ-значение не допускается

Обратите внимание, что если лексер недоступен, предупреждающее сообщение будет другим:

WARNING: Pygments lexer name 'xyz' is not known

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .