在其他关键字中嵌入关键字:gtksourceview中的上下文



我正在gtksourceview中为PARI/GP编写一个语法高亮显示文件。有一个方面让我陷入困境:我只想在另一个关键词中突出显示某些关键词。特别是,我想在中突出显示一种"日志"

log(x)

(其中log表示对数)和中的另一个

default(log, 1)

(其中log指的是日志文件)。这似乎正是<context>的设计目的,所以我写了

            <context id="default" style-ref="keyword">
                <start>defaults*(</start>
                <end>)</end>
                <include>
                    <context id="in-default" style-ref="defaults">
                        <keyword>log</keyword>
                        ...
                        <keyword>timer</keyword>
                    </context>
                </include>
                <context ref="string"/>
                <context ref="decimal"/>
                <context ref="float"/>
                <context ref="comment-multiline"/>
                <context id="meta-comment" style-ref="comment">
                    <match>s*(([^()]+))</match>
                </context>
            </context>

但这一操作悄无声息地失败了(gedit根本没有突出显示语法)。我做错了什么?(是的,我已经在上面定义了字符串、小数、浮点和注释多行上下文。)

有两个问题:内部上下文需要位于<include>块内部,并且<start><end>中的括号需要转义。

相关内容

  • 没有找到相关文章

最新更新