小编Jen*_*ith的帖子

Sphinx Pygments lexer过滤器扩展?

我有一种类似Lisp的语言,我想在Sphinx代码段文档中使用Pygments进行突出显示。我的方法是扩展现有的CommonLispLexer以使用NameHighlightFilter添加内置名称。但是,它不起作用,因此我必须缺少明显的东西。我在conf.py中添加了以下内容:

def setup(app): 
    from sphinx.highlighting import lexers
    from pygments.lexers import CommonLispLexer
    from pygments.token import Name
    from pygments.filters import NameHighlightFilter
    tl_lexer = CommonLispLexer()
    tl_lexer.add_filter(NameHighlightFilter(
            names=['define-function', 'define-macro', 
                   'define-variable', 'define-constant'],
            tokentype=Name.Builtin,
            ))
    app.add_lexer('tl', tl_lexer)

highlight_language = 'tl'
Run Code Online (Sandbox Code Playgroud)

但是NameHighlightFilter无效。代码块就像Lisp一样突出显示,但是我的新内置名称没有特殊突出显示。

pygments python-sphinx

4
推荐指数
1
解决办法
542
查看次数

标签 统计

pygments ×1

python-sphinx ×1