好的,通过以下yaml定义,不应该仅 {blah}
和{!blah}
之间的内容text.html.basic
语法突出显示? {blah}
标签本身会突出显示评论吗?不幸的是,这种情况并没有发生。 HTML突出显示位于文档的任何位置,{blah}
不会突出显示注释。
# [PackageDev] target_format: plist, ext: tmLanguage
---
name: Test
scopeName: source.test
fileTypes: [test]
uuid: 3631aac6-ee25-4ec1-ab08-39f156235363
patterns:
- name: comment.number-sign
begin: \{blah\}
end: \{\!blah\}
patterns:
- include: text.html.basic
match: .
...
示例代码:
{blah}
<input type="text"/>
{!blah} <----- these are not styled according to comment.number-sign
<input type="text"/> <----- this also has HTML highlighting and I don't want it to
答案 0 :(得分:1)
这应该让你开始:
# [PackageDev] target_format: plist, ext: tmLanguage
name: Test
scopeName: source.test
fileTypes: [test]
uuid: 3631aac6-ee25-4ec1-ab08-39f156235363
patterns:
- name: html.test
begin: (\{blah\})
beginCaptures:
'1': {name: comment.blah.test}
end: (\{!blah\})
endCaptures:
'1': {name: comment.blah.test}
patterns:
- include: text.html.basic
name
是整个选择器的基本范围。 beginCaptures
和endCaptures
将comment.blah.test
范围分配给{blah}
代码,而include
规则将HTML突出显示分配给begin
和end
之间的任何内容{blah}
代码。
使用Neon Color Scheme(完全披露:我是它的维护者),示例文件如下所示:
如您所见,{!blah}
和comment
采用灰色斜体,{blah}
范围。 {blah}
标记之外的标记根本不会突出显示,而{{1}}标记中的标记会突出显示为HTML。