Dustin Wilson
3 years ago
14 changed files with 11710 additions and 14 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,152 @@ |
|||
{ |
|||
"scopeName": "source.js.regexp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#regexp" |
|||
} |
|||
], |
|||
"repository": { |
|||
"regex-character-class": { |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\[wWsSdDtrnvf]|\\.", |
|||
"name": "constant.character.character-class.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})", |
|||
"name": "constant.character.numeric.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\\\c[A-Z]", |
|||
"name": "constant.character.control.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\\\.", |
|||
"name": "constant.character.escape.backslash.regexp" |
|||
} |
|||
] |
|||
}, |
|||
"regexp": { |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\\\[bB]|\\^|\\$", |
|||
"name": "keyword.control.anchor.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\\\[1-9]\\d*|\\\\k<[a-zA-Z_$][\\w$]*>", |
|||
"name": "keyword.other.back-reference.regexp" |
|||
}, |
|||
{ |
|||
"match": "[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??", |
|||
"name": "keyword.operator.quantifier.regexp" |
|||
}, |
|||
{ |
|||
"match": "\\|", |
|||
"name": "keyword.operator.or.regexp" |
|||
}, |
|||
{ |
|||
"begin": "(\\()(?:(\\?=)|(\\?!)|(\\?<=)|(\\?<!))", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
}, |
|||
"2": { |
|||
"name": "meta.assertion.look-ahead.regexp" |
|||
}, |
|||
"3": { |
|||
"name": "meta.assertion.negative-look-ahead.regexp" |
|||
}, |
|||
"4": { |
|||
"name": "meta.assertion.look-behind.regexp" |
|||
}, |
|||
"5": { |
|||
"name": "meta.assertion.negative-look-behind.regexp" |
|||
} |
|||
}, |
|||
"end": "(\\))", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
} |
|||
}, |
|||
"name": "meta.group.assertion.regexp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#regexp" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "\\(((\\?:)|(\\?<[a-zA-Z_$][\\w$]*>))?", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
} |
|||
}, |
|||
"end": "\\)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.group.regexp" |
|||
} |
|||
}, |
|||
"name": "meta.group.regexp", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#regexp" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(\\[)(\\^)?", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.character-class.regexp" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.operator.negation.regexp" |
|||
} |
|||
}, |
|||
"end": "(\\])", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.character-class.regexp" |
|||
} |
|||
}, |
|||
"name": "constant.other.character-class.set.regexp", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "constant.character.numeric.regexp" |
|||
}, |
|||
"2": { |
|||
"name": "constant.character.control.regexp" |
|||
}, |
|||
"3": { |
|||
"name": "constant.character.escape.backslash.regexp" |
|||
}, |
|||
"4": { |
|||
"name": "constant.character.numeric.regexp" |
|||
}, |
|||
"5": { |
|||
"name": "constant.character.control.regexp" |
|||
}, |
|||
"6": { |
|||
"name": "constant.character.escape.backslash.regexp" |
|||
} |
|||
}, |
|||
"match": "(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))", |
|||
"name": "constant.other.character-class.range.regexp" |
|||
}, |
|||
{ |
|||
"include": "#regex-character-class" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#regex-character-class" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,26 @@ |
|||
{ |
|||
"scopeName": "source.js.regexp.replacement", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#regexp-replacement" |
|||
} |
|||
], |
|||
"repository": { |
|||
"regexp-replacement": { |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\$([1-9][0-9]|[1-9]|0[1-9]|[&`'])", |
|||
"name": "variable.regexp.replacement" |
|||
}, |
|||
{ |
|||
"match": "\\$\\$", |
|||
"name": "constant.character.escape.dollar.regexp.replacement" |
|||
}, |
|||
{ |
|||
"match": "\\\\[^$]", |
|||
"name": "constant.character.escape.backslash.regexp.replacement" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,460 @@ |
|||
{ |
|||
"scopeName": "source.jsdoc", |
|||
"name": "JSDoc", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "constant.language.access-type.jsdoc" |
|||
} |
|||
}, |
|||
"match": "(?x)\n((@)(?:access|api))\n\\s+\n(private|protected|public)\n\\b" |
|||
}, |
|||
{ |
|||
"match": "(?x)\n((@)author)\n\\s+\n(\n [^@\\s<>*/]\n (?:[^@<>*/]|\\*[^/])*\n)\n(?:\n \\s*\n (<)\n ([^>\\s]+)\n (>)\n)?", |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.instance.jsdoc" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.bracket.angle.begin.jsdoc" |
|||
}, |
|||
"5": { |
|||
"name": "constant.other.email.link.underline.jsdoc" |
|||
}, |
|||
"6": { |
|||
"name": "punctuation.definition.bracket.angle.end.jsdoc" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "(?x)\n((@)borrows) \\s+\n((?:[^@\\s*/]|\\*[^/])+) # <that namepath>\n\\s+ (as) \\s+ # as\n((?:[^@\\s*/]|\\*[^/])+) # <this namepath>", |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.instance.jsdoc" |
|||
}, |
|||
"4": { |
|||
"name": "keyword.operator.control.jsdoc" |
|||
}, |
|||
"5": { |
|||
"name": "entity.name.type.instance.jsdoc" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"name": "meta.example.jsdoc", |
|||
"begin": "((@)example)\\s+", |
|||
"end": "(?=@|\\*/)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"match": "^\\s\\*\\s+" |
|||
}, |
|||
{ |
|||
"begin": "\\G(<)caption(>)", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "entity.name.tag.inline.jsdoc" |
|||
}, |
|||
"1": { |
|||
"name": "punctuation.definition.bracket.angle.begin.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.bracket.angle.end.jsdoc" |
|||
} |
|||
}, |
|||
"contentName": "constant.other.description.jsdoc", |
|||
"end": "(</)caption(>)|(?=\\*/)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "entity.name.tag.inline.jsdoc" |
|||
}, |
|||
"1": { |
|||
"name": "punctuation.definition.bracket.angle.begin.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.bracket.angle.end.jsdoc" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "[^\\s@*](?:[^*]|\\*[^/])*", |
|||
"captures": { |
|||
"0": { |
|||
"name": "source.embedded.js", |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.js" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "constant.language.symbol-type.jsdoc" |
|||
} |
|||
}, |
|||
"match": "(?x)\n((@)kind)\n\\s+\n(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\n\\b" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "variable.other.link.underline.jsdoc" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.type.instance.jsdoc" |
|||
} |
|||
}, |
|||
"match": "(?x)\n((@)see)\n\\s+\n(?:\n # URL\n (\n (?=https?://)\n (?:[^\\s*]|\\*[^/])+\n )\n |\n # JSDoc namepath\n (\n (?!\n # Avoid matching bare URIs (also acceptable as links)\n https?://\n |\n # Avoid matching {@inline tags}; we match those below\n (?:\\[[^\\[\\]]*\\])? # Possible description [preceding]{@tag}\n {@(?:link|linkcode|linkplain|tutorial)\\b\n )\n # Matched namepath\n (?:[^@\\s*/]|\\*[^/])+\n )\n)" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "variable.other.jsdoc", |
|||
"patterns": [ |
|||
{ |
|||
"match": ",", |
|||
"name": "punctuation.delimiter.object.comma.jsdoc" |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
"match": "(?x)\n((@)template)\n\\s+\n# One or more valid identifiers\n(\n [A-Za-z_$] # First character: non-numeric word character\n [\\w$.\\[\\]]* # Rest of identifier\n (?: # Possible list of additional identifiers\n \\s* , \\s*\n [A-Za-z_$]\n [\\w$.\\[\\]]*\n )*\n)" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "variable.other.jsdoc" |
|||
} |
|||
}, |
|||
"match": "(?x)\n(\n (@)\n (?:arg|argument|const|constant|member|namespace|param|var)\n)\n\\s+\n(\n [A-Za-z_$]\n [\\w$.\\[\\]]*\n)" |
|||
}, |
|||
{ |
|||
"begin": "((@)typedef)\\s+(?={)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
} |
|||
}, |
|||
"end": "(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#type" |
|||
}, |
|||
{ |
|||
"name": "entity.name.type.instance.jsdoc", |
|||
"match": "(?:[^@\\s*/]|\\*[^/])+" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?={)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
} |
|||
}, |
|||
"end": "(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#type" |
|||
}, |
|||
{ |
|||
"match": "([A-Za-z_$][\\w$.\\[\\]]*)", |
|||
"name": "variable.other.jsdoc" |
|||
}, |
|||
{ |
|||
"name": "variable.other.jsdoc", |
|||
"match": "(?x)\n(\\[)\\s*\n[\\w$]+\n(?:\n (?:\\[\\])? # Foo[].bar properties within an array\n \\. # Foo.Bar namespaced parameter\n [\\w$]+\n)*\n(?:\n \\s*\n (=) # [foo=bar] Default parameter value\n \\s*\n (\n # The inner regexes are to stop the match early at */ and to not stop at escaped quotes\n (?>\n \"(?:(?:\\*(?!/))|(?:\\\\(?!\"))|[^*\\\\])*?\" | # [foo=\"bar\"] Double-quoted\n '(?:(?:\\*(?!/))|(?:\\\\(?!'))|[^*\\\\])*?' | # [foo='bar'] Single-quoted\n \\[ (?:(?:\\*(?!/))|[^*])*? \\] | # [foo=[1,2]] Array literal\n (?:(?:\\*(?!/))|\\s(?!\\s*\\])|\\[.*?(?:\\]|(?=\\*/))|[^*\\s\\[\\]])* # Everything else (sorry)\n )*\n )\n)?\n\\s*(?:(\\])((?:[^*\\s]|\\*[^\\s/])+)?|(?=\\*/))", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.optional-value.begin.bracket.square.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.operator.assignment.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "source.embedded.js", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#inline-tags" |
|||
}, |
|||
{ |
|||
"include": "source.js" |
|||
} |
|||
] |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.optional-value.end.bracket.square.jsdoc" |
|||
}, |
|||
"5": { |
|||
"name": "invalid.illegal.syntax.jsdoc" |
|||
} |
|||
} |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?x)\n(\n (@)\n (?:define|enum|exception|export|extends|lends|implements|modifies\n |namespace|private|protected|returns?|suppress|this|throws|type\n |yields?)\n)\n\\s+(?={)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
} |
|||
}, |
|||
"end": "(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#type" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.type.instance.jsdoc" |
|||
} |
|||
}, |
|||
"match": "(?x)\n(\n (@)\n (?:alias|augments|callback|constructs|emits|event|fires|exports?\n |extends|external|function|func|host|lends|listens|interface|memberof!?\n |method|module|mixes|mixin|name|requires|see|this|typedef|uses)\n)\n\\s+\n(\n (?:\n [^{}@\\s*] | \\*[^/]\n )+\n)" |
|||
}, |
|||
{ |
|||
"begin": "((@)(?:default(?:value)?|license|version))\\s+((['\"]))", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "variable.other.jsdoc" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.string.begin.jsdoc" |
|||
} |
|||
}, |
|||
"contentName": "variable.other.jsdoc", |
|||
"end": "(\\3)|(?=$|\\*/)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "variable.other.jsdoc" |
|||
}, |
|||
"1": { |
|||
"name": "punctuation.definition.string.end.jsdoc" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "variable.other.jsdoc" |
|||
} |
|||
}, |
|||
"match": "((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^\\s*]+)" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.block.tag.jsdoc" |
|||
} |
|||
}, |
|||
"match": "(?x) (@)\n(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles\n|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright\n|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception\n|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func\n|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc\n|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method\n|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects\n|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected\n|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary\n|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation\n|version|virtual|writeOnce|yields?)\n\\b", |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
{ |
|||
"include": "#inline-tags" |
|||
} |
|||
], |
|||
"repository": { |
|||
"brackets": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "{", |
|||
"end": "}|(?=\\*/)", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#brackets" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "\\[", |
|||
"end": "\\]|(?=\\*/)", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#brackets" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"inline-tags": { |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.bracket.square.begin.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.bracket.square.end.jsdoc" |
|||
} |
|||
}, |
|||
"match": "(\\[)[^\\]]+(\\])(?={@(?:link|linkcode|linkplain|tutorial))", |
|||
"name": "constant.other.description.jsdoc" |
|||
}, |
|||
{ |
|||
"begin": "({)((@)(?:link(?:code|plain)?|tutorial))\\s*", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.bracket.curly.begin.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "storage.type.class.jsdoc" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.inline.tag.jsdoc" |
|||
} |
|||
}, |
|||
"end": "}|(?=\\*/)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.bracket.curly.end.jsdoc" |
|||
} |
|||
}, |
|||
"name": "entity.name.type.instance.jsdoc", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "variable.other.link.underline.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.pipe.jsdoc" |
|||
} |
|||
}, |
|||
"match": "\\G((?=https?://)(?:[^|}\\s*]|\\*[/])+)(\\|)?" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "variable.other.description.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.pipe.jsdoc" |
|||
} |
|||
}, |
|||
"match": "\\G((?:[^{}@\\s|*]|\\*[^/])+)(\\|)?" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"type": { |
|||
"patterns": [ |
|||
{ |
|||
"match": "\\G{(?:[^}*]|\\*[^/}])+$", |
|||
"name": "invalid.illegal.type.jsdoc" |
|||
}, |
|||
{ |
|||
"begin": "\\G({)", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "entity.name.type.instance.jsdoc" |
|||
}, |
|||
"1": { |
|||
"name": "punctuation.definition.bracket.curly.begin.jsdoc" |
|||
} |
|||
}, |
|||
"contentName": "entity.name.type.instance.jsdoc", |
|||
"end": "((}))\\s*|(?=\\*/)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "entity.name.type.instance.jsdoc" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.bracket.curly.end.jsdoc" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#brackets" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
@ -0,0 +1,554 @@ |
|||
{ |
|||
"scopeName": "source.sql", |
|||
"name": "SQL", |
|||
"fileTypes": [ |
|||
"ddl", |
|||
"dml", |
|||
"dsql", |
|||
"hql", |
|||
"pgsql", |
|||
"psql", |
|||
"q", |
|||
"sql" |
|||
], |
|||
"patterns": [ |
|||
{ |
|||
"include": "#comments" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.other.create.sql" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.other.sql" |
|||
}, |
|||
"4": { |
|||
"name": "keyword.other.DML.sql" |
|||
}, |
|||
"6": { |
|||
"name": "entity.name.function.sql" |
|||
} |
|||
}, |
|||
"match": "(?i:^\\s*(create(?:\\s+or\\s+replace)?)\\s+(aggregate|conversion|database|domain|function|group|(unique\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\b(?:\\s+(if\\s+not\\s+exists)\\b)?)(?:\\s+(['\"`]?)(\\w+)\\5)?", |
|||
"name": "meta.create.sql" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.other.drop.sql" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.other.sql" |
|||
}, |
|||
"3": { |
|||
"name": "keyword.other.DML.sql" |
|||
}, |
|||
"5": { |
|||
"name": "entity.name.function.sql" |
|||
} |
|||
}, |
|||
"match": "(?i:^\\s*(drop)\\s+(aggregate|check|constraint|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\b(?:\\s+(if\\s+exists)\\b)?)(?:\\s+(['\"`]?)(\\w+)\\4)?", |
|||
"name": "meta.drop.sql" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.other.create.sql" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.other.sql" |
|||
} |
|||
}, |
|||
"match": "(?i:^\\s*(add)\\s+(check|constraint|(?:foreign|primary)\\s+key))", |
|||
"name": "meta.add.sql" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.other.drop.sql" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.other.table.sql" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.function.sql" |
|||
}, |
|||
"4": { |
|||
"name": "keyword.other.cascade.sql" |
|||
} |
|||
}, |
|||
"match": "(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)", |
|||
"name": "meta.drop.sql" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.other.create.sql" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.other.table.sql" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.function.sql" |
|||
}, |
|||
"4": { |
|||
"name": "keyword.other.cascade.sql" |
|||
} |
|||
}, |
|||
"match": "(?i:\\s*(truncate)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)", |
|||
"name": "meta.truncate.sql" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "keyword.other.create.sql" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.other.table.sql" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.function.sql" |
|||
} |
|||
}, |
|||
"match": "(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+(['\"`]?)(\\w+)\\3)", |
|||
"name": "meta.alter.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(bigserial|boolean|box|bytea|cidr|circle|date|datetime|datetime2|double\\s+precision|enum|inet|integer|interval|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|sysdate|text|uniqueidentifier)\\b", |
|||
"name": "storage.type.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(bigint|bit(?:\\s+varying)?|n?char|character(?:\\s+varying)?|float|int|number|smallint|time(?:stamp)?tz|tinyint|n?varchar\\d?)\\b(?:\\s*(\\()\\s*(\\d*)\\s*(\\)))?", |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.sql" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.parameters.bracket.round.begin.sql" |
|||
}, |
|||
"3": { |
|||
"name": "constant.numeric.sql" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.parameters.bracket.round.end.sql" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(numeric|decimal)\\b(?:\\s*(\\()\\s*(\\d*)(?:\\s*(,)\\s*(\\d*))?\\s*(\\)))?", |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.sql" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.parameters.bracket.round.begin.sql" |
|||
}, |
|||
"3": { |
|||
"name": "constant.numeric.sql" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.separator.parameters.comma.sql" |
|||
}, |
|||
"5": { |
|||
"name": "constant.numeric.sql" |
|||
}, |
|||
"6": { |
|||
"name": "punctuation.definition.parameters.bracket.round.end.sql" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(time(?:stamp)?)\\b(?:\\s*(\\()\\s*(\\d*)\\s*(\\)))?(?:\\s*(with(?:out)?\\s+time\\s+zone)\\b)?", |
|||
"captures": { |
|||
"1": { |
|||
"name": "storage.type.sql" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.parameters.bracket.round.begin.sql" |
|||
}, |
|||
"3": { |
|||
"name": "constant.numeric.sql" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.definition.parameters.bracket.round.end.sql" |
|||
}, |
|||
"5": { |
|||
"name": "storage.type.sql" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "(?i:\\b((?:primary|foreign)\\s+key|references|on\\s+delete(\\s+cascade)?|check|constraint|unique|default)\\b)", |
|||
"name": "storage.modifier.sql" |
|||
}, |
|||
{ |
|||
"match": "\\b(\\d+\\.\\d+)|(\\d+\\.)|(\\.\\d+)|\\b(\\d+)\\b", |
|||
"name": "constant.numeric.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i:\\b(select(\\s+distinct)?|insert\\s+(ignore\\s+)?into|update|delete|from|use|declare|set|where|group\\s+by|or|like|between|and|(union|except|intersect)(\\s+all)?|having|order\\s+by|partition\\s+by|limit|offset|(inner|cross)\\s+join|join|straight_join|(left|right)(\\s+outer)?\\s+join|natural(\\s+(left|right)(\\s+outer)?)?\\s+join|using|regexp|rlike|with|exists)\\b)", |
|||
"name": "keyword.other.DML.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i:\\b(on|(is\\s+)?(not\\s+)?null|auto_increment)\\b)", |
|||
"name": "keyword.other.DDL.create.II.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i:\\b(values|go|into|exec|openquery)\\b)", |
|||
"name": "keyword.other.DML.II.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)", |
|||
"name": "keyword.other.LUW.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)", |
|||
"name": "keyword.other.authorization.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i:(\\bnot\\s+)?\\bin\\b)", |
|||
"name": "keyword.other.data-integrity.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i:\\bnot\\b)", |
|||
"name": "keyword.other.not.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i:^\\s*(comment\\s+on\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\s+.*?\\s+(is)\\s+)", |
|||
"name": "keyword.other.object-comments.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\bAS\\b", |
|||
"name": "keyword.other.alias.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(DESC|ASC)\\b", |
|||
"name": "keyword.other.order.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(case|when|then|else|end)\\b", |
|||
"name": "keyword.other.case.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(coalesce|nvl|nullif)\\b", |
|||
"name": "keyword.other.conditional.sql" |
|||
}, |
|||
{ |
|||
"match": "\\*", |
|||
"name": "keyword.operator.star.sql" |
|||
}, |
|||
{ |
|||
"match": "[!<>]?=|<>|<|>", |
|||
"name": "keyword.operator.comparison.sql" |
|||
}, |
|||
{ |
|||
"match": "-|\\+|/", |
|||
"name": "keyword.operator.math.sql" |
|||
}, |
|||
{ |
|||
"match": "\\|\\|", |
|||
"name": "keyword.operator.concatenator.sql" |
|||
}, |
|||
{ |
|||
"comment": "List of SQL99 built-in functions from http://www.oreilly.com/catalog/sqlnut/chapter/ch04.html", |
|||
"match": "(?i)\\b(CURRENT_(DATE|TIME(STAMP)?|USER)|(SESSION|SYSTEM)_USER|EXTRACT)\\b", |
|||
"name": "support.function.scalar.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(ABS|ACOS|ASIN|ATAN|ATAN2|CEIL|CEILING|CONV|COS|COT|CRC32|DEGREES|EXP|FLOOR|LN|LOG|LOG10|LOG2|MOD|PI|POW|POWER|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|TAN|TRUNCATE)\\b", |
|||
"name": "support.function.math.sql" |
|||
}, |
|||
{ |
|||
"comment": "List of SQL99 built-in functions from http://www.oreilly.com/catalog/sqlnut/chapter/ch04.html", |
|||
"match": "(?i)\\b(AVG|COUNT|MIN|MAX|SUM)(?=\\s*\\()", |
|||
"name": "support.function.aggregate.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(CONCATENATE|CONVERT|LOWER|SUBSTRING|TRANSLATE|TRIM|UPPER)\\b", |
|||
"name": "support.function.string.sql" |
|||
}, |
|||
{ |
|||
"match": "(?i)\\b(ROW_NUMBER|RANK|DENSE_RANK|PERCENT_RANK|CUME_DIST|NTILE|LAG|LEAD|FIRST_VALUE|LAST_VALUE|NTH_VALUE|OVER)\\b", |
|||
"name": "support.function.window.sql" |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "constant.other.database-name.sql" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.period.sql" |
|||
}, |
|||
"3": { |
|||
"name": "constant.other.table-name.sql" |
|||
} |
|||
}, |
|||
"match": "(\\w+?)(\\.)(\\w+)" |
|||
}, |
|||
{ |
|||
"include": "#strings" |
|||
}, |
|||
{ |
|||
"include": "#regexps" |
|||
}, |
|||
{ |
|||
"include": "#punctuation" |
|||
} |
|||
], |
|||
"repository": { |
|||
"comments": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "--", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.sql" |
|||
} |
|||
}, |
|||
"end": "$", |
|||
"name": "comment.line.double-dash.sql" |
|||
}, |
|||
{ |
|||
"begin": "/\\*", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.sql" |
|||
} |
|||
}, |
|||
"end": "\\*/", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.sql" |
|||
} |
|||
}, |
|||
"name": "comment.block.sql" |
|||
} |
|||
] |
|||
}, |
|||
"punctuation": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "\\(", |
|||
"end": "\\)", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.section.bracket.round.begin.sql" |
|||
} |
|||
}, |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.section.bracket.round.end.sql" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "$self" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"match": "\\)", |
|||
"name": "punctuation.unmatched.bracket.round.end.sql" |
|||
}, |
|||
{ |
|||
"match": ",", |
|||
"name": "punctuation.separator.comma.sql" |
|||
}, |
|||
{ |
|||
"match": "\\.", |
|||
"name": "punctuation.separator.period.sql" |
|||
}, |
|||
{ |
|||
"match": ";", |
|||
"name": "punctuation.terminator.statement.semicolon.sql" |
|||
} |
|||
] |
|||
}, |
|||
"regexps": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "/(?=\\S.*/)", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
} |
|||
}, |
|||
"end": "/", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"name": "string.regexp.sql", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string_interpolation" |
|||
}, |
|||
{ |
|||
"match": "\\\\/", |
|||
"name": "constant.character.escape.slash.sql" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "%r\\{", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
} |
|||
}, |
|||
"comment": "We should probably handle nested bracket pairs!?! -- Allan", |
|||
"end": "\\}", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"name": "string.regexp.modr.sql", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string_interpolation" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"string_escape": { |
|||
"match": "\\\\.", |
|||
"name": "constant.character.escape.sql" |
|||
}, |
|||
"string_interpolation": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"match": "(#\\{)([^\\}]*)(\\})", |
|||
"name": "string.interpolated.sql" |
|||
}, |
|||
"strings": { |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"comment": "this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.", |
|||
"match": "(')[^'\\\\]*(')", |
|||
"name": "string.quoted.single.sql" |
|||
}, |
|||
{ |
|||
"begin": "'", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
} |
|||
}, |
|||
"end": "'", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"name": "string.quoted.single.sql", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string_escape" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"comment": "this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.", |
|||
"match": "(`)[^`\\\\]*(`)", |
|||
"name": "string.quoted.other.backtick.sql" |
|||
}, |
|||
{ |
|||
"begin": "`", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
} |
|||
}, |
|||
"end": "`", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"name": "string.quoted.other.backtick.sql", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string_escape" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"comment": "this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.", |
|||
"match": "(\")[^\"#]*(\")", |
|||
"name": "string.quoted.double.sql" |
|||
}, |
|||
{ |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.sql", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string_interpolation" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "%\\{", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.sql" |
|||
} |
|||
}, |
|||
"end": "\\}", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.sql" |
|||
} |
|||
}, |
|||
"name": "string.other.quoted.brackets.sql", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string_interpolation" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,919 @@ |
|||
{ |
|||
"scopeName": "text.html.basic", |
|||
"fileTypes": [ |
|||
"ejs", |
|||
"htm", |
|||
"html", |
|||
"kit", |
|||
"shtml", |
|||
"tmpl", |
|||
"tpl", |
|||
"xhtml" |
|||
], |
|||
"firstLineMatch": "(?xi)\n# Document type definition\n<(?:!DOCTYPE\\s*)?html\n|\n# Emacs modeline\n-\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n html\n(?=[\\s;]|(?<![-*])-\\*-).*?-\\*-\n|\n# Vim modeline\n(?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n x?html\n(?=\\s|:|$)", |
|||
"name": "HTML", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(<\\?)(xml)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.xml.html" |
|||
} |
|||
}, |
|||
"end": "(\\?>)", |
|||
"name": "meta.tag.preprocessor.xml.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-generic-attribute" |
|||
}, |
|||
{ |
|||
"include": "#string-double-quoted" |
|||
}, |
|||
{ |
|||
"include": "#string-single-quoted" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "<!--", |
|||
"captures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.html" |
|||
} |
|||
}, |
|||
"end": "--\\s*>", |
|||
"name": "comment.block.html", |
|||
"patterns": [ |
|||
{ |
|||
"match": "--(?!-*\\s*>)", |
|||
"name": "invalid.illegal.bad-comments-or-CDATA.html" |
|||
}, |
|||
{ |
|||
"include": "#embedded-code" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "<!", |
|||
"captures": { |
|||
"0": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"end": ">", |
|||
"name": "meta.tag.sgml.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?i:DOCTYPE)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.name.tag.doctype.html" |
|||
} |
|||
}, |
|||
"end": "(?=>)", |
|||
"name": "meta.tag.sgml.doctype.html", |
|||
"patterns": [ |
|||
{ |
|||
"match": "\"[^\">]*\"", |
|||
"name": "string.quoted.double.doctype.identifiers-and-DTDs.html" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "\\[CDATA\\[", |
|||
"end": "]](?=>)", |
|||
"name": "constant.other.inline-data.html" |
|||
}, |
|||
{ |
|||
"match": "(\\s*)(?!--|>)\\S(\\s*)", |
|||
"name": "invalid.illegal.bad-comments-or-CDATA.html" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#embedded-code" |
|||
}, |
|||
{ |
|||
"begin": "(?i)(?=<style(\\s+|>))", |
|||
"end": "(?i)(</)(style)(>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.style.html" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"name": "meta.tag.style.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?i)\\G(<)(style)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.style.html" |
|||
} |
|||
}, |
|||
"end": ">", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?!\\G)", |
|||
"end": "(?i)(?=</style>)", |
|||
"name": "source.css.embedded.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#embedded-code" |
|||
}, |
|||
{ |
|||
"include": "source.css" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?i)(?=<script\\s+.*?\\btype\\s*=\\s*['\"]?text/(?:x-handlebars|(?:x-(?:handlebars-)?|ng-)?template|html|ractive)['\"]?(\\s+|>))", |
|||
"end": "(</)((?i)script)(>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.script.html" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"name": "meta.tag.script.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?i)\\G(<)(script)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.script.html" |
|||
} |
|||
}, |
|||
"end": ">", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?!\\G)", |
|||
"end": "(?i)(?=</script>)", |
|||
"name": "text.embedded.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?i)(?=<script\\s+.*?\\btype\\s*=\\s*['\"]?text/coffeescript['\"]?(\\s+|>))", |
|||
"end": "(</)((?i)script)(>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.script.html" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"name": "meta.tag.script.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?i)\\G(<)(script)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.script.html" |
|||
} |
|||
}, |
|||
"end": ">", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?!\\G)", |
|||
"end": "(?i)(?=</script>)", |
|||
"name": "source.coffee.embedded.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "###", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.coffee" |
|||
} |
|||
}, |
|||
"end": "###|(?=(?i)</script>)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.coffee" |
|||
} |
|||
}, |
|||
"name": "comment.block.coffee" |
|||
}, |
|||
{ |
|||
"begin": "#", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.coffee" |
|||
} |
|||
}, |
|||
"end": "(?=(?i)</script>|$)", |
|||
"name": "comment.line.number-sign.coffee" |
|||
}, |
|||
{ |
|||
"include": "source.coffee" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?i)(?=<script\\s+.*?\\btype\\s*=\\s*['\"]?application/graphql['\"]?(\\s+|>))", |
|||
"end": "(</)((?i)script)(>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.script.html" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"name": "meta.tag.script.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?i)\\G(<)(script)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.script.html" |
|||
} |
|||
}, |
|||
"end": ">", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?!\\G)", |
|||
"end": "(?i)(?=</script>)", |
|||
"name": "source.graphql.embedded.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "#", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.graphql" |
|||
} |
|||
}, |
|||
"end": "(?=(?i)</script>|$)", |
|||
"name": "comment.line.number-sign.graphql" |
|||
}, |
|||
{ |
|||
"include": "source.graphql" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?i)(?=<script(\\s+|>))", |
|||
"end": "(</)((?i)script)(>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.script.html" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"name": "meta.tag.script.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(?i)\\G(<)(script)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.script.html" |
|||
} |
|||
}, |
|||
"end": ">", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.tag.html" |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?!\\G)", |
|||
"end": "(?i)(?=</script>)", |
|||
"name": "source.js.embedded.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "//", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.js" |
|||
} |
|||
}, |
|||
"end": "(?=(?i)</script>|$)", |
|||
"name": "comment.line.double-slash.js" |
|||
}, |
|||
{ |
|||
"begin": "/\\*", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.begin.js" |
|||
} |
|||
}, |
|||
"end": "\\*/|(?=(?i)</script>)", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.begin.js" |
|||
} |
|||
}, |
|||
"name": "comment.block.js" |
|||
}, |
|||
{ |
|||
"include": "source.js" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?i)(</?)(body|head|html)(?=\\s|/?>)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.structure.$2.html" |
|||
} |
|||
}, |
|||
"end": "(>)", |
|||
"name": "meta.tag.structure.$2.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?i)(</?)(address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=\\s|/?>)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.begin.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.block.$2.html" |
|||
} |
|||
}, |
|||
"end": "(>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.end.html" |
|||
} |
|||
}, |
|||
"name": "meta.tag.block.$2.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(?i)(</?)(a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=\\s|/?>)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.begin.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.inline.$2.html" |
|||
} |
|||
}, |
|||
"end": "((?: ?/)?>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.end.html" |
|||
} |
|||
}, |
|||
"name": "meta.tag.inline.$2.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(</?)([a-zA-Z0-9:-]+)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.begin.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.other.html" |
|||
} |
|||
}, |
|||
"end": "(>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.end.html" |
|||
} |
|||
}, |
|||
"name": "meta.tag.other.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-stuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#character-reference" |
|||
}, |
|||
{ |
|||
"match": "<>", |
|||
"name": "invalid.illegal.incomplete.html" |
|||
} |
|||
], |
|||
"repository": { |
|||
"embedded-code": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "#smarty" |
|||
}, |
|||
{ |
|||
"include": "#python" |
|||
} |
|||
] |
|||
}, |
|||
"character-reference": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(&)(#\\d+|#[xX][0-9a-fA-F]+)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.entity.begin.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.entity.other.html" |
|||
} |
|||
}, |
|||
"end": ";", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.entity.end.html" |
|||
} |
|||
}, |
|||
"name": "constant.character.entity.html" |
|||
}, |
|||
{ |
|||
"match": "(&)([a-zA-Z0-9]+)(;)", |
|||
"name": "constant.character.entity.html", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.entity.begin.html" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.entity.other.html" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.entity.end.html" |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "&(?!\\s|<|&|[a-zA-Z0-9])", |
|||
"name": "invalid.illegal.bad-ampersand.html" |
|||
} |
|||
] |
|||
}, |
|||
"python": { |
|||
"begin": "(?:^\\s*)<\\?python(?!.*\\?>)", |
|||
"end": "\\?>(?:\\s*$\\n)?", |
|||
"name": "source.python.embedded.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.python" |
|||
} |
|||
] |
|||
}, |
|||
"smarty": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(\\{(literal)\\})", |
|||
"captures": { |
|||
"1": { |
|||
"name": "source.smarty.embedded.html" |
|||
}, |
|||
"2": { |
|||
"name": "support.function.built-in.smarty" |
|||
} |
|||
}, |
|||
"end": "(\\{/(literal)\\})" |
|||
}, |
|||
{ |
|||
"begin": "{{|{", |
|||
"disabled": 1, |
|||
"end": "}}|}", |
|||
"name": "source.smarty.embedded.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.smarty" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
}, |
|||
"string-double-quoted": { |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.html" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.html" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#embedded-code" |
|||
}, |
|||
{ |
|||
"include": "#character-reference" |
|||
} |
|||
] |
|||
}, |
|||
"string-single-quoted": { |
|||
"begin": "'", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.html" |
|||
} |
|||
}, |
|||
"end": "'", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.html" |
|||
} |
|||
}, |
|||
"name": "string.quoted.single.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#embedded-code" |
|||
}, |
|||
{ |
|||
"include": "#character-reference" |
|||
} |
|||
] |
|||
}, |
|||
"tag-generic-attribute": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "([^\\s/=>\"'<]+)\\s*(=)\\s*", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "entity.other.attribute-name.html" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.key-value.html" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)|(?=\\s|/?>)", |
|||
"name": "meta.attribute-with-value.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string-double-quoted" |
|||
}, |
|||
{ |
|||
"include": "#string-single-quoted" |
|||
}, |
|||
{ |
|||
"include": "#unquoted-attribute" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"match": "[^\\s/=>\"'<]+", |
|||
"captures": { |
|||
"0": { |
|||
"name": "entity.other.attribute-name.html" |
|||
} |
|||
}, |
|||
"name": "meta.attribute-without-value.html" |
|||
} |
|||
] |
|||
}, |
|||
"tag-style-attribute": { |
|||
"begin": "\\b(style)\\s*(=)\\s*", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "entity.other.attribute-name.style.html" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.key-value.html" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)|(?=\\s|/?>)", |
|||
"name": "meta.attribute-with-value.style.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.html" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.html" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.html", |
|||
"contentName": "source.css.style.html", |
|||
"patterns": [ |
|||
{ |
|||
"match": "[^\"]+", |
|||
"name": "meta.property-list.css", |
|||
"captures": { |
|||
"0": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "#embedded-code" |
|||
}, |
|||
{ |
|||
"include": "#entities" |
|||
}, |
|||
{ |
|||
"include": "source.css#rule-list-innards" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "'", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.html" |
|||
} |
|||
}, |
|||
"end": "'", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.html" |
|||
} |
|||
}, |
|||
"name": "string.quoted.single.html", |
|||
"contentName": "source.css.style.html", |
|||
"patterns": [ |
|||
{ |
|||
"match": "[^']+", |
|||
"name": "meta.property-list.css", |
|||
"captures": { |
|||
"0": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "#embedded-code" |
|||
}, |
|||
{ |
|||
"include": "#entities" |
|||
}, |
|||
{ |
|||
"include": "source.css#rule-list-innards" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"match": "([^\\s&>\"'<=`]|&(?=>))+", |
|||
"name": "string.unquoted.html", |
|||
"captures": { |
|||
"0": { |
|||
"name": "source.css.style.html", |
|||
"patterns": [ |
|||
{ |
|||
"match": ".+", |
|||
"name": "meta.property-list.css", |
|||
"captures": { |
|||
"0": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.css#rule-list-innards" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
|||
] |
|||
}, |
|||
"tag-id-attribute": { |
|||
"begin": "\\b(id)\\s*(=)\\s*", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.other.attribute-name.id.html" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.key-value.html" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)|(?=\\s|/?>)", |
|||
"name": "meta.attribute-with-value.id.html", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.html" |
|||
} |
|||
}, |
|||
"contentName": "meta.toc-list.id.html", |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.html" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#embedded-code" |
|||
}, |
|||
{ |
|||
"include": "#character-reference" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "'", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.html" |
|||
} |
|||
}, |
|||
"contentName": "meta.toc-list.id.html", |
|||
"end": "'", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.html" |
|||
} |
|||
}, |
|||
"name": "string.quoted.single.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#embedded-code" |
|||
}, |
|||
{ |
|||
"include": "#character-reference" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#unquoted-attribute" |
|||
} |
|||
] |
|||
}, |
|||
"tag-class-attribute": { |
|||
"begin": "\\b(class)\\s*(=)\\s*", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.other.attribute-name.class.html" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.key-value.html" |
|||
} |
|||
}, |
|||
"end": "(?!\\G)|(?=\\s|/?>)", |
|||
"name": "meta.attribute-with-value.class.html", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#string-double-quoted" |
|||
}, |
|||
{ |
|||
"include": "#string-single-quoted" |
|||
}, |
|||
{ |
|||
"include": "#unquoted-attribute" |
|||
} |
|||
] |
|||
}, |
|||
"tag-stuff": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tag-id-attribute" |
|||
}, |
|||
{ |
|||
"include": "#tag-class-attribute" |
|||
}, |
|||
{ |
|||
"include": "#tag-style-attribute" |
|||
}, |
|||
{ |
|||
"include": "#tag-generic-attribute" |
|||
}, |
|||
{ |
|||
"include": "#string-double-quoted" |
|||
}, |
|||
{ |
|||
"include": "#string-single-quoted" |
|||
}, |
|||
{ |
|||
"include": "#embedded-code" |
|||
} |
|||
] |
|||
}, |
|||
"unquoted-attribute": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "#character-reference" |
|||
}, |
|||
{ |
|||
"match": "([^\\s&>\"'<=`]|&(?=>))+", |
|||
"name": "string.unquoted.html" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,100 @@ |
|||
{ |
|||
"scopeName": "text.html.php", |
|||
"name": "PHP", |
|||
"fileTypes": [ |
|||
"aw", |
|||
"ctp", |
|||
"inc", |
|||
"install", |
|||
"module", |
|||
"php", |
|||
"php_cs", |
|||
"php3", |
|||
"php4", |
|||
"php5", |
|||
"phpt", |
|||
"phtml", |
|||
"profile" |
|||
], |
|||
"firstLineMatch": "(?x)\n# Hashbang\n^\\#!.*(?:\\s|\\/)\n php\\d?\n(?:$|\\s)\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n php\n (?=[\\s;]|(?<![-*])-\\*-).*?-\\*-\n |\n # Vim\n (?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n (?:php|phtml)\n (?=\\s|:|$)\n)\n|\n# Regular opening PHP tags\n^\\s*<\\?(?i:php|=|\\s|$)", |
|||
"foldingStartMarker": "(/\\*|\\{\\s*$|<<<HTML)", |
|||
"foldingStopMarker": "(\\*/|^\\s*\\}|^HTML;)", |
|||
"injections": { |
|||
"text.html.php - (meta.embedded | meta.tag), L:((text.html.php meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js.embedded.html - (meta.embedded.block.php | meta.embedded.line.php))": { |
|||
"patterns": [ |
|||
{ |
|||
"include": "#php-tag" |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
"patterns": [ |
|||
{ |
|||
"begin": "\\A#!", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.php" |
|||
} |
|||
}, |
|||
"end": "$", |
|||
"name": "comment.line.shebang.php" |
|||
}, |
|||
{ |
|||
"include": "text.html.basic" |
|||
} |
|||
], |
|||
"repository": { |
|||
"php-tag": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "<\\?(?i:php|=)?(?![^?]*\\?>)", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.begin.php" |
|||
} |
|||
}, |
|||
"end": "(\\?)>", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.end.php" |
|||
}, |
|||
"1": { |
|||
"name": "source.php" |
|||
} |
|||
}, |
|||
"name": "meta.embedded.block.php", |
|||
"contentName": "source.php", |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.php" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "<\\?(?i:php|=)?", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.begin.php" |
|||
} |
|||
}, |
|||
"end": "(\\?)>", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.end.php" |
|||
}, |
|||
"1": { |
|||
"name": "source.php" |
|||
} |
|||
}, |
|||
"name": "meta.embedded.line.php", |
|||
"contentName": "source.php", |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.php" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,32 @@ |
|||
{ |
|||
"scopeName": "text.shell-session", |
|||
"name": "Shell Session", |
|||
"fileTypes": [ |
|||
"sh-session" |
|||
], |
|||
"patterns": [ |
|||
{ |
|||
"match": "(?x) ^ (?: ( (?:\\(\\S+\\)\\s*)? (?: sh\\S*? | \\w+\\S+[@:]\\S+(?:\\s+\\S+)? | \\[\\S+?[@:][^\\n]+?\\].*? ) ) \\s* )? ( [>$#%❯➜] | \\p{Greek} ) \\s+ (.*) $", |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.other.prompt-prefix.shell-session" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.separator.prompt.shell-session" |
|||
}, |
|||
"3": { |
|||
"name": "source.shell", |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.shell" |
|||
} |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
"match": "^.+$", |
|||
"name": "meta.output.shell-session" |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,464 @@ |
|||
{ |
|||
"scopeName": "text.xml", |
|||
"name": "XML", |
|||
"fileTypes": [ |
|||
"aiml", |
|||
"atom", |
|||
"axml", |
|||
"bpmn", |
|||
"config", |
|||
"cpt", |
|||
"csl", |
|||
"csproj", |
|||
"csproj.user", |
|||
"dae", |
|||
"dia", |
|||
"dita", |
|||
"ditamap", |
|||
"dtml", |
|||
"fodg", |
|||
"fodp", |
|||
"fods", |
|||
"fodt", |
|||
"fsproj", |
|||
"fxml", |
|||
"gir", |
|||
"glade", |
|||
"gpx", |
|||
"graphml", |
|||
"icls", |
|||
"iml", |
|||
"isml", |
|||
"jmx", |
|||
"jsp", |
|||
"kml", |
|||
"kst", |
|||
"launch", |
|||
"menu", |
|||
"mxml", |
|||
"nunit", |
|||
"nuspec", |
|||
"opml", |
|||
"owl", |
|||
"pom", |
|||
"ppj", |
|||
"proj", |
|||
"pt", |
|||
"pubxml", |
|||
"pubxml.user", |
|||
"rdf", |
|||
"rng", |
|||
"rss", |
|||
"sdf", |
|||
"shproj", |
|||
"siml", |
|||
"sld", |
|||
"storyboard", |
|||
"StyleCop", |
|||
"svg", |
|||
"targets", |
|||
"tld", |
|||
"vbox", |
|||
"vbox-prev", |
|||
"vbproj", |
|||
"vbproj.user", |
|||
"vcproj", |
|||
"vcproj.filters", |
|||
"vcxproj", |
|||
"vcxproj.filters", |
|||
"wixmsp", |
|||
"wixmst", |
|||
"wixobj", |
|||
"wixout", |
|||
"wsdl", |
|||
"wxs", |
|||
"xaml", |
|||
"xbl", |
|||
"xib", |
|||
"xlf", |
|||
"xliff", |
|||
"xml", |
|||
"xpdl", |
|||
"xsd", |
|||
"xul", |
|||
"ui" |
|||
], |
|||
"firstLineMatch": "(?x)\n# XML declaration\n(?:\n ^ <\\? xml\n\n # VersionInfo\n \\s+ version\n \\s* = \\s*\n (['\"])\n 1 \\. [0-9]+\n \\1\n\n # EncodingDecl\n (?:\n \\s+ encoding\n \\s* = \\s*\n\n # EncName\n (['\"])\n [A-Za-z]\n [-A-Za-z0-9._]*\n \\2\n )?\n\n # SDDecl\n (?:\n \\s+ standalone\n \\s* = \\s*\n (['\"])\n (?:yes|no)\n \\3\n )?\n\n \\s* \\?>\n)\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n xml\n (?=[\\s;]|(?<![-*])-\\*-).*?-\\*-\n |\n # Vim\n (?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n xml\n (?=\\s|:|$)\n)", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(<\\?)\\s*([-_a-zA-Z0-9]+)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.xml" |
|||
} |
|||
}, |
|||
"end": "(\\?>)", |
|||
"name": "meta.tag.preprocessor.xml", |
|||
"patterns": [ |
|||
{ |
|||
"match": " ([a-zA-Z-]+)", |
|||
"name": "entity.other.attribute-name.xml" |
|||
}, |
|||
{ |
|||
"include": "#doublequotedString" |
|||
}, |
|||
{ |
|||
"include": "#singlequotedString" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(<!)(DOCTYPE)\\s+([:a-zA-Z_][:a-zA-Z0-9_.-]*)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.other.doctype.xml" |
|||
}, |
|||
"3": { |
|||
"name": "variable.language.documentroot.xml" |
|||
} |
|||
}, |
|||
"end": "\\s*(>)", |
|||
"name": "meta.tag.sgml.doctype.xml", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#internalSubset" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#comments" |
|||
}, |
|||
{ |
|||
"begin": "(<)((?:([-_a-zA-Z0-9]+)(:))?([-_a-zA-Z0-9:]+))(?=(\\s[^>]*)?></\\2>)", |
|||
"beginCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.xml" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.tag.namespace.xml" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.separator.namespace.xml" |
|||
}, |
|||
"5": { |
|||
"name": "entity.name.tag.localname.xml" |
|||
} |
|||
}, |
|||
"end": "(>)(</)((?:([-_a-zA-Z0-9]+)(:))?([-_a-zA-Z0-9:]+))(>)", |
|||
"endCaptures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
}, |
|||
"2": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.tag.xml" |
|||
}, |
|||
"4": { |
|||
"name": "entity.name.tag.namespace.xml" |
|||
}, |
|||
"5": { |
|||
"name": "punctuation.separator.namespace.xml" |
|||
}, |
|||
"6": { |
|||
"name": "entity.name.tag.localname.xml" |
|||
}, |
|||
"7": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
} |
|||
}, |
|||
"name": "meta.tag.no-content.xml", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tagStuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "(</?)(?:([-\\w\\.]+)((:)))?([-\\w\\.:]+)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.namespace.xml" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.tag.xml" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.separator.namespace.xml" |
|||
}, |
|||
"5": { |
|||
"name": "entity.name.tag.localname.xml" |
|||
} |
|||
}, |
|||
"end": "(/?>)", |
|||
"name": "meta.tag.xml", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#tagStuff" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "#entity" |
|||
}, |
|||
{ |
|||
"include": "#bare-ampersand" |
|||
}, |
|||
{ |
|||
"begin": "<%@", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.begin.xml" |
|||
} |
|||
}, |
|||
"end": "%>", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.end.xml" |
|||
} |
|||
}, |
|||
"name": "source.java-props.embedded.xml", |
|||
"patterns": [ |
|||
{ |
|||
"match": "page|include|taglib", |
|||
"name": "keyword.other.page-props.xml" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "<%[!=]?(?!--)", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.begin.xml" |
|||
} |
|||
}, |
|||
"end": "(?!--)%>", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.section.embedded.end.xml" |
|||
} |
|||
}, |
|||
"name": "source.java.embedded.xml", |
|||
"patterns": [ |
|||
{ |
|||
"include": "source.java" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"begin": "<!\\[CDATA\\[", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.xml" |
|||
} |
|||
}, |
|||
"end": "]]>", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.xml" |
|||
} |
|||
}, |
|||
"name": "string.unquoted.cdata.xml" |
|||
} |
|||
], |
|||
"repository": { |
|||
"EntityDecl": { |
|||
"begin": "(<!)(ENTITY)\\s+(%\\s+)?([:a-zA-Z_][:a-zA-Z0-9_.-]*)(\\s+(?:SYSTEM|PUBLIC)\\s+)?", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
}, |
|||
"2": { |
|||
"name": "keyword.other.entity.xml" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.entity.xml" |
|||
}, |
|||
"4": { |
|||
"name": "variable.language.entity.xml" |
|||
}, |
|||
"5": { |
|||
"name": "keyword.other.entitytype.xml" |
|||
} |
|||
}, |
|||
"end": "(>)", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#doublequotedString" |
|||
}, |
|||
{ |
|||
"include": "#singlequotedString" |
|||
} |
|||
] |
|||
}, |
|||
"bare-ampersand": { |
|||
"match": "&", |
|||
"name": "invalid.illegal.bad-ampersand.xml" |
|||
}, |
|||
"doublequotedString": { |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.xml" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.xml" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.xml", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#entity" |
|||
}, |
|||
{ |
|||
"include": "#bare-ampersand" |
|||
} |
|||
] |
|||
}, |
|||
"entity": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.constant.xml" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.constant.xml" |
|||
} |
|||
}, |
|||
"match": "(&)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)", |
|||
"name": "constant.character.entity.xml" |
|||
}, |
|||
"internalSubset": { |
|||
"begin": "(\\[)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.constant.xml" |
|||
} |
|||
}, |
|||
"end": "(\\])", |
|||
"name": "meta.internalsubset.xml", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#EntityDecl" |
|||
}, |
|||
{ |
|||
"include": "#parameterEntity" |
|||
}, |
|||
{ |
|||
"include": "#comments" |
|||
} |
|||
] |
|||
}, |
|||
"parameterEntity": { |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.constant.xml" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.definition.constant.xml" |
|||
} |
|||
}, |
|||
"match": "(%)([:a-zA-Z_][:a-zA-Z0-9_.-]*)(;)", |
|||
"name": "constant.character.parameter-entity.xml" |
|||
}, |
|||
"singlequotedString": { |
|||
"begin": "'", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.xml" |
|||
} |
|||
}, |
|||
"end": "'", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.xml" |
|||
} |
|||
}, |
|||
"name": "string.quoted.single.xml", |
|||
"patterns": [ |
|||
{ |
|||
"include": "#entity" |
|||
}, |
|||
{ |
|||
"include": "#bare-ampersand" |
|||
} |
|||
] |
|||
}, |
|||
"tagStuff": { |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.other.attribute-name.namespace.xml" |
|||
}, |
|||
"2": { |
|||
"name": "entity.other.attribute-name.xml" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.separator.namespace.xml" |
|||
}, |
|||
"4": { |
|||
"name": "entity.other.attribute-name.localname.xml" |
|||
} |
|||
}, |
|||
"match": "(?:^|\\s+)(?:([-\\w.]+)((:)))?([-\\w.:]+)\\s*=" |
|||
}, |
|||
{ |
|||
"include": "#doublequotedString" |
|||
}, |
|||
{ |
|||
"include": "#singlequotedString" |
|||
} |
|||
] |
|||
}, |
|||
"comments": { |
|||
"patterns": [ |
|||
{ |
|||
"begin": "<%--", |
|||
"captures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.xml" |
|||
}, |
|||
"end": "--%>", |
|||
"name": "comment.block.xml" |
|||
} |
|||
}, |
|||
{ |
|||
"begin": "<!--", |
|||
"captures": { |
|||
"0": { |
|||
"name": "punctuation.definition.comment.xml" |
|||
} |
|||
}, |
|||
"end": "-->", |
|||
"name": "comment.block.xml", |
|||
"patterns": [ |
|||
{ |
|||
"begin": "--(?!>)", |
|||
"captures": { |
|||
"0": { |
|||
"name": "invalid.illegal.bad-comments-or-CDATA.xml" |
|||
} |
|||
} |
|||
} |
|||
] |
|||
} |
|||
] |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,92 @@ |
|||
{ |
|||
"scopeName": "text.xml.xsl", |
|||
"name": "XSL", |
|||
"fileTypes": [ |
|||
"xsl", |
|||
"xslt" |
|||
], |
|||
"patterns": [ |
|||
{ |
|||
"begin": "(<)(xsl)((:))(template)", |
|||
"captures": { |
|||
"1": { |
|||
"name": "punctuation.definition.tag.xml" |
|||
}, |
|||
"2": { |
|||
"name": "entity.name.tag.namespace.xml" |
|||
}, |
|||
"3": { |
|||
"name": "entity.name.tag.xml" |
|||
}, |
|||
"4": { |
|||
"name": "punctuation.separator.namespace.xml" |
|||
}, |
|||
"5": { |
|||
"name": "entity.name.tag.localname.xml" |
|||
} |
|||
}, |
|||
"end": "(>)", |
|||
"name": "meta.tag.xml.template", |
|||
"patterns": [ |
|||
{ |
|||
"captures": { |
|||
"1": { |
|||
"name": "entity.other.attribute-name.namespace.xml" |
|||
}, |
|||
"2": { |
|||
"name": "entity.other.attribute-name.xml" |
|||
}, |
|||
"3": { |
|||
"name": "punctuation.separator.namespace.xml" |
|||
}, |
|||
"4": { |
|||
"name": "entity.other.attribute-name.localname.xml" |
|||
} |
|||
}, |
|||
"match": " (?:([-_a-zA-Z0-9]+)((:)))?([a-zA-Z-]+)" |
|||
}, |
|||
{ |
|||
"include": "#doublequotedString" |
|||
}, |
|||
{ |
|||
"include": "#singlequotedString" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"include": "text.xml" |
|||
} |
|||
], |
|||
"repository": { |
|||
"doublequotedString": { |
|||
"begin": "\"", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.xml" |
|||
} |
|||
}, |
|||
"end": "\"", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.xml" |
|||
} |
|||
}, |
|||
"name": "string.quoted.double.xml" |
|||
}, |
|||
"singlequotedString": { |
|||
"begin": "'", |
|||
"beginCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.begin.xml" |
|||
} |
|||
}, |
|||
"end": "'", |
|||
"endCaptures": { |
|||
"0": { |
|||
"name": "punctuation.definition.string.end.xml" |
|||
} |
|||
}, |
|||
"name": "string.quoted.single.xml" |
|||
} |
|||
} |
|||
} |
Loading…
Reference in new issue