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

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

我最近一直在合并 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>

最佳答案

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

获胜的正则表达式是:

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

关于regex - 在 Sublime Text 2 中编辑 HTML .tmLanguage 文件以处理内联 Handlebars 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15421766/

相关文章:

java - 从 SQL 插入查询字符串中提取带引号的值

html - VScode : how-to change the color of HTML open and closing tag

syntax-highlighting - 在MediaWiki中更改由SyntaxHighlight GeSHi格式化的代码的字体大小

postgresql - 命令行上的 Postgres,外部编辑器未运行查询

javascript - 用开始和结束替换多次出现的内容的正则表达式

python - 将字符串位置映射到正则表达式输出中的行号

linux - 如何防止 Sublime Text 更改文件权限?

Sublime Text 2 中的 HTML 键盘快捷键?

regex - 我可以缩短这个正则表达式吗?

java - Android 开发 : Using setText with SpannableString with Lots of Spans Slow, 解决方法吗?