Tạo một cú pháp tô sáng tùy chỉnh trong gedit


8

Theo câu hỏi của tôi từ lâu, tôi vẫn đang cố gắng điều chỉnh khả năng xử lý tài sản của mình. Hiển thị trong thiết bị đầu cuối là tuyệt vời, chỉ còn một điều - đánh dấu cú pháp trong Gedit khi tôi thêm, chỉnh sửa hoặc xóa từng vận may.

Các tập tin may mắn tùy chỉnh của tôi là ở định dạng này:

Friend: "Whats a good movie?"
Me: "Snakes on a plane"
Friend: "Whats it about?"
Me: "Horses... horses on a boat..."
@AYYSIAN
%
Me on my wedding: you still like me, right?
@ComedyPosts
%
Mum: Son I'd love to meet your girlfriend...
Me: Me too...
@ComedyTruth
%
Doctor: "Ok, so what's wrong, how are you feeling?"
Me: *Looks at mum waiting for her to explain*
@ChildhoodFact
%
Friend: 75% of people are good at maths...
Me: Mmmmh, I guess then am in the remaining 18%...
@TheFunnyTeens
%
I loved the Titanic. My favorite character was the iceberg
@__GrumpyCat

Về cơ bản a tweet, @name%nhân vật. Sau đó lặp lại.

Khi tôi mở nó trong Gedit, mọi thứ đều màu đen.
Tôi đang tìm cách để tạo một tập tin đánh dấu cú pháp sẽ chuyển đổi %thành một cái gì đó như màu xanh lam và @namethành một cái gì đó như màu đỏ tươi. Các tweet có thể vẫn còn màu đen.

GHI CHÚ:

  1. Các tập tin may mắn là loại mime text/plainvà chỉ có định dạng nhất định thực sự phân biệt chúng với một tập tin văn bản đơn giản khác.
  2. Tập tin Fortune không có phần mở rộng.

Câu trả lời:


8

Tạo và mở tệp ngôn ngữ tài sản của bạn:

sudo touch /usr/share/gtksourceview-3.0/language-specs/fortune.lang
sudo -i gedit /usr/share/gtksourceview-3.0/language-specs/fortune.lang

Dán như sau:

<?xml version="1.0" encoding="UTF-8"?>
<language id="fortune" _name="Fortune" version="2.0" _section="Markup">
  <metadata>
    <property name="mimetypes">text/plain</property>
    <property name="globs">*.</property>
  </metadata>

  <styles>
    <style id="at"      _name="@ sign"  map-to="def:constant" />
    <style id="percent" _name="percent sign"  map-to="def:comment" />
  </styles>
  <definitions>
    <context id="fortune">
      <include>
        <context id="at" style-ref="at">
          <start>@</start>
          <end>$</end>
        </context>
        <context id="percent" style-ref="percent">
          <start>%</start>
          <end>$</end>
        </context>
      </include>
    </context>
  </definitions>
</language>

Hãy chắc chắn rằng nó có thể truy cập:

sudo chmod 0644 /usr/share/gtksourceview-2.0/language-specs/screenplay.lang

Khởi động lại gedit.

Tham khảo - câu trả lời nguồn của tôi

Đại từ của tôi là He / Ngài


Cảm ơn rất nhiều, sẽ thử điều này. Mặc dù vậy, một điều may mắn là các tập tin may mắn không có phần mở rộng, lý do cho text/plainloại mime. Điều đó có nghĩa là <property name="globs">*.fort</property>trở thành <property name="globs">*</property>?
Parto

@Parto Điều đó sẽ áp dụng nó cho tất cả các tệp không có phần mở rộng, nhưng vì hầu hết là .txt sẽ ổn. Thay đổi nó thành <property name="globs">*.</property>, và tôi đã cập nhật câu trả lời với điều này!
Tim

2
Cảm ơn rất nhiều. Tôi chỉ sử dụng điều này để thêm đánh dấu cú pháp Twig vào gedit.
TRiG

@TRiG Rất vui khi được giúp đỡ!
Tim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.