Gedit에 대한 새로운 언어 정의를 만들려고 합니다. nesC라고 불리는 언어는 기본적으로 C에서 파생되어 결과적으로 C 구조를 공유합니다.
나는 새 언어를 만드는 방법에 대한 Gnome 위키의 지침을 따랐습니다.
c.lang 파일을 복사하여 에 붙여 넣은 ~/.local/share/gtksourceview-3.0/language-specs
다음 C를 nesC로 변환하기 위해 파일에 필요한 모든 변경을 수행했습니다.
문제는 확장자가 .인 파일을 열 때 .nc
여전히 일반 검정색이라는 것입니다. 그러나 보기 → 강조 모드 → 소스로 이동하면 nesC 옵션이 이미 선택되어 있으며 이는 Gedit가 파일 형식을 감지하고 있음을 의미합니다. 그렇다면 왜 색상이 없습니까? 소스에서 C를 선택하면 색상이 표시됩니다.
또한 새 언어를 만드는 방법에 대한 Gnome 위키 기사에 표시된 대로 MIME 형식 파일을 만들었습니다.
파일 id=c
에서는 id=nesc
. 다시 으로 변경하면 id=c
작동합니다. 왜 사용하면 안 됩니까 nesc
? 튜토리얼에서는 값( id=foo
)을 명확하게 변경합니다.
답변1
당신은 변화해야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-type이라는 이름을 어떻게 지었는지 모르겠습니다.)