我在 Egghead.io 上看一些视频关于 AngularJS。视频的创建者使用 Webstorm(并且,我相信,为他们工作)。我注意到的一个功能是他可以在不同的范围或引号内设置不同的语法突出显示。因此,在如下代码中(来自 AngularJS 指令)
return {
template: '<div>something</div>',
// ^^^ these guys ^^^
}
...他可以获取引号的内部以突出显示为 HTML。
我使用 Sublime Text 2,并且非常喜欢它。 Sublime 是否有现有的功能/插件可以处理这样的情况?如果没有,使用 Sublime Text 2 API 在技术上是否可行?
最佳答案
我不认为它是内置的,但这当然是可能的。我一直在用 graphviz 做一些工作,并想做类似的事情。可以使用类似 html 的语法生成标签。无论如何,我玩弄了.tmLanguage
文件并添加了一个新模式来匹配 html 类条目有效的上下文(我寻找 label = <
)。我用于捕获的模式不是那么好,但它对我来说很好用。这给了我以下内容,我认为这与您正在寻找的内容相似。
我对 AngularJS 一无所知,所以我无法帮助您解决任何特定的问题,但这当然是可能的。请注意,在下图中,最后一个 <table></table>
只是为了表明那里不会发生突出显示。
编辑:
忘记在原始帖子中包含此内容,但这是我更新的 tmLangauage 文件。第一个模式是我添加的( link )。我用过 PlistJsonConverter从 JSON 转到 plist,然后将文件另存为 .tmLanguage
.希望这可以帮助。
关于angularjs - Sublime Text 2 : Different language highlighting based on context? (a la Webstorm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15436858/