@shikijs/langs-precompiled 3.2.1 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({injectionSelector:"L:text.html -comment",name:"angular-expression",patterns:[{include:"#ngExpression"}],repository:{arrayLiteral:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ts"}},name:"meta.array.literal.ts",patterns:[{include:"#ngExpression"},{include:"#punctuationComma"}]},booleanLiteral:{patterns:[{match:/(?<![\.\$])\btrue\b(?!\$)/dgv,name:"constant.language.boolean.true.ts"},{match:/(?<![\.\$])\bfalse\b(?!\$)/dgv,name:"constant.language.boolean.false.ts"}]},expressionOperator:{patterns:[{captures:{"1":{name:"keyword.operator.logical.ts"},"2":{name:"entity.name.function.pipe.ng"}},match:/((?<!\|)\|(?!\|))\p{space}?([a-zA-Z0-9\-_\$]*)/dgv},{match:/(?<![\.\$])\b(let)\b(?!\$)/dgv,name:"storage.type.ts"},{match:/(?<![\.\$])\b(await)\b(?!\$)/dgv,name:"keyword.control.flow.ts"},{match:/(?<![\.\$])\bdelete\b(?!\$)/dgv,name:"keyword.operator.expression.delete.ts"},{match:/(?<![\.\$])\bin\b(?!\$)/dgv,name:"keyword.operator.expression.in.ts"},{match:/(?<![\.\$])\bof\b(?!\$)/dgv,name:"keyword.operator.expression.of.ts"},{match:/(?<![\.\$])\bif\b(?!\$)/dgv,name:"keyword.control.if.ts"},{match:/(?<![\.\$])\belse\b(?!\$)/dgv,name:"keyword.control.else.ts"},{match:/(?<![\.\$])\bthen\b(?!\$)/dgv,name:"keyword.control.then.ts"},{match:/(?<![\.\$])\binstanceof\b(?!\$)/dgv,name:"keyword.operator.expression.instanceof.ts"},{match:/(?<![\.\$])\bnew\b(?!\$)/dgv,name:"keyword.operator.new.ts"},{match:/(?<![\.\$])\bvoid\b(?!\$)/dgv,name:"keyword.operator.expression.void.ts"},{begin:/(?<![\.\$])\bas\b(?!\$)/dgv,beginCaptures:{"0":{name:"storage.type.as.ts"}},end:/(?=(?=\n?$)|["'\;\,\:\}\)\]])/dgv,patterns:[{include:"#type"}]},{match:/\*=|(?<!\()\/=|%=|\+=|-=/dgv,name:"keyword.operator.assignment.compound.ts"},{match:/&=|\^=|<<=|>>=|>>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.ts"},{match:/<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.ts"},{match:/(?:==|!=)(?:=|)/dgv,name:"keyword.operator.comparison.ts"},{match:/<=|>=|<>|[\<\>]/dgv,name:"keyword.operator.relational.ts"},{match:/!|&&|\?\?|\|\|/dgv,name:"keyword.operator.logical.ts"},{match:/[\&\~\^\|]/dgv,name:"keyword.operator.bitwise.ts"},{match:/=/dgv,name:"keyword.operator.assignment.ts"},{match:/--/dgv,name:"keyword.operator.decrement.ts"},{match:/\+\+/dgv,name:"keyword.operator.increment.ts"},{match:/[\%\*\/\-\+]/dgv,name:"keyword.operator.arithmetic.ts"},{captures:{"1":{name:"keyword.operator.arithmetic.ts"}},match:/(?<=[_\$\p{Alpha}\p{Nd}])\p{space}*(\/)(?![\/\*])/dgv},{include:"#typeofOperator"}]},functionCall:{begin:/(?=(\??\.\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\()/dgv,end:/(?<=\))(?!(\??\.\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\()/dgv,patterns:[{match:/\?/dgv,name:"punctuation.accessor.ts"},{match:/\./dgv,name:"punctuation.accessor.ts"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.ts"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#type"},{include:"#punctuationComma"}]},{include:"#parenExpression"}]},functionParameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ts"}},name:"meta.parameters.ts",patterns:[{include:"#decorator"},{include:"#parameterName"},{include:"#variableInitializer"},{match:/,/dgv,name:"punctuation.separator.parameter.ts"}]},identifiers:{patterns:[{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*\.\p{space}*prototype\b(?!\$))/dgv,name:"support.class.ts"},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"constant.other.object.property.ts"},"3":{name:"variable.other.object.property.ts"}},match:/([\?\!]?\.)\p{space}*(?:(\p{Upper}[_\$\p{Nd}\p{Upper}]*)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\.\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"entity.name.function.ts"}},match:/(?:([\?\!]?\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*=\p{space}*((async\p{space}+)|(function\p{space}*[\(\<])|(function\p{space}+)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=>)|((<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\(([^\(\)]|\([^\(\)]*\))*\)(\p{space}*:\p{space}*([^\n])*)?\p{space}*=>)))/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"constant.other.property.ts"}},match:/([\?\!]?\.)\p{space}*(\p{Upper}[_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"variable.other.property.ts"}},match:/([\?\!]?\.)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{captures:{"1":{name:"constant.other.object.ts"},"2":{name:"variable.other.object.ts"}},match:/(?:(\p{Upper}[_\$\p{Nd}\p{Upper}]*)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\.\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{match:/(\p{Upper}[_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv,name:"constant.character.other"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.ts"}]},literal:{name:"literal.ts",patterns:[{include:"#numericLiteral"},{include:"#booleanLiteral"},{include:"#nullLiteral"},{include:"#undefinedLiteral"},{include:"#numericConstantLiteral"},{include:"#arrayLiteral"},{include:"#thisLiteral"}]},ngExpression:{name:"meta.expression.ng",patterns:[{include:"#string"},{include:"#literal"},{include:"#ternaryExpression"},{include:"#expressionOperator"},{include:"#functionCall"},{include:"#identifiers"},{include:"#parenExpression"},{include:"#punctuationComma"},{include:"#punctuationAccessor"}]},nullLiteral:{match:/(?<![\.\$])\bnull\b(?!\$)/dgv,name:"constant.language.null.ts"},numericConstantLiteral:{patterns:[{match:/(?<![\.\$])\bNaN\b(?!\$)/dgv,name:"constant.language.nan.ts"},{match:/(?<![\.\$])\bInfinity\b(?!\$)/dgv,name:"constant.language.infinity.ts"}]},numericLiteral:{patterns:[{match:/\b(?<!\$)0([xX])\p{AHex}+\b(?!\$)/dgv,name:"constant.numeric.hex.ts"},{match:/\b(?<!\$)0([bB])[01]+\b(?!\$)/dgv,name:"constant.numeric.binary.ts"},{match:/\\b(?<!\$)0([oO])?[0-7]+\b(?!\$)/dgv,name:"constant.numeric.octal.ts"},{captures:{"0":{name:"constant.numeric.decimal.ts"},"1":{name:"meta.delimiter.decimal.period.ts"},"2":{name:"meta.delimiter.decimal.period.ts"},"3":{name:"meta.delimiter.decimal.period.ts"},"4":{name:"meta.delimiter.decimal.period.ts"},"5":{name:"meta.delimiter.decimal.period.ts"},"6":{name:"meta.delimiter.decimal.period.ts"}},match:/(?<!\$)(?:\b[0-9]+(\.)[0-9]+[eE][\+\-]?[0-9]+\b|\b[0-9]+(\.)[eE][\+\-]?[0-9]+\b|\B(\.)[0-9]+[eE][\+\-]?[0-9]+\b|\b[0-9]+[eE][\+\-]?[0-9]+\b|\b[0-9]+(\.)\B|\B(\.)[0-9]+\b|\b[0-9]+\b(?!\.))(?!\$)/dgv}]},parameterName:{patterns:[{captures:{"1":{name:"storage.modifier.ts"},"2":{name:"storage.modifier.ts"},"3":{name:"keyword.operator.rest.ts"},"4":{name:"entity.name.function.ts"},"5":{name:"keyword.operator.optional.ts"}},match:/(?:\p{space}*\b(readonly)\p{space}+)?(?:\p{space}*\b(p(?:ublic|rivate|rotected))\p{space}+)?(\.\.\.)?\p{space}*(?<![\=\:])([_\$\p{Alpha}][_\$\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}*=>)|((<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\(([^\(\)]|\([^\(\)]*\))*\)(\p{space}*:\p{space}*([^\n])*)?\p{space}*=>)))|(:\p{space}*((<)|(\(\p{space}*((\))|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|(\)\p{space}*=>))))))))/dgv},{captures:{"1":{name:"storage.modifier.ts"},"2":{name:"storage.modifier.ts"},"3":{name:"keyword.operator.rest.ts"},"4":{name:"variable.parameter.ts"},"5":{name:"keyword.operator.optional.ts"}},match:/(?:\p{space}*\b(readonly)\p{space}+)?(?:\p{space}*\b(p(?:ublic|rivate|rotected))\p{space}+)?(\.\.\.)?\p{space}*(?<![\=\:])([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(\??)/dgv}]},parenExpression:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},patterns:[{include:"#ngExpression"},{include:"#punctuationComma"}]},punctuationAccessor:{match:/\?\.|!\.|\./dgv,name:"punctuation.accessor.ts"},punctuationComma:{match:/,/dgv,name:"punctuation.separator.comma.ts"},punctuationSemicolon:{match:/;/dgv,name:"punctuation.terminator.statement.ts"},qstringDouble:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ts"}},end:/(")|([^\\\n](?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.ts"},"2":{name:"invalid.illegal.newline.ts"}},name:"string.quoted.double.ts",patterns:[{include:"#stringCharacterEscape"}]},qstringSingle:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ts"}},end:/(')|([^\\\n](?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.ts"},"2":{name:"invalid.illegal.newline.ts"}},name:"string.quoted.single.ts",patterns:[{include:"#stringCharacterEscape"}]},string:{patterns:[{include:"#qstringSingle"},{include:"#qstringDouble"}]},stringCharacterEscape:{match:/\\(x\p{AHex}{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.ts"},ternaryExpression:{begin:/(?!\?\.\p{space}*\P{Nd})(\?)(?!\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.ts"}},end:/\p{space}*(:)/dgv,endCaptures:{"1":{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#ngExpression"}]},thisLiteral:{match:/(?<![\.\$])\bthis\b(?!\$)/dgv,name:"variable.language.this.ts"},type:{name:"meta.type.ts",patterns:[{include:"#string"},{include:"#numericLiteral"},{include:"#typeBuiltinLiterals"},{include:"#typeTuple"},{include:"#typeObject"},{include:"#typeOperators"},{include:"#typeFnTypeParameters"},{include:"#typeParenOrFunctionParameters"},{include:"#typeName"}]},typeAnnotation:{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.ts"}},end:/(?=(?=\n?$)|[\,\)\;\}\]]|\/\/|")|(?==[^\>])|(?<=[\}\>\]\)_\$\p{Alpha}])\p{space}*(?=\{)/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]},typeBuiltinLiterals:{match:/(?<![\.\$])\b(this|true|false|undefined|null)\b(?!\$)/dgv,name:"support.type.builtin.ts"},typeFnTypeParameters:{patterns:[{captures:{"1":{name:"keyword.control.new.ts"}},match:/(?<![\.\$])\b(new)\b(?=\p{space}*<)/dgv,name:"meta.type.constructor.ts"},{begin:/(?<![\.\$])\b(new)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.new.ts"}},end:/(?<=\))/dgv,name:"meta.type.constructor.ts",patterns:[{include:"#functionParameters"}]},{begin:/(?<=>)\p{space}*(?=\()/dgv,end:/(?<=\))/dgv,include:"#typeofOperator",name:"meta.type.function.ts",patterns:[{include:"#functionParameters"}]},{begin:/((?=\(\p{space}*((\))|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|(\)\p{space}*=>))))))/dgv,end:/(?<=\))/dgv,name:"meta.type.function.ts",patterns:[{include:"#functionParameters"}]}]},typeName:{patterns:[{captures:{"1":{name:"entity.name.type.module.ts"},"2":{name:"punctuation.accessor.ts"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*([\?\!]?\.)/dgv},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.ts"}]},typeObject:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ts"}},name:"meta.object.type.ts",patterns:[{include:"#typeObjectMembers"}]},typeObjectMembers:{patterns:[{include:"#typeAnnotation"},{include:"#punctuationComma"},{include:"#punctuationSemicolon"}]},typeOperators:{patterns:[{include:"#typeofOperator"},{match:/[\&\|]/dgv,name:"keyword.operator.type.ts"},{match:/(?<![\.\$])\bkeyof\b(?!\$)/dgv,name:"keyword.operator.expression.keyof.ts"}]},typeParenOrFunctionParameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},name:"meta.type.paren.cover.ts",patterns:[{include:"#type"},{include:"#functionParameters"}]},typeTuple:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ts"}},name:"meta.type.tuple.ts",patterns:[{include:"#type"},{include:"#punctuationComma"}]},typeofOperator:{match:/(?<![\.\$])\btypeof\b(?!\$)/dgv,name:"keyword.operator.expression.typeof.ts"},undefinedLiteral:{match:/(?<![\.\$])\bundefined\b(?!\$)/dgv,name:"constant.language.undefined.ts"},variableInitializer:{begin:/(?<![\=\!])(=)(?!=)/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.ts"}},end:/(?=(?=\n?$)|[\,\)\;\}\]])/dgv,patterns:[{include:"#ngExpression"}]}},scopeName:"expression.ng",displayName:undefined,embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({injectionSelector:"L:text.html -comment",name:"angular-expression",patterns:[{include:"#ngExpression"}],repository:{arrayLiteral:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ts"}},name:"meta.array.literal.ts",patterns:[{include:"#ngExpression"},{include:"#punctuationComma"}]},booleanLiteral:{patterns:[{match:/(?<![\.\$])\btrue\b(?!\$)/dgv,name:"constant.language.boolean.true.ts"},{match:/(?<![\.\$])\bfalse\b(?!\$)/dgv,name:"constant.language.boolean.false.ts"}]},expressionOperator:{patterns:[{captures:{"1":{name:"keyword.operator.logical.ts"},"2":{name:"entity.name.function.pipe.ng"}},match:/((?<!\|)\|(?!\|))\p{space}?([a-zA-Z0-9\-_\$]*)/dgv},{match:/(?<![\.\$])\b(let)\b(?!\$)/dgv,name:"storage.type.ts"},{match:/(?<![\.\$])\b(await)\b(?!\$)/dgv,name:"keyword.control.flow.ts"},{match:/(?<![\.\$])\bdelete\b(?!\$)/dgv,name:"keyword.operator.expression.delete.ts"},{match:/(?<![\.\$])\bin\b(?!\$)/dgv,name:"keyword.operator.expression.in.ts"},{match:/(?<![\.\$])\bof\b(?!\$)/dgv,name:"keyword.operator.expression.of.ts"},{match:/(?<![\.\$])\bif\b(?!\$)/dgv,name:"keyword.control.if.ts"},{match:/(?<![\.\$])\belse\b(?!\$)/dgv,name:"keyword.control.else.ts"},{match:/(?<![\.\$])\bthen\b(?!\$)/dgv,name:"keyword.control.then.ts"},{match:/(?<![\.\$])\binstanceof\b(?!\$)/dgv,name:"keyword.operator.expression.instanceof.ts"},{match:/(?<![\.\$])\bnew\b(?!\$)/dgv,name:"keyword.operator.new.ts"},{match:/(?<![\.\$])\bvoid\b(?!\$)/dgv,name:"keyword.operator.expression.void.ts"},{begin:/(?<![\.\$])\bas\b(?!\$)/dgv,beginCaptures:{"0":{name:"storage.type.as.ts"}},end:/(?=(?=\n?$)|["'\;\,\:\}\)\]])/dgv,patterns:[{include:"#type"}]},{match:/\*=|(?<!\()\/=|%=|\+=|-=/dgv,name:"keyword.operator.assignment.compound.ts"},{match:/&=|\^=|<<=|>>=|>>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.ts"},{match:/<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.ts"},{match:/(?:==|!=)(?:=|)/dgv,name:"keyword.operator.comparison.ts"},{match:/<=|>=|<>|[\<\>]/dgv,name:"keyword.operator.relational.ts"},{match:/!|&&|\?\?|\|\|/dgv,name:"keyword.operator.logical.ts"},{match:/[\&\~\^\|]/dgv,name:"keyword.operator.bitwise.ts"},{match:/=/dgv,name:"keyword.operator.assignment.ts"},{match:/--/dgv,name:"keyword.operator.decrement.ts"},{match:/\+\+/dgv,name:"keyword.operator.increment.ts"},{match:/[\%\*\/\-\+]/dgv,name:"keyword.operator.arithmetic.ts"},{captures:{"1":{name:"keyword.operator.arithmetic.ts"}},match:/(?<=[_\$\p{Alpha}\p{Nd}])\p{space}*(\/)(?![\/\*])/dgv},{include:"#typeofOperator"}]},functionCall:{begin:/(?=(\??\.\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\()/dgv,end:/(?<=\))(?!(\??\.\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\()/dgv,patterns:[{match:/\?/dgv,name:"punctuation.accessor.ts"},{match:/\./dgv,name:"punctuation.accessor.ts"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.ts"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#type"},{include:"#punctuationComma"}]},{include:"#parenExpression"}]},functionParameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.ts"}},name:"meta.parameters.ts",patterns:[{include:"#decorator"},{include:"#parameterName"},{include:"#variableInitializer"},{match:/,/dgv,name:"punctuation.separator.parameter.ts"}]},identifiers:{patterns:[{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*\.\p{space}*prototype\b(?!\$))/dgv,name:"support.class.ts"},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"constant.other.object.property.ts"},"3":{name:"variable.other.object.property.ts"}},match:/([\?\!]?\.)\p{space}*(?:(\p{Upper}[_\$\p{Nd}\p{Upper}]*)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\.\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"entity.name.function.ts"}},match:/(?:([\?\!]?\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*=\p{space}*((async\p{space}+)|(function\p{space}*[\(\<])|(function\p{space}+)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=>)|((<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\(([^\(\)]|\([^\(\)]*\))*\)(\p{space}*:\p{space}*([^\n])*)?\p{space}*=>)))/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"constant.other.property.ts"}},match:/([\?\!]?\.)\p{space}*(\p{Upper}[_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv},{captures:{"1":{name:"punctuation.accessor.ts"},"2":{name:"variable.other.property.ts"}},match:/([\?\!]?\.)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{captures:{"1":{name:"constant.other.object.ts"},"2":{name:"variable.other.object.ts"}},match:/(?:(\p{Upper}[_\$\p{Nd}\p{Upper}]*)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\.\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{match:/(\p{Upper}[_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv,name:"constant.character.other"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.ts"}]},literal:{name:"literal.ts",patterns:[{include:"#numericLiteral"},{include:"#booleanLiteral"},{include:"#nullLiteral"},{include:"#undefinedLiteral"},{include:"#numericConstantLiteral"},{include:"#arrayLiteral"},{include:"#thisLiteral"}]},ngExpression:{name:"meta.expression.ng",patterns:[{include:"#string"},{include:"#literal"},{include:"#ternaryExpression"},{include:"#expressionOperator"},{include:"#functionCall"},{include:"#identifiers"},{include:"#parenExpression"},{include:"#punctuationComma"},{include:"#punctuationSemicolon"},{include:"#punctuationAccessor"}]},nullLiteral:{match:/(?<![\.\$])\bnull\b(?!\$)/dgv,name:"constant.language.null.ts"},numericConstantLiteral:{patterns:[{match:/(?<![\.\$])\bNaN\b(?!\$)/dgv,name:"constant.language.nan.ts"},{match:/(?<![\.\$])\bInfinity\b(?!\$)/dgv,name:"constant.language.infinity.ts"}]},numericLiteral:{patterns:[{match:/\b(?<!\$)0([xX])\p{AHex}+\b(?!\$)/dgv,name:"constant.numeric.hex.ts"},{match:/\b(?<!\$)0([bB])[01]+\b(?!\$)/dgv,name:"constant.numeric.binary.ts"},{match:/\\b(?<!\$)0([oO])?[0-7]+\b(?!\$)/dgv,name:"constant.numeric.octal.ts"},{captures:{"0":{name:"constant.numeric.decimal.ts"},"1":{name:"meta.delimiter.decimal.period.ts"},"2":{name:"meta.delimiter.decimal.period.ts"},"3":{name:"meta.delimiter.decimal.period.ts"},"4":{name:"meta.delimiter.decimal.period.ts"},"5":{name:"meta.delimiter.decimal.period.ts"},"6":{name:"meta.delimiter.decimal.period.ts"}},match:/(?<!\$)(?:\b[0-9]+(\.)[0-9]+[eE][\+\-]?[0-9]+\b|\b[0-9]+(\.)[eE][\+\-]?[0-9]+\b|\B(\.)[0-9]+[eE][\+\-]?[0-9]+\b|\b[0-9]+[eE][\+\-]?[0-9]+\b|\b[0-9]+(\.)\B|\B(\.)[0-9]+\b|\b[0-9]+\b(?!\.))(?!\$)/dgv}]},parameterName:{patterns:[{captures:{"1":{name:"storage.modifier.ts"},"2":{name:"storage.modifier.ts"},"3":{name:"keyword.operator.rest.ts"},"4":{name:"entity.name.function.ts"},"5":{name:"keyword.operator.optional.ts"}},match:/(?:\p{space}*\b(readonly)\p{space}+)?(?:\p{space}*\b(p(?:ublic|rivate|rotected))\p{space}+)?(\.\.\.)?\p{space}*(?<![\=\:])([_\$\p{Alpha}][_\$\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}*=>)|((<([^\<\>]|<[^\<\>]+>)+>\p{space}*)?\(([^\(\)]|\([^\(\)]*\))*\)(\p{space}*:\p{space}*([^\n])*)?\p{space}*=>)))|(:\p{space}*((<)|(\(\p{space}*((\))|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|(\)\p{space}*=>))))))))/dgv},{captures:{"1":{name:"storage.modifier.ts"},"2":{name:"storage.modifier.ts"},"3":{name:"keyword.operator.rest.ts"},"4":{name:"variable.parameter.ts"},"5":{name:"keyword.operator.optional.ts"}},match:/(?:\p{space}*\b(readonly)\p{space}+)?(?:\p{space}*\b(p(?:ublic|rivate|rotected))\p{space}+)?(\.\.\.)?\p{space}*(?<![\=\:])([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(\??)/dgv}]},parenExpression:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},patterns:[{include:"#ngExpression"},{include:"#punctuationComma"}]},punctuationAccessor:{match:/\?\.|!\.|\./dgv,name:"punctuation.accessor.ts"},punctuationComma:{match:/,/dgv,name:"punctuation.separator.comma.ts"},punctuationSemicolon:{match:/;/dgv,name:"punctuation.terminator.statement.ts"},qstringDouble:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ts"}},end:/(")|([^\\\n](?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.ts"},"2":{name:"invalid.illegal.newline.ts"}},name:"string.quoted.double.ts",patterns:[{include:"#stringCharacterEscape"}]},qstringSingle:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ts"}},end:/(')|([^\\\n](?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.ts"},"2":{name:"invalid.illegal.newline.ts"}},name:"string.quoted.single.ts",patterns:[{include:"#stringCharacterEscape"}]},string:{patterns:[{include:"#qstringSingle"},{include:"#qstringDouble"},{include:"#templateLiteral"}]},stringCharacterEscape:{match:/\\(x\p{AHex}{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.ts"},templateLiteral:{patterns:[{include:"#templateLiteralCall"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.ts"},"2":{name:"string.template.ts punctuation.definition.string.template.begin.ts"}},contentName:"string.template.ts",end:/`/dgv,endCaptures:{"0":{name:"string.template.ts punctuation.definition.string.template.end.ts"}},patterns:[{include:"#templateLiteralSubstitutionElement"},{include:"#stringCharacterEscape"}]}]},templateLiteralCall:{patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,end:/(?=`)/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,patterns:[{include:"#support-function-call-identifiers"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.tagged-template.ts"}]},{include:"#typeArguments"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?\p{space}*(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.ts"}},end:/(?=`)/dgv,patterns:[{include:"#typeArguments"}]}]},templateLiteralSubstitutionElement:{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",patterns:[{include:"#ngExpression"}]},ternaryExpression:{begin:/(?!\?\.\p{space}*\P{Nd})(\?)(?!\?)/dgv,beginCaptures:{"1":{name:"keyword.operator.ternary.ts"}},end:/\p{space}*(:)/dgv,endCaptures:{"1":{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#ngExpression"}]},thisLiteral:{match:/(?<![\.\$])\bthis\b(?!\$)/dgv,name:"variable.language.this.ts"},type:{name:"meta.type.ts",patterns:[{include:"#string"},{include:"#numericLiteral"},{include:"#typeBuiltinLiterals"},{include:"#typeTuple"},{include:"#typeObject"},{include:"#typeOperators"},{include:"#typeFnTypeParameters"},{include:"#typeParenOrFunctionParameters"},{include:"#typeName"}]},typeAnnotation:{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.ts"}},end:/(?=(?=\n?$)|[\,\)\;\}\]]|\/\/|")|(?==[^\>])|(?<=[\}\>\]\)_\$\p{Alpha}])\p{space}*(?=\{)/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]},typeArguments:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#typeArgumentsBody"}]},typeArgumentsBody:{patterns:[{captures:{"0":{name:"keyword.operator.type.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(_)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{include:"#type"},{include:"#punctuationComma"}]},typeBuiltinLiterals:{match:/(?<![\.\$])\b(this|true|false|undefined|null)\b(?!\$)/dgv,name:"support.type.builtin.ts"},typeFnTypeParameters:{patterns:[{captures:{"1":{name:"keyword.control.new.ts"}},match:/(?<![\.\$])\b(new)\b(?=\p{space}*<)/dgv,name:"meta.type.constructor.ts"},{begin:/(?<![\.\$])\b(new)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.new.ts"}},end:/(?<=\))/dgv,name:"meta.type.constructor.ts",patterns:[{include:"#functionParameters"}]},{begin:/(?<=>)\p{space}*(?=\()/dgv,end:/(?<=\))/dgv,include:"#typeofOperator",name:"meta.type.function.ts",patterns:[{include:"#functionParameters"}]},{begin:/((?=\(\p{space}*((\))|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|(\)\p{space}*=>))))))/dgv,end:/(?<=\))/dgv,name:"meta.type.function.ts",patterns:[{include:"#functionParameters"}]}]},typeName:{patterns:[{captures:{"1":{name:"entity.name.type.module.ts"},"2":{name:"punctuation.accessor.ts"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*([\?\!]?\.)/dgv},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.ts"}]},typeObject:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ts"}},name:"meta.object.type.ts",patterns:[{include:"#typeObjectMembers"}]},typeObjectMembers:{patterns:[{include:"#typeAnnotation"},{include:"#punctuationComma"},{include:"#punctuationSemicolon"}]},typeOperators:{patterns:[{include:"#typeofOperator"},{match:/[\&\|]/dgv,name:"keyword.operator.type.ts"},{match:/(?<![\.\$])\bkeyof\b(?!\$)/dgv,name:"keyword.operator.expression.keyof.ts"}]},typeParenOrFunctionParameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},name:"meta.type.paren.cover.ts",patterns:[{include:"#type"},{include:"#functionParameters"}]},typeTuple:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.ts"}},name:"meta.type.tuple.ts",patterns:[{include:"#type"},{include:"#punctuationComma"}]},typeofOperator:{match:/(?<![\.\$])\btypeof\b(?!\$)/dgv,name:"keyword.operator.expression.typeof.ts"},undefinedLiteral:{match:/(?<![\.\$])\bundefined\b(?!\$)/dgv,name:"constant.language.undefined.ts"},variableInitializer:{begin:/(?<![\=\!])(=)(?!=)/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.ts"}},end:/(?=(?=\n?$)|[\,\)\;\}\]])/dgv,patterns:[{include:"#ngExpression"}]}},scopeName:"expression.ng",displayName:undefined,embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,6 +1,6 @@
1
1
  import angular_expression from './angular-expression.mjs'
2
2
 
3
- const lang = Object.freeze({injectTo:["text.html.derivative","text.html.derivative.ng","source.ts.ng"],injectionSelector:"L:text.html -comment -expression.ng -meta.tag -source.css -source.js",name:"angular-let-declaration",patterns:[{include:"#letDeclaration"}],repository:{letDeclaration:{begin:/(@let)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)?/dgv,beginCaptures:{"1":{name:"storage.type.ng"},"2":{name:"meta.definition.variable.ng"},"3":{name:"keyword.operator.assignment.ng"}},contentName:"meta.definition.variable.ng",end:/(?<=;)/dgv,patterns:[{include:"#letInitializer"}]},letInitializer:{begin:/\p{space}*/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.ng"}},contentName:"meta.definition.variable.initializer.ng",end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.ng"}},patterns:[{include:"expression.ng"}]}},scopeName:"template.let.ng",displayName:undefined,embeddedLangs:["angular-expression"],aliases:undefined})
3
+ const lang = Object.freeze({injectTo:["text.html.derivative","text.html.derivative.ng","source.ts.ng"],injectionSelector:"L:text.html -comment -expression.ng -meta.tag -source.css -source.js",name:"angular-let-declaration",patterns:[{include:"#letDeclaration"}],repository:{letDeclaration:{begin:/(@let)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)?/dgv,beginCaptures:{"1":{name:"storage.type.ng"},"2":{name:"variable.other.constant.ng"},"3":{name:"keyword.operator.assignment.ng"}},end:/(?<=;)/dgv,name:"meta.definition.variable.ng",patterns:[{include:"#letInitializer"}]},letInitializer:{begin:/\p{space}*/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.ng"}},contentName:"meta.definition.variable.initializer.ng",end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.ng"}},patterns:[{include:"expression.ng"}]}},scopeName:"template.let.ng",displayName:undefined,embeddedLangs:["angular-expression"],aliases:undefined})
4
4
 
