gtksourceview 的自定义突出显示不起作用

gtksourceview 的自定义突出显示不起作用

我正在尝试为 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"/>

相关内容