@vincentpeyrouse/home-assistant-matter-hub
Version:
This project simulates bridges to publish your entities from Home Assistant to any Matter-compatible controller like Alexa, Apple Home or Google Home. Using Matter, those can be connected easily using local communication without the need of port forwardin
1 lines • 59.7 kB
JavaScript
const e=Object.freeze(JSON.parse('{"displayName":"Ballerina","fileTypes":["bal"],"name":"ballerina","patterns":[{"include":"#statements"}],"repository":{"access-modifier":{"patterns":[{"match":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private)(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.ballerina keyword.other.ballerina"}]},"annotationAttachment":{"patterns":[{"captures":{"1":{"name":"punctuation.decorator.ballerina"},"2":{"name":"support.type.ballerina"},"3":{"name":"punctuation.decorator.ballerina"},"4":{"name":"support.type.ballerina"}},"match":"(@)((?:[_$A-Za-z][_$0-9A-Za-z]*))\\\\s*(:?)\\\\s*((?:[_$A-Za-z][_$0-9A-Za-z]*)?)"}]},"annotationDefinition":{"patterns":[{"begin":"\\\\bannotation\\\\b","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":";","patterns":[{"include":"#code"}]}]},"array-literal":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.ballerina"}},"end":"\\\\]","endCaptures":{"0":{"name":"meta.brace.square.ballerina"}},"name":"meta.array.literal.ballerina","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"booleans":{"patterns":[{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.ballerina"}]},"butClause":{"patterns":[{"begin":"=>","beginCaptures":{"0":{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},"end":",|(?=\\\\})","patterns":[{"include":"#code"}]}]},"butExp":{"patterns":[{"begin":"\\\\bbut\\\\b","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"patterns":[{"include":"#butExpBody"},{"include":"#comment"}]}]},"butExpBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"end":"(?=\\\\})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"patterns":[{"include":"#parameter"},{"include":"#butClause"},{"include":"#comment"}]}]},"call":{"patterns":[{"match":"(?:\\\\\')?([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=\\\\()","name":"entity.name.function.ballerina"}]},"callableUnitBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"(?=\\\\})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#workerDef"},{"include":"#service-decl"},{"include":"#objectDec"},{"include":"#function-defn"},{"include":"#forkStatement"},{"include":"#code"}]}]},"class-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"name":"meta.class.body.ballerina","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#function-defn"},{"include":"#var-expr"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#keywords"},{"begin":"(?<=:)\\\\s*","end":"(?=\\\\s|[;),}\\\\]:\\\\-+]|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"class-defn":{"begin":"(\\\\s+)(class\\\\b)|^class\\\\b(?=\\\\s+|/[/*])","beginCaptures":{"0":{"name":"storage.type.class.ballerina keyword.other.ballerina"}},"end":"(?<=\\\\})","name":"meta.class.ballerina","patterns":[{"include":"#keywords"},{"captures":{"0":{"name":"entity.name.type.class.ballerina"}},"match":"[_$A-Za-z][_$0-9A-Za-z]*"},{"include":"#class-body"}]},"code":{"patterns":[{"include":"#booleans"},{"include":"#matchStatement"},{"include":"#butExp"},{"include":"#xml"},{"include":"#stringTemplate"},{"include":"#keywords"},{"include":"#strings"},{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#annotationAttachment"},{"include":"#numbers"},{"include":"#maps"},{"include":"#paranthesised"},{"include":"#paranthesisedBracket"},{"include":"#regex"}]},"comment":{"patterns":[{"match":"\\\\/\\\\/.*","name":"comment.ballerina"}]},"constrainType":{"patterns":[{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}},"patterns":[{"include":"#comment"},{"include":"#constrainType"},{"match":"\\\\b([_$A-Za-z][_$0-9A-Za-z]*)\\\\b","name":"storage.type.ballerina"}]}]},"control-statement":{"patterns":[{"begin":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"0":{"name":"keyword.control.flow.ballerina"}},"end":"(?=[;}]|$|;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))","patterns":[{"include":"#expression"}]},{"include":"#for-loop"},{"include":"#if-statement"},{"match":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.conditional.ballerina"}]},"decl-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"(?=\\\\} external;)|(\\\\})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"name":"meta.block.ballerina","patterns":[{"include":"#statements"},{"include":"#mdDocumentation"}]},"declaration":{"patterns":[{"include":"#import-declaration"},{"include":"#var-expr"},{"include":"#typeDefinition"},{"include":"#function-defn"},{"include":"#service-decl"},{"include":"#class-defn"},{"include":"#enum-decl"},{"include":"#source"},{"include":"#keywords"}]},"defaultValue":{"patterns":[{"begin":"[=:]","beginCaptures":{"0":{"name":"keyword.operator.ballerina"}},"end":"(?=[,)])","patterns":[{"include":"#code"}]}]},"defaultWithParentheses":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}}}]},"documentationBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"end":"(?=\\\\})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"patterns":[{"captures":{"1":{"name":"keyword.other.ballerina.documentation"},"2":{"name":"keyword.other.ballerina.documentation"},"3":{"name":"variable.parameter.ballerina.documentation"},"4":{"name":"keyword.other.ballerina.documentation"}},"match":"(P|R|T|F|V)({{)(.*)(}})"},{"begin":"\\\\```","end":"\\\\```","name":"comment.block.code.ballerina.documentation"},{"begin":"\\\\``","end":"\\\\``","name":"comment.block.code.ballerina.documentation"},{"begin":"\\\\`","end":"\\\\`","name":"comment.block.code.ballerina.documentation"},{"match":".","name":"comment.block.ballerina.documentation"}]}]},"documentationDef":{"patterns":[{"begin":"\\\\b(?:documentation|deprecated)\\\\b","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":"\\\\}","endCaptures":{"0":{"name":"delimiter.curly"}},"patterns":[{"include":"#documentationBody"},{"include":"#comment"}]}]},"enum-decl":{"begin":"(?:\\\\b(const)\\\\s+)?\\\\b(enum)\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)","beginCaptures":{"1":{"name":"storage.modifier.ballerina"},"2":{"name":"keyword.other.ballerina"},"3":{"name":"entity.name.type.enum.ballerina"}},"end":"(?<=\\\\})","name":"meta.enum.declaration.ballerina","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"begin":"([_$A-Za-z][_$0-9A-Za-z]*)","beginCaptures":{"0":{"name":"variable.other.enummember.ballerina"}},"end":"(?=,|\\\\}|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},{"begin":"(?=((\\\\\'([^\\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\\')|(\\\\\\"([^\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`)|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])+\\\\])))","end":"(?=,|\\\\}|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}]}]},"errorDestructure":{"patterns":[{"begin":"error","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?==>)","patterns":[{"include":"#code"}]}]},"expression":{"patterns":[{"include":"#keywords"},{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#regex"}]},"expression-operators":{"patterns":[{"match":"\\\\*=|(?<!\\\\()/=|%=|\\\\+=|-=","name":"keyword.operator.assignment.compound.ballerina"},{"match":"\\\\&=|\\\\^=|<<=|>>=|>>>=|\\\\|=","name":"keyword.operator.assignment.compound.bitwise.ballerina"},{"match":"<<|>>>|>>","name":"keyword.operator.bitwise.shift.ballerina"},{"match":"===|!==|==|!=","name":"keyword.operator.comparison.ballerina"},{"match":"<=|>=|<>|<|>","name":"keyword.operator.relational.ballerina"},{"captures":{"1":{"name":"keyword.operator.logical.ballerina"},"2":{"name":"keyword.operator.assignment.compound.ballerina"},"3":{"name":"keyword.operator.arithmetic.ballerina"}},"match":"(?<=[_$0-9A-Za-z])(!)\\\\s*(?:(/=)|(?:(/)(?![/*])))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.ballerina"},{"match":"\\\\&|~|\\\\^|\\\\|","name":"keyword.operator.bitwise.ballerina"},{"match":"=","name":"keyword.operator.assignment.ballerina"},{"match":"--","name":"keyword.operator.decrement.ballerina"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ballerina"},{"match":"%|\\\\*|/|-|\\\\+","name":"keyword.operator.arithmetic.ballerina"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#xml"},{"include":"#string"},{"include":"#stringTemplate"},{"include":"#comment"},{"include":"#object-literal"},{"include":"#ternary-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#paranthesised"},{"include":"#regex"}]},"flags-on-off":{"name":"meta.flags.regexp.ballerina","patterns":[{"begin":"(\\\\??)([imsx]*)(-?)([imsx]*)(:)","beginCaptures":{"1":{"name":"punctuation.other.non-capturing-group-begin.regexp.ballerina"},"2":{"name":"keyword.other.non-capturing-group.flags-on.regexp.ballerina"},"3":{"name":"punctuation.other.non-capturing-group.off.regexp.ballerina"},"4":{"name":"keyword.other.non-capturing-group.flags-off.regexp.ballerina"},"5":{"name":"punctuation.other.non-capturing-group-end.regexp.ballerina"}},"end":"()","name":"constant.other.flag.regexp.ballerina","patterns":[{"include":"#regexp"},{"include":"#template-substitution-element"}]}]},"for-loop":{"begin":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))foreach\\\\s*","beginCaptures":{"0":{"name":"keyword.control.loop.ballerina"},"1":{"name":"support.type.primitive.ballerina"}},"end":"(?=\\\\{)","patterns":[{"match":"\\\\bin\\\\b","name":"keyword.other.ballerina"},{"include":"#identifiers"},{"include":"#comment"},{"include":"#var-expr"},{"include":"#expression"}]},"forkBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"(?=\\\\})","patterns":[{"include":"#workerDef"}]}]},"forkStatement":{"patterns":[{"begin":"\\\\bfork\\\\b","beginCaptures":{"0":{"name":"keyword.control.ballerina"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#forkBody"}]}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#functionParameters"},{"include":"#decl-block"},{"begin":"=>","beginCaptures":{"0":{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},"end":"(?=\\\\;)|(?=\\\\,)|(?=)(?=\\\\);)","name":"meta.block.ballerina","patterns":[{"include":"#statements"},{"include":"#punctuation-comma"}]},{"match":"\\\\*","name":"keyword.generator.asterisk.ballerina"}]},"function-defn":{"begin":"(?:(public|private)\\\\s+)?(function\\\\b)","beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"keyword.other.ballerina"}},"end":"(?<=\\\\;)|(?<=\\\\})|(?<=\\\\,)|(?=)(?=\\\\);)","name":"meta.function.ballerina","patterns":[{"match":"\\\\bexternal\\\\b","name":"keyword.ballerina"},{"include":"#stringTemplate"},{"include":"#annotationAttachment"},{"include":"#functionReturns"},{"include":"#functionName"},{"include":"#functionParameters"},{"include":"#punctuation-semicolon"},{"include":"#function-body"},{"include":"#regex"}]},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#numbers"},{"include":"#string"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#keywords"},{"include":"#parameter-name"},{"include":"#array-literal"},{"include":"#variable-initializer"},{"include":"#identifiers"},{"include":"#regex"},{"match":"\\\\,","name":"punctuation.separator.parameter.ballerina"}]},"functionName":{"patterns":[{"match":"\\\\bfunction\\\\b","name":"keyword.other.ballerina"},{"include":"#type-primitive"},{"include":"#self-literal"},{"include":"#string"},{"captures":{"2":{"name":"variable.language.this.ballerina"},"3":{"name":"keyword.other.ballerina"},"4":{"name":"support.type.primitive.ballerina"},"5":{"name":"storage.type.ballerina"},"6":{"name":"meta.definition.function.ballerina entity.name.function.ballerina"}},"match":"\\\\s+(\\\\b(self)|\\\\b(is|new|isolated|null|function|in)\\\\b|(string|int|boolean|float|byte|decimal|json|xml|anydata)\\\\b|\\\\b(readonly|error|map)\\\\b|([_$A-Za-z][_$0-9A-Za-z]*))"}]},"functionParameters":{"begin":"\\\\(|\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"end":"\\\\)|\\\\]","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}},"name":"meta.parameters.ballerina","patterns":[{"include":"#function-parameters-body"}]},"functionReturns":{"begin":"\\\\s*(returns)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.ballerina"}},"end":"(?==>)|(=)|(?=\\\\{)|(\\\\))|(?=\\\\;)","endCaptures":{"1":{"name":"keyword.operator.ballerina"}},"name":"meta.type.function.return.ballerina","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numbers"},{"include":"#keywords"},{"include":"#type-primitive"},{"captures":{"1":{"name":"support.type.primitive.ballerina"}},"match":"\\\\s*\\\\b(var)(?=\\\\s+|\\\\[|\\\\?)"},{"match":"\\\\|","name":"keyword.operator.ballerina"},{"match":"\\\\?","name":"keyword.operator.optional.ballerina"},{"include":"#type-annotation"},{"include":"#type-tuple"},{"include":"#keywords"},{"match":"[_$A-Za-z][_$0-9A-Za-z]*","name":"variable.other.readwrite.ballerina"}]},"functionType":{"patterns":[{"begin":"\\\\bfunction\\\\b","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":"(?=\\\\,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))|(?=\\\\])","patterns":[{"include":"#comment"},{"include":"#functionTypeParamList"},{"include":"#functionTypeReturns"}]}]},"functionTypeParamList":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"delimiter.parenthesis"}},"end":"\\\\)","endCaptures":{"0":{"name":"delimiter.parenthesis"}},"patterns":[{"match":"public","name":"keyword"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#parameterTuple"},{"include":"#functionTypeType"},{"include":"#comment"}]}]},"functionTypeReturns":{"patterns":[{"begin":"\\\\breturns\\\\b","beginCaptures":{"0":{"name":"keyword"}},"end":"(?=\\\\,)|(?:\\\\|)|(?=\\\\])|(?=\\\\))","patterns":[{"include":"#functionTypeReturnsParameter"},{"include":"#comment"}]}]},"functionTypeReturnsParameter":{"patterns":[{"begin":"((?=record|object|function)|(?:[_$A-Za-z][_$0-9A-Za-z]*))","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?=\\\\,)|(?:\\\\|)|(?::)|(?==>)|(?=\\\\))|(?=\\\\])","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"match":"[_$A-Za-z][_$0-9A-Za-z]*","name":"default.variable.parameter.ballerina"}]}]},"functionTypeType":{"patterns":[{"begin":"[_$A-Za-z][_$0-9A-Za-z]*","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?=\\\\,)|(?:\\\\|)|(?=\\\\])|(?=\\\\))"}]},"identifiers":{"patterns":[{"captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"entity.name.function.ballerina"}},"match":"(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[\\\\d])))\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\s*=\\\\s*((((function\\\\s*[(<*])|(function\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\s*=>)))|((((<\\\\s*$)|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?[(]\\\\s*((([{\\\\[]\\\\s*)?$)|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?[(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([)]\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\s*:)))|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$A-Za-z]))([^()\\\\\'\\\\\\"\\\\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\\'([^\\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\\')|(\\\\\\"([^\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\)(\\\\s*:\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"entity.name.function.ballerina"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[\\\\d])))\\\\s*(\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=\\\\()"},{"captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"variable.other.property.ballerina"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[\\\\d])))\\\\s*(\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)"},{"include":"#type-primitive"},{"include":"#self-literal"},{"match":"\\\\b(check|foreach|if|checkpanic)\\\\b","name":"keyword.control.ballerina"},{"include":"#call"},{"match":"\\\\b(var)\\\\b","name":"support.type.primitive.ballerina"},{"captures":{"1":{"name":"variable.other.readwrite.ballerina"},"3":{"name":"punctuation.accessor.ballerina"},"4":{"name":"entity.name.function.ballerina"},"5":{"name":"punctuation.definition.parameters.begin.ballerina"},"6":{"name":"punctuation.definition.parameters.end.ballerina"}},"match":"([_$A-Za-z][_$0-9A-Za-z]*)((\\\\.)([_$A-Za-z][_$0-9A-Za-z]*)(\\\\()(\\\\)))?"},{"match":"(\\\\\')([_$A-Za-z][_$0-9A-Za-z]*)","name":"variable.other.property.ballerina"},{"include":"#type-annotation"}]},"if-statement":{"patterns":[{"begin":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\b\\\\s*(?!\\\\{))","end":"(?<=\\\\})","patterns":[{"include":"#comment"},{"begin":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(if)\\\\s*(\\\\()?","beginCaptures":{"1":{"name":"keyword.control.conditional.ballerina"},"2":{"name":"meta.brace.round.ballerina"}},"end":"(\\\\))|(?=\\\\{)","endCaptures":{"1":{"name":"meta.brace.round.ballerina"}},"patterns":[{"include":"#decl-block"},{"include":"#keywords"},{"include":"#identifiers"},{"include":"#type-primitive"},{"include":"#xml"},{"include":"#string"},{"include":"#stringTemplate"},{"include":"#comment"},{"include":"#ternary-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#paranthesised"},{"include":"#regex"}]},{"begin":"(?<=\\\\))(?=\\\\s|=)","end":"(?=\\\\{)","patterns":[{"include":"#literal"},{"include":"#keywords"}]},{"include":"#decl-block"}]}]},"import-clause":{"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.control.default.ballerina"},"3":{"name":"variable.other.readwrite.ballerina meta.import.module.ballerina"},"5":{"name":"keyword.control.default.ballerina"},"6":{"name":"variable.other.readwrite.alias.ballerina"}},"match":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(\\\\bdefault)|(\\\\*)|(\\\\b[_$A-Za-z][_$0-9A-Za-z]*))"},{"match":"([_$A-Za-z][_$0-9A-Za-z]*)","name":"variable.other.readwrite.alias.ballerina"}]},"import-declaration":{"begin":"\\\\bimport\\\\b","beginCaptures":{"0":{"name":"keyword.control.import.ballerina"}},"end":"\\\\;","endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}},"name":"meta.import.ballerina","patterns":[{"match":"(\\\\\')([_$A-Za-z][_$0-9A-Za-z]*)","name":"variable.other.property.ballerina"},{"include":"#keywords"},{"include":"#comment"},{"include":"#import-clause"},{"include":"#punctuation-accessor"}]},"keywords":{"patterns":[{"match":"\\\\b(fork|join|while|returns|transaction|transactional|retry|commit|rollback|typeof|enum|wait|match)\\\\b","name":"keyword.control.ballerina"},{"match":"\\\\b(return|break|continue|check|checkpanic|panic|trap|from|where)\\\\b","name":"keyword.control.flow.ballerina"},{"match":"\\\\b(public|private|external|return|record|object|remote|abstract|client|true|false|fail|import|version)\\\\b","name":"keyword.other.ballerina"},{"match":"\\\\b(as|on|function|resource|listener|const|final|is|null|lock|annotation|source|worker|parameter|field|isolated|in)\\\\b","name":"keyword.other.ballerina"},{"match":"\\\\b(xmlns|table|key|let|new|select|start|flush|default|do|base16|base64|conflict)\\\\b","name":"keyword.other.ballerina"},{"match":"\\\\b(limit|outer|equals|order|by|ascending|descending|class|configurable|variable|module|service|group|collect)\\\\b","name":"keyword.other.ballerina"},{"match":"(=>)","name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"},{"match":"(!|%|\\\\+|-|~=|===|==|=|!=|!==|<|>|&|\\\\||\\\\?:|\\\\.\\\\.\\\\.|<=|>=|&&|\\\\|\\\\||~|>>|>>>)","name":"keyword.operator.ballerina"},{"include":"#types"},{"include":"#self-literal"},{"include":"#type-primitive"}]},"literal":{"patterns":[{"include":"#booleans"},{"include":"#numbers"},{"include":"#strings"},{"include":"#maps"},{"include":"#self-literal"},{"include":"#array-literal"}]},"maps":{"patterns":[{"begin":"\\\\{","end":"\\\\}","patterns":[{"include":"#code"}]}]},"matchBindingPattern":{"patterns":[{"begin":"var","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?==>)|,","patterns":[{"include":"#errorDestructure"},{"include":"#code"},{"match":"[_$A-Za-z][_$0-9A-Za-z]*","name":"variable.parameter.ballerina"}]}]},"matchStatement":{"patterns":[{"begin":"\\\\bmatch\\\\b","beginCaptures":{"0":{"name":"keyword.control.ballerina"}},"end":"\\\\}","patterns":[{"include":"#matchStatementBody"},{"include":"#comment"},{"include":"#code"}]}]},"matchStatementBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"end":"(?=\\\\})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"patterns":[{"include":"#literal"},{"include":"#matchBindingPattern"},{"include":"#matchStatementPatternClause"},{"include":"#comment"},{"include":"#code"}]}]},"matchStatementPatternClause":{"patterns":[{"begin":"=>","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":"((\\\\})|;|,)","patterns":[{"include":"#callableUnitBody"},{"include":"#code"}]}]},"mdDocumentation":{"begin":"\\\\#","end":"[\\\\r\\\\n]+","name":"comment.mddocs.ballerina","patterns":[{"include":"#mdDocumentationReturnParamDescription"},{"include":"#mdDocumentationParamDescription"}]},"mdDocumentationParamDescription":{"patterns":[{"begin":"(\\\\+\\\\s+)(\\\\\'?[_$A-Za-z][_$0-9A-Za-z]*)(\\\\s*-\\\\s+)","beginCaptures":{"1":{"name":"keyword.operator.ballerina"},"2":{"name":"variable.other.readwrite.ballerina"},"3":{"name":"keyword.operator.ballerina"}},"end":"(?=[^#\\\\r\\\\n]|(?:# *?\\\\+))","patterns":[{"match":"#.*","name":"comment.mddocs.paramdesc.ballerina"}]}]},"mdDocumentationReturnParamDescription":{"patterns":[{"begin":"(#)(?: *?)(\\\\+)(?: *)(return)(?: *)(-)?(.*)","beginCaptures":{"1":{"name":"comment.mddocs.ballerina"},"2":{"name":"keyword.ballerina"},"3":{"name":"keyword.ballerina"},"4":{"name":"keyword.ballerina"},"5":{"name":"comment.mddocs.returnparamdesc.ballerina"}},"end":"(?=[^#\\\\r\\\\n]|(?:# *?\\\\+))","patterns":[{"match":"#.*","name":"comment.mddocs.returnparamdesc.ballerina"}]}]},"multiType":{"patterns":[{"match":"(?<=\\\\|)([_$A-Za-z][_$0-9A-Za-z]*)|([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\|)","name":"storage.type.ballerina"},{"match":"\\\\|","name":"keyword.operator.ballerina"}]},"numbers":{"patterns":[{"match":"\\\\b0[xX][\\\\da-fA-F]+\\\\b|\\\\b\\\\d+(?:\\\\.(?:\\\\d+|$))?","name":"constant.numeric.decimal.ballerina"}]},"object-literal":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"name":"meta.objectliteral.ballerina","patterns":[{"include":"#object-member"},{"include":"#punctuation-comma"}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#function-defn"},{"include":"#literal"},{"include":"#keywords"},{"include":"#expression"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=[\\\\]])(?=\\\\s*[(<]))","name":"meta.object.member.ballerina meta.object-literal.key.ballerina","patterns":[{"include":"#comment"}]},{"begin":"(?=[\\\\\'\\\\\\"\\\\`])","end":"(?=:)|((?<=[\\\\\'\\\\\\"\\\\`])(?=((\\\\s*[(<,}])|(\\\\n*})|(\\\\s+(as)\\\\s+))))","name":"meta.object.member.ballerina meta.object-literal.key.ballerina","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=(\\\\b(?<!\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:b|B)[01][01_]*(n)?\\\\b(?!\\\\$))|(\\\\b(?<!\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:(?:\\\\b\\\\d[0-9_]*(\\\\.)\\\\d[0-9_]*[eE][+-]?\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*(\\\\.)[eE][+-]?\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\B(\\\\.)\\\\d[0-9_]*[eE][+-]?\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*[eE][+-]?\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*(\\\\.)\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*(\\\\.)(n)?\\\\B)|(?:\\\\B(\\\\.)\\\\d[0-9_]*(n)?\\\\b)|(?:\\\\b\\\\d[0-9_]*(n)?\\\\b(?!\\\\.)))(?!\\\\$)))","end":"(?=:)|(?=\\\\s*([(<,}])|(\\\\s+as\\\\s+))","name":"meta.object.member.ballerina meta.object-literal.key.ballerina","patterns":[{"include":"#comment"},{"include":"#numbers"}]},{"begin":"(?<=[\\\\]\\\\\'\\\\\\"\\\\`])(?=\\\\s*[(<])","end":"(?=\\\\}|;|,)|(?<=\\\\})","name":"meta.method.declaration.ballerina","patterns":[{"include":"#function-body"}]},{"captures":{"0":{"name":"meta.object-literal.key.ballerina"},"1":{"name":"constant.numeric.decimal.ballerina"}},"match":"(?![_$A-Za-z])([\\\\d]+)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:)","name":"meta.object.member.ballerina"},{"captures":{"0":{"name":"meta.object-literal.key.ballerina"},"1":{"name":"entity.name.function.ballerina"}},"match":"(?:([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:(\\\\s*\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/)*\\\\s*((((function\\\\s*[(<*])|(function\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\s*=>)))|((((<\\\\s*$)|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?[(]\\\\s*((([{\\\\[]\\\\s*)?$)|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})\\\\s*((:\\\\s*\\\\{?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+\\\\s*)?=\\\\s*)))|((\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])\\\\s*((:\\\\s*\\\\[?$)|((\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?[(]\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([)]\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\s*:)))|((<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<]|<\\\\s*([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*(([_$A-Za-z]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*\\\\})*\\\\}))*\\\\})|(\\\\[([^\\\\[\\\\]]|(\\\\[([^\\\\[\\\\]]|\\\\[[^\\\\[\\\\]]*\\\\])*\\\\]))*\\\\])|(\\\\.\\\\.\\\\.\\\\s*[_$A-Za-z]))([^()\\\\\'\\\\\\"\\\\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\\'([^\\\\\'\\\\\\\\]|\\\\\\\\.)*\\\\\')|(\\\\\\"([^\\\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\\\")|(\\\\`([^\\\\`\\\\\\\\]|\\\\\\\\.)*\\\\`))*)?\\\\)(\\\\s*:\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+\\\\})+)?\\\\s*=>))))))","name":"meta.object.member.ballerina"},{"captures":{"0":{"name":"meta.object-literal.key.ballerina"}},"match":"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=(\\\\/\\\\*([^\\\\*]|(\\\\*[^\\\\/]))*\\\\*\\\\/\\\\s*)*:)","name":"meta.object.member.ballerina"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ballerina"}},"end":"(?=,|\\\\})","name":"meta.object.member.ballerina","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.ballerina"}},"match":"([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=,|\\\\}|$|\\\\/\\\\/|\\\\/\\\\*)","name":"meta.object.member.ballerina"},{"captures":{"1":{"name":"keyword.control.as.ballerina"},"2":{"name":"storage.modifier.ballerina"}},"match":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))","name":"meta.object.member.ballerina"},{"begin":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.as.ballerina"}},"end":"(?=[;),}\\\\]:?\\\\-+>]|\\\\|\\\\||\\\\&\\\\&|!==|$|^|((?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+))","name":"meta.object.member.ballerina"},{"begin":"(?=[_$A-Za-z][_$0-9A-Za-z]*\\\\s*=)","end":"(?=,|\\\\}|$|\\\\/\\\\/|\\\\/\\\\*)","name":"meta.object.member.ballerina","patterns":[{"include":"#expression"}]}]},"objectDec":{"patterns":[{"begin":"\\\\bobject\\\\b(?!:)","beginCaptures":{"0":{"name":"keyword.other.ballerina"}},"end":"(?<=\\\\})","patterns":[{"include":"#decl-block"}]}]},"objectInitBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"(?=\\\\})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#comment"},{"include":"#code"}]}]},"objectInitParameters":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}},"patterns":[{"include":"#code"},{"match":"\\\\b([_$A-Za-z][_$0-9A-Za-z]*)\\\\b","name":"variable.parameter.ballerina"}]}]},"objectMemberFunctionDec":{"patterns":[{"begin":"\\\\bfunction\\\\b","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#functionParameters"},{"match":"\\\\breturns\\\\b","name":"keyword.ballerina"},{"include":"#code"}]}]},"parameter":{"patterns":[{"begin":"((?=record|object|function)|([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\|)|(?:[_$A-Za-z][_$0-9A-Za-z]*))","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?:\\\\,)|(?:\\\\|)|(?::)|(?==>)|(?=\\\\))|(?=\\\\])","patterns":[{"include":"#parameterWithDescriptor"},{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"match":"[_$A-Za-z][_$0-9A-Za-z]*","name":"default.variable.parameter.ballerina"}]}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"support.type.primitive.ballerina"}},"match":"\\\\s*\\\\b(var)\\\\s+"},{"captures":{"2":{"name":"keyword.operator.rest.ballerina"},"3":{"name":"support.type.primitive.ballerina"},"4":{"name":"keyword.other.ballerina"},"5":{"name":"constant.language.boolean.ballerina"},"6":{"name":"keyword.control.flow.ballerina"},"7":{"name":"storage.type.ballerina"},"8":{"name":"variable.parameter.ballerina"},"9":{"name":"variable.parameter.ballerina"},"10":{"name":"keyword.operator.optional.ballerina"}},"match":"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|(string|int|boolean|float|byte|decimal|json|xml|anydata)|\\\\b(is|new|isolated|null|function|in)\\\\b|\\\\b(true|false)\\\\b|\\\\b(check|foreach|if|checkpanic)\\\\b|\\\\b(readonly|error|map)\\\\b|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)"}]},"parameterTuple":{"patterns":[{"begin":"\\\\[","end":"(?=\\\\,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#parameterTupleType"},{"include":"#parameterTupleEnd"},{"include":"#comment"}]}]},"parameterTupleEnd":{"patterns":[{"begin":"\\\\]","end":"(?=\\\\,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))","patterns":[{"include":"#defaultWithParentheses"},{"match":"[_$A-Za-z][_$0-9A-Za-z]*","name":"default.variable.parameter.ballerina"}]}]},"parameterTupleType":{"patterns":[{"begin":"[_$A-Za-z][_$0-9A-Za-z]*","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?:\\\\,)|(?:\\\\|)|(?=\\\\])"}]},"parameterWithDescriptor":{"patterns":[{"begin":"\\\\&","beginCaptures":{"0":{"name":"keyword.operator.ballerina"}},"end":"(?=\\\\,)|(?=\\\\|)|(?=\\\\))","patterns":[{"include":"#parameter"}]}]},"parameters":{"patterns":[{"match":"\\\\s*(return|break|continue|check|checkpanic|panic|trap|from|where)\\\\b","name":"keyword.control.flow.ballerina"},{"match":"\\\\s*(let|select)\\\\b","name":"keyword.other.ballerina"},{"match":"\\\\,","name":"punctuation.separator.parameter.ballerina"}]},"paranthesised":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ballerina"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ballerina"}},"name":"meta.brace.round.block.ballerina","patterns":[{"include":"#self-literal"},{"include":"#function-defn"},{"include":"#decl-block"},{"include":"#comment"},{"include":"#string"},{"include":"#parameters"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#stringTemplate"},{"include":"#parameter-name"},{"include":"#variable-initializer"},{"include":"#expression"},{"include":"#regex"}]},"paranthesisedBracket":{"patterns":[{"begin":"\\\\[","end":"\\\\]","patterns":[{"include":"#comment"},{"include":"#code"}]}]},"punctuation-accessor":{"patterns":[{"captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*[\\\\d])))"}]},"punctuation-comma":{"patterns":[{"match":",","name":"punctuation.separator.comma.ballerina"}]},"punctuation-semicolon":{"patterns":[{"match":";","name":"punctuation.terminator.statement.ballerina"}]},"record":{"begin":"\\\\brecord\\\\b","beginCaptures":{"0":{"name":"keyword.other.ballerina"}},"end":"(?<=\\\\})","name":"meta.record.ballerina","patterns":[{"include":"#recordBody"}]},"recordBody":{"patterns":[{"include":"#decl-block"}]},"recordLiteral":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#code"}]}]},"regex":{"patterns":[{"begin":"(\\\\bre)(\\\\s*)(`)","beginCaptures":{"1":{"name":"support.type.primitive.ballerina"},"3":{"name":"punctuation.definition.regexp.template.begin.ballerina"}},"end":"`","endCaptures":{"1":{"name":"punctuation.definition.regexp.template.end.ballerina"}},"name":"regexp.template.ballerina","patterns":[{"include":"#template-substitution-element"},{"include":"#regexp"}]}]},"regex-character-class":{"patterns":[{"match":"\\\\\\\\[wWsSdDtrn]|\\\\.","name":"keyword.other.character-class.regexp.ballerina"},{"match":"\\\\\\\\[^pPu]","name":"constant.character.escape.backslash.regexp"}]},"regex-unicode-properties-general-category":{"patterns":[{"match":"(Lu|Ll|Lt|Lm|Lo|L|Mn|Mc|Me|M|Nd|Nl|No|N|Pc|Pd|Ps|Pe|Pi|Pf|Po|P|Sm|Sc|Sk|So|S|Zs|Zl|Zp|Z|Cf|Cc|Cn|Co|C)","name":"constant.other.unicode-property-general-category.regexp.ballerina"}]},"regex-unicode-property-key":{"patterns":[{"begin":"(sc=|gc=)","beginCaptures":{"1":{"name":"keyword.other.unicode-property-key.regexp.ballerina"}},"end":"()","endCaptures":{"1":{"name":"punctuation.other.unicode-property.end.regexp.ballerina"}},"name":"keyword.other.unicode-property-key.regexp.ballerina","patterns":[{"include":"#regex-unicode-properties-general-category"}]}]},"regexp":{"patterns":[{"match":"\\\\^|\\\\$","name":"keyword.control.assertion.regexp.ballerina"},{"match":"[?+*]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)\\\\}\\\\??","name":"keyword.operator.quantifier.regexp.ballerina"},{"match":"\\\\|","name":"keyword.operator.or.regexp.ballerina"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp.ballerina"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp.ballerina"}},"name":"meta.group.assertion.regexp.ballerina","patterns":[{"include":"#template-substitution-element"},{"include":"#regexp"},{"include":"#flags-on-off"},{"include":"#unicode-property-escape"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.start.regexp.ballerina"},"2":{"name":"keyword.operator.negation.regexp.ballerina"}},"end":"(\\\\])","endCaptures":{"1":{"name":"punctuation.definition.character-class.end.regexp.ballerina"}},"name":"constant.other.character-class.set.regexp.ballerina","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.escape.backslash.regexp"},"3":{"name":"constant.character.numeric.regexp"},"4":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\[^pPu]))-(?:[^\\\\]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\[^pPu]))","name":"constant.other.character-class.range.regexp.ballerina"},{"include":"#regex-character-class"},{"include":"#unicode-values"},{"include":"#unicode-property-escape"}]},{"include":"#template-substitution-element"},{"include":"#regex-character-class"},{"include":"#unicode-values"},{"include":"#unicode-property-escape"}]},"self-literal":{"patterns":[{"captures":{"1":{"name":"variable.language.this.ballerina"},"2":{"name":"punctuation.accessor.ballerina"},"3":{"name":"entity.name.function.ballerina"}},"match":"(\\\\bself\\\\b)\\\\s*(.)\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(?=\\\\()"},{"match":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))self\\\\b(?!\\\\$)","name":"variable.language.this.ballerina"}]},"service-decl":{"begin":"\\\\bservice\\\\b","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":"(?=;|^\\\\s*$|(?:^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b))|(?<=\\\\})|(?<=\\\\,)","name":"meta.service.declaration.ballerina","patterns":[{"include":"#class-defn"},{"include":"#serviceName"},{"include":"#serviceOn"},{"include":"#serviceBody"},{"include":"#objectDec"}]},"serviceBody":{"patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#documentationDef"},{"include":"#decl-block"}]},"serviceName":{"patterns":[{"include":"#string"},{"match":"(\\\\/([_$A-Za-z][_$0-9A-Za-z]*)|\\\\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\\\\")","name":"entity.service.path.ballerina"}]},"serviceOn":{"patterns":[{"begin":"on","beginCaptures":{"0":{"name":"keyword.other.ballerina"}},"end":"(?={)","patterns":[{"include":"#code"}]}]},"source":{"patterns":[{"begin":"(\\\\bsource\\\\b)\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)","beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"variable.other.readwrite.ballerina"}},"end":"(?=\\\\,)|(?=\\\\;)"}]},"statements":{"patterns":[{"include":"#stringTemplate"},{"include":"#declaration"},{"include":"#control-statement"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#keywords"},{"include":"#annotationAttachment"},{"include":"#regex"}]},"string":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ballerina"}},"end":"(\\")|((?:[^\\\\\\\\\\\\n])$)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ballerina"},"2":{"name":"invalid.illegal.newline.ballerina"}},"name":"string.quoted.double.ballerina","patterns":[{"include":"#string-character-escape"}]}]},"string-character-escape":{"patterns":[{"match":"\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\{[0-9A-Fa-f]+\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ballerina"}]},"stringTemplate":{"patterns":[{"begin":"((string)|([_$A-Za-z][_$0-9A-Za-z]*))?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ballerina"},"2":{"name":"support.type.primitive.ballerina"},"4":{"name":"punctuation.definition.string.template.begin.ballerina"}},"end":"\\\\\\\\?`","endCaptures":{"0":{"name":"punctuation.definition.string.template.end.ballerina"}},"name":"string.template.ballerina","patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]}]},"strings":{"patterns":[{"begin":"\\\\\\"","beginCaptures":{"0":{"name":"string.begin.ballerina"}},"end":"\\\\\\"","endCaptures":{"0":{"name":"string.end.ballerina"}},"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ballerina"},{"match":".","name":"string"}]}]},"template-substitution-element":{"patterns":[{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ballerina"}},"contentName":"meta.embedded.line.ballerina","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ballerina"}},"name":"meta.template.expression.ballerina","patterns":[{"include":"#expression"}]}]},"templateVariable":{"patterns":[{"begin":"\\\\${","beginCaptures":{"0":{"name":"constant.character.escape.ballerina"}},"end":"}","endCaptures":{"0":{"name":"constant.character.escape.ballerina"}},"patterns":[{"include":"#code"}]}]},"ternary-expression":{"begin":"(?!\\\\?\\\\.\\\\s*[^\\\\d])(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ballerina"}},"end":"\\\\s*","endCaptures":{"1":{"name":"keyword.operator.ternary.ballerina"}},"patterns":[{"include":"#expression"}]},"tupleType":{"patterns":[{"begin":"\\\\[","end":"(?=\\\\]|;)","patterns":[{"include":"#comment"},{"include":"#constrainType"},{"include":"#paranthesisedBracket"},{"match":"\\\\b([_$A-Za-z][_$0-9A-Za-z]*)\\\\b","name":"storage.type.ballerina"}]}]},"type":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numbers"},{"include":"#type-primitive"},{"include":"#type-tuple"}]},"type-annotation":{"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ballerina"}},"end":"(?<![:|&])((?=$|^|[,);}\\\\]?>=>]|//)|(?==[^>])|((?<=[}>\\\\])]|[_$A-Za-z])\\\\s*(?=\\\\{)))(\\\\?)?","name":"meta.type.annotation.ballerina","patterns":[{"include":"#booleans"},{"include":"#stringTemplate"},{"include":"#regex"},{"include":"#self-literal"},{"include":"#xml"},{"include":"#call"},{"captures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"constant.language.boolean.ballerina"},"3":{"name":"keyword.control.ballerina"},"4":{"name":"storage.type.ballerina"},"5":{"name":"support.type.primitive.ballerina"},"6":{"name":"variable.other.readwrite.ballerina"},"8":{"name":"punctuation.accessor.ballerina"},"9":{"name":"entity.name.function.ballerina"},"10":{"name":"punctuation.definition.parameters.begin.ballerina"},"11":{"name":"punctuation.definition.parameters.end.ballerina"}},"match":"\\\\b(is|new|isolated|null|function|in)\\\\b|\\\\b(true|false)\\\\b|\\\\b(check|foreach|if|checkpanic)\\\\b|\\\\b(readonly|error|map)\\\\b|\\\\b(var)\\\\b|([_$A-Za-z][_$0-9A-Za-z]*)((\\\\.)([_$A-Za-z][_$0-9A-Za-z]*)(\\\\()(\\\\)))?"},{"match":"\\\\?","name":"keyword.operator.optional.ballerina"},{"include":"#multiType"},{"include":"#type"},{"include":"#paranthesised"}]}]},"type-primitive":{"patterns":[{"match":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|int|boolean|float|byte|decimal|json|xml|anydata)(?![_$0-9A-Za-z])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"support.type.primitive.ballerina"}]},"type-tuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ballerina"}},"end":"\\\\]","endCaptures":{"0":{"name":"meta.brace.square.ballerina"}},"name":"meta.type.tuple.ballerina","patterns":[{"include":"#self-literal"},{"include":"#booleans"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.rest.ballerina"},{"captures":{"1":{"name":"entity.name.label.ballerina"},"2":{"name":"keyword.operator.optional.ballerina"},"3":{"name":"punctuation.separator.label.ballerina"}},"match":"(?<![_$0-9A-Za-z])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([_$A-Za-z][_$0-9A-Za-z]*)\\\\s*(\\\\?)?\\\\s*(:)"},{"include":"#identifiers"},{"include":"#type"},{"include":"#punctuation-comma"}]},"typeDefinition":{"patterns":[{"begin":"(\\\\btype\\\\b)\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)","beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"entity.name.type.ballerina"}},"end":"\\\\;","endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}},"pat