@shikijs/langs 3.7.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/erlang.mjs CHANGED
@@ -1,5 +1,8 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Erlang\",\"fileTypes\":[\"erl\",\"escript\",\"hrl\",\"xrl\",\"yrl\"],\"name\":\"erlang\",\"patterns\":[{\"include\":\"#module-directive\"},{\"include\":\"#import-export-directive\"},{\"include\":\"#behaviour-directive\"},{\"include\":\"#record-directive\"},{\"include\":\"#define-directive\"},{\"include\":\"#macro-directive\"},{\"include\":\"#doc-directive\"},{\"include\":\"#directive\"},{\"include\":\"#function\"},{\"include\":\"#everything-else\"}],\"repository\":{\"atom\":{\"patterns\":[{\"begin\":\"(')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.symbol.begin.erlang\"}},\"end\":\"(')\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.symbol.end.erlang\"}},\"name\":\"constant.other.symbol.quoted.single.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\\\\\)([\\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})\",\"name\":\"constant.other.symbol.escape.erlang\"},{\"match\":\"\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.atom.erlang\"}]},{\"match\":\"[a-z][@-Z_a-z\\\\d]*+\",\"name\":\"constant.other.symbol.unquoted.erlang\"}]},\"behaviour-directive\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.behaviour.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.behaviour.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.behaviour.erlang\"},\"binary\":{\"begin\":\"(<<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.binary.begin.erlang\"}},\"end\":\"(>>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.binary.end.erlang\"}},\"name\":\"meta.structure.binary.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.binary.erlang\"},\"2\":{\"name\":\"punctuation.separator.value-size.erlang\"}},\"match\":\"(,)|(:)\"},{\"include\":\"#internal-type-specifiers\"},{\"include\":\"#everything-else\"}]},\"character\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.character.erlang\"},\"2\":{\"name\":\"constant.character.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"},\"5\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\$)((\\\\\\\\)([\\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2}))\",\"name\":\"constant.character.erlang\"},{\"match\":\"\\\\$\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.character.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.character.erlang\"}},\"match\":\"(\\\\$)[ \\\\S]\",\"name\":\"constant.character.erlang\"},{\"match\":\"\\\\$.?\",\"name\":\"invalid.illegal.character.erlang\"}]},\"comment\":{\"begin\":\"(^[\\\\t ]+)?(?=%)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.erlang\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"%\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.erlang\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.percentage.erlang\"}]},\"define-directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.define.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.definition.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.define.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[@-Z_a-z\\\\d]++\\\\s*+\\\\()\",\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.define.erlang\",\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.define.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\\\\s*(,)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\"\\\\|\\\\||[,.:;|]|->\",\"name\":\"punctuation.separator.define.erlang\"},{\"include\":\"#everything-else\"}]}]},\"directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\)?)\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.erlang\"},\"3\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\.)\",\"name\":\"meta.directive.erlang\"}]},\"doc-directive\":{\"begin\":\"^\\\\s*+(-)\\\\s*+((module)?doc)\\\\s*(\\\\(\\\\s*)?(~[BSbs]?)?((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.doc.erlang\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"5\":{\"name\":\"storage.type.string.erlang\"},\"6\":{\"name\":\"comment.block.documentation.erlang\"},\"7\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"8\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\7))\\\\s*(\\\\)\\\\s*)?(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"comment.block.documentation.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"},\"3\":{\"name\":\"punctuation.section.directive.end.Erlang\"}},\"name\":\"meta.directive.doc.erlang\",\"patterns\":[{\"begin\":\"\\\\G\",\"contentName\":\"comment.block.documentation.erlang\",\"while\":\"^()(?!\\\\s*(\\\\5))\"}]},\"docstring\":{\"begin\":\"(?<!\\\")((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"3\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\2))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.triple.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"everything-else\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#record-usage\"},{\"include\":\"#macro-usage\"},{\"include\":\"#expression\"},{\"include\":\"#keyword\"},{\"include\":\"#textual-operator\"},{\"include\":\"#language-constant\"},{\"include\":\"#function-call\"},{\"include\":\"#tuple\"},{\"include\":\"#list\"},{\"include\":\"#binary\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#character\"},{\"include\":\"#number\"},{\"include\":\"#atom\"},{\"include\":\"#sigil-docstring\"},{\"include\":\"#sigil-docstring-verbatim\"},{\"include\":\"#sigil-string\"},{\"include\":\"#docstring\"},{\"include\":\"#string\"},{\"include\":\"#symbolic-operator\"},{\"include\":\"#variable\"}]},\"expression\":{\"patterns\":[{\"begin\":\"\\\\b(if)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.if.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.if.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(case)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.case.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(receive)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.receive.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.receive.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.erlang\"},\"5\":{\"name\":\"variable.other.erlang\"},\"6\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"8\":{\"name\":\"entity.name.function.erlang\"},\"9\":{\"name\":\"variable.other.erlang\"},\"10\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"match\":\"\\\\b(fun)\\\\s+((([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*(/)\",\"name\":\"meta.expression.fun.implicit.erlang\"},{\"begin\":\"\\\\b(fun)\\\\s+(([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"},\"3\":{\"name\":\"entity.name.type.class.module.erlang\"},\"4\":{\"name\":\"variable.other.erlang\"},\"5\":{\"name\":\"punctuation.separator.module-function.erlang\"}},\"end\":\"(/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"name\":\"meta.expression.fun.implicit.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\s+(?!\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"}},\"end\":\"(/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"name\":\"meta.expression.fun.implicit.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.erlang\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.fun.erlang\",\"patterns\":[{\"begin\":\"(?=\\\\()\",\"end\":\"(;)|(?=\\\\bend\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clauses.erlang\"}},\"patterns\":[{\"include\":\"#internal-function-parts\"}]},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(try)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.try.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(begin)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.begin.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.begin.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(maybe)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.maybe.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.maybe.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]}]},\"function\":{\"begin\":\"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.definition.erlang\"}},\"end\":\"(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.function.erlang\"}},\"name\":\"meta.function.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.erlang\"}},\"match\":\"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(?=\\\\()\"},{\"begin\":\"(?=\\\\()\",\"end\":\"(;)|(?=\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clauses.erlang\"}},\"patterns\":[{\"include\":\"#parenthesized-expression\"},{\"include\":\"#internal-function-parts\"}]},{\"include\":\"#everything-else\"}]},\"function-call\":{\"begin\":\"(?=([a-z][@-Z_a-z\\\\d]*+|'[^']*+'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+\\\\())\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"name\":\"meta.function-call.erlang\",\"patterns\":[{\"begin\":\"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.type.class.module.erlang\"},\"3\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"4\":{\"name\":\"entity.name.function.guard.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"((([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(\\\\()\",\"beginCaptures\":{\"3\":{\"name\":\"entity.name.type.class.module.erlang\"},\"4\":{\"name\":\"variable.other.erlang\"},\"5\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"7\":{\"name\":\"entity.name.function.erlang\"},\"8\":{\"name\":\"variable.other.erlang\"},\"9\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]}]},\"import-export-directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(,)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.import.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.erlang\"},\"5\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.import.erlang\",\"patterns\":[{\"include\":\"#internal-function-list\"}]},{\"begin\":\"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.export.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.export.erlang\",\"patterns\":[{\"include\":\"#internal-function-list\"}]}]},\"internal-expression-punctuation\":{\"captures\":{\"1\":{\"name\":\"punctuation.separator.clause-head-body.erlang\"},\"2\":{\"name\":\"punctuation.separator.clauses.erlang\"},\"3\":{\"name\":\"punctuation.separator.expressions.erlang\"}},\"match\":\"(->)|(;)|(,)\"},\"internal-function-list\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.end.erlang\"}},\"name\":\"meta.structure.list.function.erlang\",\"patterns\":[{\"begin\":\"([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(/)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.erlang\"},\"2\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"end\":\"(,)|(?=])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.list.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"include\":\"#everything-else\"}]},\"internal-function-parts\":{\"patterns\":[{\"begin\":\"(?=\\\\()\",\"end\":\"(->)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clause-head-body.erlang\"}},\"patterns\":[{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\"[,;]\",\"name\":\"punctuation.separator.guards.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\",\",\"name\":\"punctuation.separator.expressions.erlang\"},{\"include\":\"#everything-else\"}]},\"internal-record-body\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.class.record.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.class.record.end.erlang\"}},\"name\":\"meta.structure.record.erlang\",\"patterns\":[{\"begin\":\"(([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_))\",\"beginCaptures\":{\"2\":{\"name\":\"variable.other.field.erlang\"},\"3\":{\"name\":\"variable.language.omitted.field.erlang\"}},\"end\":\"(,)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.class.record.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"include\":\"#everything-else\"}]},\"internal-string-body\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\\\\\)([\\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})\",\"name\":\"constant.character.escape.erlang\"},{\"match\":\"\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.string.erlang\"},{\"include\":\"#internal-string-body-verbatim\"}]},\"internal-string-body-verbatim\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.placeholder.erlang\"},\"6\":{\"name\":\"punctuation.separator.placeholder-parts.erlang\"},\"10\":{\"name\":\"punctuation.separator.placeholder-parts.erlang\"}},\"match\":\"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]\",\"name\":\"constant.character.format.placeholder.other.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.placeholder.erlang\"}},\"match\":\"(~)(\\\\*)?(\\\\d++)?(t)?[-#acdflsu~]\",\"name\":\"constant.character.format.placeholder.other.erlang\"},{\"match\":\"~[^\\\"]?\",\"name\":\"invalid.illegal.string.erlang\"}]},\"internal-type-specifiers\":{\"begin\":\"(/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.value-type.erlang\"}},\"end\":\"(?=[,:]|>>)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.erlang\"},\"2\":{\"name\":\"storage.modifier.signedness.erlang\"},\"3\":{\"name\":\"storage.modifier.endianness.erlang\"},\"4\":{\"name\":\"storage.modifier.unit.erlang\"},\"5\":{\"name\":\"punctuation.separator.unit-specifiers.erlang\"},\"6\":{\"name\":\"constant.numeric.integer.decimal.erlang\"},\"7\":{\"name\":\"punctuation.separator.type-specifiers.erlang\"}},\"match\":\"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\\\d++)|(-)\"}]},\"keyword\":{\"match\":\"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b\",\"name\":\"keyword.control.erlang\"},\"language-constant\":{\"match\":\"\\\\b(false|true|undefined)\\\\b\",\"name\":\"constant.language\"},\"list\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.end.erlang\"}},\"name\":\"meta.structure.list.erlang\",\"patterns\":[{\"match\":\"\\\\|\\\\|??|,\",\"name\":\"punctuation.separator.list.erlang\"},{\"include\":\"#everything-else\"}]},\"macro-directive\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.ifdef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.ifdef.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.ifndef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.ifndef.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.undef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.undef.erlang\"}]},\"macro-usage\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.macro.erlang\"},\"2\":{\"name\":\"entity.name.function.macro.erlang\"}},\"match\":\"(\\\\?\\\\??)\\\\s*+([@-Z_a-z\\\\d]++)\",\"name\":\"meta.macro-usage.erlang\"},\"module-directive\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.module.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.module.erlang\"},\"number\":{\"begin\":\"(?=\\\\d)\",\"end\":\"(?!\\\\d)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.integer-float.erlang\"},\"2\":{\"name\":\"punctuation.separator.float-exponent.erlang\"}},\"match\":\"\\\\d++(\\\\.)\\\\d++([Ee][-+]?\\\\d++)?\",\"name\":\"constant.numeric.float.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"2(#)([01]++_)*[01]++\",\"name\":\"constant.numeric.integer.binary.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"3(#)([012]++_)*[012]++\",\"name\":\"constant.numeric.integer.base-3.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"4(#)([0-3]++_)*[0-3]++\",\"name\":\"constant.numeric.integer.base-4.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"5(#)([0-4]++_)*[0-4]++\",\"name\":\"constant.numeric.integer.base-5.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"6(#)([0-5]++_)*[0-5]++\",\"name\":\"constant.numeric.integer.base-6.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"7(#)([0-6]++_)*[0-6]++\",\"name\":\"constant.numeric.integer.base-7.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"8(#)([0-7]++_)*[0-7]++\",\"name\":\"constant.numeric.integer.octal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"9(#)([0-8]++_)*[0-8]++\",\"name\":\"constant.numeric.integer.base-9.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"10(#)(\\\\d++_)*\\\\d++\",\"name\":\"constant.numeric.integer.decimal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"11(#)([Aa\\\\d]++_)*[Aa\\\\d]++\",\"name\":\"constant.numeric.integer.base-11.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"12(#)([ABab\\\\d]++_)*[ABab\\\\d]++\",\"name\":\"constant.numeric.integer.base-12.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"13(#)([ABCabc\\\\d]++_)*[ABCabc\\\\d]++\",\"name\":\"constant.numeric.integer.base-13.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"14(#)([A-Da-d\\\\d]++_)*[A-Da-d\\\\d]++\",\"name\":\"constant.numeric.integer.base-14.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"15(#)([A-Ea-e\\\\d]++_)*[A-Ea-e\\\\d]++\",\"name\":\"constant.numeric.integer.base-15.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"16(#)([A-Fa-f\\\\d]++_)*[A-Fa-f\\\\d]++\",\"name\":\"constant.numeric.integer.hexadecimal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"17(#)([A-Ga-g\\\\d]++_)*[A-Ga-g\\\\d]++\",\"name\":\"constant.numeric.integer.base-17.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"18(#)([A-Ha-h\\\\d]++_)*[A-Ha-h\\\\d]++\",\"name\":\"constant.numeric.integer.base-18.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"19(#)([A-Ia-i\\\\d]++_)*[A-Ia-i\\\\d]++\",\"name\":\"constant.numeric.integer.base-19.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"20(#)([A-Ja-j\\\\d]++_)*[A-Ja-j\\\\d]++\",\"name\":\"constant.numeric.integer.base-20.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"21(#)([A-Ka-k\\\\d]++_)*[A-Ka-k\\\\d]++\",\"name\":\"constant.numeric.integer.base-21.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"22(#)([A-La-l\\\\d]++_)*[A-La-l\\\\d]++\",\"name\":\"constant.numeric.integer.base-22.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"23(#)([A-Ma-m\\\\d]++_)*[A-Ma-m\\\\d]++\",\"name\":\"constant.numeric.integer.base-23.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"24(#)([A-Na-n\\\\d]++_)*[A-Na-n\\\\d]++\",\"name\":\"constant.numeric.integer.base-24.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"25(#)([A-Oa-o\\\\d]++_)*[A-Oa-o\\\\d]++\",\"name\":\"constant.numeric.integer.base-25.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"26(#)([A-Pa-p\\\\d]++_)*[A-Pa-p\\\\d]++\",\"name\":\"constant.numeric.integer.base-26.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"27(#)([A-Qa-q\\\\d]++_)*[A-Qa-q\\\\d]++\",\"name\":\"constant.numeric.integer.base-27.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"28(#)([A-Ra-r\\\\d]++_)*[A-Ra-r\\\\d]++\",\"name\":\"constant.numeric.integer.base-28.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"29(#)([A-Sa-s\\\\d]++_)*[A-Sa-s\\\\d]++\",\"name\":\"constant.numeric.integer.base-29.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"30(#)([A-Ta-t\\\\d]++_)*[A-Ta-t\\\\d]++\",\"name\":\"constant.numeric.integer.base-30.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"31(#)([A-Ua-u\\\\d]++_)*[A-Ua-u\\\\d]++\",\"name\":\"constant.numeric.integer.base-31.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"32(#)([A-Va-v\\\\d]++_)*[A-Va-v\\\\d]++\",\"name\":\"constant.numeric.integer.base-32.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"33(#)([A-Wa-w\\\\d]++_)*[A-Wa-w\\\\d]++\",\"name\":\"constant.numeric.integer.base-33.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"34(#)([A-Xa-x\\\\d]++_)*[A-Xa-x\\\\d]++\",\"name\":\"constant.numeric.integer.base-34.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"35(#)([A-Ya-y\\\\d]++_)*[A-Ya-y\\\\d]++\",\"name\":\"constant.numeric.integer.base-35.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"36(#)([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++\",\"name\":\"constant.numeric.integer.base-36.erlang\"},{\"match\":\"\\\\d++#([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++\",\"name\":\"invalid.illegal.integer.erlang\"},{\"match\":\"(\\\\d++_)*\\\\d++\",\"name\":\"constant.numeric.integer.decimal.erlang\"}]},\"parenthesized-expression\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.erlang\"}},\"name\":\"meta.expression.parenthesized\",\"patterns\":[{\"include\":\"#everything-else\"}]},\"record-directive\":{\"begin\":\"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(,)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.import.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.record.definition.erlang\"},\"5\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.record.erlang\",\"patterns\":[{\"include\":\"#internal-record-body\"},{\"include\":\"#comment\"}]},\"record-usage\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.record.erlang\"},\"2\":{\"name\":\"entity.name.type.class.record.erlang\"},\"3\":{\"name\":\"punctuation.separator.record-field.erlang\"},\"4\":{\"name\":\"variable.other.field.erlang\"}},\"match\":\"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(\\\\.)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\",\"name\":\"meta.record-usage.erlang\"},{\"begin\":\"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.record.erlang\"},\"2\":{\"name\":\"entity.name.type.class.record.erlang\"}},\"end\":\"(?<=})\",\"name\":\"meta.record-usage.erlang\",\"patterns\":[{\"include\":\"#internal-record-body\"}]}]},\"sigil-docstring\":{\"begin\":\"(~[bs])((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"3\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"4\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\3))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.tripple.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-docstring-verbatim\":{\"begin\":\"(~[BS]?)((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"3\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"4\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\3))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.tripple.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string\":{\"patterns\":[{\"include\":\"#sigil-string-parenthesis\"},{\"include\":\"#sigil-string-parenthesis-verbatim\"},{\"include\":\"#sigil-string-curly-brackets\"},{\"include\":\"#sigil-string-curly-brackets-verbatim\"},{\"include\":\"#sigil-string-square-brackets\"},{\"include\":\"#sigil-string-square-brackets-verbatim\"},{\"include\":\"#sigil-string-less-greater\"},{\"include\":\"#sigil-string-less-greater-verbatim\"},{\"include\":\"#sigil-string-single-character\"},{\"include\":\"#sigil-string-single-character-verbatim\"},{\"include\":\"#sigil-string-single-quote\"},{\"include\":\"#sigil-string-single-quote-verbatim\"},{\"include\":\"#sigil-string-double-quote\"},{\"include\":\"#sigil-string-double-quote-verbatim\"}]},\"sigil-string-curly-brackets\":{\"begin\":\"(~[bs]?)(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.curly-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-curly-brackets-verbatim\":{\"begin\":\"(~[BS])(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.curly-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-double-quote\":{\"begin\":\"(~[bs]?)(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-double-quote-verbatim\":{\"begin\":\"(~[BS])(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-less-greater\":{\"begin\":\"(~[bs]?)(<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.less-greater.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-less-greater-verbatim\":{\"begin\":\"(~[BS])(<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.less-greater.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-parenthesis\":{\"begin\":\"(~[bs]?)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.parenthesis.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-parenthesis-verbatim\":{\"begin\":\"(~[BS])(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.parenthesis.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-single-character\":{\"begin\":\"(~[bs]?)([#/`|])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.other.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-single-character-verbatim\":{\"begin\":\"(~[BS])([#/`|])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.other.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-single-quote\":{\"begin\":\"(~[bs]?)(')\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.single.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-single-quote-verbatim\":{\"begin\":\"(~[BS])(')\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.single.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-square-brackets\":{\"begin\":\"(~[bs]?)(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.square-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-square-brackets-verbatim\":{\"begin\":\"(~[BS])(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.square-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"string\":{\"begin\":\"(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\")\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"symbolic-operator\":{\"match\":\"\\\\+\\\\+?|--|[-*]|/=?|=/=|=:=|==|=<?|<-?|>=|[!>]|::|\\\\?=\",\"name\":\"keyword.operator.symbolic.erlang\"},\"textual-operator\":{\"match\":\"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b\",\"name\":\"keyword.operator.textual.erlang\"},\"tuple\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tuple.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tuple.end.erlang\"}},\"name\":\"meta.structure.tuple.erlang\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.tuple.erlang\"},{\"include\":\"#everything-else\"}]},\"variable\":{\"captures\":{\"1\":{\"name\":\"variable.other.erlang\"},\"2\":{\"name\":\"variable.language.omitted.erlang\"}},\"match\":\"(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)|(_)\"}},\"scopeName\":\"source.erlang\",\"aliases\":[\"erl\"]}"))
1
+ import markdown from './markdown.mjs'
2
+
3
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Erlang\",\"fileTypes\":[\"erl\",\"escript\",\"hrl\",\"xrl\",\"yrl\"],\"name\":\"erlang\",\"patterns\":[{\"include\":\"#module-directive\"},{\"include\":\"#import-export-directive\"},{\"include\":\"#behaviour-directive\"},{\"include\":\"#record-directive\"},{\"include\":\"#define-directive\"},{\"include\":\"#macro-directive\"},{\"include\":\"#doc-directive\"},{\"include\":\"#directive\"},{\"include\":\"#function\"},{\"include\":\"#everything-else\"}],\"repository\":{\"atom\":{\"patterns\":[{\"begin\":\"(')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.symbol.begin.erlang\"}},\"end\":\"(')\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.symbol.end.erlang\"}},\"name\":\"constant.other.symbol.quoted.single.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\\\\\)([\\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})\",\"name\":\"constant.other.symbol.escape.erlang\"},{\"match\":\"\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.atom.erlang\"}]},{\"match\":\"[a-z][@-Z_a-z\\\\d]*+\",\"name\":\"constant.other.symbol.unquoted.erlang\"}]},\"behaviour-directive\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.behaviour.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.behaviour.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.behaviour.erlang\"},\"binary\":{\"begin\":\"(<<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.binary.begin.erlang\"}},\"end\":\"(>>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.binary.end.erlang\"}},\"name\":\"meta.structure.binary.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.binary.erlang\"},\"2\":{\"name\":\"punctuation.separator.value-size.erlang\"}},\"match\":\"(,)|(:)\"},{\"include\":\"#internal-type-specifiers\"},{\"include\":\"#everything-else\"}]},\"character\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.character.erlang\"},\"2\":{\"name\":\"constant.character.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"},\"5\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\$)((\\\\\\\\)([\\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2}))\",\"name\":\"constant.character.erlang\"},{\"match\":\"\\\\$\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.character.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.character.erlang\"}},\"match\":\"(\\\\$)[ \\\\S]\",\"name\":\"constant.character.erlang\"},{\"match\":\"\\\\$.?\",\"name\":\"invalid.illegal.character.erlang\"}]},\"comment\":{\"begin\":\"(^[\\\\t ]+)?(?=%)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.erlang\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"%\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.erlang\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.percentage.erlang\"}]},\"define-directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.define.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.definition.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.define.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[@-Z_a-z\\\\d]++\\\\s*+\\\\()\",\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.define.erlang\",\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.define.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\\\\s*(,)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\"\\\\|\\\\||[,.:;|]|->\",\"name\":\"punctuation.separator.define.erlang\"},{\"include\":\"#everything-else\"}]}]},\"directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\)?)\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.erlang\"},\"3\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\.)\",\"name\":\"meta.directive.erlang\"}]},\"doc-directive\":{\"begin\":\"^\\\\s*+(-)\\\\s*+((module)?doc)\\\\s*(\\\\(\\\\s*)?(~[BSbs]?)?((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.doc.erlang\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"5\":{\"name\":\"storage.type.string.erlang\"},\"6\":{\"name\":\"comment.block.documentation.erlang\"},\"7\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"8\":{\"name\":\"invalid.illegal.string.erlang\"}},\"contentName\":\"meta.embedded.block.markdown\",\"end\":\"^(\\\\s*(\\\\7))\\\\s*(\\\\)\\\\s*)?(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"comment.block.documentation.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"},\"3\":{\"name\":\"punctuation.section.directive.end.Erlang\"}},\"name\":\"meta.directive.doc.erlang\",\"patterns\":[{\"include\":\"text.html.markdown\"}]},\"docstring\":{\"begin\":\"(?<!\\\")((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"3\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\2))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.triple.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"everything-else\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#record-usage\"},{\"include\":\"#macro-usage\"},{\"include\":\"#expression\"},{\"include\":\"#keyword\"},{\"include\":\"#textual-operator\"},{\"include\":\"#language-constant\"},{\"include\":\"#function-call\"},{\"include\":\"#tuple\"},{\"include\":\"#list\"},{\"include\":\"#binary\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#character\"},{\"include\":\"#number\"},{\"include\":\"#atom\"},{\"include\":\"#sigil-docstring\"},{\"include\":\"#sigil-docstring-verbatim\"},{\"include\":\"#sigil-string\"},{\"include\":\"#docstring\"},{\"include\":\"#string\"},{\"include\":\"#symbolic-operator\"},{\"include\":\"#variable\"}]},\"expression\":{\"patterns\":[{\"begin\":\"\\\\b(if)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.if.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.if.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(case)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.case.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(receive)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.receive.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.receive.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.erlang\"},\"5\":{\"name\":\"variable.other.erlang\"},\"6\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"8\":{\"name\":\"entity.name.function.erlang\"},\"9\":{\"name\":\"variable.other.erlang\"},\"10\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"match\":\"\\\\b(fun)\\\\s+((([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*(/)\",\"name\":\"meta.expression.fun.implicit.erlang\"},{\"begin\":\"\\\\b(fun)\\\\s+(([a-z][@-Z_a-z\\\\d]*+)|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"},\"3\":{\"name\":\"entity.name.type.class.module.erlang\"},\"4\":{\"name\":\"variable.other.erlang\"},\"5\":{\"name\":\"punctuation.separator.module-function.erlang\"}},\"end\":\"(/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"name\":\"meta.expression.fun.implicit.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\s+(?!\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"}},\"end\":\"(/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"name\":\"meta.expression.fun.implicit.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.erlang\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.fun.erlang\",\"patterns\":[{\"begin\":\"(?=\\\\()\",\"end\":\"(;)|(?=\\\\bend\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clauses.erlang\"}},\"patterns\":[{\"include\":\"#internal-function-parts\"}]},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(try)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.try.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(begin)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.begin.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.begin.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(maybe)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.maybe.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.maybe.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]}]},\"function\":{\"begin\":\"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.definition.erlang\"}},\"end\":\"(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.function.erlang\"}},\"name\":\"meta.function.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.erlang\"}},\"match\":\"^\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(?=\\\\()\"},{\"begin\":\"(?=\\\\()\",\"end\":\"(;)|(?=\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clauses.erlang\"}},\"patterns\":[{\"include\":\"#parenthesized-expression\"},{\"include\":\"#internal-function-parts\"}]},{\"include\":\"#everything-else\"}]},\"function-call\":{\"begin\":\"(?=([a-z][@-Z_a-z\\\\d]*+|'[^']*+'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+'|_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)\\\\s*+\\\\())\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"name\":\"meta.function-call.erlang\",\"patterns\":[{\"begin\":\"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.type.class.module.erlang\"},\"3\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"4\":{\"name\":\"entity.name.function.guard.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"((([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(:)\\\\s*+)?(([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+))\\\\s*+(\\\\()\",\"beginCaptures\":{\"3\":{\"name\":\"entity.name.type.class.module.erlang\"},\"4\":{\"name\":\"variable.other.erlang\"},\"5\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"7\":{\"name\":\"entity.name.function.erlang\"},\"8\":{\"name\":\"variable.other.erlang\"},\"9\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]}]},\"import-export-directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(,)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.import.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.erlang\"},\"5\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.import.erlang\",\"patterns\":[{\"include\":\"#internal-function-list\"}]},{\"begin\":\"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.export.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.export.erlang\",\"patterns\":[{\"include\":\"#internal-function-list\"}]}]},\"internal-expression-punctuation\":{\"captures\":{\"1\":{\"name\":\"punctuation.separator.clause-head-body.erlang\"},\"2\":{\"name\":\"punctuation.separator.clauses.erlang\"},\"3\":{\"name\":\"punctuation.separator.expressions.erlang\"}},\"match\":\"(->)|(;)|(,)\"},\"internal-function-list\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.end.erlang\"}},\"name\":\"meta.structure.list.function.erlang\",\"patterns\":[{\"begin\":\"([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(/)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.erlang\"},\"2\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"end\":\"(,)|(?=])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.list.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"include\":\"#everything-else\"}]},\"internal-function-parts\":{\"patterns\":[{\"begin\":\"(?=\\\\()\",\"end\":\"(->)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clause-head-body.erlang\"}},\"patterns\":[{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\"[,;]\",\"name\":\"punctuation.separator.guards.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\",\",\"name\":\"punctuation.separator.expressions.erlang\"},{\"include\":\"#everything-else\"}]},\"internal-record-body\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.class.record.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.class.record.end.erlang\"}},\"name\":\"meta.structure.record.erlang\",\"patterns\":[{\"begin\":\"(([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_))\",\"beginCaptures\":{\"2\":{\"name\":\"variable.other.field.erlang\"},\"3\":{\"name\":\"variable.language.omitted.field.erlang\"}},\"end\":\"(,)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.class.record.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"include\":\"#everything-else\"}]},\"internal-string-body\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\\\\\)([\\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})\",\"name\":\"constant.character.escape.erlang\"},{\"match\":\"\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.string.erlang\"},{\"include\":\"#internal-string-body-verbatim\"}]},\"internal-string-body-verbatim\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.placeholder.erlang\"},\"6\":{\"name\":\"punctuation.separator.placeholder-parts.erlang\"},\"10\":{\"name\":\"punctuation.separator.placeholder-parts.erlang\"}},\"match\":\"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]\",\"name\":\"constant.character.format.placeholder.other.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.placeholder.erlang\"}},\"match\":\"(~)(\\\\*)?(\\\\d++)?(t)?[-#acdflsu~]\",\"name\":\"constant.character.format.placeholder.other.erlang\"},{\"match\":\"~[^\\\"]?\",\"name\":\"invalid.illegal.string.erlang\"}]},\"internal-type-specifiers\":{\"begin\":\"(/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.value-type.erlang\"}},\"end\":\"(?=[,:]|>>)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.erlang\"},\"2\":{\"name\":\"storage.modifier.signedness.erlang\"},\"3\":{\"name\":\"storage.modifier.endianness.erlang\"},\"4\":{\"name\":\"storage.modifier.unit.erlang\"},\"5\":{\"name\":\"punctuation.separator.unit-specifiers.erlang\"},\"6\":{\"name\":\"constant.numeric.integer.decimal.erlang\"},\"7\":{\"name\":\"punctuation.separator.type-specifiers.erlang\"}},\"match\":\"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\\\d++)|(-)\"}]},\"keyword\":{\"match\":\"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b\",\"name\":\"keyword.control.erlang\"},\"language-constant\":{\"match\":\"\\\\b(false|true|undefined)\\\\b\",\"name\":\"constant.language\"},\"list\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.end.erlang\"}},\"name\":\"meta.structure.list.erlang\",\"patterns\":[{\"match\":\"\\\\|\\\\|??|,\",\"name\":\"punctuation.separator.list.erlang\"},{\"include\":\"#everything-else\"}]},\"macro-directive\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.ifdef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.ifdef.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.ifndef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.ifndef.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.undef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.undef.erlang\"}]},\"macro-usage\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.macro.erlang\"},\"2\":{\"name\":\"entity.name.function.macro.erlang\"}},\"match\":\"(\\\\?\\\\??)\\\\s*+([@-Z_a-z\\\\d]++)\",\"name\":\"meta.macro-usage.erlang\"},\"module-directive\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.module.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.module.erlang\"},\"number\":{\"begin\":\"(?=\\\\d)\",\"end\":\"(?!\\\\d)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.integer-float.erlang\"},\"2\":{\"name\":\"punctuation.separator.float-exponent.erlang\"}},\"match\":\"\\\\d++(\\\\.)\\\\d++([Ee][-+]?\\\\d++)?\",\"name\":\"constant.numeric.float.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"2(#)([01]++_)*[01]++\",\"name\":\"constant.numeric.integer.binary.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"3(#)([012]++_)*[012]++\",\"name\":\"constant.numeric.integer.base-3.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"4(#)([0-3]++_)*[0-3]++\",\"name\":\"constant.numeric.integer.base-4.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"5(#)([0-4]++_)*[0-4]++\",\"name\":\"constant.numeric.integer.base-5.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"6(#)([0-5]++_)*[0-5]++\",\"name\":\"constant.numeric.integer.base-6.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"7(#)([0-6]++_)*[0-6]++\",\"name\":\"constant.numeric.integer.base-7.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"8(#)([0-7]++_)*[0-7]++\",\"name\":\"constant.numeric.integer.octal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"9(#)([0-8]++_)*[0-8]++\",\"name\":\"constant.numeric.integer.base-9.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"10(#)(\\\\d++_)*\\\\d++\",\"name\":\"constant.numeric.integer.decimal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"11(#)([Aa\\\\d]++_)*[Aa\\\\d]++\",\"name\":\"constant.numeric.integer.base-11.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"12(#)([ABab\\\\d]++_)*[ABab\\\\d]++\",\"name\":\"constant.numeric.integer.base-12.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"13(#)([ABCabc\\\\d]++_)*[ABCabc\\\\d]++\",\"name\":\"constant.numeric.integer.base-13.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"14(#)([A-Da-d\\\\d]++_)*[A-Da-d\\\\d]++\",\"name\":\"constant.numeric.integer.base-14.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"15(#)([A-Ea-e\\\\d]++_)*[A-Ea-e\\\\d]++\",\"name\":\"constant.numeric.integer.base-15.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"16(#)([A-Fa-f\\\\d]++_)*[A-Fa-f\\\\d]++\",\"name\":\"constant.numeric.integer.hexadecimal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"17(#)([A-Ga-g\\\\d]++_)*[A-Ga-g\\\\d]++\",\"name\":\"constant.numeric.integer.base-17.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"18(#)([A-Ha-h\\\\d]++_)*[A-Ha-h\\\\d]++\",\"name\":\"constant.numeric.integer.base-18.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"19(#)([A-Ia-i\\\\d]++_)*[A-Ia-i\\\\d]++\",\"name\":\"constant.numeric.integer.base-19.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"20(#)([A-Ja-j\\\\d]++_)*[A-Ja-j\\\\d]++\",\"name\":\"constant.numeric.integer.base-20.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"21(#)([A-Ka-k\\\\d]++_)*[A-Ka-k\\\\d]++\",\"name\":\"constant.numeric.integer.base-21.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"22(#)([A-La-l\\\\d]++_)*[A-La-l\\\\d]++\",\"name\":\"constant.numeric.integer.base-22.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"23(#)([A-Ma-m\\\\d]++_)*[A-Ma-m\\\\d]++\",\"name\":\"constant.numeric.integer.base-23.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"24(#)([A-Na-n\\\\d]++_)*[A-Na-n\\\\d]++\",\"name\":\"constant.numeric.integer.base-24.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"25(#)([A-Oa-o\\\\d]++_)*[A-Oa-o\\\\d]++\",\"name\":\"constant.numeric.integer.base-25.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"26(#)([A-Pa-p\\\\d]++_)*[A-Pa-p\\\\d]++\",\"name\":\"constant.numeric.integer.base-26.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"27(#)([A-Qa-q\\\\d]++_)*[A-Qa-q\\\\d]++\",\"name\":\"constant.numeric.integer.base-27.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"28(#)([A-Ra-r\\\\d]++_)*[A-Ra-r\\\\d]++\",\"name\":\"constant.numeric.integer.base-28.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"29(#)([A-Sa-s\\\\d]++_)*[A-Sa-s\\\\d]++\",\"name\":\"constant.numeric.integer.base-29.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"30(#)([A-Ta-t\\\\d]++_)*[A-Ta-t\\\\d]++\",\"name\":\"constant.numeric.integer.base-30.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"31(#)([A-Ua-u\\\\d]++_)*[A-Ua-u\\\\d]++\",\"name\":\"constant.numeric.integer.base-31.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"32(#)([A-Va-v\\\\d]++_)*[A-Va-v\\\\d]++\",\"name\":\"constant.numeric.integer.base-32.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"33(#)([A-Wa-w\\\\d]++_)*[A-Wa-w\\\\d]++\",\"name\":\"constant.numeric.integer.base-33.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"34(#)([A-Xa-x\\\\d]++_)*[A-Xa-x\\\\d]++\",\"name\":\"constant.numeric.integer.base-34.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"35(#)([A-Ya-y\\\\d]++_)*[A-Ya-y\\\\d]++\",\"name\":\"constant.numeric.integer.base-35.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"36(#)([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++\",\"name\":\"constant.numeric.integer.base-36.erlang\"},{\"match\":\"\\\\d++#([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++\",\"name\":\"invalid.illegal.integer.erlang\"},{\"match\":\"(\\\\d++_)*\\\\d++\",\"name\":\"constant.numeric.integer.decimal.erlang\"}]},\"parenthesized-expression\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.erlang\"}},\"name\":\"meta.expression.parenthesized\",\"patterns\":[{\"include\":\"#everything-else\"}]},\"record-directive\":{\"begin\":\"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(,)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.import.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.record.definition.erlang\"},\"5\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.record.erlang\",\"patterns\":[{\"include\":\"#internal-record-body\"},{\"include\":\"#comment\"}]},\"record-usage\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.record.erlang\"},\"2\":{\"name\":\"entity.name.type.class.record.erlang\"},\"3\":{\"name\":\"punctuation.separator.record-field.erlang\"},\"4\":{\"name\":\"variable.other.field.erlang\"}},\"match\":\"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(\\\\.)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\",\"name\":\"meta.record-usage.erlang\"},{\"begin\":\"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.record.erlang\"},\"2\":{\"name\":\"entity.name.type.class.record.erlang\"}},\"end\":\"(?<=})\",\"name\":\"meta.record-usage.erlang\",\"patterns\":[{\"include\":\"#internal-record-body\"}]}]},\"sigil-docstring\":{\"begin\":\"(~[bs])((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"3\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"4\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\3))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.tripple.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-docstring-verbatim\":{\"begin\":\"(~[BS]?)((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"3\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"4\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\3))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.tripple.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string\":{\"patterns\":[{\"include\":\"#sigil-string-parenthesis\"},{\"include\":\"#sigil-string-parenthesis-verbatim\"},{\"include\":\"#sigil-string-curly-brackets\"},{\"include\":\"#sigil-string-curly-brackets-verbatim\"},{\"include\":\"#sigil-string-square-brackets\"},{\"include\":\"#sigil-string-square-brackets-verbatim\"},{\"include\":\"#sigil-string-less-greater\"},{\"include\":\"#sigil-string-less-greater-verbatim\"},{\"include\":\"#sigil-string-single-character\"},{\"include\":\"#sigil-string-single-character-verbatim\"},{\"include\":\"#sigil-string-single-quote\"},{\"include\":\"#sigil-string-single-quote-verbatim\"},{\"include\":\"#sigil-string-double-quote\"},{\"include\":\"#sigil-string-double-quote-verbatim\"}]},\"sigil-string-curly-brackets\":{\"begin\":\"(~[bs]?)(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.curly-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-curly-brackets-verbatim\":{\"begin\":\"(~[BS])(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.curly-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-double-quote\":{\"begin\":\"(~[bs]?)(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-double-quote-verbatim\":{\"begin\":\"(~[BS])(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-less-greater\":{\"begin\":\"(~[bs]?)(<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.less-greater.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-less-greater-verbatim\":{\"begin\":\"(~[BS])(<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.less-greater.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-parenthesis\":{\"begin\":\"(~[bs]?)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.parenthesis.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-parenthesis-verbatim\":{\"begin\":\"(~[BS])(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.parenthesis.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-single-character\":{\"begin\":\"(~[bs]?)([#/`|])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.other.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-single-character-verbatim\":{\"begin\":\"(~[BS])([#/`|])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.other.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-single-quote\":{\"begin\":\"(~[bs]?)(')\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.single.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-single-quote-verbatim\":{\"begin\":\"(~[BS])(')\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.single.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"sigil-string-square-brackets\":{\"begin\":\"(~[bs]?)(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.square-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-square-brackets-verbatim\":{\"begin\":\"(~[BS])(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.square-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body-verbatim\"}]},\"string\":{\"begin\":\"(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\")\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"symbolic-operator\":{\"match\":\"\\\\+\\\\+?|--|[-*]|/=?|=/=|=:=|==|=<?|<-?|>=|[!>]|::|\\\\?=\",\"name\":\"keyword.operator.symbolic.erlang\"},\"textual-operator\":{\"match\":\"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b\",\"name\":\"keyword.operator.textual.erlang\"},\"tuple\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tuple.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tuple.end.erlang\"}},\"name\":\"meta.structure.tuple.erlang\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.tuple.erlang\"},{\"include\":\"#everything-else\"}]},\"variable\":{\"captures\":{\"1\":{\"name\":\"variable.other.erlang\"},\"2\":{\"name\":\"variable.language.omitted.erlang\"}},\"match\":\"(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)|(_)\"}},\"scopeName\":\"source.erlang\",\"embeddedLangs\":[\"markdown\"],\"aliases\":[\"erl\"]}"))
2
4
 
3
5
  export default [
6
+ ...markdown,
4
7
  lang
5
8
  ]
package/dist/gdscript.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"GDScript\",\"fileTypes\":[\"gd\"],\"name\":\"gdscript\",\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#expression\"}],\"repository\":{\"annotated_parameter\":{\"begin\":\"\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(:)\\\\s*([A-Z_a-z]\\\\w*)?\",\"beginCaptures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#expression\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"}]},\"annotations\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.decorator.gdscript\"},\"2\":{\"name\":\"entity.name.function.decorator.gdscript\"}},\"match\":\"(@)(export|export_group|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|export_storage|icon|onready|rpc|tool|warning_ignore|static_unload)\\\\b\"},\"any_method\":{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b(?=\\\\s*\\\\()\",\"name\":\"entity.name.function.other.gdscript\"},\"any_property\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.gdscript\"},\"2\":{\"name\":\"constant.language.gdscript\"},\"3\":{\"name\":\"variable.other.property.gdscript\"}},\"match\":\"\\\\b(\\\\.)\\\\s*(?<![#$%@])(?:([A-Z_][0-9A-Z_]*)|([A-Z_a-z]\\\\w*))\\\\b(?!\\\\()\"},\"any_variable\":{\"match\":\"\\\\b(?<![#$%@])([A-Z_a-z]\\\\w*)\\\\b(?!\\\\()\",\"name\":\"variable.other.gdscript\"},\"arithmetic_operator\":{\"match\":\"->|\\\\+=|-=|\\\\*\\\\*=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|[-%*+/]\",\"name\":\"keyword.operator.arithmetic.gdscript\"},\"assignment_operator\":{\"match\":\"=\",\"name\":\"keyword.operator.assignment.gdscript\"},\"base_expression\":{\"patterns\":[{\"include\":\"#builtin_get_node_shorthand\"},{\"include\":\"#nodepath_object\"},{\"include\":\"#nodepath_function\"},{\"include\":\"#strings\"},{\"include\":\"#builtin_classes\"},{\"include\":\"#const_vars\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#lambda_declaration\"},{\"include\":\"#class_declaration\"},{\"include\":\"#variable_declaration\"},{\"include\":\"#signal_declaration_bare\"},{\"include\":\"#signal_declaration\"},{\"include\":\"#function_declaration\"},{\"include\":\"#statement_keyword\"},{\"include\":\"#assignment_operator\"},{\"include\":\"#in_keyword\"},{\"include\":\"#control_flow\"},{\"include\":\"#match_keyword\"},{\"include\":\"#curly_braces\"},{\"include\":\"#square_braces\"},{\"include\":\"#round_braces\"},{\"include\":\"#function_call\"},{\"include\":\"#region\"},{\"include\":\"#comment\"},{\"include\":\"#func\"},{\"include\":\"#letter\"},{\"include\":\"#numbers\"},{\"include\":\"#pascal_case_class\"},{\"include\":\"#line_continuation\"}]},\"bitwise_operator\":{\"match\":\"[\\\\&|]|<<=|>>=|<<|>>|[\\\\^~]\",\"name\":\"keyword.operator.bitwise.gdscript\"},\"boolean_operator\":{\"match\":\"(&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.boolean.gdscript\"},\"builtin_classes\":{\"match\":\"(?<![^.]\\\\.|:)\\\\b(Vector2i??|Vector3i??|Vector4i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS)\\\\b\",\"name\":\"entity.name.type.class.builtin.gdscript\"},\"builtin_get_node_shorthand\":{\"patterns\":[{\"include\":\"#builtin_get_node_shorthand_quoted\"},{\"include\":\"#builtin_get_node_shorthand_bare\"},{\"include\":\"#builtin_get_node_shorthand_bare_multi\"}]},\"builtin_get_node_shorthand_bare\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"},\"4\":{\"name\":\"constant.character.escape.gdscript\"}},\"match\":\"(?<!/\\\\s*)(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([A-Z_a-z]\\\\w*)\\\\b(?!\\\\s*/)\",\"name\":\"meta.literal.nodepath.bare.gdscript\"},\"builtin_get_node_shorthand_bare_multi\":{\"begin\":\"(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([A-Z_a-z]\\\\w*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"(?!\\\\s*/\\\\s*%?\\\\s*[A-Z_a-z]\\\\w*)\",\"name\":\"meta.literal.nodepath.bare.gdscript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"},\"2\":{\"name\":\"keyword.control.flow.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"match\":\"(/)\\\\s*(%)?\\\\s*([A-Z_a-z]\\\\w*)\\\\s*\"}]},\"builtin_get_node_shorthand_quoted\":{\"begin\":\"(?:([$%])|([\\\\&@^]))([\\\"'])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"end\":\"(\\\\3)\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow\"}]},\"class_declaration\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=^class)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=:)\"},\"class_enum\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"match\":\"\\\\b([A-Z][0-9A-Z_a-z]*)\\\\.([0-9A-Z_]+)\"},\"class_is\":{\"captures\":{\"1\":{\"name\":\"storage.type.is.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"\\\\s+(is)\\\\s+([A-Z_a-z]\\\\w*)\"},\"class_name\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=class_name)\\\\s+([A-Z_a-z]\\\\w*(\\\\.([A-Z_a-z]\\\\w*))?)\"},\"class_new\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"storage.type.new.gdscript\"},\"3\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"match\":\"\\\\b([A-Z_a-z]\\\\w*).(new)\\\\(\"},\"comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.number-sign.gdscript\"}},\"match\":\"(##?).*$\\\\n?\",\"name\":\"comment.line.number-sign.gdscript\"},\"compare_operator\":{\"match\":\"<=|>=|==|[<>]|!=?\",\"name\":\"keyword.operator.comparison.gdscript\"},\"const_vars\":{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.gdscript\"},\"control_flow\":{\"match\":\"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b\",\"name\":\"keyword.control.gdscript\"},\"curly_braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.begin.gdscript\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"expression\":{\"patterns\":[{\"include\":\"#getter_setter_godot4\"},{\"include\":\"#base_expression\"},{\"include\":\"#assignment_operator\"},{\"include\":\"#annotations\"},{\"include\":\"#class_name\"},{\"include\":\"#builtin_classes\"},{\"include\":\"#class_new\"},{\"include\":\"#class_is\"},{\"include\":\"#class_enum\"},{\"include\":\"#any_method\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},\"extends_statement\":{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript\"},\"2\":{\"name\":\"entity.other.inherited-class.gdscript\"}},\"match\":\"(extends)\\\\s+([A-Z_a-z]\\\\w*\\\\.[A-Z_a-z]\\\\w*)?\"},\"func\":{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"function_arguments\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(?=\\\\))(?!\\\\)\\\\s*\\\\()\",\"patterns\":[{\"match\":\"(,)\",\"name\":\"punctuation.separator.arguments.gdscript\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function-call.gdscript\"},\"2\":{\"name\":\"keyword.operator.assignment.gdscript\"}},\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\s*(=)(?!=)\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"include\":\"#base_expression\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"match\":\"\\\\s*(\\\\))\\\\s*(\\\\()\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"function_call\":{\"begin\":\"(?=\\\\b[A-Z_a-z]\\\\w*\\\\b\\\\()\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"}},\"name\":\"meta.function-call.gdscript\",\"patterns\":[{\"include\":\"#function_name\"},{\"include\":\"#function_arguments\"}]},\"function_declaration\":{\"begin\":\"\\\\s*(func)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"},{\"include\":\"#base_expression\"}]},\"function_name\":{\"patterns\":[{\"include\":\"#builtin_classes\"},{\"match\":\"\\\\b(preload)\\\\b\",\"name\":\"keyword.language.gdscript\"},{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b\",\"name\":\"entity.name.function.gdscript\"}]},\"getter_setter_godot4\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"}},\"match\":\"(get)\\\\s*(:)\",\"name\":\"meta.variable.declaration.getter.gdscript\"},{\"captures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"},\"3\":{\"name\":\"variable.other.gdscript\"},\"4\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"},\"5\":{\"name\":\"punctuation.separator.annotation.gdscript\"}},\"match\":\"(set)\\\\s*(\\\\()\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\))\\\\s*(:)\",\"name\":\"meta.variable.declaration.setter.gdscript\"}]},\"in_keyword\":{\"patterns\":[{\"begin\":\"\\\\b(for)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"end\":\":\",\"patterns\":[{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.control.gdscript\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}]},\"keywords\":{\"match\":\"\\\\b(?:class|class_name|abstract|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\\\\b\",\"name\":\"keyword.language.gdscript\"},\"lambda_declaration\":{\"begin\":\"(func)\\\\s?(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:|(?=[\\\\n\\\"#']))\",\"end2\":\"(\\\\s*(\\\\-\\\\>)\\\\s*(void\\\\w*)|([a-zA-Z_]\\\\w*)\\\\s*\\\\:)\",\"endCaptures2\":{\"1\":{\"name\":\"punctuation.separator.annotation.result.gdscript\"},\"2\":{\"name\":\"keyword.language.void.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript markup.italic\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},\"letter\":{\"match\":\"\\\\b(?:true|false|null)\\\\b\",\"name\":\"constant.language.gdscript\"},\"line_continuation\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"},\"2\":{\"name\":\"invalid.illegal.line.continuation.gdscript\"}},\"match\":\"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)\"},{\"begin\":\"(\\\\\\\\)\\\\s*$\\\\n?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"}},\"end\":\"(?=^\\\\s*$)|(?!(\\\\s*[Rr]?('''|\\\"\\\"\\\"|[\\\"']))|\\\\G()$)\",\"patterns\":[{\"include\":\"#base_expression\"}]}]},\"loose_default\":{\"begin\":\"(=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"match_keyword\":{\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"match\":\"^\\\\n\\\\s*(match)\"},\"nodepath_function\":{\"begin\":\"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"begin\":\"([\\\"'])\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]},{\"include\":\"#expression\"}]},\"nodepath_object\":{\"begin\":\"(NodePath)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdscript\"}},\"end\":\"\\\\)\",\"name\":\"meta.literal.nodepath.gdscript\",\"patterns\":[{\"begin\":\"([\\\"'])\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]}]},\"numbers\":{\"patterns\":[{\"match\":\"0b[01_]+\",\"name\":\"constant.numeric.integer.binary.gdscript\"},{\"match\":\"0x[_\\\\h]+\",\"name\":\"constant.numeric.integer.hexadecimal.gdscript\"},{\"match\":\"\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"([0-9][0-9_]*)\\\\.[0-9_]*([Ee][-+]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"([0-9][0-9_]*)?\\\\.[0-9_]*([Ee][-+]?[0-9_]+)\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"[0-9][0-9_]*[Ee][-+]?[0-9_]+\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"-?[0-9][0-9_]*\",\"name\":\"constant.numeric.integer.gdscript\"}]},\"operators\":{\"patterns\":[{\"include\":\"#wordlike_operator\"},{\"include\":\"#boolean_operator\"},{\"include\":\"#arithmetic_operator\"},{\"include\":\"#bitwise_operator\"},{\"include\":\"#compare_operator\"}]},\"parameters\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.parameters.gdscript\",\"patterns\":[{\"include\":\"#annotated_parameter\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"match\":\"([A-Z_a-z]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))\"},{\"include\":\"#comment\"},{\"include\":\"#loose_default\"}]},\"pascal_case_class\":{\"match\":\"\\\\b([A-Z]+[0-9_a-z]*([A-Z]?[0-9_a-z]+)*[A-Z]?)\\\\b\",\"name\":\"entity.name.type.class.gdscript\"},\"region\":{\"match\":\"#(end)?region.*$\\\\n?\",\"name\":\"keyword.language.region.gdscript\"},\"round_braces\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"signal_declaration\":{\"begin\":\"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"((?=[\\\\n\\\"#']))\",\"name\":\"meta.signal.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"}]},\"signal_declaration_bare\":{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)(?=[\\\\n\\\\s])\",\"name\":\"meta.signal.gdscript\"},\"square_braces\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.begin.gdscript\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"statement\":{\"patterns\":[{\"include\":\"#extends_statement\"}]},\"statement_keyword\":{\"patterns\":[{\"match\":\"\\\\b(?<!\\\\.)(continue|assert|break|elif|else|if|pass|return|while)\\\\b\",\"name\":\"keyword.control.flow.gdscript\"},{\"match\":\"\\\\b(?<!\\\\.)(class)\\\\b\",\"name\":\"storage.type.class.gdscript\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"}},\"match\":\"^\\\\s*(case|match)(?=\\\\s*([-\\\"#'(+:\\\\[{\\\\w\\\\d]|$))\\\\b\"}]},\"string_bracket_placeholders\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"},\"3\":{\"name\":\"storage.type.format.gdscript\"},\"4\":{\"name\":\"storage.type.format.gdscript\"}},\"match\":\"(\\\\{\\\\{|}}|\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\\"']+])*(![ars])?(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})\",\"name\":\"meta.format.brace.gdscript\"},{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"},\"3\":{\"name\":\"storage.type.format.gdscript\"},\"4\":{\"name\":\"storage.type.format.gdscript\"}},\"match\":\"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\\"']+])*(![ars])?(:)[^\\\\n\\\"'{}]*(?:\\\\{[^\\\\n\\\"'}]*?}[^\\\\n\\\"'{}]*)*})\",\"name\":\"meta.format.brace.gdscript\"}]},\"string_percent_placeholders\":{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"}},\"match\":\"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])\",\"name\":\"meta.format.percent.gdscript\"},\"strings\":{\"begin\":\"(r)?(\\\"\\\"\\\"|'''|[\\\"'])\",\"beginCaptures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"\\\\2\",\"name\":\"string.quoted.gdscript\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.gdscript\"},{\"include\":\"#string_percent_placeholders\"},{\"include\":\"#string_bracket_placeholders\"}]},\"variable_declaration\":{\"begin\":\"\\\\b(?:(var)|(const))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.var.gdscript\"},\"2\":{\"name\":\"keyword.language.gdscript storage.type.const.gdscript\"}},\"end\":\"$|;\",\"name\":\"meta.variable.declaration.gdscript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"},\"3\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"(:)?\\\\s*([gs]et)\\\\s+=\\\\s+([A-Z_a-z]\\\\w*)\"},{\"match\":\":=|=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"(:)\\\\s*([A-Z_a-z]\\\\w*)?\"},{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"},\"3\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"(setget)\\\\s+([A-Z_a-z]\\\\w*)(?:,\\\\s*([A-Z_a-z]\\\\w*))?\"},{\"include\":\"#expression\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"wordlike_operator\":{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}},\"scopeName\":\"source.gdscript\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"GDScript\",\"fileTypes\":[\"gd\"],\"name\":\"gdscript\",\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#expression\"}],\"repository\":{\"annotated_parameter\":{\"begin\":\"\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(:)\\\\s*([A-Z_a-z]\\\\w*)?\",\"beginCaptures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#expression\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"}]},\"annotations\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.decorator.gdscript\"},\"2\":{\"name\":\"entity.name.function.decorator.gdscript\"}},\"match\":\"(@)(abstract|export|export_category|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_file_path|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_flags_avoidance|export_global_dir|export_global_file|export_group|export_multiline|export_node_path|export_placeholder|export_range|export_storage|export_subgroup|export_tool_button|icon|onready|rpc|static_unload|tool|warning_ignore|warning_ignore_restore|warning_ignore_start)\\\\b\"},\"any_method\":{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b(?=\\\\s*\\\\()\",\"name\":\"entity.name.function.other.gdscript\"},\"any_property\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.gdscript\"},\"2\":{\"name\":\"constant.language.gdscript\"},\"3\":{\"name\":\"variable.other.property.gdscript\"}},\"match\":\"\\\\b(\\\\.)\\\\s*(?<![#$%@])(?:([A-Z_][0-9A-Z_]*)|([A-Z_a-z]\\\\w*))\\\\b(?!\\\\()\"},\"any_variable\":{\"match\":\"\\\\b(?<![#$%@])([A-Z_a-z]\\\\w*)\\\\b(?!\\\\()\",\"name\":\"variable.other.gdscript\"},\"arithmetic_operator\":{\"match\":\"->|\\\\+=|-=|\\\\*\\\\*=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|[-%*+/]\",\"name\":\"keyword.operator.arithmetic.gdscript\"},\"assignment_operator\":{\"match\":\"=\",\"name\":\"keyword.operator.assignment.gdscript\"},\"base_expression\":{\"patterns\":[{\"include\":\"#builtin_get_node_shorthand\"},{\"include\":\"#nodepath_object\"},{\"include\":\"#nodepath_function\"},{\"include\":\"#strings\"},{\"include\":\"#builtin_classes\"},{\"include\":\"#const_vars\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#lambda_declaration\"},{\"include\":\"#class_declaration\"},{\"include\":\"#variable_declaration\"},{\"include\":\"#signal_declaration_bare\"},{\"include\":\"#signal_declaration\"},{\"include\":\"#function_declaration\"},{\"include\":\"#statement_keyword\"},{\"include\":\"#assignment_operator\"},{\"include\":\"#in_keyword\"},{\"include\":\"#control_flow\"},{\"include\":\"#match_keyword\"},{\"include\":\"#curly_braces\"},{\"include\":\"#square_braces\"},{\"include\":\"#round_braces\"},{\"include\":\"#function_call\"},{\"include\":\"#region\"},{\"include\":\"#comment\"},{\"include\":\"#func\"},{\"include\":\"#letter\"},{\"include\":\"#numbers\"},{\"include\":\"#pascal_case_class\"},{\"include\":\"#line_continuation\"}]},\"bitwise_operator\":{\"match\":\"[\\\\&|]|<<=|>>=|<<|>>|[\\\\^~]\",\"name\":\"keyword.operator.bitwise.gdscript\"},\"boolean_operator\":{\"match\":\"(&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.boolean.gdscript\"},\"builtin_classes\":{\"match\":\"(?<![^.]\\\\.|:)\\\\b(Vector2i??|Vector3i??|Vector4i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS|Variant|void)\\\\b\",\"name\":\"entity.name.type.class.builtin.gdscript\"},\"builtin_get_node_shorthand\":{\"patterns\":[{\"include\":\"#builtin_get_node_shorthand_quoted\"},{\"include\":\"#builtin_get_node_shorthand_bare\"},{\"include\":\"#builtin_get_node_shorthand_bare_multi\"}]},\"builtin_get_node_shorthand_bare\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"},\"4\":{\"name\":\"constant.character.escape.gdscript\"}},\"match\":\"(?<!/\\\\s*)(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([A-Z_a-z]\\\\w*)\\\\b(?!\\\\s*/)\",\"name\":\"meta.literal.nodepath.bare.gdscript\"},\"builtin_get_node_shorthand_bare_multi\":{\"begin\":\"(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([A-Z_a-z]\\\\w*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"(?!\\\\s*/\\\\s*%?\\\\s*[A-Z_a-z]\\\\w*)\",\"name\":\"meta.literal.nodepath.bare.gdscript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"},\"2\":{\"name\":\"keyword.control.flow.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"match\":\"(/)\\\\s*(%)?\\\\s*([A-Z_a-z]\\\\w*)\\\\s*\"}]},\"builtin_get_node_shorthand_quoted\":{\"begin\":\"(?:([$%])|([\\\\&@^]))([\\\"'])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"end\":\"(\\\\3)\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow\"}]},\"class_declaration\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=^class)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=:)\"},\"class_enum\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"match\":\"\\\\b([A-Z][0-9A-Z_a-z]*)\\\\.([0-9A-Z_]+)\"},\"class_is\":{\"captures\":{\"1\":{\"name\":\"storage.type.is.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"\\\\s+(is)\\\\s+([A-Z_a-z]\\\\w*)\"},\"class_name\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=class_name)\\\\s+([A-Z_a-z]\\\\w*(\\\\.([A-Z_a-z]\\\\w*))?)\"},\"class_new\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"storage.type.new.gdscript\"},\"3\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"match\":\"\\\\b([A-Z_a-z]\\\\w*).(new)\\\\(\"},\"comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.number-sign.gdscript\"}},\"match\":\"(##?).*$\\\\n?\",\"name\":\"comment.line.number-sign.gdscript\"},\"compare_operator\":{\"match\":\"<=|>=|==|[<>]|!=?\",\"name\":\"keyword.operator.comparison.gdscript\"},\"const_vars\":{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.gdscript\"},\"control_flow\":{\"match\":\"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b\",\"name\":\"keyword.control.gdscript\"},\"curly_braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.begin.gdscript\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"expression\":{\"patterns\":[{\"include\":\"#getter_setter_godot4\"},{\"include\":\"#base_expression\"},{\"include\":\"#assignment_operator\"},{\"include\":\"#annotations\"},{\"include\":\"#class_name\"},{\"include\":\"#builtin_classes\"},{\"include\":\"#class_new\"},{\"include\":\"#class_is\"},{\"include\":\"#class_enum\"},{\"include\":\"#any_method\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},\"extends_statement\":{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript\"},\"2\":{\"name\":\"entity.other.inherited-class.gdscript\"}},\"match\":\"(extends)\\\\s+([A-Z_a-z]\\\\w*\\\\.[A-Z_a-z]\\\\w*)?\"},\"func\":{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"function_arguments\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(?=\\\\))(?!\\\\)\\\\s*\\\\()\",\"patterns\":[{\"match\":\"(,)\",\"name\":\"punctuation.separator.arguments.gdscript\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function-call.gdscript\"},\"2\":{\"name\":\"keyword.operator.assignment.gdscript\"}},\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\s*(=)(?!=)\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"include\":\"#base_expression\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"match\":\"\\\\s*(\\\\))\\\\s*(\\\\()\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"function_call\":{\"begin\":\"(?=\\\\b[A-Z_a-z]\\\\w*\\\\b\\\\()\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"}},\"name\":\"meta.function-call.gdscript\",\"patterns\":[{\"include\":\"#function_name\"},{\"include\":\"#function_arguments\"}]},\"function_declaration\":{\"begin\":\"\\\\s*(func)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"},{\"include\":\"#base_expression\"}]},\"function_name\":{\"patterns\":[{\"include\":\"#builtin_classes\"},{\"match\":\"\\\\b(preload)\\\\b\",\"name\":\"keyword.language.gdscript\"},{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b\",\"name\":\"entity.name.function.gdscript\"}]},\"getter_setter_godot4\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"}},\"match\":\"(get)\\\\s*(:)\",\"name\":\"meta.variable.declaration.getter.gdscript\"},{\"captures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"},\"3\":{\"name\":\"variable.other.gdscript\"},\"4\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"},\"5\":{\"name\":\"punctuation.separator.annotation.gdscript\"}},\"match\":\"(set)\\\\s*(\\\\()\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\))\\\\s*(:)\",\"name\":\"meta.variable.declaration.setter.gdscript\"}]},\"in_keyword\":{\"patterns\":[{\"begin\":\"\\\\b(for)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"end\":\":\",\"patterns\":[{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.control.gdscript\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}]},\"keywords\":{\"match\":\"\\\\b(?:class|class_name|is|onready|tool|static|export|as|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\\\\b\",\"name\":\"keyword.language.gdscript\"},\"lambda_declaration\":{\"begin\":\"(func)\\\\s?(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:|(?=[\\\\n\\\"#']))\",\"end2\":\"(\\\\s*(\\\\-\\\\>)\\\\s*(void\\\\w*)|([a-zA-Z_]\\\\w*)\\\\s*\\\\:)\",\"endCaptures2\":{\"1\":{\"name\":\"punctuation.separator.annotation.result.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.builtin.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript markup.italic\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},\"letter\":{\"match\":\"\\\\b(?:true|false|null)\\\\b\",\"name\":\"constant.language.gdscript\"},\"line_continuation\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"},\"2\":{\"name\":\"invalid.illegal.line.continuation.gdscript\"}},\"match\":\"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)\"},{\"begin\":\"(\\\\\\\\)\\\\s*$\\\\n?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"}},\"end\":\"(?=^\\\\s*$)|(?!(\\\\s*[Rr]?('''|\\\"\\\"\\\"|[\\\"']))|\\\\G()$)\",\"patterns\":[{\"include\":\"#base_expression\"}]}]},\"loose_default\":{\"begin\":\"(=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"match_keyword\":{\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"match\":\"^\\\\n\\\\s*(match)\"},\"nodepath_function\":{\"begin\":\"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"begin\":\"([\\\"'])\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]},{\"include\":\"#expression\"}]},\"nodepath_object\":{\"begin\":\"(NodePath)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdscript\"}},\"end\":\"\\\\)\",\"name\":\"meta.literal.nodepath.gdscript\",\"patterns\":[{\"begin\":\"([\\\"'])\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]}]},\"numbers\":{\"patterns\":[{\"match\":\"0b[01_]+\",\"name\":\"constant.numeric.integer.binary.gdscript\"},{\"match\":\"0x[_\\\\h]+\",\"name\":\"constant.numeric.integer.hexadecimal.gdscript\"},{\"match\":\"\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"([0-9][0-9_]*)\\\\.[0-9_]*([Ee][-+]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"([0-9][0-9_]*)?\\\\.[0-9_]*([Ee][-+]?[0-9_]+)\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"[0-9][0-9_]*[Ee][-+]?[0-9_]+\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"-?[0-9][0-9_]*\",\"name\":\"constant.numeric.integer.gdscript\"}]},\"operators\":{\"patterns\":[{\"include\":\"#wordlike_operator\"},{\"include\":\"#boolean_operator\"},{\"include\":\"#arithmetic_operator\"},{\"include\":\"#bitwise_operator\"},{\"include\":\"#compare_operator\"}]},\"parameters\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.parameters.gdscript\",\"patterns\":[{\"include\":\"#annotated_parameter\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"match\":\"([A-Z_a-z]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))\"},{\"include\":\"#comment\"},{\"include\":\"#loose_default\"}]},\"pascal_case_class\":{\"match\":\"\\\\b([A-Z]+[0-9_a-z]*([A-Z]?[0-9_a-z]+)*[A-Z]?)\\\\b\",\"name\":\"entity.name.type.class.gdscript\"},\"region\":{\"match\":\"#(end)?region.*$\\\\n?\",\"name\":\"keyword.language.region.gdscript\"},\"round_braces\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"signal_declaration\":{\"begin\":\"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"((?=[\\\\n\\\"#']))\",\"name\":\"meta.signal.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"}]},\"signal_declaration_bare\":{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)(?=[\\\\n\\\\s])\",\"name\":\"meta.signal.gdscript\"},\"square_braces\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.begin.gdscript\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"statement\":{\"patterns\":[{\"include\":\"#extends_statement\"}]},\"statement_keyword\":{\"patterns\":[{\"match\":\"\\\\b(?<!\\\\.)(continue|assert|break|elif|else|if|pass|return|while)\\\\b\",\"name\":\"keyword.control.flow.gdscript\"},{\"match\":\"\\\\b(?<!\\\\.)(class)\\\\b\",\"name\":\"storage.type.class.gdscript\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"}},\"match\":\"^\\\\s*(case|match)(?=\\\\s*([-\\\"#'(+:\\\\[{\\\\w\\\\d]|$))\\\\b\"}]},\"string_bracket_placeholders\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"},\"3\":{\"name\":\"storage.type.format.gdscript\"},\"4\":{\"name\":\"storage.type.format.gdscript\"}},\"match\":\"(\\\\{\\\\{|}}|\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\\"']+])*(![ars])?(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})\",\"name\":\"meta.format.brace.gdscript\"},{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"},\"3\":{\"name\":\"storage.type.format.gdscript\"},\"4\":{\"name\":\"storage.type.format.gdscript\"}},\"match\":\"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\\"']+])*(![ars])?(:)[^\\\\n\\\"'{}]*(?:\\\\{[^\\\\n\\\"'}]*?}[^\\\\n\\\"'{}]*)*})\",\"name\":\"meta.format.brace.gdscript\"}]},\"string_percent_placeholders\":{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"}},\"match\":\"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])\",\"name\":\"meta.format.percent.gdscript\"},\"strings\":{\"begin\":\"(r)?(\\\"\\\"\\\"|'''|[\\\"'])\",\"beginCaptures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"\\\\2\",\"name\":\"string.quoted.gdscript\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.gdscript\"},{\"include\":\"#string_percent_placeholders\"},{\"include\":\"#string_bracket_placeholders\"}]},\"variable_declaration\":{\"begin\":\"\\\\b(?:(var)|(const))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.var.gdscript\"},\"2\":{\"name\":\"keyword.language.gdscript storage.type.const.gdscript\"}},\"end\":\"$|;\",\"name\":\"meta.variable.declaration.gdscript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"},\"3\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"(:)?\\\\s*([gs]et)\\\\s+=\\\\s+([A-Z_a-z]\\\\w*)\"},{\"match\":\":=|=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"(:)\\\\s*([A-Z_a-z]\\\\w*)?\"},{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"},\"3\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"(setget)\\\\s+([A-Z_a-z]\\\\w*)(?:,\\\\s*([A-Z_a-z]\\\\w*))?\"},{\"include\":\"#expression\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"wordlike_operator\":{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}},\"scopeName\":\"source.gdscript\"}"))
2
2
 
3
3
  export default [
4
4
  lang