ダミーのカスタムgedit構文強調表示?


15

geditのカスタム構文強調表示を作成します(実際に)。

いくつかの異なるアイテムがあります:

2つのタブで始まる行。----- 1つの色。3つのタブで始まる行。-----別の色。4つのタブで始まる行。-----別の色。そして、INTで始まる行。またはEXT。-----別の色。

これは脚本を書くためのものです。

私はgeditの言語定義wikiページを見ましたが、それは私の頭上にあります。

これを行う簡単な方法はありますか?

回答:


16

以下は、GtkSourceViewリファレンスマニュアル、Language Definition v2.0 Tutorial and Referenceから派生したものです。

ファイル/usr/share/gtksourceview-2.0/language-specs/screenplay.langを(ルートとして)作成し、次の内容を追加します。

<?xml version="1.0" encoding="UTF-8"?>
<language id="screenplay" _name="Screenplay" version="2.0" _section="Markup">
  <metadata>
    <property name="mimetypes">text/plain</property>
    <property name="globs">*.script</property>
  </metadata>
  <styles>
    <style id="indent2" _name="2x indented"  map-to="def:comment" />
    <style id="indent3" _name="3x indented"  map-to="def:constant" />
    <style id="indent4" _name="4x indented"  map-to="def:identifier" />
    <style id="intext"  _name="INT. or EXT." map-to="def:statement" />
  </styles>
  <definitions>
    <context id="screenplay">
      <include>
        <context id="indent4" style-ref="indent4">
          <start>^\t\t\t\t</start>
          <end>$</end>
        </context>
        <context id="indent3" style-ref="indent3">
          <start>^\t\t\t</start>
          <end>$</end>
        </context>
        <context id="indent2" style-ref="indent2">
          <start>^\t\t</start>
          <end>$</end>
        </context>
        <context id="intext" style-ref="intext">
          <start>^(INT|EXT)\.</start>
          <end>$</end>
        </context>
      </include>
    </context>
  </definitions>
</language>

実行することにより、ファイルが誰でも読めるようにします

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

geditを再起動します。これ*.scriptで、geditで開いた名前のファイルの下部にあるステータスバーに「Screenplay」タイプが表示されます。2、3、または4つのタブでインデントされた行は、それぞれ青、マゼンタ、シアン、およびINTで始まる行に色付けする必要があります。またはEXT。赤で太字になります。

これはいくつかの方法で調整できます。

  • .scriptファイル名のサフィックスは「グロブ」プロパティに、5行目に設定されています。これは明白な方法で変更でき、必要に応じてセミコロン(;)で区切られた複数の値を含めることができます。

  • インデントおよびINTに対して取得する色。およびEXT。行は、gedit用に選択した特定の配色に依存します。それらはコメント、定数、識別子、および文のスタイルの色です(それが何をするかmap-to="def:comment"など)。異なる結果を得るには、geditの配色を変更するか(編集>環境設定>フォントと色)、タグのmap-to値を再配置します<style>。さらに制御したい場合は、次のように独自の配色を作成できます。

    cd /usr/share/gtksourceview-2.0/styles
    sudo cp classic.xml screenplay.xml
    

    screenplay.xmlを(ルートとして)編集します。コメント以外の最初の3行を次のように置き換えます。

    <style-scheme id="screenplay" _name="Screenplay" version="1.0">
      <author>YAS</author>
      <_description>Screenplay color scheme</_description>
    

    次にbold="true"、def:comment、def:constant、def:identifier、およびdef:statementスタイルの色(およびおそらく他のスタイル、たとえば)を調整します。geditを再起動し、geditの配色をScreenplayに変更して、新しい色を表示します。ただし、これはグローバルな変更です。他のファイルを編集するには、通常の配色に戻すことをお勧めします。

screenplay.langまたはscreenplay.xmlファイルを変更するたびに、geditを再起動して結果を確認する必要があることに注意してください。


やった!驚くばかり!
YAS

おかげで、似たようなユースケースがあり、関連するが物理的に異なる線を同じ色で強調表示し、これは大いに役立ちました。
エロフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.