【发布时间】:2016-01-24 03:35:08
【问题描述】:
我正在尝试为 XML 文件创建一个新的 sublime-syntax,它将 CDATA 中的标签视为 HTML。 我创建了一个新的 sublime-syntax 文件,复制了原始 XML 规则(通过 PackageResourceViewer 打开它们)并找到了我感兴趣的部分:
contexts:
main:
- match: '<!\[CDATA\['
captures:
0: punctuation.definition.string.begin.xml
push:
- match: "]]>"
captures:
0: punctuation.definition.string.end.xml
pop: true
这是我想在push: 下立即添加的两行
- meta_scope: text.html.basic
- include: text.html.basic
我希望继承所有 text.html.basic 规则,但我观察到行为或颜色语法没有变化。通过行为,我的意思是我想让自动关闭标签遵循 HTML 规则。也就是说,如果我的光标在下面的示例中位于 John Q. Public 的末尾并且我按 Tab 键,我想得到一个结束的 </p> 标签,而不是 </Body>(这是正在发生的事情)。
<Body><![CDATA[
<div class="to">
<p>John Q. Public|
</div>
]]></Body>
我做错了什么?
【问题讨论】:
-
查看
Packages/HTML/HTML.sublime-syntax了解嵌入其他语言(CSS、JS)的一些示例。
标签: html xml sublimetext3 sublimetext