3

我最近一直在将Handlebars.js合并到一些新项目中。我一直在使用内联 Handlebars 模板以及常规内联 javascript。

问题是 Sublime Text 2 将内联 Handlebars 模板视为 JS,这意味着语法着色是完全错误的。

我遇到的一个建议的解决方案是简单地注释掉 Sublime Text 的HTML.tmLanguage文件的内联 Javascript 部分,从第 284 行到第 379 行。

虽然这确实导致了 Handlebars 模板的正确着色,但它也为内联 Javascript 提供了语法着色。

有没有办法在这里两全其美?也许是一种从 HTML.tmLanguage 编辑以下行以使其不适用于任何带有type="text/x-handlebars-template"?

<string>(?:^\s+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)</string>
4

1 回答 1

4

用户 Iamntz 能够在 sublimetext 论坛上回答我的问题。

获胜的正则表达式是:

<string>(?:^\s+)?(&lt;)((?i:script))\b(?!([^&gt;]*text/x-handlebars-template[^&gt;]*|[^&gt;]*/>))</string>
于 2013-04-02T05:15:21.047 回答