我最近将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+)?(<)((?i:script))\b(?![^>]*/>)</string>
答案 0 :(得分:4)
用户Iamntz能够在sublimetext论坛上answer my question。
获胜的正则表达式是:
<string>(?:^\s+)?(<)((?i:script))\b(?!([^>]*text/x-handlebars-template[^>]*|[^>]*/>))</string>