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

Jen*_*eno 4 json sphinx

我尝试在带有 sphinx 的 *.rst 文档中使用 json 词法分析器。这个有效:

.. code-block:: console

  //Comment
  key1: value,
  key2: value2,
Run Code Online (Sandbox Code Playgroud)

但是当我尝试像这样使用 json 时:

.. code-block:: json

  //Comment
  key1: value,
  key2: value2,
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

WARNING: Could not lex literal_block as "json". Highlighting skipped.
Run Code Online (Sandbox Code Playgroud)

我检查过,pygmentize -L lexers | grep json但这会返回,该 json 已在船上。这里有什么问题?

小智 5

我也想知道这个警告!

我查看了它,结果发现 JSON 词法分析器可用,但我的代码实际上不是有效的 JSON,因此 Sphinx 禁用了此代码片段的词法分析器。

如果您将代码块更改为有效的 JSON,突出显示应该会再次起作用!

请注意(IIRC):

  • JSON 不允许评论
  • 字符串必须被引用
  • 字典值必须包含在{}
  • 不允许在最后一个键值对后使用逗号

请注意,如果词法分析器不可用,则警告消息会有所不同:

WARNING: Pygments lexer name 'xyz' is not known
Run Code Online (Sandbox Code Playgroud)