Ich versuche, eine Hervorhebungsdatei von Gedit zu ändern. Ich habe die Datei /usr/share/gtksourceview-3.0/language-specs/fortran.lang geändert, weil ich die Fälle ändern möchte, in denen der Editor eine Anweisung als Kommentar verwendet. Das Problem, das ich habe, ist, dass wenn ich das neue Hervorhebungsschema wähle, nichts hervorgehoben wird, es nur als einfacher Text bleibt.
Die Datei fortran.lang wurde mit su-Berechtigungen geöffnet und ich habe einfach alles in eine neue Gedit-Datei kopiert und später als fortran_enhanced.lang im selben Ordner gespeichert. Die Änderungen, die ich an der Originaldatei vorgenommen habe, sind folgende:
Ursprüngliche fortran.lang-Datei:
<language id="fortran" _name="Fortran 95" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-fortran</property>
<property name="globs">*.f;*.f90;*.f95;*.for</property>
<property name="line-comment-start">!</property>
</metadata>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="intrinsic" _name="Intrinsic function" map-to="def:builtin"/>
<style id="boz-literal" _name="BOZ Literal" map-to="def:base-n-integer"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="type" _name="Data Type" map-to="def:type"/>
</styles>
<default-regex-options case-sensitive="false"/>
<definitions>
<!-- Note: contains an hack to avoid considering ^COMMON a comment -->
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>!|(^[Cc](\b|[^OoAaYy]))</start>
<include>
<context ref="def:escape"/>
<context ref="def:in-line-comment"/>
</include>
</context>
(...)
Geänderte Datei fortran_enhanced.lang:
<!-- Note: changed language id and name -->
<language id="fortran_enhanced" _name="Fortran 95 2.0" version="2.0" _section="Sources">
<metadata>
<property name="mimetypes">text/x-fortran</property>
<!-- Note: removed *.f and *.for from file extensions -->
<property name="globs">*.f90;*.f95;</property>
<property name="line-comment-start">!</property>
</metadata>
<styles>
<style id="comment" _name="Comment" map-to="def:comment"/>
<style id="floating-point" _name="Floating Point" map-to="def:floating-point"/>
<style id="keyword" _name="Keyword" map-to="def:keyword"/>
<style id="intrinsic" _name="Intrinsic function" map-to="def:builtin"/>
<style id="boz-literal" _name="BOZ Literal" map-to="def:base-n-integer"/>
<style id="decimal" _name="Decimal" map-to="def:decimal"/>
<style id="type" _name="Data Type" map-to="def:type"/>
</styles>
<default-regex-options case-sensitive="false"/>
<definitions>
<!-- Note: I want comments only beginning with !, not C -->
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
<start>!</start>
<include>
<context ref="def:escape"/>
<context ref="def:in-line-comment"/>
</include>
</context>
(...)
Ich habe diese Frage gelesen [ Benutzerdefinierte gedit-Syntaxhervorhebung für Dummies? ] und ich habe versucht, die neue Datei fortran_enhanced.lang mit lesbar zu machen
$ cd /usr/share/gtksourceview-3.0/language-specs
$ sudo chmod 0644 fortran_enhanced.lang
aber es machte keinen Unterschied.
Ich muss sagen, dass ich so etwas noch nie gemacht habe und den größten Teil der Sprachdatei nicht einmal verstehe. Deshalb bin ich offen für jede Kritik, da ich mich nur von der Intuition leiten ließ.
Danke im Voraus!
cd /usr/share/gtksourceview-3.0/language-specs
. Ist das der eigentliche Befehl, den Sie ausgeführt haben? Wenn dies der Fall ist, müssen Sie nur die Datei in verschieben/usr/local/share/gtksourceview-3.0/language-specs
.