Gedit bir vurgulama dosyasını değiştirmeye çalışıyorum. /Usr/share/gtksourceview-3.0/language-specs/fortran.lang dosyasını değiştirdim çünkü editörün bir açıklama olarak yorum yapması gereken durumları değiştirmek istiyorum. Sahip olduğum sorun, yeni vurgulama şemasını seçtiğimde hiçbir şeyin vurgulanmaması, sadece düz metin olarak kalması.
Fortran.lang dosyası su izinleriyle açıldı ve her şeyi yeni bir Gedit dosyasına kopyaladım ve daha sonra aynı klasöre fortran_enhanced.lang olarak kaydettim. Özgün dosyada yaptığım değişiklikler şunlardır:
Orijinal fortran.lang dosyası:
<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>
(...)
Değiştirilmiş fortran_enhanced.lang dosyası:
<!-- 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>
(...)
Bu soruyu okudum [ Dummies için özel gedit Sözdizimi Vurgulama? ] ve yeni fortran_enhanced.lang dosyasını okunabilir hale getirmeye çalıştım
$ cd /usr/share/gtksourceview-3.0/language-specs
$ sudo chmod 0644 fortran_enhanced.lang
ama hiçbir fark yaratmadı.
Daha önce hiç böyle bir şey yapmadığımı söylemeliyim ve dil dosyasının çoğunu bile anlamıyorum, bu yüzden sadece sezgi tarafından yönlendirildiğim için her eleştiriye açığım.
Şimdiden teşekkürler!
cd /usr/share/gtksourceview-3.0/language-specs
. Gerçek komut buydu mu? Öyleyse, dosyayı şu konuma taşımanız yeterlidir/usr/local/share/gtksourceview-3.0/language-specs
.