如何向 Sphinx/RST 添加自定义 tmLanguage 语法

问题描述

是否有一种方法可以将 tmLanguage.json 导入 Sphinx添加对 RST 的新/自定义语言的支持

解决方法

没有直接;如有必要,您必须为 Python 中的新语言编写词法分析器。我说如果有必要是因为Sphinx的语法高亮是由Pygments在幕后提供的,它支持huge number of languages;您只需要在 Sphinx 中使用 turn support on 配置值 highlight_language。所有各种词法分析器的短名称都显示为 here

如果不知何故,您的语言还没有词法分析器,则有 instructions 教您如何编写自己的词法分析器。它主要(但不完全)是将 .tmLanguage.json 文件中的 Oniguruma regexes 转换为 Python-flavored ones 的过程。

还有人希望您也contribute it加入 pygments Github 项目。