json 詞法分析器在 sphinx 中不可用?

json 詞法分析器在 sphinx 中不可用?

我嘗試在 sphinx 的 *.rst 文件中使用 json 詞法分析器。這個有效:

.. 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 不允許註釋
  • 字串必須加引號
  • 字典值必須包含在{and中}
  • 最後的鍵值對後面不允許有逗號

請注意,如果詞法分析器不可用,則警告訊息會有所不同:

WARNING: Pygments lexer name 'xyz' is not known

相關內容