tm-grammars
Version:
Collecton of TextMate grammars in JSON
147 lines (146 loc) • 3.22 kB
JSON
{
"displayName": "Edge",
"injections": {
"text.html.edge - (meta.embedded | meta.tag | comment.block.edge), L:(text.html.edge meta.tag - (comment.block.edge | meta.embedded.block.edge)), L:(source.ts.embedded.html - (comment.block.edge | meta.embedded.block.edge))": {
"patterns": [
{
"include": "#comment"
},
{
"include": "#escapedMustache"
},
{
"include": "#safeMustache"
},
{
"include": "#mustache"
},
{
"include": "#nonSeekableTag"
},
{
"include": "#tag"
}
]
}
},
"name": "edge",
"patterns": [
{
"include": "text.html.basic"
},
{
"include": "text.html.derivative"
}
],
"repository": {
"comment": {
"begin": "\\{\\{--",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.begin.edge"
}
},
"end": "--}}",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.end.edge"
}
},
"name": "comment.block"
},
"escapedMustache": {
"begin": "@\\{\\{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.comment.begin.edge"
}
},
"end": "}}",
"endCaptures": {
"0": {
"name": "punctuation.definition.comment.end.edge"
}
},
"name": "comment.block"
},
"mustache": {
"begin": "\\{\\{",
"beginCaptures": {
"0": {
"name": "punctuation.mustache.begin"
}
},
"end": "}}",
"endCaptures": {
"0": {
"name": "punctuation.mustache.end"
}
},
"name": "meta.embedded.block.javascript",
"patterns": [
{
"include": "source.ts#expression"
}
]
},
"nonSeekableTag": {
"captures": {
"2": {
"name": "support.function.edge"
}
},
"match": "^(\\s*)((@{1,2})(!)?([.A-Z_a-z]+))(~)?$",
"name": "meta.embedded.block.javascript",
"patterns": [
{
"include": "source.ts#expression"
}
]
},
"safeMustache": {
"begin": "\\{\\{\\{",
"beginCaptures": {
"0": {
"name": "punctuation.mustache.begin"
}
},
"end": "}}}",
"endCaptures": {
"0": {
"name": "punctuation.mustache.end"
}
},
"name": "meta.embedded.block.javascript",
"patterns": [
{
"include": "source.ts#expression"
}
]
},
"tag": {
"begin": "^(\\s*)((@{1,2})(!)?([.A-Z_a-z]+)(\\s{0,2}))(\\()",
"beginCaptures": {
"2": {
"name": "support.function.edge"
},
"7": {
"name": "punctuation.paren.open"
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.paren.close"
}
},
"name": "meta.embedded.block.javascript",
"patterns": [
{
"include": "source.ts#expression"
}
]
}
},
"scopeName": "text.html.edge"
}