我正在尝试为 gtksourceview 编写自己的语法突出显示。如果完成,它应该在文本文件中突出显示吉他和弦。这是我未完成的文件:
<?xml version="1.0" encoding="UTF-8"?>
<language id="tab" _name="Tab" version="2.0" _section="Others">
<metadata>
<property name="mimetypes">text/plain</property>
<property name="globs">*.txt;*.tab</property>
</metadata>
<styles>
<style id="chord" _name="Chord" foreground="blue" bold="true"/>
</styles>
<definitions>
<context id="chord" style-ref="chord" class="no-spell-check">
<match>[A-H]</match>
</context>
<context id="tab">
<include>
<context ref="chord"/>
</include>
</context>
</definitions>
</language>
我希望突出显示的文本中每个大写字母 A 到 H 都是蓝色且粗体的。将文件保存到/usr/share/gtksourceview-3.0/language-specs
,我可以在 GEdit 中选择它。但文本中没有突出显示任何内容。
谁能告诉我我做错了什么?
答案1
结果我无法定义.lang
文件中的样式。在<style>
标签中,我只能引用/usr/share/gtksourceview-3.0/styles
.例如,编程语言中关键字的样式:
<style id="chord" _name="Chord" map-to="def:keyword"/>