具有Unicode节点名称的XML的崇高颜色方案

时间:2016-01-21 14:43:19

标签: xml sublimetext3 syntax-highlighting sublimetext tmlanguage

如果我在ASCII中使用节点名称,我有一个很好的观点:

enter image description here

但如果我使用Unicode节点名称,那就不太好了:

enter image description here

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

背景

Sublime Text 2/3附带的XML语法高亮语言定义无法识别非ASCII标记:<​​/ p>

注意: Neon Color Scheme用于语法突出显示

original

但是,将其替换为this gist中的文件可以解决这个问题,以及一些小问题:

new

如何安装

Sublime Text 2

在Sublime中,打开一个新文件并粘贴要点的内容。将文件另存为XML.tmLanguage。选择 Packages 打开您的Preferences → Browse Packages…文件夹,然后关闭Sublime。向下滚动到XML文件夹,并将XML.tmLanguage重命名为XML.tmLanguage.old。如果存在,请删除XML.tmLanguage.cache。现在,将新的XML.tmLanguage从桌面复制到Packages/XML。下次在Sublime中打开XML文件时,它将使用新语法。

Sublime Text 3 Build&lt; = 3083(公共测试版)

在Sublime中,打开一个新文件并粘贴要点的内容。将文件另存为XML.tmLanguage。选择 Packages 打开您的Preferences → Browse Packages…文件夹,然后关闭Sublime。在名为Packages的{​​{1}}中创建一个新文件夹,然后将新版XML从桌面复制到XML.tmLanguage。下次在Sublime中打开XML文件时,它将使用新语法。

Sublime Text 3 Build&gt; 3083(开发版)

在Sublime中,打开一个新文件并粘贴要点的内容。将文件另存为Packages/XML。在Sublime中创建另一个新文件,其中包含以下内容:

XML.tmLanguage

将此文件另存为%YAML 1.2 --- name: XML-ss file_extensions: first_line_match: '^<\?xml ' scope: text.xml contexts: main: - match: '' --- 。选择 XML.sublime-syntax 打开您的Packages文件夹,然后关闭Sublime。在名为Preferences → Browse Packages…的{​​{1}}中创建一个新文件夹,并将新的PackagesXML文件从桌面复制到XML.tmLanguage。下次在Sublime中打开XML文件时,它将使用新语法。语法菜单中会有一个名为XML.sublime-syntax的新条目(对于 s ublime- s yntax),只需忽略它。

工作原理

Sublime Text 2

在这里,我们只需将旧语言定义(Packages/XML文件)替换为新语言。

Sublime Text 3

在Sublime Text 3中,默认包(以及使用Package Control安装的许多包)作为压缩XML-ss文件存储在单独的目录中。但是,如果您在.tmLanguage文件夹中创建一个文件夹和文件,其名称与包(本例中为.sublime-package)及其中包含的文件同名,则Packages中的版本将覆盖XML存档中的版本。对于ST3 build 3083及之前,使用了与ST2相同的基于XML的Packages格式。

但是,从dev build 3084及更高版本开始,引入了一种新的基于YAML的sublime-package格式,并且转换了所有默认语法定义。但是,仍然支持.tmLanguage格式,但我们需要首先覆盖.sublime-syntax文件,以便使用新的.tmLanguage文件。