5
5
  export default [
6
6
  ...angular_expression,
@@ -1,7 +1,7 @@
1
1
  import angular_expression from './angular-expression.mjs'
2
2
  import angular_template from './angular-template.mjs'
3
3
 
4
- const lang = Object.freeze({injectTo:["text.html.derivative","text.html.derivative.ng","source.ts.ng"],injectionSelector:"L:text.html -comment -expression.ng -meta.tag -source.css -source.js",name:"angular-template-blocks",patterns:[{include:"#block"}],repository:{block:{begin:/(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\p{space}*/dgv,beginCaptures:{"1":{patterns:[{include:"#transition"}]},"2":{name:"keyword.control.block.kind.ng"}},end:/(?<=\})/dgv,name:"control.block.ng",patterns:[{include:"#blockExpression"},{include:"#blockBody"}]},blockBody:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ts"}},contentName:"control.block.body.ng",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ts"}},patterns:[{include:"text.html.derivative.ng"},{include:"template.ng"}]},blockExpression:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},contentName:"control.block.expression.ng",end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},patterns:[{include:"expression.ng"}]},transition:{match:/@/dgv,name:"keyword.control.block.transition.ng"}},scopeName:"template.blocks.ng",displayName:undefined,embeddedLangs:["angular-expression","angular-template"],aliases:undefined})
4
+ const lang = Object.freeze({injectTo:["text.html.derivative","text.html.derivative.ng","source.ts.ng"],injectionSelector:"L:text.html -comment -expression.ng -meta.tag -source.css -source.js",name:"angular-template-blocks",patterns:[{include:"#block"}],repository:{block:{begin:/(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\p{space}*/dgv,beginCaptures:{"1":{patterns:[{include:"#transition"}]},"2":{name:"keyword.control.block.kind.ng"}},end:/(?<=\})/dgv,name:"control.block.ng",patterns:[{include:"#blockExpression"},{include:"#blockBody"}]},blockBody:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.ts"}},contentName:"control.block.body.ng",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.ts"}},patterns:[{include:"text.html.derivative.ng"},{include:"template.ng"}]},blockExpression:{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.ts"}},contentName:"control.block.expression.ng",end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.ts"}},patterns:[{include:"#blockExpressionOfClause"},{include:"#blockExpressionLetBinding"},{include:"#blockExpressionTrackClause"},{include:"expression.ng"}]},blockExpressionLetBinding:{begin:/\blet\b/dgv,beginCaptures:{"0":{name:"storage.type.ng"}},end:/(?=[\$\)])|(?<=;)/dgv,patterns:[{include:"expression.ng"}]},blockExpressionOfClause:{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}+(of)\b/dgv,beginCaptures:{"1":{name:"variable.other.constant.ng"},"2":{name:"keyword.operator.expression.of.ng"}},end:/(?=[\$\)])|(?<=;)/dgv,patterns:[{include:"expression.ng"}]},blockExpressionTrackClause:{begin:/\btrack\b/dgv,beginCaptures:{"0":{name:"keyword.control.track.ng"}},end:/(?=[\$\)])|(?<=;)/dgv,patterns:[{include:"expression.ng"}]},transition:{match:/@/dgv,name:"keyword.control.block.transition.ng"}},scopeName:"template.blocks.ng",displayName:undefined,embeddedLangs:["angular-expression","angular-template"],aliases:undefined})
5
5
 
6
6
  export default [
7
7
  ...angular_expression,