我正在尝试扩展在 gtksourceview-3.0 中找到的 C 语言定义,完整的原始文件可以在这里找到。我只想让一些语法规则使用正则表达式,所以我可以在 gedit 中语法高亮显示函数、类成员等内容。函数很简单,我只是用一个正则表达式为它们添加了我自己的上下文:
<context id="myfunc" style-ref="myfunc">
<match>\w+(?=\()</match>
</context>
IE。然后我可以function()
通过将样式规则应用于myfunc
. 我发现做成员变量更难,例如我想给bar
in着色foo.bar
。通常我会使用像
<match>(?<=\.)\w+</match>
但它似乎不起作用(并且它打破了其他语法突出显示规则!)。此时我被卡住了,因为我不知道这里使用的是哪种正则表达式风格,显然它不支持后视,而且我对 XML 不太了解。有什么建议么?