UNPKG

@eslint/config-inspector

Version:

A visual tool for inspecting and understanding your ESLint flat configs

1 lines 204 kB
import{E as e}from"./Dd3cz-zO.js";import"./_x1AcwyA.js";const p=Object.freeze({displayName:"TypeScript",name:"typescript",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"storage.modifier.ts"},"after-operator-block-as-object-literal":{begin:new RegExp("(?<!\\+\\+|--)(?<=[\\:\\=\\(\\,\\[\\?\\+\\!\\>]|(?<=^|\\n(?!$))await|[^\\._\\$\\p{Alpha}\\p{Nd}]await|(?<=^|\\n(?!$))return|[^\\._\\$\\p{Alpha}\\p{Nd}]return|(?<=^|\\n(?!$))yield|[^\\._\\$\\p{Alpha}\\p{Nd}]yield|(?<=^|\\n(?!$))throw|[^\\._\\$\\p{Alpha}\\p{Nd}]throw|(?<=^|\\n(?!$))in|[^\\._\\$\\p{Alpha}\\p{Nd}]in|(?<=^|\\n(?!$))of|[^\\._\\$\\p{Alpha}\\p{Nd}]of|(?<=^|\\n(?!$))typeof|[^\\._\\$\\p{Alpha}\\p{Nd}]typeof|&&|\\|\\||\\*)\\p{space}*(\\{)","dgv"),beginCaptures:{1:{name:"punctuation.definition.block.ts"}},end:new RegExp("\\}","dgv"),endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.objectliteral.ts",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:new RegExp("(?:(\\.\\.\\.)\\p{space}*)?(\\[)","dgv"),beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:new RegExp("\\]","dgv"),endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:new RegExp("(?:(\\.\\.\\.)\\p{space}*)?(\\[)","dgv"),beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:new RegExp("\\]","dgv"),endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:new RegExp("\\p{space}*(\\[)","dgv"),beginCaptures:{1:{name:"meta.brace.square.ts"}},end:new RegExp("\\]","dgv"),endCaptures:{0:{name:"meta.brace.square.ts"}},name:"meta.array.literal.ts",patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"arrow-function":{patterns:[{captures:{1:{name:"storage.modifier.async.ts"},2:{name:"variable.parameter.ts"}},match:new RegExp("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(\\basync)\\p{space}+)?([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)\\p{space}*(?==>)","dgv"),name:"meta.arrow.ts"},{begin:new RegExp("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(\\basync))?((?<![\\}\\)\\!\\]])\\p{space}*(?=((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))","dgv"),beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:new RegExp("(?==>|\\{|((?<=^|\\n(?!$))\\p{space}*(export|function|class|interface|let|var|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\p{space}+))","dgv"),name:"meta.arrow.ts",patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#arrow-return-type"},{include:"#possibly-arrow-return-type"}]},{begin:new RegExp("=>","dgv"),beginCaptures:{0:{name:"storage.type.function.arrow.ts"}},end:new RegExp("((?<=\\}|\\P{space})(?<!=>)|((?!\\{)(?=\\P{space})))(?!\\/[\\/\\*])","dgv"),name:"meta.arrow.ts",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#decl-block"},{include:"#expression"}]}]},"arrow-return-type":{begin:new RegExp("(?<=\\))\\p{space}*(:)","dgv"),beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:new RegExp("(?==>|\\{|((?<=^|\\n(?!$))\\p{space}*(export|function|class|interface|let|var|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b\\b|const|import|enum|namespace|module|type|abstract|declare)\\p{space}+))","dgv"),name:"meta.return.type.arrow.ts",patterns:[{include:"#arrow-return-type-body"}]},"arrow-return-type-body":{patterns:[{begin:new RegExp("(?<=[\\:])(?=\\p{space}*\\{)","dgv"),end:new RegExp("(?<=\\})","dgv"),patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"async-modifier":{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(async)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"storage.modifier.async.ts"},"binding-element":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#object-binding-pattern"},{include:"#array-binding-pattern"},{include:"#destructuring-variable-rest"},{include:"#variable-initializer"}]},"binding-element-const":{patterns:[{include:"#comment"},{include:"#string"},{include:"#numeric-literal"},{include:"#regex"},{include:"#object-binding-pattern-const"},{include:"#array-binding-pattern-const"},{include:"#destructuring-variable-rest-const"},{include:"#variable-initializer"}]},"boolean-literal":{patterns:[{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))true(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"constant.language.boolean.true.ts"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))false(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"constant.language.boolean.false.ts"}]},brackets:{patterns:[{begin:new RegExp("\\{","dgv"),end:new RegExp("\\}|(?=\\*\\/)","dgv"),patterns:[{include:"#brackets"}]},{begin:new RegExp("\\[","dgv"),end:new RegExp("\\]|(?=\\*\\/)","dgv"),patterns:[{include:"#brackets"}]}]},cast:{patterns:[{captures:{1:{name:"meta.brace.angle.ts"},2:{name:"storage.modifier.ts"},3:{name:"meta.brace.angle.ts"}},match:new RegExp("\\p{space}*(<)\\p{space}*(const)\\p{space}*(>)","dgv"),name:"cast.expr.ts"},{begin:new RegExp("(?<!\\+\\+|--)(?<=(?<=^|\\n(?!$))return|[^\\._\\$\\p{Alpha}\\p{Nd}]return|(?<=^|\\n(?!$))throw|[^\\._\\$\\p{Alpha}\\p{Nd}]throw|(?<=^|\\n(?!$))yield|[^\\._\\$\\p{Alpha}\\p{Nd}]yield|(?<=^|\\n(?!$))await|[^\\._\\$\\p{Alpha}\\p{Nd}]await|(?<=^|\\n(?!$))default|[^\\._\\$\\p{Alpha}\\p{Nd}]default|[\\=\\(\\,\\:\\>\\*\\?\\&\\|\\^]|[^_\\$\\p{Alpha}\\p{Nd}](?:\\+\\+|--)|[^\\+]\\+|[^\\-]-)\\p{space}*(<)(?!<?=)(?!\\p{space}*(?=$|\\n))","dgv"),beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:new RegExp("(>)","dgv"),endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]},{begin:new RegExp("(?<=(?<=^|\\n(?!$)))\\p{space}*(<)(?=[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*>)","dgv"),beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:new RegExp("(>)","dgv"),endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]}]},"class-declaration":{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\p{space}+)?(?:(\\bdeclare)\\p{space}+)?\\b(?:(abstract)\\p{space}+)?\\b(class)\\b(?=\\p{space}+|\\/[\\/\\*])","dgv"),beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.type.class.ts"}},end:new RegExp("(?<=\\})","dgv"),name:"meta.class.ts",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.class.ts"}},match:new RegExp("[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*","dgv")},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},"class-expression":{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(abstract)\\p{space}+)?(class)\\b(?=\\p{space}+|[\\<\\{]|\\/[\\/\\*])","dgv"),beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"storage.type.class.ts"}},end:new RegExp("(?<=\\})","dgv"),name:"meta.class.ts",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{begin:new RegExp("\\{","dgv"),beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:new RegExp("\\}","dgv"),endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{include:"#decorator"},{begin:new RegExp("(?<=:)\\p{space}*","dgv"),end:new RegExp("(?=\\p{space}|[\\;\\)\\,\\}\\]\\:\\-\\+]|;|(?<=^|\\n(?!$))\\p{space}*(?=$|\\n)|(?<=^|\\n(?!$))\\p{space}*(?:abstract|async|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b|var|while)\\b)","dgv"),patterns:[{include:"#expression"}]},{include:"#method-declaration"},{include:"#indexer-declaration"},{include:"#field-declaration"},{include:"#string"},{include:"#type-annotation"},{include:"#variable-initializer"},{include:"#access-modifier"},{include:"#property-accessor"},{include:"#async-modifier"},{include:"#after-operator-block-as-object-literal"},{include:"#decl-block"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"class-or-interface-heritage":{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))\\b(extends|implements)\\b(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),beginCaptures:{1:{name:"storage.modifier.ts"}},end:new RegExp("(?=\\{)","dgv"),patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{include:"#type-parameters"},{include:"#expressionWithoutIdentifiers"},{captures:{1:{name:"entity.name.type.module.ts"},2:{name:"punctuation.accessor.ts"},3:{name:"punctuation.accessor.optional.ts"}},match:new RegExp("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)\\p{space}*(?:(\\.)|(\\?\\.(?!\\p{space}*[\\p{Nd}])))(?=\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*(\\p{space}*\\??\\.\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)*\\p{space}*)","dgv")},{captures:{1:{name:"entity.other.inherited-class.ts"}},match:new RegExp("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)","dgv")},{include:"#expressionPunctuations"}]},comment:{patterns:[{begin:new RegExp("\\/\\*\\*(?!\\/)","dgv"),beginCaptures:{0:{name:"punctuation.definition.comment.ts"}},end:new RegExp("\\*\\/","dgv"),endCaptures:{0:{name:"punctuation.definition.comment.ts"}},name:"comment.block.documentation.ts",patterns:[{include:"#docblock"}]},{begin:new RegExp("(\\/\\*)(?:\\p{space}*((@)internal)(?=\\p{space}|(\\*\\/)))?","dgv"),beginCaptures:{1:{name:"punctuation.definition.comment.ts"},2:{name:"storage.type.internaldeclaration.ts"},3:{name:"punctuation.decorator.internaldeclaration.ts"}},end:new RegExp("\\*\\/","dgv"),endCaptures:{0:{name:"punctuation.definition.comment.ts"}},name:"comment.block.ts"},{begin:new RegExp("((?<=^|\\n(?!$))[ \\t]+)?((\\/\\/)(?:\\p{space}*((@)internal)(?=\\p{space}|(?=$|\\n)))?)","dgv"),beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.ts"},2:{name:"comment.line.double-slash.ts"},3:{name:"punctuation.definition.comment.ts"},4:{name:"storage.type.internaldeclaration.ts"},5:{name:"punctuation.decorator.internaldeclaration.ts"}},contentName:"comment.line.double-slash.ts",end:new RegExp("(?=(?=$|\\n))","dgv")}]},"control-statement":{patterns:[{include:"#switch-statement"},{include:"#for-loop"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(catch|finally|throw|try)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.control.trycatch.ts"},{captures:{1:{name:"keyword.control.loop.ts"},2:{name:"entity.name.label.ts"}},match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|goto)\\p{space}+([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv")},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(break|continue|do|goto|while)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.control.loop.ts"},{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(return)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),beginCaptures:{0:{name:"keyword.control.flow.ts"}},end:new RegExp("(?=[\\;\\}]|(?=$|\\n)|;|(?<=^|\\n(?!$))\\p{space}*(?=$|\\n)|(?<=^|\\n(?!$))\\p{space}*(?:abstract|async|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b|var|while)\\b)","dgv"),patterns:[{include:"#expression"}]},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(case|default|switch)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.control.switch.ts"},{include:"#if-statement"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(else|if)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.control.conditional.ts"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(with)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.control.with.ts"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(package)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.control.ts"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(debugger)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.other.debugger.ts"}]},"decl-block":{begin:new RegExp("\\{","dgv"),beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:new RegExp("\\}","dgv"),endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.block.ts",patterns:[{include:"#statements"}]},declaration:{patterns:[{include:"#decorator"},{include:"#var-expr"},{include:"#function-declaration"},{include:"#class-declaration"},{include:"#interface-declaration"},{include:"#enum-declaration"},{include:"#namespace-declaration"},{include:"#type-alias-declaration"},{include:"#import-equals-declaration"},{include:"#import-declaration"},{include:"#export-declaration"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(declare|export)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"storage.modifier.ts"}]},decorator:{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))@","dgv"),beginCaptures:{0:{name:"punctuation.decorator.ts"}},end:new RegExp("(?=\\p{space})","dgv"),name:"meta.decorator.ts",patterns:[{include:"#expression"}]},"destructuring-const":{patterns:[{begin:new RegExp("(?<!=|:|(?<=^|\\n(?!$))of|[^\\._\\$\\p{Alpha}\\p{Nd}]of|(?<=^|\\n(?!$))in|[^\\._\\$\\p{Alpha}\\p{Nd}]in)\\p{space}*(?=\\{)","dgv"),end:new RegExp("(?=(?=$|\\n)|(?<=^|\\n(?!$))|[\\;\\,\\=\\}]|((?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\p{space}+))","dgv"),name:"meta.object-binding-pattern-variable.ts",patterns:[{include:"#object-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]},{begin:new RegExp("(?<!=|:|(?<=^|\\n(?!$))of|[^\\._\\$\\p{Alpha}\\p{Nd}]of|(?<=^|\\n(?!$))in|[^\\._\\$\\p{Alpha}\\p{Nd}]in)\\p{space}*(?=\\[)","dgv"),end:new RegExp("(?=(?=$|\\n)|(?<=^|\\n(?!$))|[\\;\\,\\=\\}]|((?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\p{space}+))","dgv"),name:"meta.array-binding-pattern-variable.ts",patterns:[{include:"#array-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-parameter":{patterns:[{begin:new RegExp("(?<!=|:)\\p{space}*(?:(\\.\\.\\.)\\p{space}*)?(\\{)","dgv"),beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:new RegExp("\\}","dgv"),endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},name:"meta.parameter.object-binding-pattern.ts",patterns:[{include:"#parameter-object-binding-element"}]},{begin:new RegExp("(?<!=|:)\\p{space}*(?:(\\.\\.\\.)\\p{space}*)?(\\[)","dgv"),beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:new RegExp("\\]","dgv"),endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},name:"meta.paramter.array-binding-pattern.ts",patterns:[{include:"#parameter-binding-element"},{include:"#punctuation-comma"}]}]},"destructuring-parameter-rest":{captures:{1:{name:"keyword.operator.rest.ts"},2:{name:"variable.parameter.ts"}},match:new RegExp("(?:(\\.\\.\\.)\\p{space}*)?([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)","dgv")},"destructuring-variable":{patterns:[{begin:new RegExp("(?<!=|:|(?<=^|\\n(?!$))of|[^\\._\\$\\p{Alpha}\\p{Nd}]of|(?<=^|\\n(?!$))in|[^\\._\\$\\p{Alpha}\\p{Nd}]in)\\p{space}*(?=\\{)","dgv"),end:new RegExp("(?=(?=$|\\n)|(?<=^|\\n(?!$))|[\\;\\,\\=\\}]|((?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\p{space}+))","dgv"),name:"meta.object-binding-pattern-variable.ts",patterns:[{include:"#object-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]},{begin:new RegExp("(?<!=|:|(?<=^|\\n(?!$))of|[^\\._\\$\\p{Alpha}\\p{Nd}]of|(?<=^|\\n(?!$))in|[^\\._\\$\\p{Alpha}\\p{Nd}]in)\\p{space}*(?=\\[)","dgv"),end:new RegExp("(?=(?=$|\\n)|(?<=^|\\n(?!$))|[\\;\\,\\=\\}]|((?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(of|in)\\p{space}+))","dgv"),name:"meta.array-binding-pattern-variable.ts",patterns:[{include:"#array-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-variable-rest":{captures:{1:{name:"keyword.operator.rest.ts"},2:{name:"meta.definition.variable.ts variable.other.readwrite.ts"}},match:new RegExp("(?:(\\.\\.\\.)\\p{space}*)?([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)","dgv")},"destructuring-variable-rest-const":{captures:{1:{name:"keyword.operator.rest.ts"},2:{name:"meta.definition.variable.ts variable.other.constant.ts"}},match:new RegExp("(?:(\\.\\.\\.)\\p{space}*)?([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)","dgv")},directives:{begin:new RegExp("(?<=^|\\n(?!$))(\\/\\/\\/)\\p{space}*(?=<(reference|amd-dependency|amd-module)(\\p{space}+(path|types|no-default-lib|lib|name|resolution-mode)\\p{space}*=\\p{space}*(('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`)))+\\p{space}*\\/>\\p{space}*(?=$|\\n))","dgv"),beginCaptures:{1:{name:"punctuation.definition.comment.ts"}},end:new RegExp("(?=(?=$|\\n))","dgv"),name:"comment.line.triple-slash.directive.ts",patterns:[{begin:new RegExp("(<)(reference|amd-dependency|amd-module)","dgv"),beginCaptures:{1:{name:"punctuation.definition.tag.directive.ts"},2:{name:"entity.name.tag.directive.ts"}},end:new RegExp("\\/>","dgv"),endCaptures:{0:{name:"punctuation.definition.tag.directive.ts"}},name:"meta.tag.ts",patterns:[{match:new RegExp("path|types|no-default-lib|lib|name|resolution-mode","dgv"),name:"entity.other.attribute-name.directive.ts"},{match:new RegExp("=","dgv"),name:"keyword.operator.assignment.ts"},{include:"#string"}]}]},docblock:{patterns:[{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.access-type.jsdoc"}},match:new RegExp("((@)(?:access|api))\\p{space}+(private|protected|public)\\b","dgv")},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"},4:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},5:{name:"constant.other.email.link.underline.jsdoc"},6:{name:"punctuation.definition.bracket.angle.end.jsdoc"}},match:new RegExp("((@)author)\\p{space}+([^\\@\\p{space}\\<\\>\\*\\/](?:[^\\@\\<\\>\\*\\/]|\\*[^\\/])*)(?:\\p{space}*(<)([^\\>\\p{space}]+)(>))?","dgv")},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"},4:{name:"keyword.operator.control.jsdoc"},5:{name:"entity.name.type.instance.jsdoc"}},match:new RegExp("((@)borrows)\\p{space}+((?:[^\\@\\p{space}\\*\\/]|\\*[^\\/])+)\\p{space}+(as)\\p{space}+((?:[^\\@\\p{space}\\*\\/]|\\*[^\\/])+)","dgv")},{begin:new RegExp("((@)example)\\p{space}+","dgv"),beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:new RegExp("(?=@|\\*\\/)","dgv"),name:"meta.example.jsdoc",patterns:[{match:new RegExp("(?<=^|\\n(?!$))\\p{space}\\*\\p{space}+","dgv")},{begin:new RegExp("(<)caption(>)","dgvy"),beginCaptures:{0:{name:"entity.name.tag.inline.jsdoc"},1:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},2:{name:"punctuation.definition.bracket.angle.end.jsdoc"}},contentName:"constant.other.description.jsdoc",end:new RegExp("(<\\/)caption(>)|(?=\\*\\/)","dgv"),endCaptures:{0:{name:"entity.name.tag.inline.jsdoc"},1:{name:"punctuation.definition.bracket.angle.begin.jsdoc"},2:{name:"punctuation.definition.bracket.angle.end.jsdoc"}}},{captures:{0:{name:"source.embedded.ts"}},match:new RegExp("[^\\p{space}\\@\\*](?:[^\\*]|\\*[^\\/])*","dgv")}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.symbol-type.jsdoc"}},match:new RegExp("((@)kind)\\p{space}+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\b","dgv")},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.link.underline.jsdoc"},4:{name:"entity.name.type.instance.jsdoc"}},match:new RegExp("((@)see)\\p{space}+(?:((?=https?:\\/\\/)(?:[^\\p{space}\\*]|\\*[^\\/])+)|((?!https?:\\/\\/|(?:\\[[^\\[\\]]*\\])?\\{@(?:link|linkcode|linkplain|tutorial)\\b)(?:[^\\@\\p{space}\\*\\/]|\\*[^\\/])+))","dgv")},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:new RegExp("((@)template)\\p{space}+([A-Za-z_\\$][\\p{L}\\p{M}\\p{N}\\p{Pc}\\$\\.\\[\\]]*(?:\\p{space}*,\\p{space}*[A-Za-z_\\$][\\p{L}\\p{M}\\p{N}\\p{Pc}\\$\\.\\[\\]]*)*)","dgv")},{begin:new RegExp("((@)template)\\p{space}+(?=\\{)","dgv"),beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:new RegExp("(?=\\p{space}|\\*\\/|[^\\{\\}\\[\\]A-Za-z_\\$])","dgv"),patterns:[{include:"#jsdoctype"},{match:new RegExp("([A-Za-z_\\$][\\p{L}\\p{M}\\p{N}\\p{Pc}\\$\\.\\[\\]]*)","dgv"),name:"variable.other.jsdoc"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:new RegExp("((@)(?:arg|argument|const|constant|member|namespace|param|var))\\p{space}+([A-Za-z_\\$][\\p{L}\\p{M}\\p{N}\\p{Pc}\\$\\.\\[\\]]*)","dgv")},{begin:new RegExp("((@)typedef)\\p{space}+(?=\\{)","dgv"),beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:new RegExp("(?=\\p{space}|\\*\\/|[^\\{\\}\\[\\]A-Za-z_\\$])","dgv"),patterns:[{include:"#jsdoctype"},{match:new RegExp("(?:[^\\@\\p{space}\\*\\/]|\\*[^\\/])+","dgv"),name:"entity.name.type.instance.jsdoc"}]},{begin:new RegExp("((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\p{space}+(?=\\{)","dgv"),beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:new RegExp("(?=\\p{space}|\\*\\/|[^\\{\\}\\[\\]A-Za-z_\\$])","dgv"),patterns:[{include:"#jsdoctype"},{match:new RegExp("([A-Za-z_\\$][\\p{L}\\p{M}\\p{N}\\p{Pc}\\$\\.\\[\\]]*)","dgv"),name:"variable.other.jsdoc"},{captures:{1:{name:"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},2:{name:"keyword.operator.assignment.jsdoc"},3:{name:"source.embedded.ts"},4:{name:"punctuation.definition.optional-value.end.bracket.square.jsdoc"},5:{name:"invalid.illegal.syntax.jsdoc"}},match:new e(`(\\[)\\p{space}*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+(?:(?:\\[\\])?\\.[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+)*(?:\\p{space}*(=)\\p{space}*((?:(?=($E$"(?:\\*(?!/)|\\\\(?!")|[^\\*\\\\])*?"|'(?:\\*(?!/)|\\\\(?!')|[^\\*\\\\])*?'|\\[(?:\\*(?!/)|[^\\*])*?\\]|(?:\\*(?!/)|\\p{space}(?!\\p{space}*\\])|\\[[^\\n]*?(?:\\]|(?=\\*/))|[^\\*\\p{space}\\[\\]])*))\\4)*))?\\p{space}*(?:(\\])((?:[^\\*\\p{space}]|\\*[^\\p{space}\\/])+)?|(?=\\*/))`,"dgv",{useEmulationGroups:!0}),name:"variable.other.jsdoc"}]},{begin:new RegExp("((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\p{space}+(?=\\{)","dgv"),beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:new RegExp("(?=\\p{space}|\\*\\/|[^\\{\\}\\[\\]A-Za-z_\\$])","dgv"),patterns:[{include:"#jsdoctype"}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"entity.name.type.instance.jsdoc"}},match:new RegExp("((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\p{space}+((?:[^\\{\\}\\@\\p{space}\\*]|\\*[^\\/])+)","dgv")},{begin:new RegExp(`((@)(?:default(?:value)?|license|version))\\p{space}+(([''"]))`,"dgv"),beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"},4:{name:"punctuation.definition.string.begin.jsdoc"}},contentName:"variable.other.jsdoc",end:new RegExp("(\\3)|(?=(?=$|\\n)|\\*\\/)()()","dgv"),endCaptures:{0:{name:"variable.other.jsdoc"},1:{name:"punctuation.definition.string.end.jsdoc"}}},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:new RegExp("((@)(?:default(?:value)?|license|tutorial|variation|version))\\p{space}+([^\\p{space}\\*]+)","dgv")},{captures:{1:{name:"punctuation.definition.block.tag.jsdoc"}},match:new RegExp("(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\b","dgv"),name:"storage.type.class.jsdoc"},{include:"#inline-tags"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},match:new RegExp("((@)[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?=\\p{space}+)","dgv")}]},"enum-declaration":{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(\\bexport)\\p{space}+)?(?:(\\bdeclare)\\p{space}+)?(?:\\b(const)\\p{space}+)?\\b(enum)\\p{space}+([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)","dgv"),beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.type.enum.ts"},5:{name:"entity.name.type.enum.ts"}},end:new RegExp("(?<=\\})","dgv"),name:"meta.enum.declaration.ts",patterns:[{include:"#comment"},{begin:new RegExp("\\{","dgv"),beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:new RegExp("\\}","dgv"),endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{begin:new RegExp("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)","dgv"),beginCaptures:{0:{name:"variable.other.enummember.ts"}},end:new RegExp("(?=,|\\}|(?=$|\\n))","dgv"),patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:new RegExp("(?=(('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))","dgv"),end:new RegExp("(?=,|\\}|(?=$|\\n))","dgv"),patterns:[{include:"#string"},{include:"#array-literal"},{include:"#comment"},{include:"#variable-initializer"}]},{include:"#punctuation-comma"}]}]},"export-declaration":{patterns:[{captures:{1:{name:"keyword.control.export.ts"},2:{name:"keyword.control.as.ts"},3:{name:"storage.type.namespace.ts"},4:{name:"entity.name.type.module.ts"}},match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)\\p{space}+(as)\\p{space}+(namespace)\\p{space}+([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)","dgv")},{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\p{space}+(type))?(?:\\p{space}*(=)|\\p{space}+(default)(?=\\p{space}+))","dgv"),beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"keyword.control.type.ts"},3:{name:"keyword.operator.assignment.ts"},4:{name:"keyword.control.default.ts"}},end:new RegExp("(?=(?=$|\\n)|;|(?<=^|\\n(?!$))\\p{space}*(?=$|\\n)|(?<=^|\\n(?!$))\\p{space}*(?:abstract|async|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b|var|while)\\b)","dgv"),name:"meta.export.default.ts",patterns:[{include:"#interface-declaration"},{include:"#expression"}]},{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(export)(?:\\p{space}+(type))?\\b(?!(\\$)|(\\p{space}*:))((?=\\p{space}*[\\{\\*])|((?=\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*(\\p{space}|,))(?!\\p{space}*(?:abstract|async|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b|var|while)\\b)))","dgv"),beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"keyword.control.type.ts"}},end:new RegExp("(?=(?=$|\\n)|;|(?<=^|\\n(?!$))\\p{space}*(?=$|\\n)|(?<=^|\\n(?!$))\\p{space}*(?:abstract|async|\\bawait\\p{space}+\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\busing(?=\\p{space}+(?!in\\b|of\\b(?!\\p{space}*(?:of\\b|=)))[_\\$\\p{Alpha}])\\b|var|while)\\b)","dgv"),name:"meta.export.ts",patterns:[{include:"#import-export-declaration"}]}]},expression:{patterns:[{include:"#expressionWithoutIdentifiers"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{patterns:[{include:"#expressionWithoutIdentifiers"},{include:"#comment"},{include:"#string"},{include:"#decorator"},{include:"#destructuring-parameter"},{captures:{1:{name:"storage.modifier.ts"}},match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|protected|private|readonly)\\p{space}+(?=(override|public|protected|private|readonly)\\p{space}+)","dgv")},{captures:{1:{name:"storage.modifier.ts"},2:{name:"keyword.operator.rest.ts"},3:{name:"entity.name.function.ts variable.language.this.ts"},4:{name:"entity.name.function.ts"},5:{name:"keyword.operator.optional.ts"}},match:new RegExp("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=$|\\n))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=$|\\n))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=$|\\n))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=$|\\n))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=$|\\n))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=$|\\n))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=$|\\n))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=$|\\n))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=$|\\n))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=$|\\n))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=$|\\n))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=$|\\n))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv")},{captures:{1:{name:"storage.modifier.ts"},2:{name:"keyword.operator.rest.ts"},3:{name:"variable.parameter.ts variable.language.this.ts"},4:{name:"variable.parameter.ts"},5:{name:"keyword.operator.optional.ts"}},match:new RegExp("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*[\\:\\,]|(?=$|\\n))","dgv")},{include:"#type-annotation"},{include:"#variable-initializer"},{match:new RegExp(",","dgv"),name:"punctuation.separator.parameter.ts"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-operators":{patterns:[{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(await)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.control.flow.ts"},{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))(?=\\p{space}*\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*\\*)","dgv"),beginCaptures:{1:{name:"keyword.control.flow.ts"}},end:new RegExp("\\*","dgv"),endCaptures:{0:{name:"keyword.generator.asterisk.ts"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.control.flow.ts"},2:{name:"keyword.generator.asterisk.ts"}},match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(yield)(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))(?:\\p{space}*(\\*))?","dgv")},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))delete(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.operator.expression.delete.ts"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))in(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","dgv"),name:"keyword.operator.expression.in.ts"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))of(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))(?!\\()","dgv"),name:"keyword.operator.expression.of.ts"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))instanceof(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.operator.expression.instanceof.ts"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))new(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.operator.new.ts"},{include:"#typeof-operator"},{match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))void(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))","dgv"),name:"keyword.operator.expression.void.ts"},{captures:{1:{name:"keyword.control.as.ts"},2:{name:"storage.modifier.ts"}},match:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(as)\\p{space}+(const)(?=\\p{space}*((?=$|\\n)|[\\;\\,\\:\\}\\)\\]]))","dgv")},{begin:new RegExp("(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(as)|(satisfies))\\p{space}+","dgv"),beginCaptures:{1:{name:"keyword.control.as.ts"},2:{name:"keyword.control.satisfies.ts"}},end:new RegExp("(?=(?<=^|\\n(?!$))|[\\;\\)\\,\\}\\]\\:\\?\\-\\+\\>]|\\|\\||&&|!==|(?=$|\\n)|((?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(as|satisfies)\\p{space}+)|(\\p{space}+<))","dgv"),patterns:[{include:"#type"}]},{match:new RegExp("\\.\\.\\.","dgv"),name:"keyword.operator.spread.ts"},{match:new RegExp("\\*=|(?<!\\()\\/=|%=|\\+=|-=","dgv"),name:"keyword.operator.assignment.compound.ts"},{match:new RegExp("&=|\\^=|<<=|>>=|>>>=|\\|=","dgv"),name:"keyword.operator.assignment.compound.bitwise.ts"},{match:new RegExp("<<|>>>|>>","dgv"),name:"keyword.operator.bitwise.shift.ts"},{match:new RegExp("===|!==|==|!=","dgv"),name:"keyword.operator.comparison.ts"},{match:new RegExp("<=|>=|<>|<|>","dgv"),name:"keyword.operator.relational.ts"},{captures:{1:{name:"keyword.operator.logical.ts"},2:{name:"keyword.operator.assignment.compound.ts"},3:{name:"keyword.operator.arithmetic.ts"}},match:new RegExp("(?<=[_\\$\\p{Alpha}\\p{Nd}])(!)\\p{space}*(?:(\\/=)|(\\/)(?![\\/\\*]))","dgv")},{match:new RegExp("!|&&|\\|\\||\\?\\?","dgv"),name:"keyword.operator.logical.ts"},{match:new RegExp("&|~|\\^|\\|","dgv"),name:"keyword.operator.bitwise.ts"},{match:new RegExp("=","dgv"),name:"keyword.operator.assignment.ts"},{match:new RegExp("--","dgv"),name:"keyword.operator.decrement.ts"},{match:new RegExp("\\+\\+","dgv"),name:"keyword.operator.increment.ts"},{match:new RegExp("%|\\*|\\/|-|\\+","dgv"),name:"keyword.operator.arithmetic.ts"},{begin:new RegExp("(?<=[_\\$\\p{Alpha}\\p{Nd}\\)\\]])\\p{space}*(?=(\\/\\*([^\\*]|(\\*[^\\/]))*\\*\\/\\p{space}*)+(?:(\\/=)|(\\/)(?![\\/\\*])))","dgv"),end:new RegExp("(?:(\\/=)|(\\/)(?!\\*([^\\*]|(\\*[^\\/]))*\\*\\/))","dgv"),endCaptures:{1:{name:"keyword.operator.assignment.compound.ts"},2:{name:"keyword.operator.arithmetic.ts"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.operator.assignment.compound.ts"},2:{name:"keyword.operator.arithmetic.ts"}},match:new RegExp("(?<=[_\\$\\p{Alpha}\\p{Nd}\\)\\]])\\p{space}*(?:(\\/=)|(\\/)(?![\\/\\*]))","dgv")}]},expressionPunctuations:{patterns:[{include:"#punctuation-comma"},{include:"#punctuation-accessor"}]},expressionWithoutIdentifiers:{patterns:[{include:"#string"},{include:"#regex"},{include:"#comment"},{include:"#function-expression"},{include:"#class-expression"},{include:"#arrow-function"},{include:"#paren-expression-possibly-arrow"},{include:"#cast"},{include:"#ternary-expression"},{include:"#new-expr"},{include:"#instanceof-expr"},{include:"#object-literal"},{include:"#expression-operators"},{include:"#function-call"},{include:"#literal"},{include:"#support-objects"},{include:"#paren-expression"}]},"field-declaration":{begin:new RegExp("(?<!\\()(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(readonly)\\p{space}+)?(?=\\p{space}*((\\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]