Tôi đang cố gắng thay đổi một tập tin đánh dấu từ Gedit. Tôi đã sửa đổi tệp /usr/share/gtksourceview-3.0/lingu-specs/fortran.lang vì tôi muốn thay đổi các trường hợp trong đó trình soạn thảo lấy một tuyên bố làm nhận xét. Vấn đề tôi có là khi tôi chọn lược đồ tô sáng mới, không có gì nổi bật, nó chỉ còn là văn bản thuần túy.
Tệp fortran.lang đã được mở bằng quyền su và tôi chỉ sao chép mọi thứ vào một tệp Gedit mới và sau đó lưu nó dưới dạng fortran_enhified.lang trong cùng một thư mục. Những thay đổi tôi đã thực hiện đối với tệp gốc là:
Tập tin fortran.lang gốc:
<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>
(...)
Đã sửa đổi tệp fortran_enhified.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>
(...)
Tôi đã đọc câu hỏi này [ Custom gedit Syntax Highlighting for Dummies? ] và tôi đã cố gắng làm cho tệp fortran_enhified.lang mới có thể đọc được bằng
$ cd /usr/share/gtksourceview-3.0/language-specs
$ sudo chmod 0644 fortran_enhanced.lang
nhưng nó không tạo ra sự khác biệt nào.
Tôi phải nói rằng tôi chưa bao giờ làm một việc như thế này trước đây và tôi thậm chí không hiểu hầu hết các tập tin ngôn ngữ, vì vậy tôi cởi mở với mọi lời chỉ trích, vì tôi đã được hướng dẫn hoàn toàn bằng trực giác.
Cảm ơn bạn trong nâng cao!
cd /usr/share/gtksourceview-3.0/language-specs
. Đó có phải là lệnh thực tế bạn đã chạy? Nếu có, bạn chỉ cần di chuyển tệp đến/usr/local/share/gtksourceview-3.0/language-specs
.