是的,只要可以通过您安装的语言定义将标签识别为具有不同的范围,您就可以编辑您的配色方案以针对具有特定颜色和其他样式的这些范围。
在您的包文件夹中,语言范围在 .tmLanguage 文件中为您安装的语言定义,而样式在“颜色方案 - 默认”文件夹中的 .tmTheme 文件中定义。
如果您将光标放在标签内,然后按shift+ ctrl+ alt+ p(我认为在 OSX 中为shift- cmd-p)状态栏将显示当前范围。您还可以使用以下命令通过控制台将其复制到剪贴板:
sublime.set_clipboard(view.syntax_name(view.sel()[0].b))
您可以使用这些信息来创建您的样式,有点像 css 选择器,但使用的是 XML。例如,我使用这个Coldfusion 包,并且在我的自定义 .tmTheme 文件中有如下所示的范围选择器来区分 cf 标签和 HTML 标签。
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#D8D0B6</string>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#647A4F</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CF tag name</string>
<key>scope</key>
<string>entity.name.tag.conditional.cfml, entity.name.tag.declaration.cfml, entity.name.tag.other, entity.name.tag.cf, entity.name.tag.inline.other.cfml</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#D8D0B6</string>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#990033</string>
</dict>
</dict>
有关范围选择器的更多信息。