Saya mencoba mengubah file sorotan dari Gedit. Saya telah memodifikasi file /usr/share/gtksourceview-3.0/language-specs/fortran.lang karena saya ingin mengubah kasus di mana editor mengambil pernyataan sebagai komentar. Masalah yang saya miliki adalah bahwa ketika saya memilih skema penyorotan baru, tidak ada yang disorot, itu hanya tetap sebagai teks biasa.
File fortran.lang dibuka dengan izin su dan saya hanya menyalin-menempelkan semuanya ke file Gedit baru dan kemudian menyimpannya sebagai fortran_enhanced.lang di folder yang sama. Perubahan yang saya lakukan pada file asli adalah:
File fortran.lang asli:
<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>
(...)
File fortran_enhanced.lang yang dimodifikasi:
<!-- 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>
(...)
Saya telah membaca pertanyaan ini [ Menyoroti Sintaks gedit Kustom untuk Dummies? ] dan saya mencoba membuat file fortran_enhanced.lang baru dapat dibaca
$ cd /usr/share/gtksourceview-3.0/language-specs
$ sudo chmod 0644 fortran_enhanced.lang
tapi itu tidak ada bedanya.
Saya harus mengatakan bahwa saya belum pernah melakukan hal seperti ini sebelumnya dan saya bahkan tidak mengerti sebagian besar file bahasa, jadi saya terbuka untuk setiap kritik, karena saya dibimbing sepenuhnya oleh intuisi.
Terima kasih sebelumnya!
cd /usr/share/gtksourceview-3.0/language-specs
. Apakah itu perintah sebenarnya yang Anda jalankan? Jika ya, Anda hanya perlu memindahkan file/usr/local/share/gtksourceview-3.0/language-specs
.