Gedit에 새 언어를 추가해야 합니다. 문제는 이제 Gedit의 언어 메뉴에 포함되어 있지만 구문이 강조 표시되지 않고 Gedit가 파일 접미사에서만 언어를 식별할 수 없다는 것입니다.
MIME-TYPE을 설명하는 .lang 파일과 XML 파일을 만들었습니다.
LANG file - /usr/share/gtksourceview-3.0/language-specs/test.lang
MIME-TYPE file - /usr/share/mime/packages/test.xml
생성 후 MIME 데이터베이스를 업데이트했습니다.
sudo update-mime-database /usr/share/mime
다음에 시도할 사항
test.xml
1) 대신 파일을 /usr/share/mime/applications
폴더 에 복사 해 보았지만 /usr/share/mime/packages
작동하지 않았습니다.
/etc/mime.types
2) MIME 유형을 다음과 같이 넣어 보았습니다 .
text/x-test test
또한 효과가 없습니다.
테스트 언어
<?xml version="1.0" encoding="UTF-8"?>
<language id="test" _name="Test" version="1.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-test</property>
<property name="globs">*.test</property>
<property name="line-comment-start">//</property>
<property name="block-comment-start">/*</property>
<property name="block-comment-end">*/</property>
</metadata>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
</styles>
<definitions>
<context id="if0-comment" style-ref="comment">
<start>\%{preproc-start}if\b\s*0\b</start>
<end>\%{preproc-start}(endif|else|elif)\b</end>
<include>
<context id="if-in-if0">
<start>\%{preproc-start}if(n?def)?\b</start>
<end>\%{preproc-start}endif\b</end>
<include>
<context ref="if-in-if0"/>
<context ref="def:in-comment"/>
</include>
</context>
<context ref="def:in-comment"/>
</include>
</context>
<context id="keywords" style-ref="keyword">
<keyword>hello</keyword>
<keyword>hi</keyword>
</context>
<!--Main context-->
<context id="test">
<include>
<context ref="if0-comment"/>
<context ref="keywords"/>
</include>
</context>
</definitions>
</language>
테스트.xml
<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info" >
<mime-type type="text/x-test">
<sub-class-of type="text/plain"/>
<comment xml:lang="en">TEST language document</comment>
<comment xml:lang="cs">Dokument v jazyce TEST</comment>
<glob pattern="*.test"/>
</mime-type>
</mime-info>
답변1
마침내 나는 그것을 알아 냈습니다. ~에 따르면GTK 언어 참조 version
태그의 속성은 <language>
이어야 합니다 2.0
.
따라서 올바른 <language>
라벨은 다음과 같습니다.
<language id="test" _name="Test" version="2.0" _section="Source">