YAS*_*YAS 16 gedit highlighting syntax
我想为 gedit 制作(实际上)一个自定义语法突出显示。
只会有几个不同的项目:
以 2 个制表符开头的行。-----一种颜色。以 3 个制表符开头的行。----- 另一种颜色。以 4 个制表符开头的行。----- 另一种颜色。和以 INT 开头的行。或 EXT。----- 另一种颜色。
这是用来写剧本的。
我查看了 gedit 的语言定义 wiki 页面,但它超出了我的范围。
有没有一种简单的方法可以做到这一点?
And*_*man 18
以下内容来自 GtkSourceView 参考手册,语言定义 v2.0教程和参考。
创建文件/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>
Run Code Online (Sandbox Code Playgroud)
通过运行确保文件是世界可读的
sudo chmod 0644 /usr/share/gtksourceview-2.0/language-specs/screenplay.lang
Run Code Online (Sandbox Code Playgroud)
重启 gedit。现在*.script,您在 gedit 中打开的任何文件都应该在底部的状态栏中显示“剧本”类型。用 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
Run Code Online (Sandbox Code Playgroud)
编辑 screenplay.xml(以 root 身份)。将前三个非注释行替换为:
<style-scheme id="screenplay" _name="Screenplay" version="1.0">
<author>YAS</author>
<_description>Screenplay color scheme</_description>
Run Code Online (Sandbox Code Playgroud)
然后调整bold="true"def:comment、def:constant、def:identifier 和 def:statement 样式的颜色(也可能是其他样式,例如)。再次重新启动 gedit,并将 gedit 的配色方案更改为 Screenplay 以查看您的新颜色。请注意,这是一个全球性的变化;您可能希望改回常规配色方案以编辑其他文件。
请注意,每次更改 screenplay.lang 或 screenplay.xml 文件时,都必须重新启动 gedit 才能查看结果。
| 归档时间: |
|
| 查看次数: |
12364 次 |
| 最近记录: |