ฉันกำลังพยายามเปลี่ยนไฟล์ไฮไลต์จาก Gedit ฉันได้แก้ไขไฟล์ /usr/share/gtksourceview-3.0/language-specs/fortran.lang เพราะฉันต้องการเปลี่ยนเคสที่ตัวแก้ไขใช้คำสั่งเป็นความคิดเห็น ปัญหาที่ฉันมีคือเมื่อฉันเลือกรูปแบบไฮไลต์ใหม่ไม่มีอะไรเน้นมันก็ยังคงเป็นข้อความธรรมดา
ไฟล์ fortran.lang เปิดขึ้นพร้อมสิทธิ์ su และฉันเพิ่งคัดลอกทุกอย่างลงในไฟล์ Gedit ใหม่และบันทึกในภายหลังเป็น fortran_enhanced.lang ในโฟลเดอร์เดียวกัน การเปลี่ยนแปลงที่ฉันทำกับไฟล์ต้นฉบับคือ:
ไฟล์ fortran.lang ดั้งเดิม:
<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>
(...)
ไฟล์ 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>
(...)
ฉันได้อ่านคำถามนี้ [ เน้น gedit กำหนดเองเน้นไวยากรณ์สำหรับ Dummies? ] และฉันพยายามทำให้ไฟล์ fortran_enhanced.lang ใหม่อ่านได้ด้วย
$ cd /usr/share/gtksourceview-3.0/language-specs
$ sudo chmod 0644 fortran_enhanced.lang
แต่มันก็ไม่ได้สร้างความแตกต่าง
ฉันต้องบอกว่าฉันไม่เคยทำอะไรแบบนี้มาก่อนและฉันก็ไม่เข้าใจไฟล์ภาษาส่วนใหญ่ดังนั้นฉันจึงเปิดให้มีการวิพากษ์วิจารณ์ทุกครั้ง
ขอบคุณล่วงหน้า!
cd /usr/share/gtksourceview-3.0/language-specs
ลงที่ด้านล่างของโพสต์ที่คุณกล่าวว่า นั่นคือคำสั่งจริงที่คุณรันหรือไม่?/usr/local/share/gtksourceview-3.0/language-specs
หากเป็นเช่นนั้นคุณก็ต้องย้ายไฟล์ไปที่