Gtk

gtksourceview 的自定義突出顯示不起作用

  • March 15, 2013

我正在嘗試為 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 中選擇它。但是文本中沒有突出顯示任何內容。

誰能告訴我我做錯了什麼?

原來我無法在.lang文件中定義樣式。在<style>標籤中,我只能引用在/usr/share/gtksourceview-3.0/styles. 例如程式語言中用於關鍵字的樣式:

<style id="chord" _name="Chord" map-to="def:keyword"/>

引用自:https://unix.stackexchange.com/questions/68077