我最近一直在合并 Handlebars.js进入一些新项目。我一直在使用内联 Handlebars 模板,以及常规的内联 javascript。
问题在于 Sublime Text 2 将内联 Handlebars 模板视为 JS,这意味着语法着色是完全错误的。
一个proposed solution我遇到的是简单地注释掉 Sublime Text 的 HTML.tmLanguage 的内联 Javascript 部分。 文件,从第 284 行到第 379 行。
虽然这确实会导致 Handlebars 模板的正确着色,但它也包含了内联 Javascript 的语法着色。
有什么办法可以两全其美吗?也许有一种方法可以从 HTML.tmLanguage 编辑以下行,使其不适用于任何带有 type="text/x-handlebars-template"
的脚本标签?
<string>(?:^\s+)?(<)((?i:script))\b(?![^>]*/>)</string>
最佳答案
用户 Iamntz 能够 answer my question在 sublimetext 论坛上。
获胜的正则表达式是:
<string>(?:^\s+)?(<)((?i:script))\b(?!([^>]*text/x-handlebars-template[^>]*|[^>]*/>))</string>
关于regex - 在 Sublime Text 2 中编辑 HTML .tmLanguage 文件以处理内联 Handlebars 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15421766/