2013-04-30 76 views
0

有没有什么办法,包括颜色突出显示在tmLanguage规则文件本身?我工作的一个PRO * C的语法高亮文件崇高文本2

对于那些谁不熟悉它,PRO * C是有点SQL和C的这种突变混合爱孩子,和两种语法都存在的文件中。但是,有一些Pro * C特定的关键字可以启动或停止一个很大的SQL块。

我想这样做,是有PRO * C的关键字是不同的颜色比C/SQL关键字,和SQL块具有不同的背景颜色,使他们脱颖而出。在这些共同的主题中,没有适当的范围可用于此,而不是我可以说的。所以我不能仅仅调用Pro * C关键字“keyword.source.some-different-colored language”(它们应该真的是keyword.source.pro-c)或者是“text.whatever.another-color” (现在使用meta.block.pro-c)。

这将是有用的,如果我可以只包括在定义的语法相同的plist这些元素的颜色。这在Sublime中可能吗?什么是正确的方法来做到这一点?

+0

你有过的TextMate手册[语言语法(http://manual.macromates.com/en/language_grammars)章看了?您可能会在此找到有用的东西。 – 2013-04-30 20:56:25

+0

@ProtractorNinja我有。我认为我的语言语法部分正确,它只是让它在Sublime中以颜色显示。我希望能够分发一个可以显示颜色的文件/包,而不会覆盖用户的所有其他主题。 – 2013-04-30 21:10:36

+0

您需要编辑'.tmTheme'文件以添加其他范围。退房[Neon.tmTheme(https://github.com/MattDMo/Neon.tmTheme)的(相当不错的,如果我不这样说我自己)与一吨的其他范围的主题。顺便说一句,我发现编辑它的最好方法是使用TextMate,然后将主题复制到ST2文件夹。 – MattDMo 2013-05-01 14:04:31

回答

1

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

我认为最好的途径是包括色彩方案文件的样本“扩展”。然后让用户自己修改它们,因为他们认为合适。这也可以让你使用标准的命名约定,所以如果他们不应用任何新的范围,一切仍然看起来没问题。当然,他们可以在方案文件中指定更详细的范围以应用正确的文本颜色/背景。

我觉得这是很好的是,如果有一些方法来简单地从一个单独的文件扩展的配色方案,而不需要修改原来的。尽管这并不存在。

+0

同意,这将是很好,如果你可以扩展的配色方案(主题,不管它是什么)。但是,如果您将第二个tmTheme文件放在用户目录中,则它只是将其作为主文件的可选项。 – 2013-05-01 00:48:18