0

有没有办法在 tmLanguage 文件本身中包含颜色突出显示规则?

对于那些不熟悉它的人来说,Pro*C 是一种 SQL 和 C 的变异混合爱子,两种语法都存在于文件中。但是,有一些 Pro*C 特定关键字可以在其中启动或停止一大长 SQL 块。

我想做的是让 Pro*C 关键字与 C/SQL 关键字的颜色不同,并且 SQL 块具有不同的背景颜色,以便它们脱颖而出。在所有常见主题中都没有适当的范围可以用于此,我不能说。所以我不能只将 Pro*C 关键字称为“keyword.source.some-differently-colored language”(它们实际上应该是 keyword.source.pro-c)或块“text.whatever.another-color” (现在使用 meta.block.pro-c)。

如果我可以在定义语法的同一个 plist 中包含这些元素的颜色,那将会很有用。这在 Sublime 中可行吗?这样做的正确方法是什么?

4

1 回答 1

1

据我了解,您必须修改配色方案文件以支持您想要的。无论如何,将颜色捆绑为 tmLanguage 文件的一部分是没有意义的。通过这样做,您基本上会说每个用户都必须使用您预定义的颜色,我可以想象人们不会喜欢这种颜色。例如,假设我有一个白色背景,而您决定将文本颜色设为白色。看起来那里什么都没有。

我认为最好的方法是包含配色方案文件的示例“扩展”。然后允许用户在他们认为合适的时候自行修改。这也可以让您使用标准命名约定,因此如果它们不应用任何新的范围,一切看起来都还可以。当然,他们可以在方案文件中指定更详细的范围以应用正确的文本颜色/背景。

如果有某种方法可以简单地从单独的文件扩展配色方案,而不需要修改原始文件,我认为会很好。虽然那不存在。

于 2013-04-30T23:36:54.677 回答