sea*_*898 8 python restructuredtext python-sphinx
我有兴趣创建一个可以在Sphinx环境中使用的自定义语法高亮显示器.这可能吗?如果是这样我怎么去做呢?
Rob*_*ujo 15
Sphinx(http://sphinx-doc.org/)在内部使用Pygments(http://pygments.org/)作为语法高层.Pygments支持添加自定义语法高亮显示(lexer),如http://pygments.org/docs/lexerdevelopment/所述.
我会尝试在Pygments中定义一个新的自定义词法分析器,并在conf.pysphinx配置文件中初始化新的自定义词法分析器.一个可以帮助您入门的小例子:
from pygments.lexer import RegexLexer
from pygments import token
from sphinx.highlighting import lexers
class BCLLexer(RegexLexer):
name = 'MYLANG'
tokens = {
'root': [
(r'MyKeyword', token.Keyword),
(r'[a-zA-Z]', token.Name),
(r'\s', token.Text)
]
}
lexers['MYLANG'] = BCLLexer(startinline=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1644 次 |
| 最近记录: |