有谁知道是否有办法在GtkSourceView 3 XML语言文件中指定重叠模式?例如,在下面的文本中,有没有办法突出显示"某些文本......"在 Foo 和 bar 之间以一种颜色和"更多文本..."在酒吧和巴兹之间以另一种颜色?这里的问题是 bar 是一个上下文的结束,也是另一个上下文的开始,这意味着 bar-baz 上下文永远不会适用。
foo
some text...
bar
some more text...
baz
我找到了解决方案。酒吧部分可以包含在 foo 部分中:
<context id="bar" style-ref="bar" style-inside="true" extend-parent="false">
<start>^barb</start>
</context>
<context id="foo" style-ref="foo" style-inside="true">
<start>^foob</start>
<end>^bazb</end>
<include>
<context ref="bar"/>
</include>
</context>