import typescript from './typescript.mjs' const lang = Object.freeze(JSON.parse("{\"displayName\":\"Imba\",\"fileTypes\":[\"imba\",\"imba2\"],\"name\":\"imba\",\"patterns\":[{\"include\":\"#root\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.imba\"}},\"match\":\"\\\\A(#!).*(?=$)\",\"name\":\"comment.line.shebang.imba\"}],\"repository\":{\"array-literal\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.imba\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.imba\"}},\"name\":\"meta.array.literal.imba\",\"patterns\":[{\"include\":\"#expr\"},{\"include\":\"#punctuation-comma\"}]},\"block\":{\"patterns\":[{\"include\":\"#style-declaration\"},{\"include\":\"#mixin-declaration\"},{\"include\":\"#object-keys\"},{\"include\":\"#generics-literal\"},{\"include\":\"#tag-literal\"},{\"include\":\"#regex\"},{\"include\":\"#keywords\"},{\"include\":\"#comment\"},{\"include\":\"#literal\"},{\"include\":\"#plain-identifiers\"},{\"include\":\"#plain-accessors\"},{\"include\":\"#pairs\"},{\"include\":\"#invalid-indentation\"}]},\"boolean-literal\":{\"patterns\":[{\"match\":\"(?>>|>>|>|\\\\+|~\",\"name\":\"punctuation.separator.combinator.css\"},{\"match\":\"&\",\"name\":\"keyword.other.parent-selector.css\"}]},\"css-commas\":{\"match\":\",\",\"name\":\"punctuation.separator.list.comma.css\"},\"css-comment\":{\"patterns\":[{\"match\":\"\\\\#(\\\\s.+)?(\\\\n|$)\",\"name\":\"comment.line.imba\"},{\"match\":\"(^\\\\t+)(\\\\#(\\\\s.+)?(\\\\n|$))\",\"name\":\"comment.line.imba\"}]},\"css-escapes\":{\"patterns\":[{\"match\":\"\\\\\\\\[0-9a-fA-F]{1,6}\",\"name\":\"constant.character.escape.codepoint.css\"},{\"begin\":\"\\\\\\\\$\\\\s*\",\"end\":\"^(?[\\\\w-]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))+)\\\\s*(?=[~|^\\\\]$*=]|/\\\\*)\"}]},{\"include\":\"#css-pseudo-classes\"},{\"include\":\"#css-pseudo-elements\"},{\"include\":\"#css-mixin\"}]},\"css-size-keywords\":{\"patterns\":[{\"match\":\"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![\\\\w-])\",\"name\":\"support.constant.size.property-value.css\"}]},\"curly-braces\":{\"begin\":\"\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.curly.imba\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.curly.imba\"}},\"patterns\":[{\"include\":\"#expr\"},{\"include\":\"#punctuation-comma\"}]},\"decorator\":{\"begin\":\"(?\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.imba\"}},\"end\":\"(?=$)\",\"name\":\"comment.line.triple-slash.directive.imba\",\"patterns\":[{\"begin\":\"(<)(reference|amd-dependency|amd-module)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.directive.imba\"},\"2\":{\"name\":\"entity.name.tag.directive.imba\"}},\"end\":\"/>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.directive.imba\"}},\"name\":\"meta.tag.imba\",\"patterns\":[{\"match\":\"path|types|no-default-lib|lib|name\",\"name\":\"entity.other.attribute-name.directive.imba\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.imba\"},{\"include\":\"#string\"}]}]},\"docblock\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.access-type.jsdoc\"}},\"match\":\"((@)(?:access|api))\\\\s+(private|protected|public)\\\\b\"},{\"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\":\"((@)author)\\\\s+([^@\\\\s<>*/](?:[^@<>*/]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?\"},{\"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\"}},\"match\":\"((@)borrows)\\\\s+((?:[^@\\\\s*/]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^@\\\\s*/]|\\\\*[^/])+)\"},{\"begin\":\"((@)example)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=@|\\\\*/)\",\"name\":\"meta.example.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\":\"()|(?=\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}}},{\"captures\":{\"0\":{\"name\":\"source.embedded.imba\"}},\"match\":\"[^\\\\s@*](?:[^*]|\\\\*[^/])*\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.symbol-type.jsdoc\"}},\"match\":\"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\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\":\"((@)see)\\\\s+(?:((?=https?://)(?:[^\\\\s*]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^\\\\[\\\\]]*\\\\])?{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^@\\\\s*/]|\\\\*[^/])+))\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)template)\\\\s+([A-Za-z_$][\\\\w$.\\\\[\\\\]]*(?:\\\\s*,\\\\s*[A-Za-z_$][\\\\w$.\\\\[\\\\]]*)*)\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([A-Za-z_$][\\\\w$.\\\\[\\\\]]*)\"},{\"begin\":\"((@)typedef)\\\\s+(?={)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^{}\\\\[\\\\]A-Za-z_$])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"(?:[^@\\\\s*/]|\\\\*[^/])+\",\"name\":\"entity.name.type.instance.jsdoc\"}]},{\"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\":\"#jsdoctype\"},{\"match\":\"([A-Za-z_$][\\\\w$.\\\\[\\\\]]*)\",\"name\":\"variable.other.jsdoc\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\"},\"2\":{\"name\":\"keyword.operator.assignment.jsdoc\"},\"3\":{\"name\":\"source.embedded.imba\"},\"4\":{\"name\":\"punctuation.definition.optional-value.end.bracket.square.jsdoc\"},\"5\":{\"name\":\"invalid.illegal.syntax.jsdoc\"}},\"match\":\"(\\\\[)\\\\s*[\\\\w$]+(?:(?:\\\\[\\\\])?\\\\.[\\\\w$]+)*(?:\\\\s*(=)\\\\s*((?>\\\"(?:(?:\\\\*(?!/))|(?:\\\\\\\\(?!\\\"))|[^*\\\\\\\\])*?\\\"|'(?:(?:\\\\*(?!/))|(?:\\\\\\\\(?!'))|[^*\\\\\\\\])*?'|\\\\[(?:(?:\\\\*(?!/))|[^*])*?\\\\]|(?:(?:\\\\*(?!/))|\\\\s(?!\\\\s*\\\\])|\\\\[.*?(?:\\\\]|(?=\\\\*/))|[^*\\\\s\\\\[\\\\]])*)*))?\\\\s*(?:(\\\\])((?:[^*\\\\s]|\\\\*[^\\\\s/])+)?|(?=\\\\*/))\",\"name\":\"variable.other.jsdoc\"}]},{\"begin\":\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|suppress|this|throws|type|yields?))\\\\s+(?={)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^{}\\\\[\\\\]A-Za-z_$])\",\"patterns\":[{\"include\":\"#jsdoctype\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^{}@\\\\s*]|\\\\*[^/])+)\"},{\"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\":\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b\",\"name\":\"storage.type.class.jsdoc\"},{\"include\":\"#inline-tags\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"match\":\"((@)(?:[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?))(?=\\\\s+)\"}]},\"expr\":{\"patterns\":[{\"include\":\"#style-declaration\"},{\"include\":\"#object-keys\"},{\"include\":\"#generics-literal\"},{\"include\":\"#tag-literal\"},{\"include\":\"#regex\"},{\"include\":\"#keywords\"},{\"include\":\"#comment\"},{\"include\":\"#literal\"},{\"include\":\"#plain-identifiers\"},{\"include\":\"#plain-accessors\"},{\"include\":\"#pairs\"}]},\"expression\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.imba\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.imba\"}},\"patterns\":[{\"include\":\"#expr\"}]},{\"include\":\"#tag-literal\"},{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#identifiers\"},{\"include\":\"#expressionPunctuations\"}]},\"expressionPunctuations\":{\"patterns\":[{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-accessor\"}]},\"expressionWithoutIdentifiers\":{\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#regex\"},{\"include\":\"#comment\"},{\"include\":\"#function-expression\"},{\"include\":\"#class-expression\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#new-expr\"},{\"include\":\"#instanceof-expr\"},{\"include\":\"#object-literal\"},{\"include\":\"#expression-operators\"},{\"include\":\"#literal\"},{\"include\":\"#support-objects\"}]},\"generics-literal\":{\"begin\":\"(?<=[\\\\w\\\\]\\\\)])\\\\<\",\"beginCaptures\":{\"1\":{\"name\":\"meta.generics.annotation.open.imba\"}},\"end\":\"\\\\>\",\"endCaptures\":{\"0\":{\"name\":\"meta.generics.annotation.close.imba\"}},\"name\":\"meta.generics.annotation.imba\",\"patterns\":[{\"include\":\"#type-brackets\"}]},\"global-literal\":{\"match\":\"(?\\\\=?|\\\\<\\\\=?)\",\"name\":\"keyword.operator.imba\"},{\"match\":\"(of|delete|\\\\!?isa|typeof|\\\\!?in|new|\\\\!?is|isnt)(?![\\\\?_\\\\-$[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.imba\"}]},\"literal\":{\"patterns\":[{\"include\":\"#number-with-unit-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#undefined-literal\"},{\"include\":\"#numericConstant-literal\"},{\"include\":\"#this-literal\"},{\"include\":\"#global-literal\"},{\"include\":\"#super-literal\"},{\"include\":\"#type-literal\"},{\"include\":\"#generics-literal\"},{\"include\":\"#string\"}]},\"mixin-css-selector\":{\"begin\":\"(\\\\%[\\\\w\\\\-]+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.other.attribute-name.mixin.css\"}},\"end\":\"(\\\\s*(?=(?:[\\\\^\\\\@\\\\.\\\\%\\\\w\\\\$\\\\!\\\\-]+)(?:\\\\s*[\\\\:\\\\=])[^\\\\:])|\\\\s*$|(?=\\\\s+\\\\#\\\\s))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.sel-properties.css\"}},\"name\":\"meta.selector.css\",\"patterns\":[{\"include\":\"#css-selector-innards\"}]},\"mixin-css-selector-after\":{\"begin\":\"(?<=%[\\\\w\\\\-]+)(?!(?:[\\\\^\\\\@\\\\.\\\\%\\\\w\\\\$\\\\!\\\\-]+)(?:\\\\s*[\\\\:\\\\=])[^\\\\:])\",\"end\":\"(\\\\s*(?=(?:[\\\\^\\\\@\\\\.\\\\%\\\\w\\\\$\\\\!\\\\-]+)(?:\\\\s*[\\\\:\\\\=])[^\\\\:])|\\\\s*$|(?=\\\\s+\\\\#\\\\s))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.sel-properties.css\"}},\"name\":\"meta.selector.css\",\"patterns\":[{\"include\":\"#css-selector-innards\"}]},\"mixin-declaration\":{\"begin\":\"^(\\\\t*)(\\\\%[\\\\w\\\\-]+)\",\"beginCaptures\":{\"2\":{\"name\":\"entity.other.attribute-name.mixin.css\"}},\"end\":\"^(?!(\\\\1\\\\t|\\\\s*$))\",\"name\":\"meta.style.imba\",\"patterns\":[{\"include\":\"#mixin-css-selector-after\"},{\"include\":\"#css-comment\"},{\"include\":\"#nested-css-selector\"},{\"include\":\"#inline-styles\"}]},\"nested-css-selector\":{\"begin\":\"(^\\\\t+)(?!(?:[\\\\^\\\\@\\\\.\\\\%\\\\w\\\\$\\\\!\\\\-]+)(?:\\\\s*[\\\\:\\\\=])[^\\\\:])\",\"end\":\"(\\\\s*(?=(?:[\\\\^\\\\@\\\\.\\\\%\\\\w\\\\$\\\\!\\\\-]+)(?:\\\\s*[\\\\:\\\\=])[^\\\\:])|\\\\s*$|(?=\\\\s+\\\\#\\\\s))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.sel-properties.css\"}},\"name\":\"meta.selector.css\",\"patterns\":[{\"include\":\"#css-selector-innards\"}]},\"nested-style-declaration\":{\"begin\":\"^(\\\\t+)(?=[\\\\n^]*\\\\&)\",\"end\":\"^(?!(\\\\1\\\\t|\\\\s*$))\",\"name\":\"meta.style.imba\",\"patterns\":[{\"include\":\"#nested-css-selector\"},{\"include\":\"#inline-styles\"}]},\"null-literal\":{\"match\":\"(?>=|>>>=|\\\\|=\",\"name\":\"keyword.operator.assignment.compound.bitwise.imba\"},{\"match\":\"<<|>>>|>>\",\"name\":\"keyword.operator.bitwise.shift.imba\"},{\"match\":\"===|!==|==|!=|~=\",\"name\":\"keyword.operator.comparison.imba\"},{\"match\":\"<=|>=|<>|<|>\",\"name\":\"keyword.operator.relational.imba\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.imba\"},\"2\":{\"name\":\"keyword.operator.arithmetic.imba\"}},\"match\":\"(\\\\!)\\\\s*(/)(?![/*])\"},{\"match\":\"\\\\!|&&|\\\\|\\\\||\\\\?\\\\?|or\\\\b(?=\\\\s|$)|and\\\\b(?=\\\\s|$)|\\\\@\\\\b(?=\\\\s|$)\",\"name\":\"keyword.operator.logical.imba\"},{\"match\":\"\\\\?(?=\\\\s|$)\",\"name\":\"keyword.operator.bitwise.imba\"},{\"match\":\"\\\\&|~|\\\\^|\\\\|\",\"name\":\"keyword.operator.ternary.imba\"},{\"match\":\"\\\\=\",\"name\":\"keyword.operator.assignment.imba\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.imba\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.imba\"},{\"match\":\"%|\\\\*|/|-|\\\\+\",\"name\":\"keyword.operator.arithmetic.imba\"}]},\"pairs\":{\"patterns\":[{\"include\":\"#curly-braces\"},{\"include\":\"#square-braces\"},{\"include\":\"#round-braces\"}]},\"plain-accessors\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.imba\"},\"2\":{\"name\":\"variable.other.property.imba\"}},\"match\":\"(\\\\.\\\\.?)([_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?)\"}]},\"plain-identifiers\":{\"patterns\":[{\"match\":\"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])\",\"name\":\"variable.other.constant.imba\"},{\"match\":\"[[:upper:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\!]?\",\"name\":\"variable.other.class.imba\"},{\"match\":\"\\\\$\\\\d+\",\"name\":\"variable.special.imba\"},{\"match\":\"\\\\$[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\",\"name\":\"variable.other.internal.imba\"},{\"match\":\"\\\\@\\\\@+[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\",\"name\":\"variable.other.symbol.imba\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\",\"name\":\"variable.other.readwrite.imba\"},{\"match\":\"\\\\@[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\",\"name\":\"variable.other.instance.imba\"},{\"match\":\"\\\\#+[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\",\"name\":\"variable.other.private.imba\"},{\"match\":\"\\\\:[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\",\"name\":\"string.symbol.imba\"}]},\"punctuation-accessor\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.imba\"},\"2\":{\"name\":\"punctuation.accessor.optional.imba\"}},\"match\":\"(?:(\\\\.)|(\\\\.\\\\.(?!\\\\s*[[:digit:]]|\\\\s+)))\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.imba\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.imba\"},\"qstring-double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.imba\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.imba\"}},\"name\":\"string.quoted.double.imba\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]},\"qstring-single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.imba\"}},\"end\":\"(\\\\')|((?:[^\\\\\\\\\\\\n])$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.imba\"},\"2\":{\"name\":\"invalid.illegal.newline.imba\"}},\"name\":\"string.quoted.single.imba\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"qstring-single-multi\":{\"begin\":\"'''\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.imba\"}},\"end\":\"'''\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.imba\"}},\"name\":\"string.quoted.single.imba\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"regex\":{\"patterns\":[{\"begin\":\"(?|&&|\\\\|\\\\||\\\\*\\\\/)\\\\s*(\\\\/)(?![\\\\/*])(?=(?:[^\\\\/\\\\\\\\\\\\[\\\\()]|\\\\\\\\.|\\\\[([^\\\\]\\\\\\\\]|\\\\\\\\.)+\\\\]|\\\\(([^\\\\)\\\\\\\\]|\\\\\\\\.)+\\\\))+\\\\/([gimsuy]+|(?![\\\\/\\\\*])|(?=\\\\/\\\\*))(?!\\\\s*[a-zA-Z0-9_$]))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.imba\"}},\"end\":\"(/)([gimsuy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.imba\"},\"2\":{\"name\":\"keyword.other.imba\"}},\"name\":\"string.regexp.imba\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"((?\"},{\"match\":\"[?+*]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)\\\\}\\\\??\",\"name\":\"keyword.operator.quantifier.regexp\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.or.regexp\"},{\"begin\":\"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?))?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"},\"1\":{\"name\":\"punctuation.definition.group.no-capture.regexp\"},\"2\":{\"name\":\"variable.other.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\"}]},\"root\":{\"patterns\":[{\"include\":\"#block\"}]},\"round-braces\":{\"begin\":\"\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.round.imba\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.imba\"}},\"patterns\":[{\"include\":\"#expr\"},{\"include\":\"#punctuation-comma\"}]},\"single-line-comment-consuming-line-ending\":{\"begin\":\"(^[ \\\\t]+)?((//|\\\\#\\\\s)(?:\\\\s*((@)internal)(?=\\\\s|$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.imba\"},\"2\":{\"name\":\"comment.line.double-slash.imba\"},\"3\":{\"name\":\"punctuation.definition.comment.imba\"},\"4\":{\"name\":\"storage.type.internaldeclaration.imba\"},\"5\":{\"name\":\"punctuation.decorator.internaldeclaration.imba\"}},\"contentName\":\"comment.line.double-slash.imba\",\"end\":\"(?=^)\"},\"square-braces\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.imba\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.imba\"}},\"patterns\":[{\"include\":\"#expr\"},{\"include\":\"#punctuation-comma\"}]},\"string\":{\"patterns\":[{\"include\":\"#qstring-single-multi\"},{\"include\":\"#qstring-double-multi\"},{\"include\":\"#qstring-single\"},{\"include\":\"#qstring-double\"},{\"include\":\"#template\"}]},\"string-character-escape\":{\"match\":\"\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\{[0-9A-Fa-f]+\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\",\"name\":\"constant.character.escape.imba\"},\"style-declaration\":{\"begin\":\"^(\\\\t*)(?:(global|local|export)\\\\s+)?(?:(scoped)\\\\s+)?(css)\\\\s\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.control.export.imba\"},\"3\":{\"name\":\"storage.modifier.imba\"},\"4\":{\"name\":\"storage.type.style.imba\"}},\"end\":\"^(?!(\\\\1\\\\t|\\\\s*$))\",\"name\":\"meta.style.imba\",\"patterns\":[{\"include\":\"#css-selector\"},{\"include\":\"#css-comment\"},{\"include\":\"#nested-css-selector\"},{\"include\":\"#inline-styles\"}]},\"style-expr\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.integer.decimal.css\"},\"2\":{\"name\":\"keyword.other.unit.css\"}},\"match\":\"(\\\\b[0-9][0-9_]*)(\\\\w+|%)?\"},{\"match\":\"--[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\",\"name\":\"support.constant.property-value.var.css\"},{\"match\":\"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![\\\\w-])\",\"name\":\"support.constant.property-value.size.css\"},{\"match\":\"[_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\",\"name\":\"support.constant.property-value.css\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.bracket.round.css\"}},\"end\":\"\\\\)\",\"name\":\"meta.function.css\",\"patterns\":[{\"include\":\"#style-expr\"}]}]},\"style-property\":{\"patterns\":[{\"begin\":\"(?=(?:[\\\\^\\\\@\\\\.\\\\%\\\\w\\\\$\\\\!\\\\-]+)(?:\\\\s*[\\\\:\\\\=]))\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.calc.css\"},\"2\":{\"name\":\"punctuation.section.function.begin.bracket.round.css\"}},\"end\":\"\\\\s*[\\\\:\\\\=]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.key-value.css\"}},\"name\":\"meta.property-name.css\",\"patterns\":[{\"match\":\"(?:--|\\\\$)[\\\\w\\\\-\\\\$]+\",\"name\":\"support.type.property-name.variable.css\"},{\"match\":\"\\\\@[\\\\!\\\\<\\\\>]?[0-9]+\",\"name\":\"support.type.property-name.modifier.breakpoint.css\"},{\"match\":\"\\\\^?\\\\@+[\\\\w\\\\-\\\\$]+\",\"name\":\"support.type.property-name.modifier.css\"},{\"match\":\"\\\\^?\\\\.+[\\\\w\\\\-\\\\$]+\",\"name\":\"support.type.property-name.modifier.flag.css\"},{\"match\":\"\\\\^?\\\\%+[\\\\w\\\\-\\\\$]+\",\"name\":\"support.type.property-name.modifier.state.css\"},{\"match\":\"\\\\.\\\\.[\\\\w\\\\-\\\\$]+|\\\\^+[\\\\.\\\\@\\\\%][\\\\w\\\\-\\\\$]+\",\"name\":\"support.type.property-name.modifier.up.css\"},{\"match\":\"\\\\.[\\\\w\\\\-\\\\$]+\",\"name\":\"support.type.property-name.modifier.is.css\"},{\"match\":\"[\\\\w\\\\-\\\\$]+\",\"name\":\"support.type.property-name.css\"}]}]},\"super-literal\":{\"match\":\"(?\\\\=])\"},\"tag-attr-value\":{\"begin\":\"(\\\\=)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.tag.assignment\"}},\"contentName\":\"meta.tag.attribute-value.imba\",\"end\":\"(?=>|\\\\s)\",\"patterns\":[{\"include\":\"#expr\"}]},\"tag-classname\":{\"begin\":\"\\\\.\",\"contentName\":\"entity.other.attribute-name.class.css\",\"end\":\"(?=[\\\\.\\\\[\\\\>\\\\s\\\\(\\\\=])\",\"patterns\":[{\"include\":\"#tag-interpolated-content\"}]},\"tag-content\":{\"patterns\":[{\"include\":\"#tag-name\"},{\"include\":\"#tag-expr-name\"},{\"include\":\"#tag-interpolated-content\"},{\"include\":\"#tag-interpolated-parens\"},{\"include\":\"#tag-interpolated-brackets\"},{\"include\":\"#tag-event-handler\"},{\"include\":\"#tag-mixin-name\"},{\"include\":\"#tag-classname\"},{\"include\":\"#tag-ref\"},{\"include\":\"#tag-attr-value\"},{\"include\":\"#tag-attr-name\"},{\"include\":\"#comment\"}]},\"tag-event-handler\":{\"begin\":\"(\\\\@[\\\\w$_]+(?:\\\\-[\\\\w$_]+)*)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.other.event-name.imba\"}},\"contentName\":\"entity.other.tag.event\",\"end\":\"(?=[\\\\[\\\\>\\\\s\\\\=])\",\"patterns\":[{\"include\":\"#tag-interpolated-content\"},{\"include\":\"#tag-interpolated-parens\"},{\"begin\":\"\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag\"}},\"end\":\"(?=[\\\\.\\\\[\\\\>\\\\s\\\\=]|$)\",\"name\":\"entity.other.event-modifier.imba\",\"patterns\":[{\"include\":\"#tag-interpolated-parens\"},{\"include\":\"#tag-interpolated-content\"}]}]},\"tag-expr-name\":{\"begin\":\"(?<=<)(?=[\\\\w\\\\{])\",\"contentName\":\"entity.name.tag.imba\",\"end\":\"(?=[\\\\%\\\\$\\\\#\\\\.\\\\[\\\\>\\\\s\\\\(])\",\"patterns\":[{\"include\":\"#tag-interpolated-content\"}]},\"tag-interpolated-brackets\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"contentName\":\"meta.embedded.line.imba\",\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"name\":\"meta.tag.expression.imba\",\"patterns\":[{\"include\":\"#inline-css-selector\"},{\"include\":\"#inline-styles\"}]},\"tag-interpolated-content\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"contentName\":\"meta.embedded.line.imba\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"name\":\"meta.tag.expression.imba\",\"patterns\":[{\"include\":\"#expression\"}]},\"tag-interpolated-parens\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"contentName\":\"meta.embedded.line.imba\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.imba\"}},\"name\":\"meta.tag.expression.imba\",\"patterns\":[{\"include\":\"#expression\"}]},\"tag-literal\":{\"patterns\":[{\"begin\":\"(<)(?=[\\\\%\\\\~\\\\w\\\\{\\\\[\\\\.\\\\#\\\\$\\\\@\\\\(])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.open.imba\"}},\"contentName\":\"meta.tag.attributes.imba\",\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.close.imba\"}},\"name\":\"meta.tag.imba\",\"patterns\":[{\"include\":\"#tag-content\"}]}]},\"tag-mixin-name\":{\"match\":\"(\\\\%[\\\\w\\\\-]+)\",\"name\":\"entity.other.tag-mixin.imba\"},\"tag-name\":{\"patterns\":[{\"match\":\"(?<=<)(self|global|slot)(?=[\\\\.\\\\[\\\\>\\\\s\\\\(])\",\"name\":\"entity.name.tag.special.imba\"}]},\"tag-ref\":{\"match\":\"(\\\\$[\\\\w\\\\-]+)\",\"name\":\"entity.other.tag-ref.imba\"},\"template\":{\"patterns\":[{\"begin\":\"(?=(([_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?)({{typeArguments}}\\\\s*)?`)\",\"end\":\"(?=`)\",\"name\":\"string.template.imba\",\"patterns\":[{\"begin\":\"(?=(([_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?))\",\"end\":\"(?=({{typeArguments}}\\\\s*)?`)\",\"patterns\":[{\"match\":\"([_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?)\",\"name\":\"entity.name.function.tagged-template.imba\"}]}]},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?)\\\\s*(?=({{typeArguments}}\\\\s*)`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.imba\"}},\"end\":\"(?=`)\",\"name\":\"string.template.imba\",\"patterns\":[{\"include\":\"#type-arguments\"}]},{\"begin\":\"([_$[:alpha:]][_$[:alnum:]]*(?:\\\\-[_$[:alnum:]]+)*[\\\\?\\\\!]?)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.imba\"},\"2\":{\"name\":\"punctuation.definition.string.template.begin.imba\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.template.end.imba\"}},\"name\":\"string.template.imba\",\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"template-substitution-element\":{\"begin\":\"(?\",\"patterns\":[{\"include\":\"#type-brackets\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#type-brackets\"}]}]},\"type-literal\":{\"begin\":\"(\\\\\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.type.annotation.open.imba\"}},\"end\":\"(?=[\\\\s\\\\]\\\\)\\\\,\\\\.\\\\=\\\\}]|$)\",\"name\":\"meta.type.annotation.imba\",\"patterns\":[{\"include\":\"#type-brackets\"}]},\"undefined-literal\":{\"match\":\"(?