gpt4 book ai didi

sublimetext2 - 为 HTML 标签修​​改 Sublime Text 语法高亮

转载 作者:行者123 更新时间:2023-12-04 04:17:12 31 4
gpt4 key购买 nike

我已经为 Sublime Text 2 尝试了多种配色方案,并且我发现了一些对于 javascript 和 php 看起来很棒,但它们在 HTML 中的文本和标签之间也有可怕的区别。

我想要做的是使 HTML 标签的颜色与开始和结束标签 (<>) 相同。现在,左右 V 形显示为与纯文本相同的颜色,阅读起来可能会令人眼花缭乱。

Bad syntax colouring in "Frontier"配色方案 Frontier

意识到这不是配色方案而是 HTML 的语法定义,我查看了 ~/Library/Application Support/Sublime Text 2/Packages/HTML/HTML.tmLanguage进行修改。

问题是,XML 文件中到处都是 &gt;&lt;除了 unofficial documentation for syntax definitions 之外,没有文件本身的文档.任何人都知道如何将开始和结束标记定义合并为与标记本身相同?

当然,另一个选项是编辑我喜欢的每个主题并确保标签和 chrevrons 的颜色相同,但我认为全局编辑对我来说更有意义。

Better syntax highlighting in "Phoenix Dark Blue"配色方案 Phoenix Dark Blue

例如,Phoenix Dark Blue通过使用以下定义解决了这个问题,

<dict>
<key>name</key>
<string>Variable, String Link, Tag Name</string>
<key>scope</key>
<string>variable, support.other.variable, string.other.link, entity.name.tag, entity.other.attribute-name, meta.tag, declaration.tag</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#787878</string>
</dict>
</dict>

最佳答案

如果进一步.tmLanguage -相关的紧急情况,请注意TextMate ManualLanguage Grammars section .他们的例子在JSON :一种比 PLIST 可读性更高的格式,但不是 Sublime Text 可以正确使用的格式。 ST2 和 ST3 用户可以使用 PackageDevYAML 中编辑语法.

正如您所提到的,并通过我的正则表达式搜索确认 &(g|l)t; ,有太多 <> Sublime Text 2(内部版本 2221)中的标记定界符 HTML.tmLanguage语法文件。一些 HTML 标签和古怪的正则表达式标签上下文非常特殊以至于它们保证了唯一的表示,不幸的是我们包括重新指定标签分隔符的范围和上下文,<> , 而不是 Hook 到一些通用的不等式符号范围选择器。

幸运的是,&lt;每个 实例和 &gt;被赋予范围名称 punctuation.definition.tag.???.html , 其中???可能是 begin , end , 或无。同样,每个 HTML 标签(html 中的 <html> )的命名很像 entity.name.tag.html。 .幸运的是,是时候使用正则表达式了!

在你的HTML.tmLanguage文件——我实际上建议克隆一个新文件到 Packages/User为了安全起见,尽管您必须重命名文件和语法 - 执行 regex 搜索所有违规范围名称:

punctuation\.definition\.tag.*(?=</string>)

...并用与标签本身相同的名称替换每个结果(这应该像一个一样简单 Ctrl+V ), entity.name.tag.html .在我的测试中,我还添加了另一个子范围过去 tag以防我以后需要找到替代品,所以它看起来像这样:

entity.name.tag.delimiter.html

我已经使用 ST2 的默认配色方案对此进行了测试,它应该可以与其他编写良好的主题一起使用。这是 Dayle Rees' Frontier :

Frontier

它甚至适用于 Sublime Text 3!

关于sublimetext2 - 为 HTML 标签修​​改 Sublime Text 语法高亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20822408/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com