Geditのカスタム構文を強調表示したい(実際に持っている)。
いくつかの異なるアイテムがあります:
2つのタブで始まる行。 -----単色。 3つのタブで始まる行。 -----別の色。 4つのタブで始まる行。 -----別の色。 INTで始まる行。またはEXT。 -----別の色。
これは脚本を書くためのものです。
私はgeditの言語定義wikiページを見ましたが、それは私の頭を超えています。
これを行う簡単な方法はありますか?
以下は、GtkSourceViewリファレンスマニュアル、Language Definition v2.0 Tutorial および Reference から派生したものです。
次の内容で、ファイル/usr/share/gtksourceview-2.0/language-specs/screenplay.lang(rootとして)を作成します。
<?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を再起動します。これで、geditで開いた*.script
という名前のファイルの下部にあるステータスバーに「Screenplay」というタイプが表示されます。 2、3、または4つのタブでインデントされた行は、それぞれ青、マゼンタ、およびシアンに色付けされ、INTで始まる行に色付けする必要があります。またはEXT。赤く太字になります。
これはいくつかの方法で調整できます。
.script
ファイル名のサフィックスは、5行目の「globs」プロパティに設定されています。これは明白な方法で変更でき、必要に応じてセミコロン(;
)で区切って複数の値を含めることができます。
インデントと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>
次に、def:comment、def:constant、def:identifier、およびdef:statementスタイルの色(および他のスタイル、たとえばbold="true"
)を調整します。 geditを再起動し、geditの配色を脚本に変更して新しい色を表示します。ただし、これはグローバルな変更であることに注意してください。他のファイルを編集するには、通常の配色に戻すことをお勧めします。
Screenplay.langまたはscreenplay.xmlファイルを変更するときはいつでも、結果を表示するためにgeditを再起動する必要があることに注意してください。