我正在尝试为Gedit创建一个新的语言定义。该语言被称为nesC,它基本上是从C派生出来的,因此共享C结构。
我遵循了Gnome上关于如何创建一种新语言的说明。
我复制了c.lang文件并将其粘贴到~/.local/share/gtksourceview-3.0/language-specs,然后对该文件进行了所有必要的更改,以将C转换为nesC。
问题是,当我打开一个扩展名为.nc的文件时,它仍然是黑色的。但是,如果我转到“查看nesC高亮模式→源”,就会看到并已经选中了→选项,这意味着→正在检测文件类型。在这种情况下,为什么没有颜色?当我从源中选择C时,我会得到颜色。
我还创建了一个mime类型文件,如Gnome关于如何创建新语言的文章所示。
在文件中,我将id=c更改为id=nesc。如果我将它改为id=c,那么它就能工作了。为什么我不应该使用nesc?本教程清楚地更改了值(id=foo)。
发布于 2015-01-02 19:33:15
您应该在两个位置上更改id属性,即主标记<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型的。)
https://askubuntu.com/questions/562794
复制相似问题