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\":\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)\",\"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(@[-.0-:A-Z_a-z]+)(=)?\"},\"glimmer-as-stuff\":{\"patterns\":[{\"include\":\"#as-keyword\"},{\"include\":\"#as-params\"}]},\"glimmer-block\":{\"begin\":\"(\\\\{\\\\{~?)([#/])(([$\\\\--9@-Z_a-z]+))\",\"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\":\"(\\\\{\\\\{~?)(([-/-9A-Z_a-z]+)\\\\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|))([\\\\x08().0-9@-Za-z\\\\s]+)?(~?}})\",\"name\":\"entity.expression.ember-handlebars\"},\"glimmer-expression\":{\"begin\":\"(\\\\{\\\\{~?)(([-().0-9@-Z_a-z\\\\s]+))\",\"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.)([-.0-9A-Z_a-z]+))\",\"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([-0-9A-Z_a-z]+)(\\\\s?=)\",\"patterns\":[]},\"glimmer-parameter-value\":{\"captures\":{\"1\":{\"name\":\"support.function\",\"patterns\":[{\"match\":\"(\\\\.)+\",\"name\":\"punctuation.definition.tag\"}]}},\"match\":\"\\\\b([-.0-:A-Z_a-z]+)\\\\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\":\"(\\\\()([-.0-9@-Za-z]+)\",\"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([-.0-:A-Z_a-z]+)(=)?\"},\"html-comment\":{\"begin\":\"