Sublime Text 2:基于上下文的不同语言突出显示?(一个Webstorm)

Ben*_*nmj 13 webstorm angularjs sublimetext2

我在观看关于AngularJS的Egghead.io上的一些视频.视频的创建者使用Webstorm(我相信,它适用于他们).我注意到的一个特性是他可以在不同的范围或引号内设置不同的语法高亮.所以,在以下代码中(来自AngularJS指令)

return {
    template: '<div>something</div>',
    //         ^^^ these guys ^^^
}
Run Code Online (Sandbox Code Playgroud)

...他可以在引号内部突出显示为HTML.

我使用Sublime Text 2,并且相当坚定.是否有Sublime的现有功能/插件可以处理这样的情况?如果没有,使用Sublime Text 2 API在技术上是否可行?

sku*_*oda 8

我不认为它是内置的,但它肯定是可能的.我一直在用graphviz做一些工作,想做类似的事情.可以使用类似html的语法生成标签.无论如何,我玩了.tmLanguage文件并添加了一个新的模式来匹配像条目有效的html(我寻找label = <)的上下文.我用于捕获的模式并不是那么好,但它对我来说很好.这给了我以下,我认为这与您正在寻找的类似.

演示

我对AngularJS一无所知,所以我无法帮助你解决任何具体问题,但这肯定是可能的.请注意,在下图中,最后一个<table></table>只是为了表明那里没有突出显示.

编辑:

忘了在原帖中包含这个,但这里是我更新的tmLangauage文件.第一个模式是我添加的(链接).我使用PlistJsonConverter从JSON转到plist,然后将文件保存为.tmLanguage.希望这可以帮助.