import typescript from './typescript.mjs' import css from './css.mjs' import javascript from './javascript.mjs' import html from './html.mjs' const lang = Object.freeze(JSON.parse("{\"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\":\"