编辑Sublime Text 2中的HTML .tmLanguage文件以处理内联Handlebars模板

时间:2013-03-14 22:56:21

标签: regex syntax-highlighting sublimetext2 text-editor handlebars.js

我最近将Handlebars.js纳入了一些新项目。我一直在使用内联Handlebars模板,以及常规的内联javascript。

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

我遇到的一个proposed solution是简单地从第284行到第379行注释掉Sublime Text的 HTML.tmLanguage 文件的内联Javascript部分。

虽然这确实会导致Handlebars模板的正确着色,但它也会隐藏内联Javascript的语法着色。

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

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

1 个答案:

答案 0 :(得分:4)

用户Iamntz能够在sublimetext论坛上answer my question

获胜的正则表达式是:

<string>(?:^\s+)?(&lt;)((?i:script))\b(?!([^&gt;]*text/x-handlebars-template[^&gt;]*|[^&gt;]*/>))</string>