具有 Unicode 节点名称的 XML 的 Sublime 配色方案

Sublime color scheme for XML with Unicode node name

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

但如果我使用 Unicode 节点名称,它就不漂亮了:

我该如何解决这个问题?

背景

Sublime Text 2/3 附带的 XML 语法高亮语言定义无法识别 non-ASCII 标签:

注: Neon Color Scheme用于语法高亮

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


如何安装

崇高文本 2

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

Sublime Text 3 版本 <= 3083(public 测试版)

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

Sublime Text 3 构建 > 3083(开发构建)

在 Sublime 中,打开一个新文件并粘贴 gist 的内容。将文件另存为 XML.tmLanguage 到您的桌面。使用以下内容在 Sublime 中创建另一个新文件:

%YAML 1.2
---
name: XML-ss
file_extensions:
first_line_match: '^<\?xml '
scope: text.xml
contexts:
  main:
    - match: ''
---

将此文件另存为 XML.sublime-syntax 到您的桌面。选择 Preferences → Browse Packages… 打开 Packages 文件夹,然后关闭 Sublime。在 Packages 中创建一个名为 XML 的新文件夹,并将新的 XML.tmLanguageXML.sublime-syntax 文件从桌面复制到 Packages/XML。下次您在 Sublime 中打开 XML 文件时,它将使用新语法。 syntax menu中会有一个新条目叫XML-ss(for sublime-syntax),无视即可。


工作原理

崇高文本 2

在这里,我们只是用新的语言定义(.tmLanguage 文件)替换旧的语言定义。

崇高文本 3

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

但是,从 dev build 3084 及更高版本开始,引入了新的 YAML-based .sublime-syntax 格式,并且转换了所有默认语法定义。 .tmLanguage 格式仍然受支持,但是,我们需要先覆盖 XML/XML.sublime-syntax 文件才能使用新的 .tmLanguage 文件。