3

我最近一直在将Handlebars.js合并到一些新项目中。我一直在使用内联Handlebars模板,以及常规的内联JavaScript。在Sublime Text 2中编辑HTML .tmLanguage文件以处理内联Handlebars模板

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

一个proposed solution我遇到是简单地注释掉崇高文字的HTML.tmLanguage文件的内联JavaScript部分,从线284 379

虽然这并导致车把模板适当着色,它也为内联Javascript提供了语法着色。

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

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

回答

3

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

获奖的正则表达式是:

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

的最佳解决方案!这个改变了什么文件?有没有办法在/ Packages/User /文件中执行此操作,以便在Sublime升级时不会重置? – 2014-08-04 21:01:55