1

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

log(x)

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

default(log, 1)

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

            <context id="default" style-ref="keyword">
                <start>default\s*(</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 根本没有语法高亮显示)。我做错什么了?(是的,我已经在上面定义了字符串、十进制、浮点数和注释多行上下文。)

4

1 回答 1

0

有两个问题:内部上下文需要在块内,以及需要转义<include>的括号。<start><end>

于 2015-12-11T20:20:39.343 回答