json lexer no está disponible en la esfinge?

1

Intenté usar el json lexer en un documento * .rst con esfinge. Éste funciona:

.. code-block:: console

  //Comment
  key1: value,
  key2: value2,

Pero cuando intento usar json así:

.. code-block:: json

  //Comment
  key1: value,
  key2: value2,

Me sale un error

WARNING: Could not lex literal_block as "json". Highlighting skipped.

Lo comprobé con pygmentize -L lexers | grep json Pero esto vuelve, ese json está a bordo. ¿Cuál es el problema aquí?

Jeno
fuente

Respuestas:

0

También me preguntaba acerca de esta advertencia!

Lo busqué y resultó que el lexer JSON estaba disponible, pero mi código no era realmente JSON válido y, por lo tanto, Sphinx deshabilitó el lexer para este fragmento de código.

Si cambia el bloque de código a JSON válido, el resaltado debería funcionar nuevamente.

Tenga en cuenta que (IIRC):

  • JSON no permite comentarios
  • las cadenas tienen que ser citadas
  • Los valores del diccionario tienen que estar incluidos en { y }
  • no se permite una coma después del último par clave-valor

Tenga en cuenta que si un lexer no está disponible, el mensaje de advertencia es diferente:

WARNING: Pygments lexer name 'xyz' is not known
Matthias
fuente