import typescript from './typescript.mjs'; import css from './css.mjs'; import javascript from './javascript.mjs'; import html from './html.mjs'; const lang = Object.freeze({ "displayName": "Glimmer TS", "injections": { "L:source.gts -comment -(string -meta.embedded)": { "patterns": [{ "include": "#main" }] } }, "name": "glimmer-ts", "patterns": [{ "include": "#main" }, { "include": "source.ts" }], "repository": { "as-keyword": { "match": "\\s\\b(as)\\b(?=\\s\\|)", "name": "keyword.control", "patterns": [] }, "as-params": { "begin": "(?)", "endCaptures": { "1": { "name": "punctuation.definition.tag" }, "2": { "name": "punctuation.definition.tag" } }, "name": "meta.tag.any.ember-handlebars", "patterns": [{ "include": "#tag-like-content" }] }, "digit": { "captures": { "0": { "name": "constant.numeric" }, "1": { "name": "constant.numeric" }, "2": { "name": "constant.numeric" } }, "match": "\\d*(\\.)?\\d+", "patterns": [] }, "entities": { "patterns": [{ "captures": { "1": { "name": "punctuation.definition.entity.html.ember-handlebars" }, "3": { "name": "punctuation.definition.entity.html.ember-handlebars" } }, "match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)", "name": "constant.character.entity.html.ember-handlebars" }, { "match": "&", "name": "invalid.illegal.bad-ampersand.html.ember-handlebars" }] }, "glimmer-argument": { "captures": { "1": { "name": "entity.other.attribute-name.ember-handlebars.argument", "patterns": [{ "match": "(@)", "name": "markup.italic" }] }, "2": { "name": "punctuation.separator.key-value.html.ember-handlebars" } }, "match": "\\s(@[a-zA-Z0-9:_.-]+)(=)?" }, "glimmer-as-stuff": { "patterns": [{ "include": "#as-keyword" }, { "include": "#as-params" }] }, "glimmer-block": { "begin": "({{~?)(#|/)(([@\\$a-zA-Z0-9_/.-]+))", "captures": { "1": { "name": "punctuation.definition.tag" }, "2": { "name": "punctuation.definition.tag" }, "3": { "name": "keyword.control", "patterns": [{ "include": "#glimmer-component-path" }, { "match": "(\\/)+", "name": "punctuation.definition.tag" }, { "match": "(\\.)+", "name": "punctuation.definition.tag" }] } }, "end": "(~?}})", "name": "entity.expression.ember-handlebars", "patterns": [{ "include": "#glimmer-as-stuff" }, { "include": "#glimmer-supexp-content" }] }, "glimmer-bools": { "captures": { "0": { "name": "keyword.operator" }, "1": { "name": "keyword.operator" }, "2": { "name": "string.regexp" }, "3": { "name": "string.regexp" }, "4": { "name": "keyword.operator" } }, "match": "({{~?)(true|false|null|undefined|\\d*(\\.)?\\d+)(~?}})", "name": "entity.expression.ember-handlebars" }, "glimmer-comment-block": { "begin": "{{!--", "captures": { "0": { "name": "punctuation.definition.block.comment.glimmer" } }, "end": "--}}", "name": "comment.block.glimmer", "patterns": [{ "include": "#script" }, { "include": "#attention" }] }, "glimmer-comment-inline": { "begin": "{{!", "captures": { "0": { "name": "punctuation.definition.block.comment.glimmer" } }, "end": "}}", "name": "comment.inline.glimmer", "patterns": [{ "include": "#script" }, { "include": "#attention" }] }, "glimmer-component-path": { "captures": { "1": { "name": "punctuation.definition.tag" } }, "match": "(::|_|\\$|\\.)" }, "glimmer-control-expression": { "begin": "({{~?)(([-a-zA-Z_0-9/]+)\\s)", "captures": { "1": { "name": "keyword.operator" }, "2": { "name": "keyword.operator" }, "3": { "name": "keyword.control" } }, "end": "(~?}})", "name": "entity.expression.ember-handlebars", "patterns": [{ "include": "#glimmer-supexp-content" }] }, "glimmer-else-block": { "captures": { "0": { "name": "punctuation.definition.tag" }, "1": { "name": "punctuation.definition.tag" }, "2": { "name": "keyword.control" }, "3": { "name": "keyword.control", "patterns": [{ "include": "#glimmer-subexp" }, { "include": "#string-single-quoted-handlebars" }, { "include": "#string-double-quoted-handlebars" }, { "include": "#boolean" }, { "include": "#digit" }, { "include": "#param" }, { "include": "#glimmer-parameter-name" }, { "include": "#glimmer-parameter-value" }] }, "4": { "name": "punctuation.definition.tag" } }, "match": "({{~?)(else\\s[a-z]+\\s|else)([()@a-zA-Z0-9\\.\\s\\b]+)?(~?}})", "name": "entity.expression.ember-handlebars" }, "glimmer-expression": { "begin": "({{~?)(([()\\s@a-zA-Z0-9_.-]+))", "captures": { "1": { "name": "keyword.operator" }, "2": { "name": "keyword.operator" }, "3": { "name": "support.function", "patterns": [{ "match": "[(]+", "name": "string.regexp" }, { "match": "[)]+", "name": "string.regexp" }, { "match": "(\\.)+", "name": "punctuation.definition.tag" }, { "include": "#glimmer-supexp-content" }] } }, "end": "(~?}})", "name": "entity.expression.ember-handlebars", "patterns": [{ "include": "#glimmer-supexp-content" }] }, "glimmer-expression-property": { "begin": "({{~?)((@|this.)([a-zA-Z0-9_.-]+))", "captures": { "1": { "name": "keyword.operator" }, "2": { "name": "keyword.operator" }, "3": { "name": "support.function", "patterns": [{ "match": "(@|this)", "name": "variable.language" }, { "match": "(\\.)+", "name": "punctuation.definition.tag" }] }, "4": { "name": "support.function", "patterns": [{ "match": "(\\.)+", "name": "punctuation.definition.tag" }] } }, "end": "(~?}})", "name": "entity.expression.ember-handlebars", "patterns": [{ "include": "#glimmer-supexp-content" }] }, "glimmer-parameter-name": { "captures": { "1": { "name": "variable.parameter.name.ember-handlebars" }, "2": { "name": "punctuation.definition.expression.ember-handlebars" } }, "match": "\\b([a-zA-Z0-9_-]+)(\\s?=)", "patterns": [] }, "glimmer-parameter-value": { "captures": { "1": { "name": "support.function", "patterns": [{ "match": "(\\.)+", "name": "punctuation.definition.tag" }] } }, "match": "\\b([a-zA-Z0-9:_.-]+)\\b(?!=)", "patterns": [] }, "glimmer-special-block": { "captures": { "0": { "name": "keyword.operator" }, "1": { "name": "keyword.operator" }, "2": { "name": "keyword.control" }, "3": { "name": "keyword.operator" } }, "match": "({{~?)(yield|outlet)(~?}})", "name": "entity.expression.ember-handlebars" }, "glimmer-subexp": { "begin": "(\\()([@a-zA-Z0-9.-]+)", "captures": { "1": { "name": "keyword.other" }, "2": { "name": "keyword.control" } }, "end": "(\\))", "name": "entity.subexpression.ember-handlebars", "patterns": [{ "include": "#glimmer-supexp-content" }] }, "glimmer-supexp-content": { "patterns": [{ "include": "#glimmer-subexp" }, { "include": "#string-single-quoted-handlebars" }, { "include": "#string-double-quoted-handlebars" }, { "include": "#boolean" }, { "include": "#digit" }, { "include": "#param" }, { "include": "#glimmer-parameter-name" }, { "include": "#glimmer-parameter-value" }] }, "glimmer-unescaped-expression": { "begin": "{{{", "captures": { "0": { "name": "keyword.operator" } }, "end": "}}}", "name": "entity.unescaped.expression.ember-handlebars", "patterns": [{ "include": "#string-single-quoted-handlebars" }, { "include": "#string-double-quoted-handlebars" }, { "include": "#glimmer-subexp" }, { "include": "#param" }] }, "html-attribute": { "captures": { "1": { "name": "entity.other.attribute-name.ember-handlebars", "patterns": [{ "match": "(\\.\\.\\.attributes)", "name": "markup.bold" }] }, "2": { "name": "punctuation.separator.key-value.html.ember-handlebars" } }, "match": "\\s([a-zA-Z0-9:_.-]+)(=)?" }, "html-comment": { "begin": "