json 어휘 분석기를 스핑크스에서 사용할 수 없나요?

json 어휘 분석기를 스핑크스에서 사용할 수 없나요?

나는 스핑크스와 함께 *.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 jsonjson이 탑재되어 있음이 반환됩니다. 여기서 문제는 무엇입니까?

답변1

저도 이 경고가 궁금했어요!

조사한 결과 JSON 어휘 분석기를 사용할 수 있다는 사실이 밝혀졌지만 내 코드는 실제로 유효한 JSON이 아니었습니다. 따라서 Sphinx는 이 코드 조각에 대해 어휘 분석기를 비활성화했습니다.

코드 블록을 유효한 JSON으로 변경하면 강조 표시가 다시 작동합니다!

참고 사항(IIRC):

  • JSON은 댓글을 허용하지 않습니다.
  • 문자열을 따옴표로 묶어야 함
  • 사전 값은 {}
  • 마지막 키-값 쌍 뒤의 쉼표는 허용되지 않습니다.

어휘 분석기를 사용할 수 없는 경우 경고 메시지가 달라집니다.

WARNING: Pygments lexer name 'xyz' is not known

관련 정보