【问题标题】:Edit HTML .tmLanguage file in Sublime Text 2 to handle inline Handlebars templates在 Sublime Text 2 中编辑 HTML .tmLanguage 文件以处理内联 Handlebars 模板
【发布时间】:2013-03-14 22:56:21
【问题描述】:

我最近将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+)?(&lt;)((?i:script))\b(?![^&gt;]*/&gt;)</string>

【问题讨论】:

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


    【解决方案1】:

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

    获胜的正则表达式是:

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

    【讨论】:

    • 很好的解决方案!这究竟是在哪个文件中更改的?有没有办法在 /Packages/User/ 文件中执行此操作,这样它就不会因 Sublime 升级而重置?
    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 2012-05-16
    • 2014-08-29
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多