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,则突出显示应该可以再次起作用!

请注意(如果我没记错的话):

  • JSON 不允许注释
  • 字符串必须用引号引起来
  • 字典值必须括在{}
  • 最后一个键值对后不允许有逗号

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

WARNING: Pygments lexer name 'xyz' is not known

相关内容