我在向 gtksourceview(由 gedit 使用)添加新语言时遇到了问题。
我想添加 Django 的模板语言,但有些东西不起作用:
我无法让%}停止语法着色。
这是一个片段:
<context id="dtl-block" end-at-line-end="true">
<start>{%</start>
<end>%}</end>
<include>
<context sub-pattern="0" where="start" style-ref="preprocessor"/>
<context sub-pattern="0" where="end" style-ref="preprocessor"/>
<context ref="string"/>
<context ref="chaine"/>
<context ref="keywords"/>
<context ref="filters"/>
<context ref="operators"/>
<context ref="variable"/>
</include>
</context>
此代码段正确地为我的代码着色,但它不会在%}处停止。它在%}之后继续着色,所以有问题。
我制作了一个有效的片段:
<context id="variable-block" end-at-line-end="true">
<start>{{</start>
<end>}}</end>
<include>
<context sub-pattern="0" where="start" style-ref="preprocessor"/>
<context sub-pattern="0" where="end" style-ref="preprocessor"/>
<context ref="variable"/>
</include>
</context>
它工作得很好。
{{和}}有效,但%}无效。
我尝试使用 html 实体和反斜杠 (\),但它不起作用。
有人知道可能是什么问题吗?
谢谢。