json lexer não está disponível no esfinge?

json lexer não está disponível no esfinge?

Tentei usar o json lexer em um documento *.rst com o sphinx. Este funciona:

.. code-block:: console

  //Comment
  key1: value,
  key2: value2,

Mas quando tento usar json assim:

.. code-block:: json

  //Comment
  key1: value,
  key2: value2,

Eu recebo um erro

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

Eu verifiquei, pygmentize -L lexers | grep jsonmas isso retorna, que o json está a bordo. Qual é o problema aqui?

Responder1

Eu também estava pensando sobre esse aviso!

Eu investiguei e descobri que o lexer JSON estava disponível, mas meu código não era JSON realmente válido e, portanto, o Sphinx desativou o lexer para esse trecho de código.

Se você alterar seu bloco de código para JSON válido, o realce deverá funcionar novamente!

Observe que (IIRC):

  • JSON não permite comentários
  • strings devem ser citadas
  • os valores do dicionário devem ser colocados entre {e}
  • uma vírgula após o par de valores-chave final não é permitida

Observe que se um lexer não estiver disponível, a mensagem de aviso será diferente:

WARNING: Pygments lexer name 'xyz' is not known

informação relacionada