
私は Gedit 用の新しい言語定義を作成しようとしています。この言語は nesC と呼ばれ、基本的に C から派生したもので、結果として C の構造を共有しています。
新しい言語を作成する方法については、Gnome wiki の指示に従いました。
c.lang ファイルをコピーして に貼り付け~/.local/share/gtksourceview-3.0/language-specs
、ファイルに必要な変更をすべて加え、C を nesC に変換しました。
問題は、拡張子 のファイルを開くと.nc
、ファイルがまだ黒一色のままであることです。ただし、「表示」→「ハイライト モード」→「ソース」に移動すると、nesC オプションがあり、すでに選択されています。これは、Gedit がファイルの種類を検出していることを意味します。その場合、なぜ色がないのでしょうか。ソースから C を選択すると、色が表示されます。
また、新しい言語を作成する方法に関する Gnome wiki の記事に示されているように、MIME タイプ ファイルも作成しました。
ファイルで、id=c
を に変更しましたid=nesc
。 これを に戻すとid=c
、動作します。 を使用してはいけないのはなぜですかnesc
? チュートリアルでは、値 ( id=foo
) を明確に変更しています。
答え1
あなたは変わるべきだid
属性は、メイン タグ<language>
と タグ<context>
(の子<definitions>
) の 2 か所にあります。
…
<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 タイプにどのような名前を付けたかはわかりません。)