Gedit 語法反白不適用於新語言

Gedit 語法反白不適用於新語言

我正在嘗試為 Gedit 建立一個新的語言定義。該語言稱為 nesC,它基本上源自於 C,因此共享 C 結構。

我按照 Gnome wiki 上有關如何建立新語言的說明進行操作。

我複製了 c.lang 文件並將其貼上到~/.local/share/gtksourceview-3.0/language-specs,然後對該文件進行了所有必要的更改以將 C 轉換為 nesC。

問題是,當我打開擴展名為 的檔案時.nc,它仍然是純黑色。但是,如果我轉到“視圖”→“突出顯示模式”→“來源”,則 nesC 選項就在那裡並且已被選中,這表示 Gedit 正在偵測檔案類型。既然如此,為什麼沒有顏色呢?當我從來源中選擇 C 時,我得到了顏色。

我還創建了一個 mime 類型文件,如有關如何創建新語言的 Gnome wiki 文章中所示。


在該文件中,我更改id=cid=nesc.如果我把它改回id=c,那麼它就有效。為什麼我不應該使用nesc?本教程清楚地更改了值 ( id=foo)。

答案1

你應該改變id屬性在 2 個地方,在主標籤<language>和標籤<context>( 的子標籤<definitions>):


<language id="nesc" _name="nesC" version="2.0" _section="Source">
  <metadata>
    <property name="mimetypes">text/x-nesc</property>
    <property name="globs">*.nesc;*.nc</property>
  </metadata>


  <definitions>
    <context id="nesc">
    </context>
  </definitions>
</language>`

(但我不知道你是如何命名 mime-type 的。)

相關內容