geditでカスタム構文ハイライトを作成する


8

ずっと前からの私の質問に続き、私はまだ私の運勢処理機能を微調整しようとしています。ターミナルの表示は素晴らしいですが、残っているのは1つだけです-個々の運勢を追加、編集、または削除するときにGeditで構文を強調表示します。

私のカスタムフォーチュンファイルは次の形式です。

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

基本的a tweet@nameは、%キャラクターです。その後、繰り返します。

Geditで開くと、すべてが真っ黒です。
%青のようなものに変換し、@nameマゼンタのようなものに変換する構文強調表示ファイルを作成する方法を探しています。ツイートは黒のままでかまいません。

注意:

  1. フォーチュンファイルはMIMEタイプでtext/plainあり、指定された形式のみが、それらを別のプレーンテキストファイルと区別します。
  2. Fortuneファイルには拡張子がありません。

回答:


8

フォーチュン言語ファイルを作成して開きます。

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

以下を貼り付けます。

<?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>

アクセス可能であることを確認します。

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

geditを再起動します。

リファレンス-私のソースの回答

私の代名詞は彼/彼です


おかげで、これを試してみます。ただし、フォーチュンファイルには拡張子がないため、text/plainMIMEタイプの理由があります。その平均値はない<property name="globs">*.fort</property>なり<property name="globs">*</property>
パルト2014年

@Partoこれは拡張子のないすべてのファイルに適用されますが、ほとんどは.txtなので問題ありません。それを<property name="globs">*.</property>に変更し、これで答えを更新しました!
Tim

2
大変感謝しています。これを使用して、geditにTwig構文強調表示を追加しました。
TRiG 2016年

@TRiG助けてくれてうれしい!
Tim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.