@shikijs/langs-precompiled 3.13.0 → 3.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/apex.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Apex",fileTypes:["apex","cls","trigger"],name:"apex",patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#directives"},{include:"#declarations"},{include:"#script-top-level"}],repository:{"annotation-declaration":{begin:/(@[_\p{Alpha}]+)\b/dgv,beginCaptures:{"1":{name:"storage.type.annotation.apex"}},end:/(?=\p{space}(?!\())|(?=\p{space}*(?=\n?$))|(?<=\p{space}*\))/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"argument-list":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#named-argument"},{include:"#expression"},{include:"#punctuation-comma"}]},"array-creation-expression":{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(new)\\b\\p{space}*(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)?\\p{space}*(?=\\[)","dgv",{"hiddenCaptures":[5,7,8,9],"transfers":[[3,[5,8]],[4,[7]],[6,[9]]]}),beginCaptures:{"1":{name:"keyword.control.new.apex"},"2":{patterns:[{include:"#support-type"},{include:"#type"}]}},end:/(?<=\])/dgv,patterns:[{include:"#bracketed-argument-list"}]},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#statement"}]},"boolean-literal":{patterns:[{match:/(?<!\.)\btrue\b/dgv,name:"constant.language.boolean.true.apex"},{match:/(?<!\.)\bfalse\b/dgv,name:"constant.language.boolean.false.apex"}]},"bracketed-argument-list":{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.squarebracket.open.apex"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.squarebracket.close.apex"}},patterns:[{include:"#soql-query-expression"},{include:"#named-argument"},{include:"#expression"},{include:"#punctuation-comma"}]},"break-or-continue-statement":{captures:{"1":{name:"keyword.control.flow.break.apex"},"2":{name:"keyword.control.flow.continue.apex"}},match:/(?<!\.)\b(?:(break)|(continue))\b/dgv},"cast-expression":{captures:{"1":{name:"punctuation.parenthesis.open.apex"},"2":{patterns:[{include:"#support-type"},{include:"#type"}]},"6":{name:"punctuation.parenthesis.close.apex"}},match:/*@__PURE__*/ new EmulatedRegExp("(\\()\\p{space}*(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*(\\))(?=\\p{space}*@?[\\(_\\p{Alpha}\\p{Nd}])","dgv",{"hiddenCaptures":[5,7,8,9],"transfers":[[3,[5,8]],[4,[7]],[6,[9]]]})},"catch-clause":{begin:/(?<!\.)\b(catch)\b/dgv,beginCaptures:{"1":{name:"keyword.control.try.catch.apex"}},end:/(?<=\})/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{captures:{"1":{patterns:[{include:"#support-type"},{include:"#type"}]},"5":{name:"entity.name.variable.local.apex"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*(?:((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\b)?","dgv",{"hiddenCaptures":[4,6,7,8,10],"transfers":[[2,[4,7,10]],[3,[6]],[5,[8]]]})}]},{include:"#comment"},{include:"#block"}]},"class-declaration":{begin:/(?=\bclass\b)/dgv,end:/(?<=\})/dgv,patterns:[{begin:/\b(class)\b\p{space}+(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.class.apex"},"2":{name:"entity.name.type.class.apex"}},end:/(?=\{)/dgv,patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#type-parameter-list"},{include:"#extends-class"},{include:"#implements-class"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#class-or-trigger-members"}]},{include:"#javadoc-comment"},{include:"#comment"}]},"class-or-trigger-members":{patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#storage-modifier"},{include:"#sharing-modifier"},{include:"#type-declarations"},{include:"#field-declaration"},{include:"#property-declaration"},{include:"#indexer-declaration"},{include:"#variable-initializer"},{include:"#constructor-declaration"},{include:"#method-declaration"},{include:"#punctuation-semicolon"}]},"colon-expression":{match:/:/dgv,name:"keyword.operator.conditional.colon.apex"},comment:{patterns:[{begin:/\/\*(\*)?/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.apex"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.apex"}},name:"comment.block.apex"},{begin:/(^\p{space}+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.apex"}},end:/(?=(?=\n?$))/dgv,patterns:[{begin:/(?<!\/)\/\/\/(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.apex"}},end:/(?=(?=\n?$))/dgv,name:"comment.block.documentation.apex",patterns:[{include:"#xml-doc-comment"}]},{begin:/(?<!\/)\/\/(?:(?!\/)|(?=\/\/))/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.apex"}},end:/(?=(?=\n?$))/dgv,name:"comment.line.double-slash.apex"}]}]},"conditional-operator":{begin:/(?<!\?)\?(?![\.\?\[])/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.question-mark.apex"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.conditional.colon.apex"}},patterns:[{include:"#expression"}]},"constructor-declaration":{begin:/(?=@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*\p{space}*\()/dgv,end:/(?<=\})|(?=;)/dgv,patterns:[{captures:{"1":{name:"entity.name.function.apex"}},match:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\b/dgv},{begin:/(:)/dgv,beginCaptures:{"1":{name:"punctuation.separator.colon.apex"}},end:/(?=\{|=>)/dgv,patterns:[{include:"#constructor-initializer"}]},{include:"#parenthesized-parameter-list"},{include:"#comment"},{include:"#expression-body"},{include:"#block"}]},"constructor-initializer":{begin:/\b(this)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.other.this.apex"}},end:/(?<=\))/dgv,patterns:[{include:"#argument-list"}]},"date-literal-with-params":{captures:{"1":{name:"keyword.operator.query.date.apex"}},match:/\b(((?:LAST_N_DAY|NEXT_N_DAY|NEXT_N_WEEK|LAST_N_WEEK|NEXT_N_MONTH|LAST_N_MONTH|NEXT_N_QUARTER|LAST_N_QUARTER|NEXT_N_YEAR|LAST_N_YEAR|NEXT_N_FISCAL_QUARTER|LAST_N_FISCAL_QUARTER|NEXT_N_FISCAL_YEAR|LAST_N_FISCAL_YEAR)S)\p{space}*:\p{Nd}+)\b/dgv},"date-literals":{captures:{"1":{name:"keyword.operator.query.date.apex"}},match:/\b(YESTERDAY|TODAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)\b\p{space}*/dgv},declarations:{patterns:[{include:"#type-declarations"},{include:"#punctuation-semicolon"}]},directives:{patterns:[{include:"#punctuation-semicolon"}]},"do-statement":{begin:/(?<!\.)\b(do)\b/dgv,beginCaptures:{"1":{name:"keyword.control.loop.do.apex"}},end:/(?=[\;\}])/dgv,patterns:[{include:"#statement"}]},"element-access-expression":{begin:/(?:(\??\.)\p{space}*)?(?:(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*)?(?:(\?)\p{space}*)?(?=\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"variable.other.object.property.apex"},"3":{name:"keyword.operator.null-conditional.apex"}},end:/(?<=\])(?!\p{space}*\[)/dgv,patterns:[{include:"#bracketed-argument-list"}]},"else-part":{begin:/(?<!\.)\b(else)\b/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.else.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{include:"#statement"}]},"enum-declaration":{begin:/(?=\benum\b)/dgv,end:/(?<=\})/dgv,patterns:[{begin:/(?=enum)/dgv,end:/(?=\{)/dgv,patterns:[{include:"#javadoc-comment"},{include:"#comment"},{captures:{"1":{name:"keyword.other.enum.apex"},"2":{name:"entity.name.type.enum.apex"}},match:/(enum)\p{space}+(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#punctuation-comma"},{begin:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,beginCaptures:{"0":{name:"entity.name.variable.enum-member.apex"}},end:/(?=([\,\}]))/dgv,patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#variable-initializer"}]}]},{include:"#javadoc-comment"},{include:"#comment"}]},expression:{patterns:[{include:"#comment"},{include:"#merge-expression"},{include:"#support-expression"},{include:"#throw-expression"},{include:"#this-expression"},{include:"#trigger-context-declaration"},{include:"#conditional-operator"},{include:"#expression-operators"},{include:"#soql-query-expression"},{include:"#object-creation-expression"},{include:"#array-creation-expression"},{include:"#invocation-expression"},{include:"#member-access-expression"},{include:"#element-access-expression"},{include:"#cast-expression"},{include:"#literal"},{include:"#parenthesized-expression"},{include:"#initializer-expression"},{include:"#identifier"}]},"expression-body":{begin:/=>/dgv,beginCaptures:{"0":{name:"keyword.operator.arrow.apex"}},end:/(?=[\)\,\;\}])/dgv,patterns:[{include:"#expression"}]},"expression-operators":{patterns:[{match:/[\-\%\*\+\/]=/dgv,name:"keyword.operator.assignment.compound.apex"},{match:/(?:[\&\^]|<<|>>|\|)=/dgv,name:"keyword.operator.assignment.compound.bitwise.apex"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.apex"},{match:/[\!\=]=/dgv,name:"keyword.operator.comparison.apex"},{match:/<=|>=|[\<\>]/dgv,name:"keyword.operator.relational.apex"},{match:/!|&&|\|\|/dgv,name:"keyword.operator.logical.apex"},{match:/[\&\^\|\~]/dgv,name:"keyword.operator.bitwise.apex"},{match:/=/dgv,name:"keyword.operator.assignment.apex"},{match:/--/dgv,name:"keyword.operator.decrement.apex"},{match:/\+\+/dgv,name:"keyword.operator.increment.apex"},{match:/[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.apex"}]},"extends-class":{begin:/(extends)\b\p{space}+([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.extends.apex"},"2":{name:"entity.name.type.extends.apex"}},end:/(?=\{|implements)/dgv},"field-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(?!=[\\=\\>])(?=[\\,\\;\\=]|(?=\\n?$))","dgv",{"hiddenCaptures":[4,6,7,8,10],"transfers":[[2,[4,7,10]],[3,[6]],[5,[8]]]}),beginCaptures:{"1":{patterns:[{include:"#support-type"},{include:"#type"}]},"5":{name:"entity.name.variable.field.apex"}},end:/(?=;)/dgv,patterns:[{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.variable.field.apex"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"},{include:"#class-or-trigger-members"}]},"finally-clause":{begin:/(?<!\.)\b(finally)\b/dgv,beginCaptures:{"1":{name:"keyword.control.try.finally.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#comment"},{include:"#block"}]},"for-apex-syntax":{captures:{"1":{patterns:[{include:"#support-type"},{include:"#type"}]},"2":{name:"entity.name.variable.local.apex"},"3":{name:"keyword.operator.iterator.colon.apex"}},match:/([\._\p{Alpha}][\._\p{Alpha}\p{Nd}]+)\p{space}+([\._\p{Alpha}][\._\p{Alpha}\p{Nd}]*)\p{space}*(:)/dgv},"for-statement":{begin:/(?<!\.)\b(for)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.loop.for.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#for-apex-syntax"},{include:"#local-variable-declaration"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"},{include:"#colon-expression"}]},{include:"#statement"}]},"from-clause":{captures:{"1":{name:"keyword.operator.query.from.apex"},"2":{name:"storage.type.apex"}},match:/(FROM)\b\p{space}*([\._\p{Alpha}\p{Nd}]+\b)?/dgv},"goto-statement":{begin:/(?<!\.)\b(goto)\b/dgv,beginCaptures:{"1":{name:"keyword.control.goto.apex"}},end:/(?=;)/dgv,patterns:[{begin:/\b(case)\b/dgv,beginCaptures:{"1":{name:"keyword.control.case.apex"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},{captures:{"1":{name:"keyword.control.default.apex"}},match:/\b(default)\b/dgv},{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.label.apex"}]},identifier:{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.apex"},"if-statement":{begin:/(?<!\.)\b(if)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.if.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"implements-class":{begin:/(implements)\b\p{space}+([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.implements.apex"},"2":{name:"entity.name.type.implements.apex"}},end:/(?=\{|extends)/dgv},"indexer-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?<return_type>(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+)(?<interface_name>((?:ref\\p{space}+)?(?:(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*\\.\\p{space}*)?(?<indexer_name>this)\\p{space}*(?=\\[)","dgv",{"hiddenCaptures":[5,7,8,9,11,12,13,14,15,16,17,18],"transfers":[[3,[5,8,12,14,17]],[4,[7,13,16]],[6,[9,15,18]],[2,[11]]]}),beginCaptures:{"1":{patterns:[{include:"#type"}]},"6":{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},"7":{name:"keyword.other.this.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{include:"#comment"},{include:"#property-accessors"},{include:"#expression-body"},{include:"#variable-initializer"}]},"initializer-expression":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"interface-declaration":{begin:/(?=\binterface\b)/dgv,end:/(?<=\})/dgv,patterns:[{begin:/(interface)\b\p{space}+(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.interface.apex"},"2":{name:"entity.name.type.interface.apex"}},end:/(?=\{)/dgv,patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#type-parameter-list"},{include:"#extends-class"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#interface-members"}]},{include:"#javadoc-comment"},{include:"#comment"}]},"interface-members":{patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#property-declaration"},{include:"#indexer-declaration"},{include:"#method-declaration"},{include:"#punctuation-semicolon"}]},"invocation-expression":{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(\\??\\.)\\p{space}*)?(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[5,6,7,8]}),beginCaptures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"entity.name.function.apex"},"3":{patterns:[{include:"#type-arguments"}]}},end:/(?<=\))/dgv,patterns:[{include:"#argument-list"}]},"javadoc-comment":{patterns:[{begin:/^\p{space}*(\/\*\*)(?!\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.apex"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.apex"}},name:"comment.block.javadoc.apex",patterns:[{match:/@(deprecated|author|return|see|serial|since|version|usage|name|link)\b/dgv,name:"keyword.other.documentation.javadoc.apex"},{captures:{"1":{name:"keyword.other.documentation.javadoc.apex"},"2":{name:"entity.name.variable.parameter.apex"}},match:/(@param)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"keyword.other.documentation.javadoc.apex"},"2":{name:"entity.name.type.class.apex"}},match:/(@(?:exception|throws))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"string.quoted.single.apex"}},match:/(`([^\`]+?)`)/dgv}]}]},literal:{patterns:[{include:"#boolean-literal"},{include:"#null-literal"},{include:"#numeric-literal"},{include:"#string-literal"}]},"local-constant-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(?<const_keyword>const)\\b\\p{space}*(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(?=[\\,\\;\\=])","dgv",{"hiddenCaptures":[5,7,8,9,11],"transfers":[[3,[5,8,11]],[4,[7]],[6,[9]]]}),beginCaptures:{"1":{name:"storage.modifier.apex"},"2":{patterns:[{include:"#type"}]},"6":{name:"entity.name.variable.local.apex"}},end:/(?=;)/dgv,patterns:[{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.variable.local.apex"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"}]},"local-declaration":{patterns:[{include:"#local-constant-declaration"},{include:"#local-variable-declaration"}]},"local-variable-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?:\\b(ref)\\p{space}+)?\\b(var)\\b|(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*))\\p{space}+((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(?=[\\)\\,\\;\\=])","dgv",{"hiddenCaptures":[6,8,9,10,12],"transfers":[[4,[6,9,12]],[5,[8]],[7,[10]]]}),beginCaptures:{"1":{name:"storage.modifier.apex"},"2":{name:"keyword.other.var.apex"},"3":{patterns:[{include:"#support-type"},{include:"#type"}]},"7":{name:"entity.name.variable.local.apex"}},end:/(?=[\)\;])/dgv,patterns:[{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.variable.local.apex"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"}]},"member-access-expression":{patterns:[{captures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"variable.other.object.property.apex"}},match:/(\??\.)\p{space}*(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*(?![\(_\p{Alpha}\p{Nd}]|(\?)?\[|<)/dgv},{captures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"variable.other.object.apex"},"3":{patterns:[{include:"#type-arguments"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\??\\.)?\\p{space}*(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)(?<type_params>\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)(?=(\\p{space}*\\?)?\\p{space}*\\.\\p{space}*@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)","dgv",{"hiddenCaptures":[5,6,7,8]})},{captures:{"1":{name:"variable.other.object.apex"}},match:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)(?=(\p{space}*\?)?\p{space}*\.\p{space}*@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv}]},"merge-expression":{begin:/(merge)\b\p{space}+/dgv,beginCaptures:{"1":{name:"support.function.apex"}},end:/(?<=;)/dgv,patterns:[{include:"#object-creation-expression"},{include:"#merge-type-statement"},{include:"#expression"},{include:"#punctuation-semicolon"}]},"merge-type-statement":{captures:{"1":{name:"variable.other.readwrite.apex"},"2":{name:"variable.other.readwrite.apex"},"3":{name:"punctuation.terminator.statement.apex"}},match:/([_\p{Alpha}]*)\b\p{space}+([_\p{Alpha}]*)\b\p{space}*(;)/dgv},"method-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?<return_type>(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+)(?<interface_name>((?:ref\\p{space}+)?(?:(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*\\.\\p{space}*)?((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(<([^\\<\\>]+)>)?\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[5,7,8,9,11,12,13,14,15,16,17,18,20],"transfers":[[3,[5,8,12,14,17,20]],[4,[7,13,16]],[6,[9,15,18]],[2,[11]]]}),beginCaptures:{"1":{patterns:[{include:"#support-type"},{include:"#type"}]},"6":{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},"7":{patterns:[{include:"#support-type"},{include:"#method-name-custom"}]},"8":{patterns:[{include:"#type-parameter-list"}]}},end:/(?<=\})|(?=;)/dgv,patterns:[{include:"#comment"},{include:"#parenthesized-parameter-list"},{include:"#expression-body"},{include:"#block"}]},"method-name-custom":{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.function.apex"},"named-argument":{begin:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"entity.name.variable.parameter.apex"},"2":{name:"punctuation.separator.colon.apex"}},end:/(?=([\]\)\,]))/dgv,patterns:[{include:"#expression"}]},"null-literal":{match:/(?<!\.)\bnull\b/dgv,name:"constant.language.null.apex"},"numeric-literal":{patterns:[{match:/\b(\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}T\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}(\.\p{Nd}{1,3})?([\-\+])\p{Nd}{2}:\p{Nd}{2})\b/dgv,name:"constant.numeric.datetime.apex"},{match:/\b(\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}T\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}(\.\p{Nd}{1,3})?(Z)?)\b/dgv,name:"constant.numeric.datetime.apex"},{match:/\b(\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2})\b/dgv,name:"constant.numeric.date.apex"},{match:/\b0([Xx])[_\p{AHex}]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/dgv,name:"constant.numeric.hex.apex"},{match:/\b0([Bb])[01_]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/dgv,name:"constant.numeric.binary.apex"},{match:/\b([0-9_]+)?\.[0-9_]+(([Ee])[0-9]+)?([DFMdfm])?\b/dgv,name:"constant.numeric.decimal.apex"},{match:/\b[0-9_]+([Ee])[0-9_]+([DFMdfm])?\b/dgv,name:"constant.numeric.decimal.apex"},{match:/\b[0-9_]+([DFMdfm])\b/dgv,name:"constant.numeric.decimal.apex"},{match:/\b[0-9_]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/dgv,name:"constant.numeric.decimal.apex"}]},"object-creation-expression":{patterns:[{include:"#object-creation-expression-with-parameters"},{include:"#object-creation-expression-with-no-parameters"},{include:"#punctuation-comma"}]},"object-creation-expression-with-no-parameters":{captures:{"1":{name:"support.function.apex"},"2":{name:"keyword.control.new.apex"},"3":{patterns:[{include:"#support-type"},{include:"#type"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(delete|insert|undelete|update|upsert)?\\p{space}*(new)\\p{space}+(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*(?=\\{|(?=\\n?$))","dgv",{"hiddenCaptures":[6,8,9,10],"transfers":[[4,[6,9]],[5,[8]],[7,[10]]]})},"object-creation-expression-with-parameters":{begin:/*@__PURE__*/ new EmulatedRegExp("(delete|insert|undelete|update|upsert)?\\p{space}*(new)\\p{space}+(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[6,8,9,10],"transfers":[[4,[6,9]],[5,[8]],[7,[10]]]}),beginCaptures:{"1":{name:"support.function.apex"},"2":{name:"keyword.control.new.apex"},"3":{patterns:[{include:"#support-type"},{include:"#type"}]}},end:/(?<=\))/dgv,patterns:[{include:"#argument-list"}]},"operator-assignment":{match:/(?<![\!\=])(=)(?!=)/dgv,name:"keyword.operator.assignment.apex"},"operator-safe-navigation":{match:/\?\./dgv,name:"keyword.operator.safe-navigation.apex"},"orderby-clause":{captures:{"1":{name:"keyword.operator.query.orderby.apex"}},match:/\b(ORDER BY)\b\p{space}*/dgv,patterns:[{include:"#ordering-direction"},{include:"#ordering-nulls"}]},"ordering-direction":{captures:{"1":{name:"keyword.operator.query.ascending.apex"},"2":{name:"keyword.operator.query.descending.apex"}},match:/\b(?:(ASC)|(DESC))\b/dgv},"ordering-nulls":{captures:{"1":{name:"keyword.operator.query.nullsfirst.apex"},"2":{name:"keyword.operator.query.nullslast.apex"}},match:/\b(?:(NULLS FIRST)|(NULLS LAST))\b/dgv},parameter:{captures:{"1":{name:"storage.modifier.apex"},"2":{patterns:[{include:"#support-type"},{include:"#type"}]},"6":{name:"entity.name.variable.parameter.apex"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:\\b(this)\\b\\p{space}+)?(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))","dgv",{"hiddenCaptures":[5,7,8,9,11],"transfers":[[3,[5,8,11]],[4,[7]],[6,[9]]]})},"parenthesized-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},"parenthesized-parameter-list":{begin:/(\()/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/(\))/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#comment"},{include:"#parameter"},{include:"#punctuation-comma"},{include:"#variable-initializer"}]},"property-accessors":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{match:/\b(pr(?:ivate|otected))\b/dgv,name:"storage.modifier.apex"},{match:/\b(get)\b/dgv,name:"keyword.other.get.apex"},{match:/\b(set)\b/dgv,name:"keyword.other.set.apex"},{include:"#comment"},{include:"#expression-body"},{include:"#block"},{include:"#punctuation-semicolon"}]},"property-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?![^\\n]*\\b(?:class|interface|enum)\\b)\\p{space}*(?<return_type>(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+)(?<interface_name>((?:ref\\p{space}+)?(?:(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*\\.\\p{space}*)?(?<property_name>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(?=\\{|=>|(?=\\n?$))","dgv",{"hiddenCaptures":[5,7,8,9,11,12,13,14,15,16,17,18,20],"transfers":[[3,[5,8,12,14,17,20]],[4,[7,13,16]],[6,[9,15,18]],[2,[11]]]}),beginCaptures:{"1":{patterns:[{include:"#type"}]},"6":{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},"7":{name:"entity.name.variable.property.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{include:"#comment"},{include:"#property-accessors"},{include:"#expression-body"},{include:"#variable-initializer"},{include:"#class-or-trigger-members"}]},"punctuation-accessor":{match:/\./dgv,name:"punctuation.accessor.apex"},"punctuation-comma":{match:/,/dgv,name:"punctuation.separator.comma.apex"},"punctuation-semicolon":{match:/;/dgv,name:"punctuation.terminator.statement.apex"},"query-operators":{captures:{"1":{name:"keyword.operator.query.apex"}},match:/\b(ABOVE|AND|AT|FOR REFERENCE|FOR UPDATE|FOR VIEW|GROUP BY|HAVING|IN|LIKE|LIMIT|NOT IN|NOT|OFFSET|OR|TYPEOF|UPDATE TRACKING|UPDATE VIEWSTAT|WITH DATA CATEGORY|WITH)\b\p{space}*/dgv},"return-statement":{begin:/(?<!\.)\b(return)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow.return.apex"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},"script-top-level":{patterns:[{include:"#method-declaration"},{include:"#statement"},{include:"#punctuation-semicolon"}]},"sharing-modifier":{match:/(?<!\.)\b((?:with|without|inherited) sharing)\b/dgv,name:"sharing.modifier.apex"},"soql-colon-method-statement":{begin:/(:?\.)?([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)(?=\()/dgv,beginCaptures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"entity.name.function.apex"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"soql-colon-vars":{begin:/(:)\p{space}*/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.colon.apex"}},end:/(?![\(_\p{Alpha}\p{Nd}]|(\?)?\[|<)/dgv,patterns:[{include:"#trigger-context-declaration"},{captures:{"1":{name:"variable.other.object.apex"},"2":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]}},match:/([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)(\??\.)/dgv},{include:"#soql-colon-method-statement"},{match:/[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.variable.local.apex"}]},"soql-functions":{begin:/\b(AVG|CALENDAR_MONTH|CALENDAR_QUARTER|CALENDAR_YEAR|convertCurrency|convertTimezone|COUNT|COUNT_DISTINCT|DAY_IN_MONTH|DAY_IN_WEEK|DAY_IN_YEAR|DAY_ONLY|toLabel|INCLUDES|EXCLUDES|FISCAL_MONTH|FISCAL_QUARTER|FISCAL_YEAR|FORMAT|GROUPING|GROUP BY CUBE|GROUP BY ROLLUP|HOUR_IN_DAY|MAX|MIN|SUM|WEEK_IN_MONTH|WEEK_IN_YEAR)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.function.query.apex"},"2":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#literal"},{include:"#punctuation-comma"},{include:"#soql-functions"},{match:/[\._\p{Alpha}][\._\p{Alpha}\p{Nd}]*/dgv,name:"keyword.query.field.apex"}]},"soql-group-clauses":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#soql-query-expression"},{include:"#soql-colon-vars"},{include:"#soql-group-clauses"},{include:"#punctuation-comma"},{include:"#operator-assignment"},{include:"#literal"},{include:"#query-operators"},{include:"#date-literals"},{include:"#date-literal-with-params"},{include:"#using-scope"},{match:/[\._\p{Alpha}][\._\p{Alpha}\p{Nd}]*/dgv,name:"keyword.query.field.apex"}]},"soql-query-body":{patterns:[{include:"#trigger-context-declaration"},{include:"#soql-colon-vars"},{include:"#soql-functions"},{include:"#from-clause"},{include:"#where-clause"},{include:"#query-operators"},{include:"#date-literals"},{include:"#date-literal-with-params"},{include:"#using-scope"},{include:"#soql-group-clauses"},{include:"#orderby-clause"},{include:"#ordering-direction"},{include:"#ordering-nulls"}]},"soql-query-expression":{begin:/\b(SELECT)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.query.select.apex"}},end:/(?=;)|(?=\])|(?=\))/dgv,patterns:[{include:"#soql-query-body"},{include:"#comment"},{include:"#punctuation-comma"},{include:"#operator-assignment"},{include:"#parenthesized-expression"},{include:"#expression-operators"},{include:"#literal"},{captures:{"1":{name:"keyword.query.field.apex"},"2":{name:"punctuation.separator.comma.apex"}},match:/([\._\p{Alpha}][\._\p{Alpha}\p{Nd}]*)\p{space}*(,)?/dgv}]},statement:{patterns:[{include:"#comment"},{include:"#while-statement"},{include:"#do-statement"},{include:"#for-statement"},{include:"#switch-statement"},{include:"#when-else-statement"},{include:"#when-sobject-statement"},{include:"#when-statement"},{include:"#when-multiple-statement"},{include:"#if-statement"},{include:"#else-part"},{include:"#goto-statement"},{include:"#return-statement"},{include:"#break-or-continue-statement"},{include:"#throw-statement"},{include:"#try-statement"},{include:"#soql-query-expression"},{include:"#local-declaration"},{include:"#block"},{include:"#expression"},{include:"#punctuation-semicolon"}]},"storage-modifier":{match:/(?<!\.)\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\b/dgv,name:"storage.modifier.apex"},"string-character-escape":{match:/\\[^\n]/dgv,name:"constant.character.escape.apex"},"string-literal":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.apex"}},end:/(')|([^\n\\])(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.apex"},"2":{name:"invalid.illegal.newline.apex"}},name:"string.quoted.single.apex",patterns:[{include:"#string-character-escape"}]},"support-arguments":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.apex"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.apex"}},patterns:[{include:"#comment"},{include:"#support-type"},{include:"#punctuation-comma"}]},"support-class":{captures:{"1":{name:"support.class.apex"}},match:/\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\b/dgv},"support-expression":{begin:/(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=[\.\p{space}])/dgv,beginCaptures:{"1":{name:"support.class.apex"}},end:/(?<=\)|(?=\n?$))|(?=\})|(?=;)|(?=\)|(?=\]))|(?=,)/dgv,patterns:[{include:"#support-type"},{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"support.function.apex"}},match:/(\.)(\p{Alpha}*)(?=\()/dgv},{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"support.type.apex"}},match:/(\.)(\p{Alpha}+)/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},{include:"#comment"},{include:"#statement"}]},"support-functions":{captures:{"1":{name:"support.function.apex"}},match:/\b(delete|execute|finish|insert|start|undelete|update|upsert)\b/dgv},"support-name":{patterns:[{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"support.function.apex"}},match:/(\.)\p{space}*(\p{Alpha}*)(?=\()/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"support.type.apex"}},match:/(\.)\p{space}*([_\p{Alpha}]*)/dgv}]},"support-type":{name:"support.apex",patterns:[{include:"#comment"},{include:"#support-class"},{include:"#support-functions"},{include:"#support-name"}]},"switch-statement":{begin:/(switch)\b\p{space}+(on)\b\p{space}+(?:(['\(\)\.\?_\p{Alpha}\p{Nd}]+)\p{space}*)?(\{)/dgv,beginCaptures:{"1":{name:"keyword.control.switch.apex"},"2":{name:"keyword.control.switch.on.apex"},"3":{patterns:[{include:"#statement"},{include:"#parenthesized-expression"}]},"4":{name:"punctuation.curlybrace.open.apex"}},end:/(\})/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#when-string"},{include:"#when-else-statement"},{include:"#when-sobject-statement"},{include:"#when-statement"},{include:"#when-multiple-statement"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"this-expression":{captures:{"1":{name:"keyword.other.this.apex"}},match:/\b(this)\b/dgv},"throw-expression":{captures:{"1":{name:"keyword.control.flow.throw.apex"}},match:/(?<!\.)\b(throw)\b/dgv},"throw-statement":{begin:/(?<!\.)\b(throw)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow.throw.apex"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},"trigger-context-declaration":{begin:/\b(Trigger)\b(\.)\b/dgv,beginCaptures:{"1":{name:"support.class.trigger.apex"},"2":{name:"punctuation.accessor.apex"}},end:/(?=\})|(?=;)|(?=\)|(?=\]))/dgv,patterns:[{match:/\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\b/dgv,name:"support.type.trigger.apex"},{captures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"support.function.trigger.apex"}},match:/(\??\.)(\p{Alpha}+)(?=\()/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#trigger-type-statement"},{include:"#javadoc-comment"},{include:"#comment"},{include:"#expression"}]},{include:"#expression"}]},"trigger-declaration":{begin:/(?=\btrigger\b)/dgv,end:/(?<=\})/dgv,patterns:[{begin:/\b(trigger)\b\p{space}+(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*\b(on)\b\p{space}+([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.trigger.apex"},"2":{name:"entity.name.type.trigger.apex"},"3":{name:"keyword.operator.trigger.on.apex"},"4":{name:"storage.type.apex"}},end:/(?=\{)/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#trigger-type-statement"},{include:"#trigger-operator-statement"},{include:"#punctuation-comma"},{include:"#expression"}]},{include:"#javadoc-comment"},{include:"#comment"},{include:"#type-parameter-list"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#statement"},{include:"#class-or-trigger-members"}]},{include:"#javadoc-comment"},{include:"#comment"}]},"trigger-operator-statement":{match:/\b(insert|update|delete|merge|upsert|undelete)\b/dgv,name:"keyword.operator.trigger.apex"},"trigger-type-statement":{captures:{"1":{name:"keyword.control.trigger.before.apex"},"2":{name:"keyword.control.trigger.after.apex"}},match:/\b(?:(before)|(after))\b/dgv},"try-block":{begin:/(?<!\.)\b(try)\b/dgv,beginCaptures:{"1":{name:"keyword.control.try.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#comment"},{include:"#block"}]},"try-statement":{patterns:[{include:"#try-block"},{include:"#catch-clause"},{include:"#finally-clause"}]},type:{name:"meta.type.apex",patterns:[{include:"#comment"},{include:"#type-builtin"},{include:"#type-name"},{include:"#type-arguments"},{include:"#type-array-suffix"},{include:"#type-nullable-suffix"}]},"type-arguments":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.apex"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.apex"}},patterns:[{include:"#comment"},{include:"#support-type"},{include:"#type"},{include:"#punctuation-comma"}]},"type-array-suffix":{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.squarebracket.open.apex"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.squarebracket.close.apex"}},patterns:[{include:"#punctuation-comma"}]},"type-builtin":{captures:{"1":{name:"keyword.type.apex"}},match:/\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|ID|Integer|Long|Object|String|Time|void)\b/dgv},"type-declarations":{patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#annotation-declaration"},{include:"#storage-modifier"},{include:"#sharing-modifier"},{include:"#class-declaration"},{include:"#enum-declaration"},{include:"#interface-declaration"},{include:"#trigger-declaration"},{include:"#punctuation-semicolon"}]},"type-name":{patterns:[{captures:{"1":{name:"storage.type.apex"},"2":{name:"punctuation.accessor.apex"}},match:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*(\.)/dgv},{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"storage.type.apex"}},match:/(\.)\p{space}*(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv},{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"storage.type.apex"}]},"type-nullable-suffix":{captures:{"0":{name:"punctuation.separator.question-mark.apex"}},match:/\?/dgv},"type-parameter-list":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.apex"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.apex"}},patterns:[{captures:{"1":{name:"entity.name.type.type-parameter.apex"}},match:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\b/dgv},{include:"#comment"},{include:"#punctuation-comma"}]},"using-scope":{captures:{"1":{name:"keyword.operator.query.using.apex"}},match:/((USING SCOPE)\b\p{space}*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\b\p{space}*/dgv},"variable-initializer":{begin:/(?<![\!\=])(=)(?![\=\>])/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.apex"}},end:/(?=[\]\)\,\;\}])/dgv,patterns:[{include:"#expression"}]},"when-else-statement":{begin:/(when)\b\p{space}+(else)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{name:"keyword.control.switch.else.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-multiple-statement":{begin:/(when)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-sobject-statement":{begin:/(when)\b\p{space}+([_\p{Alpha}\p{Nd}]+)\p{space}+([_\p{Alpha}\p{Nd}]+)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{name:"storage.type.apex"},"3":{name:"entity.name.variable.local.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-statement":{begin:/(when)\b\p{space}+([\-'_\p{Alpha}\p{Nd}]+)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{patterns:[{include:"#expression"}]}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-string":{begin:/(when)\b(\p{space}*)((')['\*\,\._\p{space}\p{Alpha}\p{Nd}]+)/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{name:"punctuation.whitespace.apex"},"3":{patterns:[{include:"#when-string-statement"},{include:"#punctuation-comma"}]}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-string-statement":{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.apex"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.apex"}},name:"string.quoted.single.apex"}]},"where-clause":{captures:{"1":{name:"keyword.operator.query.where.apex"}},match:/\b(WHERE)\b\p{space}*/dgv},"while-statement":{begin:/(?<!\.)\b(while)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.loop.while.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"xml-attribute":{patterns:[{captures:{"1":{name:"entity.other.attribute-name.apex"},"2":{name:"entity.other.attribute-name.namespace.apex"},"3":{name:"punctuation.separator.colon.apex"},"4":{name:"entity.other.attribute-name.localname.apex"},"5":{name:"punctuation.separator.equals.apex"}},match:/(?:^|\p{space}+)((?:([\-_\p{Alpha}\p{Nd}]+)(:))?([\-_\p{Alpha}\p{Nd}]+))(=)/dgv},{include:"#xml-string"}]},"xml-cdata":{begin:/<!\[CDATA\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.apex"}},end:/\]\]>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.apex"}},name:"string.unquoted.cdata.apex"},"xml-character-entity":{patterns:[{captures:{"1":{name:"punctuation.definition.constant.apex"},"3":{name:"punctuation.definition.constant.apex"}},match:/(&)([\:_\p{Alpha}][\-\.\:_\p{Alpha}\p{Nd}]*|#\p{Nd}+|#x\p{AHex}+)(;)/dgv,name:"constant.character.entity.apex"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.apex"}]},"xml-comment":{begin:/<!--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.apex"}},end:/-->/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.apex"}},name:"comment.block.apex"},"xml-doc-comment":{patterns:[{include:"#xml-comment"},{include:"#xml-character-entity"},{include:"#xml-cdata"},{include:"#xml-tag"}]},"xml-string":{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.apex"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.apex"}},name:"string.quoted.single.apex",patterns:[{include:"#xml-character-entity"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.stringdoublequote.begin.apex"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.stringdoublequote.end.apex"}},name:"string.quoted.double.apex",patterns:[{include:"#xml-character-entity"}]}]},"xml-tag":{begin:/(<\/?)((?:([\-_\p{Alpha}\p{Nd}]+)(:))?([\-_\p{Alpha}\p{Nd}]+))/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.apex"},"2":{name:"entity.name.tag.apex"},"3":{name:"entity.name.tag.namespace.apex"},"4":{name:"punctuation.separator.colon.apex"},"5":{name:"entity.name.tag.localname.apex"}},end:/(\/?>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.apex"}},name:"meta.tag.apex",patterns:[{include:"#xml-attribute"}]}},scopeName:"source.apex",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Apex",fileTypes:["apex","cls","trigger"],name:"apex",patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#directives"},{include:"#declarations"},{include:"#script-top-level"}],repository:{"annotation-declaration":{begin:/(@[_\p{Alpha}]+)\b/dgv,beginCaptures:{"1":{name:"storage.type.annotation.apex"}},end:/(?=\p{space}(?!\())|(?=\p{space}*(?=\n?$))|(?<=\p{space}*\))/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"argument-list":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#named-argument"},{include:"#expression"},{include:"#punctuation-comma"}]},"array-creation-expression":{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(new)\\b\\p{space}*(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)?\\p{space}*(?=\\[)","dgv",{"hiddenCaptures":[5,7,8,9],"transfers":[[3,[5,8]],[4,[7]],[6,[9]]]}),beginCaptures:{"1":{name:"keyword.control.new.apex"},"2":{patterns:[{include:"#support-type"},{include:"#type"}]}},end:/(?<=\])/dgv,patterns:[{include:"#bracketed-argument-list"}]},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#statement"}]},"boolean-literal":{patterns:[{match:/(?<!\.)\btrue\b/dgv,name:"constant.language.boolean.true.apex"},{match:/(?<!\.)\bfalse\b/dgv,name:"constant.language.boolean.false.apex"}]},"bracketed-argument-list":{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.squarebracket.open.apex"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.squarebracket.close.apex"}},patterns:[{include:"#soql-query-expression"},{include:"#named-argument"},{include:"#expression"},{include:"#punctuation-comma"}]},"break-or-continue-statement":{captures:{"1":{name:"keyword.control.flow.break.apex"},"2":{name:"keyword.control.flow.continue.apex"}},match:/(?<!\.)\b(?:(break)|(continue))\b/dgv},"cast-expression":{captures:{"1":{name:"punctuation.parenthesis.open.apex"},"2":{patterns:[{include:"#support-type"},{include:"#type"}]},"6":{name:"punctuation.parenthesis.close.apex"}},match:/*@__PURE__*/ new EmulatedRegExp("(\\()\\p{space}*(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*(\\))(?=\\p{space}*@?[\\(_\\p{Alpha}\\p{Nd}])","dgv",{"hiddenCaptures":[5,7,8,9],"transfers":[[3,[5,8]],[4,[7]],[6,[9]]]})},"catch-clause":{begin:/(?<!\.)\b(catch)\b/dgv,beginCaptures:{"1":{name:"keyword.control.try.catch.apex"}},end:/(?<=\})/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{captures:{"1":{patterns:[{include:"#support-type"},{include:"#type"}]},"5":{name:"entity.name.variable.local.apex"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*(?:((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\b)?","dgv",{"hiddenCaptures":[4,6,7,8,10],"transfers":[[2,[4,7,10]],[3,[6]],[5,[8]]]})}]},{include:"#comment"},{include:"#block"}]},"class-declaration":{begin:/(?=\bclass\b)/dgv,end:/(?<=\})/dgv,patterns:[{begin:/\b(class)\b\p{space}+(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.class.apex"},"2":{name:"entity.name.type.class.apex"}},end:/(?=\{)/dgv,patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#type-parameter-list"},{include:"#extends-class"},{include:"#implements-class"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#class-or-trigger-members"}]},{include:"#javadoc-comment"},{include:"#comment"}]},"class-or-trigger-members":{patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#storage-modifier"},{include:"#sharing-modifier"},{include:"#type-declarations"},{include:"#field-declaration"},{include:"#property-declaration"},{include:"#indexer-declaration"},{include:"#variable-initializer"},{include:"#constructor-declaration"},{include:"#method-declaration"},{include:"#punctuation-semicolon"}]},"colon-expression":{match:/:/dgv,name:"keyword.operator.conditional.colon.apex"},comment:{patterns:[{begin:/\/\*(\*)?/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.apex"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.apex"}},name:"comment.block.apex"},{begin:/(^\p{space}+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.apex"}},end:/(?=(?=\n?$))/dgv,patterns:[{begin:/(?<!\/)\/\/\/(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.apex"}},end:/(?=(?=\n?$))/dgv,name:"comment.block.documentation.apex",patterns:[{include:"#xml-doc-comment"}]},{begin:/(?<!\/)\/\/(?:(?!\/)|(?=\/\/))/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.apex"}},end:/(?=(?=\n?$))/dgv,name:"comment.line.double-slash.apex"}]}]},"conditional-operator":{begin:/(?<!\?)\?(?![\.\?\[])/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.question-mark.apex"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.conditional.colon.apex"}},patterns:[{include:"#expression"}]},"constructor-declaration":{begin:/(?=@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*\p{space}*\()/dgv,end:/(?<=\})|(?=;)/dgv,patterns:[{captures:{"1":{name:"entity.name.function.apex"}},match:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\b/dgv},{begin:/(:)/dgv,beginCaptures:{"1":{name:"punctuation.separator.colon.apex"}},end:/(?=\{|=>)/dgv,patterns:[{include:"#constructor-initializer"}]},{include:"#parenthesized-parameter-list"},{include:"#comment"},{include:"#expression-body"},{include:"#block"}]},"constructor-initializer":{begin:/\b(this)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.other.this.apex"}},end:/(?<=\))/dgv,patterns:[{include:"#argument-list"}]},"date-literal-with-params":{captures:{"1":{name:"keyword.operator.query.date.apex"}},match:/\b(((?:LAST_N_DAY|NEXT_N_DAY|NEXT_N_WEEK|LAST_N_WEEK|NEXT_N_MONTH|LAST_N_MONTH|NEXT_N_QUARTER|LAST_N_QUARTER|NEXT_N_YEAR|LAST_N_YEAR|NEXT_N_FISCAL_QUARTER|LAST_N_FISCAL_QUARTER|NEXT_N_FISCAL_YEAR|LAST_N_FISCAL_YEAR)S)\p{space}*:\p{Nd}+)\b/dgv},"date-literals":{captures:{"1":{name:"keyword.operator.query.date.apex"}},match:/\b(YESTERDAY|TODAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)\b\p{space}*/dgv},declarations:{patterns:[{include:"#type-declarations"},{include:"#punctuation-semicolon"}]},directives:{patterns:[{include:"#punctuation-semicolon"}]},"do-statement":{begin:/(?<!\.)\b(do)\b/dgv,beginCaptures:{"1":{name:"keyword.control.loop.do.apex"}},end:/(?=[\;\}])/dgv,patterns:[{include:"#statement"}]},"element-access-expression":{begin:/(?:(\??\.)\p{space}*)?(?:(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*)?(?:(\?)\p{space}*)?(?=\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"variable.other.object.property.apex"},"3":{name:"keyword.operator.null-conditional.apex"}},end:/(?<=\])(?!\p{space}*\[)/dgv,patterns:[{include:"#bracketed-argument-list"}]},"else-part":{begin:/(?<!\.)\b(else)\b/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.else.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{include:"#statement"}]},"enum-declaration":{begin:/(?=\benum\b)/dgv,end:/(?<=\})/dgv,patterns:[{begin:/(?=enum)/dgv,end:/(?=\{)/dgv,patterns:[{include:"#javadoc-comment"},{include:"#comment"},{captures:{"1":{name:"keyword.other.enum.apex"},"2":{name:"entity.name.type.enum.apex"}},match:/(enum)\p{space}+(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#punctuation-comma"},{begin:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,beginCaptures:{"0":{name:"entity.name.variable.enum-member.apex"}},end:/(?=([\,\}]))/dgv,patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#variable-initializer"}]}]},{include:"#javadoc-comment"},{include:"#comment"}]},expression:{patterns:[{include:"#comment"},{include:"#merge-expression"},{include:"#support-expression"},{include:"#throw-expression"},{include:"#this-expression"},{include:"#trigger-context-declaration"},{include:"#conditional-operator"},{include:"#expression-operators"},{include:"#soql-query-expression"},{include:"#object-creation-expression"},{include:"#array-creation-expression"},{include:"#invocation-expression"},{include:"#member-access-expression"},{include:"#element-access-expression"},{include:"#cast-expression"},{include:"#literal"},{include:"#parenthesized-expression"},{include:"#initializer-expression"},{include:"#identifier"}]},"expression-body":{begin:/=>/dgv,beginCaptures:{"0":{name:"keyword.operator.arrow.apex"}},end:/(?=[\)\,\;\}])/dgv,patterns:[{include:"#expression"}]},"expression-operators":{patterns:[{match:/[\-\%\*\+\/]=/dgv,name:"keyword.operator.assignment.compound.apex"},{match:/(?:[\&\^]|<<|>>|\|)=/dgv,name:"keyword.operator.assignment.compound.bitwise.apex"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.apex"},{match:/[\!\=]=/dgv,name:"keyword.operator.comparison.apex"},{match:/<=|>=|[\<\>]/dgv,name:"keyword.operator.relational.apex"},{match:/!|&&|\|\|/dgv,name:"keyword.operator.logical.apex"},{match:/[\&\^\|\~]/dgv,name:"keyword.operator.bitwise.apex"},{match:/=/dgv,name:"keyword.operator.assignment.apex"},{match:/--/dgv,name:"keyword.operator.decrement.apex"},{match:/\+\+/dgv,name:"keyword.operator.increment.apex"},{match:/[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.apex"}]},"extends-class":{begin:/(extends)\b\p{space}+([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.extends.apex"},"2":{name:"entity.name.type.extends.apex"}},end:/(?=\{|implements)/dgv},"field-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(?!=[\\=\\>])(?=[\\,\\;\\=]|(?=\\n?$))","dgv",{"hiddenCaptures":[4,6,7,8,10],"transfers":[[2,[4,7,10]],[3,[6]],[5,[8]]]}),beginCaptures:{"1":{patterns:[{include:"#support-type"},{include:"#type"}]},"5":{name:"entity.name.variable.field.apex"}},end:/(?=;)/dgv,patterns:[{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.variable.field.apex"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"},{include:"#class-or-trigger-members"}]},"finally-clause":{begin:/(?<!\.)\b(finally)\b/dgv,beginCaptures:{"1":{name:"keyword.control.try.finally.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#comment"},{include:"#block"}]},"for-apex-syntax":{captures:{"1":{patterns:[{include:"#support-type"},{include:"#type"}]},"2":{name:"entity.name.variable.local.apex"},"3":{name:"keyword.operator.iterator.colon.apex"}},match:/([\._\p{Alpha}][\._\p{Alpha}\p{Nd}]+)\p{space}+([\._\p{Alpha}][\._\p{Alpha}\p{Nd}]*)\p{space}*(:)/dgv},"for-statement":{begin:/(?<!\.)\b(for)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.loop.for.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#for-apex-syntax"},{include:"#local-variable-declaration"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"},{include:"#colon-expression"}]},{include:"#statement"}]},"from-clause":{captures:{"1":{name:"keyword.operator.query.from.apex"},"2":{name:"storage.type.apex"}},match:/(FROM)\b\p{space}*([\._\p{Alpha}\p{Nd}]+\b)?/dgv},"goto-statement":{begin:/(?<!\.)\b(goto)\b/dgv,beginCaptures:{"1":{name:"keyword.control.goto.apex"}},end:/(?=;)/dgv,patterns:[{begin:/\b(case)\b/dgv,beginCaptures:{"1":{name:"keyword.control.case.apex"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},{captures:{"1":{name:"keyword.control.default.apex"}},match:/\b(default)\b/dgv},{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.label.apex"}]},identifier:{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.apex"},"if-statement":{begin:/(?<!\.)\b(if)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.if.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"implements-class":{begin:/(implements)\b/dgv,beginCaptures:{"1":{name:"keyword.other.implements.apex"}},end:/(?=\{|extends)/dgv,patterns:[{captures:{"1":{name:"entity.name.type.implements.apex"},"2":{name:"punctuation.separator.comma.apex"}},match:/([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\b\p{space}*(,)?/dgv}]},"indexer-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?<return_type>(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+)(?<interface_name>((?:ref\\p{space}+)?(?:(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*\\.\\p{space}*)?(?<indexer_name>this)\\p{space}*(?=\\[)","dgv",{"hiddenCaptures":[5,7,8,9,11,12,13,14,15,16,17,18],"transfers":[[3,[5,8,12,14,17]],[4,[7,13,16]],[6,[9,15,18]],[2,[11]]]}),beginCaptures:{"1":{patterns:[{include:"#type"}]},"6":{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},"7":{name:"keyword.other.this.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{include:"#comment"},{include:"#property-accessors"},{include:"#expression-body"},{include:"#variable-initializer"}]},"initializer-expression":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"interface-declaration":{begin:/(?=\binterface\b)/dgv,end:/(?<=\})/dgv,patterns:[{begin:/(interface)\b\p{space}+(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"1":{name:"keyword.other.interface.apex"},"2":{name:"entity.name.type.interface.apex"}},end:/(?=\{)/dgv,patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#type-parameter-list"},{include:"#extends-class"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#interface-members"}]},{include:"#javadoc-comment"},{include:"#comment"}]},"interface-members":{patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#property-declaration"},{include:"#indexer-declaration"},{include:"#method-declaration"},{include:"#punctuation-semicolon"}]},"invocation-expression":{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(\\??\\.)\\p{space}*)?(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[5,6,7,8]}),beginCaptures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"entity.name.function.apex"},"3":{patterns:[{include:"#type-arguments"}]}},end:/(?<=\))/dgv,patterns:[{include:"#argument-list"}]},"javadoc-comment":{patterns:[{begin:/^\p{space}*(\/\*\*)(?!\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.apex"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.apex"}},name:"comment.block.javadoc.apex",patterns:[{match:/@(deprecated|author|return|see|serial|since|version|usage|name|link)\b/dgv,name:"keyword.other.documentation.javadoc.apex"},{captures:{"1":{name:"keyword.other.documentation.javadoc.apex"},"2":{name:"entity.name.variable.parameter.apex"}},match:/(@param)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"keyword.other.documentation.javadoc.apex"},"2":{name:"entity.name.type.class.apex"}},match:/(@(?:exception|throws))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"string.quoted.single.apex"}},match:/(`([^\`]+?)`)/dgv}]}]},literal:{patterns:[{include:"#boolean-literal"},{include:"#null-literal"},{include:"#numeric-literal"},{include:"#string-literal"}]},"local-constant-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(?<const_keyword>const)\\b\\p{space}*(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(?=[\\,\\;\\=])","dgv",{"hiddenCaptures":[5,7,8,9,11],"transfers":[[3,[5,8,11]],[4,[7]],[6,[9]]]}),beginCaptures:{"1":{name:"storage.modifier.apex"},"2":{patterns:[{include:"#type"}]},"6":{name:"entity.name.variable.local.apex"}},end:/(?=;)/dgv,patterns:[{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.variable.local.apex"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"}]},"local-declaration":{patterns:[{include:"#local-constant-declaration"},{include:"#local-variable-declaration"}]},"local-variable-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?:\\b(ref)\\p{space}+)?\\b(var)\\b|(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*))\\p{space}+((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(?=[\\)\\,\\;\\=])","dgv",{"hiddenCaptures":[6,8,9,10,12],"transfers":[[4,[6,9,12]],[5,[8]],[7,[10]]]}),beginCaptures:{"1":{name:"storage.modifier.apex"},"2":{name:"keyword.other.var.apex"},"3":{patterns:[{include:"#support-type"},{include:"#type"}]},"7":{name:"entity.name.variable.local.apex"}},end:/(?=[\)\;])/dgv,patterns:[{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.variable.local.apex"},{include:"#punctuation-comma"},{include:"#comment"},{include:"#variable-initializer"}]},"member-access-expression":{patterns:[{captures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"variable.other.object.property.apex"}},match:/(\??\.)\p{space}*(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*(?![\(_\p{Alpha}\p{Nd}]|(\?)?\[|<)/dgv},{captures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"variable.other.object.apex"},"3":{patterns:[{include:"#type-arguments"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(\\??\\.)?\\p{space}*(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)(?<type_params>\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:\\p{space}*<([^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)(?=(\\p{space}*\\?)?\\p{space}*\\.\\p{space}*@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)","dgv",{"hiddenCaptures":[5,6,7,8]})},{captures:{"1":{name:"variable.other.object.apex"}},match:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)(?=(\p{space}*\?)?\p{space}*\.\p{space}*@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv}]},"merge-expression":{begin:/(merge)\b\p{space}+/dgv,beginCaptures:{"1":{name:"support.function.apex"}},end:/(?<=;)/dgv,patterns:[{include:"#object-creation-expression"},{include:"#merge-type-statement"},{include:"#expression"},{include:"#punctuation-semicolon"}]},"merge-type-statement":{captures:{"1":{name:"variable.other.readwrite.apex"},"2":{name:"variable.other.readwrite.apex"},"3":{name:"punctuation.terminator.statement.apex"}},match:/([_\p{Alpha}]*)\b\p{space}+([_\p{Alpha}]*)\b\p{space}*(;)/dgv},"method-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?<return_type>(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+)(?<interface_name>((?:ref\\p{space}+)?(?:(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*\\.\\p{space}*)?((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(<([^\\<\\>]+)>)?\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[5,7,8,9,11,12,13,14,15,16,17,18,20],"transfers":[[3,[5,8,12,14,17,20]],[4,[7,13,16]],[6,[9,15,18]],[2,[11]]]}),beginCaptures:{"1":{patterns:[{include:"#support-type"},{include:"#type"}]},"6":{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},"7":{patterns:[{include:"#support-type"},{include:"#method-name-custom"}]},"8":{patterns:[{include:"#type-parameter-list"}]}},end:/(?<=\})|(?=;)/dgv,patterns:[{include:"#comment"},{include:"#parenthesized-parameter-list"},{include:"#expression-body"},{include:"#block"}]},"method-name-custom":{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.function.apex"},"named-argument":{begin:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"entity.name.variable.parameter.apex"},"2":{name:"punctuation.separator.colon.apex"}},end:/(?=([\]\)\,]))/dgv,patterns:[{include:"#expression"}]},"null-literal":{match:/(?<!\.)\bnull\b/dgv,name:"constant.language.null.apex"},"numeric-literal":{patterns:[{match:/\b(\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}T\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}(\.\p{Nd}{1,3})?([\-\+])\p{Nd}{2}:\p{Nd}{2})\b/dgv,name:"constant.numeric.datetime.apex"},{match:/\b(\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}T\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}(\.\p{Nd}{1,3})?(Z)?)\b/dgv,name:"constant.numeric.datetime.apex"},{match:/\b(\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2})\b/dgv,name:"constant.numeric.date.apex"},{match:/\b0([Xx])[_\p{AHex}]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/dgv,name:"constant.numeric.hex.apex"},{match:/\b0([Bb])[01_]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/dgv,name:"constant.numeric.binary.apex"},{match:/\b([0-9_]+)?\.[0-9_]+(([Ee])[0-9]+)?([DFMdfm])?\b/dgv,name:"constant.numeric.decimal.apex"},{match:/\b[0-9_]+([Ee])[0-9_]+([DFMdfm])?\b/dgv,name:"constant.numeric.decimal.apex"},{match:/\b[0-9_]+([DFMdfm])\b/dgv,name:"constant.numeric.decimal.apex"},{match:/\b[0-9_]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\b/dgv,name:"constant.numeric.decimal.apex"}]},"object-creation-expression":{patterns:[{include:"#object-creation-expression-with-parameters"},{include:"#object-creation-expression-with-no-parameters"},{include:"#punctuation-comma"}]},"object-creation-expression-with-no-parameters":{captures:{"1":{name:"support.function.apex"},"2":{name:"keyword.control.new.apex"},"3":{patterns:[{include:"#support-type"},{include:"#type"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(delete|insert|undelete|update|upsert)?\\p{space}*(new)\\p{space}+(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*(?=\\{|(?=\\n?$))","dgv",{"hiddenCaptures":[6,8,9,10],"transfers":[[4,[6,9]],[5,[8]],[7,[10]]]})},"object-creation-expression-with-parameters":{begin:/*@__PURE__*/ new EmulatedRegExp("(delete|insert|undelete|update|upsert)?\\p{space}*(new)\\p{space}+(?<type_name>(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[6,8,9,10],"transfers":[[4,[6,9]],[5,[8]],[7,[10]]]}),beginCaptures:{"1":{name:"support.function.apex"},"2":{name:"keyword.control.new.apex"},"3":{patterns:[{include:"#support-type"},{include:"#type"}]}},end:/(?<=\))/dgv,patterns:[{include:"#argument-list"}]},"operator-assignment":{match:/(?<![\!\=])(=)(?!=)/dgv,name:"keyword.operator.assignment.apex"},"operator-safe-navigation":{match:/\?\./dgv,name:"keyword.operator.safe-navigation.apex"},"orderby-clause":{captures:{"1":{name:"keyword.operator.query.orderby.apex"}},match:/\b(ORDER BY)\b\p{space}*/dgv,patterns:[{include:"#ordering-direction"},{include:"#ordering-nulls"}]},"ordering-direction":{captures:{"1":{name:"keyword.operator.query.ascending.apex"},"2":{name:"keyword.operator.query.descending.apex"}},match:/\b(?:(ASC)|(DESC))\b/dgv},"ordering-nulls":{captures:{"1":{name:"keyword.operator.query.nullsfirst.apex"},"2":{name:"keyword.operator.query.nullslast.apex"}},match:/\b(?:(NULLS FIRST)|(NULLS LAST))\b/dgv},parameter:{captures:{"1":{name:"storage.modifier.apex"},"2":{patterns:[{include:"#support-type"},{include:"#type"}]},"6":{name:"entity.name.variable.parameter.apex"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:\\b(this)\\b\\p{space}+)?(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))","dgv",{"hiddenCaptures":[5,7,8,9,11],"transfers":[[3,[5,8,11]],[4,[7]],[6,[9]]]})},"parenthesized-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},"parenthesized-parameter-list":{begin:/(\()/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/(\))/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#comment"},{include:"#parameter"},{include:"#punctuation-comma"},{include:"#variable-initializer"}]},"property-accessors":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{match:/\b(pr(?:ivate|otected))\b/dgv,name:"storage.modifier.apex"},{match:/\b(get)\b/dgv,name:"keyword.other.get.apex"},{match:/\b(set)\b/dgv,name:"keyword.other.set.apex"},{include:"#comment"},{include:"#expression-body"},{include:"#block"},{include:"#punctuation-semicolon"}]},"property-declaration":{begin:/*@__PURE__*/ new EmulatedRegExp("(?![^\\n]*\\b(?:class|interface|enum)\\b)\\p{space}*(?<return_type>(?<type_name>(?:ref\\p{space}+)?(?:(?<identifier>@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?(?<name_and_type_args>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(?<type_args>\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}+)(?<interface_name>((?:ref\\p{space}+)?(?:(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*::\\p{space}*)?((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?)(?:\\p{space}*\\.\\p{space}*((@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*)\\p{space}*(\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:\\p{space}*<(?:[^\\<\\>]|(?:))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*))+>\\p{space}*)?))*(?:\\p{space}*\\?\\p{space}*)?(?:\\p{space}*\\[(?:\\p{space}*,\\p{space}*)*\\]\\p{space}*)*)\\p{space}*\\.\\p{space}*)?(?<property_name>(@?[_\\p{Alpha}][_\\p{Alpha}\\p{Nd}]*))\\p{space}*(?=\\{|=>|(?=\\n?$))","dgv",{"hiddenCaptures":[5,7,8,9,11,12,13,14,15,16,17,18,20],"transfers":[[3,[5,8,12,14,17,20]],[4,[7,13,16]],[6,[9,15,18]],[2,[11]]]}),beginCaptures:{"1":{patterns:[{include:"#type"}]},"6":{patterns:[{include:"#type"},{include:"#punctuation-accessor"}]},"7":{name:"entity.name.variable.property.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{include:"#comment"},{include:"#property-accessors"},{include:"#expression-body"},{include:"#variable-initializer"},{include:"#class-or-trigger-members"}]},"punctuation-accessor":{match:/\./dgv,name:"punctuation.accessor.apex"},"punctuation-comma":{match:/,/dgv,name:"punctuation.separator.comma.apex"},"punctuation-semicolon":{match:/;/dgv,name:"punctuation.terminator.statement.apex"},"query-operators":{captures:{"1":{name:"keyword.operator.query.apex"}},match:/\b(ABOVE|AND|AT|FOR REFERENCE|FOR UPDATE|FOR VIEW|GROUP BY|HAVING|IN|LIKE|LIMIT|NOT IN|NOT|OFFSET|OR|TYPEOF|UPDATE TRACKING|UPDATE VIEWSTAT|WITH DATA CATEGORY|WITH)\b\p{space}*/dgv},"return-statement":{begin:/(?<!\.)\b(return)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow.return.apex"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},"script-top-level":{patterns:[{include:"#method-declaration"},{include:"#statement"},{include:"#punctuation-semicolon"}]},"sharing-modifier":{match:/(?<!\.)\b((?:with|without|inherited) sharing)\b/dgv,name:"sharing.modifier.apex"},"soql-colon-method-statement":{begin:/(:?\.)?([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)(?=\()/dgv,beginCaptures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"entity.name.function.apex"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"soql-colon-vars":{begin:/(:)\p{space}*/dgv,beginCaptures:{"0":{name:"keyword.operator.conditional.colon.apex"}},end:/(?![\(_\p{Alpha}\p{Nd}]|(\?)?\[|<)/dgv,patterns:[{include:"#trigger-context-declaration"},{captures:{"1":{name:"variable.other.object.apex"},"2":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]}},match:/([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)(\??\.)/dgv},{include:"#soql-colon-method-statement"},{match:/[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.variable.local.apex"}]},"soql-functions":{begin:/\b(AVG|CALENDAR_MONTH|CALENDAR_QUARTER|CALENDAR_YEAR|convertCurrency|convertTimezone|COUNT|COUNT_DISTINCT|DAY_IN_MONTH|DAY_IN_WEEK|DAY_IN_YEAR|DAY_ONLY|toLabel|INCLUDES|EXCLUDES|FISCAL_MONTH|FISCAL_QUARTER|FISCAL_YEAR|FORMAT|GROUPING|GROUP BY CUBE|GROUP BY ROLLUP|HOUR_IN_DAY|MAX|MIN|SUM|WEEK_IN_MONTH|WEEK_IN_YEAR)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.function.query.apex"},"2":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#literal"},{include:"#punctuation-comma"},{include:"#soql-functions"},{match:/[\._\p{Alpha}][\._\p{Alpha}\p{Nd}]*/dgv,name:"keyword.query.field.apex"}]},"soql-group-clauses":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#soql-query-expression"},{include:"#soql-colon-vars"},{include:"#soql-group-clauses"},{include:"#punctuation-comma"},{include:"#operator-assignment"},{include:"#literal"},{include:"#query-operators"},{include:"#date-literals"},{include:"#date-literal-with-params"},{include:"#using-scope"},{match:/[\._\p{Alpha}][\._\p{Alpha}\p{Nd}]*/dgv,name:"keyword.query.field.apex"}]},"soql-query-body":{patterns:[{include:"#trigger-context-declaration"},{include:"#soql-colon-vars"},{include:"#soql-functions"},{include:"#from-clause"},{include:"#where-clause"},{include:"#query-operators"},{include:"#date-literals"},{include:"#date-literal-with-params"},{include:"#using-scope"},{include:"#soql-group-clauses"},{include:"#orderby-clause"},{include:"#ordering-direction"},{include:"#ordering-nulls"}]},"soql-query-expression":{begin:/\b(SELECT)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.query.select.apex"}},end:/(?=;)|(?=\])|(?=\))/dgv,patterns:[{include:"#soql-query-body"},{include:"#comment"},{include:"#punctuation-comma"},{include:"#operator-assignment"},{include:"#parenthesized-expression"},{include:"#expression-operators"},{include:"#literal"},{captures:{"1":{name:"keyword.query.field.apex"},"2":{name:"punctuation.separator.comma.apex"}},match:/([\._\p{Alpha}][\._\p{Alpha}\p{Nd}]*)\p{space}*(,)?/dgv}]},statement:{patterns:[{include:"#comment"},{include:"#while-statement"},{include:"#do-statement"},{include:"#for-statement"},{include:"#switch-statement"},{include:"#when-else-statement"},{include:"#when-sobject-statement"},{include:"#when-statement"},{include:"#when-multiple-statement"},{include:"#if-statement"},{include:"#else-part"},{include:"#goto-statement"},{include:"#return-statement"},{include:"#break-or-continue-statement"},{include:"#throw-statement"},{include:"#try-statement"},{include:"#soql-query-expression"},{include:"#local-declaration"},{include:"#block"},{include:"#expression"},{include:"#punctuation-semicolon"}]},"storage-modifier":{match:/(?<!\.)\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\b/dgv,name:"storage.modifier.apex"},"string-character-escape":{match:/\\[^\n]/dgv,name:"constant.character.escape.apex"},"string-literal":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.apex"}},end:/(')|([^\n\\])(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.apex"},"2":{name:"invalid.illegal.newline.apex"}},name:"string.quoted.single.apex",patterns:[{include:"#string-character-escape"}]},"support-arguments":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.apex"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.apex"}},patterns:[{include:"#comment"},{include:"#support-type"},{include:"#punctuation-comma"}]},"support-class":{captures:{"1":{name:"support.class.apex"}},match:/\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\b/dgv},"support-expression":{begin:/(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=[\.\p{space}])/dgv,beginCaptures:{"1":{name:"support.class.apex"}},end:/(?<=\)|(?=\n?$))|(?=\})|(?=;)|(?=\)|(?=\]))|(?=,)/dgv,patterns:[{include:"#support-type"},{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"support.function.apex"}},match:/(\.)(\p{Alpha}*)(?=\()/dgv},{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"support.type.apex"}},match:/(\.)(\p{Alpha}+)/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},{include:"#comment"},{include:"#statement"}]},"support-functions":{captures:{"1":{name:"support.function.apex"}},match:/\b(delete|execute|finish|insert|start|undelete|update|upsert)\b/dgv},"support-name":{patterns:[{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"support.function.apex"}},match:/(\.)\p{space}*(\p{Alpha}*)(?=\()/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"support.type.apex"}},match:/(\.)\p{space}*([_\p{Alpha}]*)/dgv}]},"support-type":{name:"support.apex",patterns:[{include:"#comment"},{include:"#support-class"},{include:"#support-functions"},{include:"#support-name"}]},"switch-statement":{begin:/(switch)\b\p{space}+(on)\b\p{space}+([^\n]*)(\{)/dgv,beginCaptures:{"1":{name:"keyword.control.switch.apex"},"2":{name:"keyword.control.switch.on.apex"},"3":{patterns:[{include:"#statement"},{include:"#parenthesized-expression"}]},"4":{name:"punctuation.curlybrace.open.apex"}},end:/(\})/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#when-string"},{include:"#when-else-statement"},{include:"#when-sobject-statement"},{include:"#when-statement"},{include:"#when-multiple-statement"},{include:"#expression"},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"}]},"this-expression":{captures:{"1":{name:"keyword.other.this.apex"}},match:/\b(this)\b/dgv},"throw-expression":{captures:{"1":{name:"keyword.control.flow.throw.apex"}},match:/(?<!\.)\b(throw)\b/dgv},"throw-statement":{begin:/(?<!\.)\b(throw)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow.throw.apex"}},end:/(?=;)/dgv,patterns:[{include:"#expression"}]},"trigger-context-declaration":{begin:/\b(Trigger)\b(\.)\b/dgv,beginCaptures:{"1":{name:"support.class.trigger.apex"},"2":{name:"punctuation.accessor.apex"}},end:/(?=\})|(?=;)|(?=\)|(?=\]))/dgv,patterns:[{match:/\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\b/dgv,name:"support.type.trigger.apex"},{captures:{"1":{patterns:[{include:"#punctuation-accessor"},{include:"#operator-safe-navigation"}]},"2":{name:"support.function.trigger.apex"}},match:/(\??\.)(\p{Alpha}+)(?=\()/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#trigger-type-statement"},{include:"#javadoc-comment"},{include:"#comment"},{include:"#expression"}]},{include:"#expression"}]},"trigger-declaration":{begin:/(?=\btrigger\b)/dgv,end:/(?<=\})/dgv,patterns:[{begin:/\b(trigger)\b\p{space}+(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*\b(on)\b\p{space}+([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.trigger.apex"},"2":{name:"entity.name.type.trigger.apex"},"3":{name:"keyword.operator.trigger.on.apex"},"4":{name:"storage.type.apex"}},end:/(?=\{)/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#trigger-type-statement"},{include:"#trigger-operator-statement"},{include:"#punctuation-comma"},{include:"#expression"}]},{include:"#javadoc-comment"},{include:"#comment"},{include:"#type-parameter-list"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#statement"},{include:"#class-or-trigger-members"}]},{include:"#javadoc-comment"},{include:"#comment"}]},"trigger-operator-statement":{match:/\b(insert|update|delete|merge|upsert|undelete)\b/dgv,name:"keyword.operator.trigger.apex"},"trigger-type-statement":{captures:{"1":{name:"keyword.control.trigger.before.apex"},"2":{name:"keyword.control.trigger.after.apex"}},match:/\b(?:(before)|(after))\b/dgv},"try-block":{begin:/(?<!\.)\b(try)\b/dgv,beginCaptures:{"1":{name:"keyword.control.try.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#comment"},{include:"#block"}]},"try-statement":{patterns:[{include:"#try-block"},{include:"#catch-clause"},{include:"#finally-clause"}]},type:{name:"meta.type.apex",patterns:[{include:"#comment"},{include:"#type-builtin"},{include:"#type-name"},{include:"#type-arguments"},{include:"#type-array-suffix"},{include:"#type-nullable-suffix"}]},"type-arguments":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.apex"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.apex"}},patterns:[{include:"#comment"},{include:"#support-type"},{include:"#type"},{include:"#punctuation-comma"}]},"type-array-suffix":{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.squarebracket.open.apex"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.squarebracket.close.apex"}},patterns:[{include:"#punctuation-comma"}]},"type-builtin":{captures:{"1":{name:"keyword.type.apex"}},match:/\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|ID|Integer|Long|Object|String|Time|void)\b/dgv},"type-declarations":{patterns:[{include:"#javadoc-comment"},{include:"#comment"},{include:"#annotation-declaration"},{include:"#storage-modifier"},{include:"#sharing-modifier"},{include:"#class-declaration"},{include:"#enum-declaration"},{include:"#interface-declaration"},{include:"#trigger-declaration"},{include:"#punctuation-semicolon"}]},"type-name":{patterns:[{captures:{"1":{name:"storage.type.apex"},"2":{name:"punctuation.accessor.apex"}},match:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\p{space}*(\.)/dgv},{captures:{"1":{name:"punctuation.accessor.apex"},"2":{name:"storage.type.apex"}},match:/(\.)\p{space}*(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/dgv},{match:/@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*/dgv,name:"storage.type.apex"}]},"type-nullable-suffix":{captures:{"0":{name:"punctuation.separator.question-mark.apex"}},match:/\?/dgv},"type-parameter-list":{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.definition.typeparameters.begin.apex"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.typeparameters.end.apex"}},patterns:[{captures:{"1":{name:"entity.name.type.type-parameter.apex"}},match:/(@?[_\p{Alpha}][_\p{Alpha}\p{Nd}]*)\b/dgv},{include:"#comment"},{include:"#punctuation-comma"}]},"using-scope":{captures:{"1":{name:"keyword.operator.query.using.apex"}},match:/((USING SCOPE)\b\p{space}*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\b\p{space}*/dgv},"variable-initializer":{begin:/(?<![\!\=])(=)(?![\=\>])/dgv,beginCaptures:{"1":{name:"keyword.operator.assignment.apex"}},end:/(?=[\]\)\,\;\}])/dgv,patterns:[{include:"#expression"}]},"when-else-statement":{begin:/(when)\b\p{space}+(else)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{name:"keyword.control.switch.else.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-multiple-statement":{begin:/(when)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-sobject-statement":{begin:/(when)\b\p{space}+([_\p{Alpha}\p{Nd}]+)\p{space}+([_\p{Alpha}\p{Nd}]+)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{name:"storage.type.apex"},"3":{name:"entity.name.variable.local.apex"}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-statement":{begin:/(when)\b\p{space}+([\-'_\p{Alpha}\p{Nd}]+)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{patterns:[{include:"#expression"}]}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-string":{begin:/(when)\b\p{space}*('[^\n']*')(,)?/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{patterns:[{include:"#string-literal"}]},"3":{patterns:[{include:"#punctuation-comma"}]}},end:/(?<=\})/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"where-clause":{captures:{"1":{name:"keyword.operator.query.where.apex"}},match:/\b(WHERE)\b\p{space}*/dgv},"while-statement":{begin:/(?<!\.)\b(while)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.control.loop.while.apex"}},end:/(?<=\})|(?=;)/dgv,patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.open.apex"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.close.apex"}},patterns:[{include:"#expression"}]},{include:"#statement"}]},"xml-attribute":{patterns:[{captures:{"1":{name:"entity.other.attribute-name.apex"},"2":{name:"entity.other.attribute-name.namespace.apex"},"3":{name:"punctuation.separator.colon.apex"},"4":{name:"entity.other.attribute-name.localname.apex"},"5":{name:"punctuation.separator.equals.apex"}},match:/(?:^|\p{space}+)((?:([\-_\p{Alpha}\p{Nd}]+)(:))?([\-_\p{Alpha}\p{Nd}]+))(=)/dgv},{include:"#xml-string"}]},"xml-cdata":{begin:/<!\[CDATA\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.apex"}},end:/\]\]>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.apex"}},name:"string.unquoted.cdata.apex"},"xml-character-entity":{patterns:[{captures:{"1":{name:"punctuation.definition.constant.apex"},"3":{name:"punctuation.definition.constant.apex"}},match:/(&)([\:_\p{Alpha}][\-\.\:_\p{Alpha}\p{Nd}]*|#\p{Nd}+|#x\p{AHex}+)(;)/dgv,name:"constant.character.entity.apex"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.apex"}]},"xml-comment":{begin:/<!--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.apex"}},end:/-->/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.apex"}},name:"comment.block.apex"},"xml-doc-comment":{patterns:[{include:"#xml-comment"},{include:"#xml-character-entity"},{include:"#xml-cdata"},{include:"#xml-tag"}]},"xml-string":{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.apex"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.apex"}},name:"string.quoted.single.apex",patterns:[{include:"#xml-character-entity"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.stringdoublequote.begin.apex"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.stringdoublequote.end.apex"}},name:"string.quoted.double.apex",patterns:[{include:"#xml-character-entity"}]}]},"xml-tag":{begin:/(<\/?)((?:([\-_\p{Alpha}\p{Nd}]+)(:))?([\-_\p{Alpha}\p{Nd}]+))/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.apex"},"2":{name:"entity.name.tag.apex"},"3":{name:"entity.name.tag.namespace.apex"},"4":{name:"punctuation.separator.colon.apex"},"5":{name:"entity.name.tag.localname.apex"}},end:/(\/?>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.apex"}},name:"meta.tag.apex",patterns:[{include:"#xml-attribute"}]}},scopeName:"source.apex",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Beancount",fileTypes:["beancount"],name:"beancount",patterns:[{match:/;[^\n]*/dgv,name:"comment.line.beancount"},{begin:/^\p{space}*(p(?:op|ush)tag)\p{space}+(#)([\--9A-Z_a-z]+)/dgv,beginCaptures:{"1":{name:"support.function.beancount"},"2":{name:"keyword.operator.tag.beancount"},"3":{name:"entity.name.tag.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.tag.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:/^\p{space}*(include)\p{space}+("[^\n]*")/dgv,beginCaptures:{"1":{name:"support.function.beancount"},"2":{name:"string.quoted.double.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.include.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:/^\p{space}*(option)\p{space}+("[^\n]*")\p{space}+("[^\n]*")/dgv,beginCaptures:{"1":{name:"support.function.beancount"},"2":{name:"support.variable.beancount"},"3":{name:"string.quoted.double.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.option.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:/^\p{space}*(plugin)\p{space}*("([^\n]*?)")\p{space}*("[^\n]*?")?/dgv,beginCaptures:{"1":{name:"support.function.beancount"},"2":{name:"string.quoted.double.beancount"},"3":{name:"entity.name.function.beancount"},"4":{name:"string.quoted.double.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"keyword.operator.directive.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}+(open|close|pad)\b/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#commodity"},{match:/,/dgv,name:"punctuation.separator.beancount"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}+(custom)\b/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#string"},{include:"#bool"},{include:"#amount"},{include:"#number"},{include:"#date"},{include:"#account"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(event)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#string"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(commodity)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#commodity"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(note|document)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#string"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(price)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#commodity"},{include:"#amount"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(balance)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#amount"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}*(txn|[\!\#\%\&\*\?CMPR-U])\p{space}*("[^\n]*?")?\p{space}*("[^\n]*?")?/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"},"7":{name:"string.quoted.tiers.beancount"},"8":{name:"string.quoted.narration.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.transaction.beancount",patterns:[{include:"#comments"},{include:"#posting"},{include:"#meta"},{include:"#tag"},{include:"#link"},{include:"#illegal"}]}],repository:{account:{begin:/([A-Z][a-z]+)(:)/dgv,beginCaptures:{"1":{name:"variable.language.beancount"},"2":{name:"punctuation.separator.beancount"}},end:/\p{space}/dgv,name:"meta.account.beancount",patterns:[{begin:/(\P{space}+)(:?)/dgv,beginCaptures:{"1":{name:"variable.other.account.beancount"},"2":{name:"punctuation.separator.beancount"}},end:/(:?)|(\p{space})/dgv,patterns:[{include:"$self"},{include:"#illegal"}]}]},amount:{captures:{"1":{name:"keyword.operator.modifier.beancount"},"2":{name:"constant.numeric.currency.beancount"},"3":{name:"entity.name.type.commodity.beancount"}},match:/([\-\+\|]?)(\p{Nd}+(?:,\p{Nd}{3})*(?:\.\p{Nd}*)?)\p{space}*([A-Z][\-'\.0-9A-Z_]{0,22}[0-9A-Z])/dgv,name:"meta.amount.beancount"},bool:{captures:{"0":{name:"constant.language.bool.beancount"},"2":{name:"constant.numeric.currency.beancount"},"3":{name:"entity.name.type.commodity.beancount"}},match:/TRUE|FALSE/dgv},comments:{captures:{"1":{name:"comment.line.beancount"}},match:/(;[^\n]*)(?=\n?$)/dgv},commodity:{match:/([A-Z][\-'\.0-9A-Z_]{0,22}[0-9A-Z])/dgv,name:"entity.name.type.commodity.beancount"},cost:{begin:/\{\{?/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.beancount"}},end:/\}\}?/dgv,endCaptures:{"0":{name:"keyword.operator.assignment.beancount"}},name:"meta.cost.beancount",patterns:[{include:"#amount"},{include:"#date"},{match:/,/dgv,name:"punctuation.separator.beancount"},{include:"#illegal"}]},date:{captures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"}},match:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})/dgv,name:"meta.date.beancount"},flag:{match:/(?<=\p{space})([\!\#\%\&\*\?CMPR-U])(?=\p{space}+)/dgv,name:"keyword.other.beancount"},illegal:{match:/\P{space}/dgv,name:"invalid.illegal.unrecognized.beancount"},link:{captures:{"1":{name:"keyword.operator.link.beancount"},"2":{name:"markup.underline.link.beancount"}},match:/(\^)([\--9A-Z_a-z]+)/dgv},meta:{begin:/^\p{space}*([a-z][\-0-9A-Z_a-z]+)(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.directive.beancount"},"2":{name:"punctuation.separator.beancount"}},end:/\n/dgv,name:"meta.meta.beancount",patterns:[{include:"#string"},{include:"#account"},{include:"#bool"},{include:"#commodity"},{include:"#date"},{include:"#tag"},{include:"#amount"},{include:"#number"},{include:"#comments"},{include:"#illegal"}]},number:{captures:{"1":{name:"keyword.operator.modifier.beancount"},"2":{name:"constant.numeric.currency.beancount"}},match:/([\-\+\|]?)(\p{Nd}+(?:,\p{Nd}{3})*(?:\.\p{Nd}*)?)/dgv},posting:{begin:/^\p{space}+(?=([\!A-Z]))/dgv,end:/(?=^(\p{space}*(?=\n?$)|\P{space}|\p{space}*[A-Z]))/dgv,name:"meta.posting.beancount",patterns:[{include:"#meta"},{include:"#comments"},{include:"#flag"},{include:"#account"},{include:"#amount"},{include:"#cost"},{include:"#date"},{include:"#price"},{include:"#illegal"}]},price:{begin:/@@?/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.beancount"}},end:/(?=([\n\;]))/dgv,name:"meta.price.beancount",patterns:[{include:"#amount"},{include:"#illegal"}]},string:{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.beancount",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.beancount"}]},tag:{captures:{"1":{name:"keyword.operator.tag.beancount"},"2":{name:"entity.name.tag.beancount"}},match:/(#)([\--9A-Z_a-z]+)/dgv}},scopeName:"text.beancount",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Beancount",fileTypes:["beancount"],name:"beancount",patterns:[{match:/;[^\n]*/dgv,name:"comment.line.beancount"},{begin:/^\p{space}*(p(?:op|ush)tag)\p{space}+(#)([\--9A-Z_a-z]+)/dgv,beginCaptures:{"1":{name:"support.function.beancount"},"2":{name:"keyword.operator.tag.beancount"},"3":{name:"entity.name.tag.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.tag.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:/^\p{space}*(include)\p{space}+("[^\n]*")/dgv,beginCaptures:{"1":{name:"support.function.beancount"},"2":{name:"string.quoted.double.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.include.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:/^\p{space}*(option)\p{space}+("[^\n]*")\p{space}+("[^\n]*")/dgv,beginCaptures:{"1":{name:"support.function.beancount"},"2":{name:"support.variable.beancount"},"3":{name:"string.quoted.double.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.option.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:/^\p{space}*(plugin)\p{space}*("([^\n]*?)")\p{space}*("[^\n]*?")?/dgv,beginCaptures:{"1":{name:"support.function.beancount"},"2":{name:"string.quoted.double.beancount"},"3":{name:"entity.name.function.beancount"},"4":{name:"string.quoted.double.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"keyword.operator.directive.beancount",patterns:[{include:"#comments"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}+(open|close|pad)\b/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#commodity"},{match:/,/dgv,name:"punctuation.separator.beancount"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}+(custom)\b/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#string"},{include:"#bool"},{include:"#amount"},{include:"#number"},{include:"#date"},{include:"#account"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(event)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#string"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(commodity)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#commodity"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(note|document)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#string"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(price)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#commodity"},{include:"#amount"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}(balance)/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.dated.beancount",patterns:[{include:"#comments"},{include:"#meta"},{include:"#account"},{include:"#amount"},{include:"#illegal"}]},{begin:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})\p{space}*(txn|[\!\#\%\&\*\?CMPR-U])\p{space}*("[^\n]*?")?\p{space}*("[^\n]*?")?/dgv,beginCaptures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"},"6":{name:"support.function.directive.beancount",patterns:[{match:/txn|\*/dgv,name:"support.function.directive.txn.completed.beancount"},{match:/!/dgv,name:"support.function.directive.txn.incomplete.beancount"},{match:/P/dgv,name:"support.function.directive.txn.padding.beancount"}]},"7":{name:"string.quoted.tiers.beancount"},"8":{name:"string.quoted.narration.beancount"}},end:/(?=^(\p{space}*(?=\n?$)|\P{space}))/dgv,name:"meta.directive.transaction.beancount",patterns:[{include:"#comments"},{include:"#posting"},{include:"#meta"},{include:"#tag"},{include:"#link"},{include:"#illegal"}]}],repository:{account:{begin:/([A-Z][a-z]+)(:)/dgv,beginCaptures:{"1":{name:"variable.language.beancount"},"2":{name:"punctuation.separator.beancount"}},end:/\p{space}/dgv,name:"meta.account.beancount",patterns:[{begin:/(\P{space}+)(:?)/dgv,beginCaptures:{"1":{name:"variable.other.account.beancount"},"2":{name:"punctuation.separator.beancount"}},end:/(:?)|(\p{space})/dgv,patterns:[{include:"$self"},{include:"#illegal"}]}]},amount:{captures:{"1":{name:"keyword.operator.modifier.beancount"},"2":{name:"constant.numeric.currency.beancount"},"3":{name:"entity.name.type.commodity.beancount"}},match:/([\-\+\|]?)(\p{Nd}+(?:,\p{Nd}{3})*(?:\.\p{Nd}*)?)\p{space}*([A-Z][\-'\.0-9A-Z_]{0,22}[0-9A-Z])/dgv,name:"meta.amount.beancount"},bool:{captures:{"0":{name:"constant.language.bool.beancount"},"2":{name:"constant.numeric.currency.beancount"},"3":{name:"entity.name.type.commodity.beancount"}},match:/TRUE|FALSE/dgv},comments:{captures:{"1":{name:"comment.line.beancount"}},match:/(;[^\n]*)(?=\n?$)/dgv},commodity:{match:/([A-Z][\-'\.0-9A-Z_]{0,22}[0-9A-Z])/dgv,name:"entity.name.type.commodity.beancount"},cost:{begin:/\{\{?/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.beancount"}},end:/\}\}?/dgv,endCaptures:{"0":{name:"keyword.operator.assignment.beancount"}},name:"meta.cost.beancount",patterns:[{include:"#amount"},{include:"#date"},{match:/,/dgv,name:"punctuation.separator.beancount"},{include:"#illegal"}]},date:{captures:{"1":{name:"constant.numeric.date.year.beancount"},"2":{name:"punctuation.separator.beancount"},"3":{name:"constant.numeric.date.month.beancount"},"4":{name:"punctuation.separator.beancount"},"5":{name:"constant.numeric.date.day.beancount"}},match:/([0-9]{4})([\-\/\|])([0-9]{2})([\-\/\|])([0-9]{2})/dgv,name:"meta.date.beancount"},flag:{match:/(?<=\p{space})([\!\#\%\&\*\?CMPR-U])(?=\p{space}+)/dgv,name:"keyword.other.beancount"},illegal:{match:/\P{space}/dgv,name:"invalid.illegal.unrecognized.beancount"},link:{captures:{"1":{name:"keyword.operator.link.beancount"},"2":{name:"markup.underline.link.beancount"}},match:/(\^)([\--9A-Z_a-z]+)/dgv},meta:{begin:/^\p{space}*([a-z][\-0-9A-Z_a-z]+)(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.directive.beancount"},"2":{name:"punctuation.separator.beancount"}},end:/\n/dgv,name:"meta.meta.beancount",patterns:[{include:"#string"},{include:"#account"},{include:"#bool"},{include:"#commodity"},{include:"#date"},{include:"#tag"},{include:"#amount"},{include:"#number"},{include:"#comments"},{include:"#illegal"}]},number:{captures:{"1":{name:"keyword.operator.modifier.beancount"},"2":{name:"constant.numeric.currency.beancount"}},match:/([\-\+\|]?)(\p{Nd}+(?:,\p{Nd}{3})*(?:\.\p{Nd}*)?)/dgv},posting:{begin:/^\p{space}+(?=([\!A-Z]))/dgv,end:/(?=^(\p{space}*(?=\n?$)|\P{space}|\p{space}*[A-Z]))/dgv,name:"meta.posting.beancount",patterns:[{include:"#meta"},{include:"#comments"},{include:"#flag"},{include:"#account"},{include:"#amount"},{include:"#cost"},{include:"#date"},{include:"#price"},{include:"#illegal"}]},price:{begin:/@@?/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.beancount"}},end:/(?=([\n\;]))/dgv,name:"meta.price.beancount",patterns:[{include:"#amount"},{include:"#illegal"}]},string:{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.beancount",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.beancount"}]},tag:{captures:{"1":{name:"keyword.operator.tag.beancount"},"2":{name:"entity.name.tag.beancount"}},match:/(#)([\--9A-Z_a-z]+)/dgv}},scopeName:"text.beancount",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/bicep.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Bicep",fileTypes:[".bicep",".bicepparam"],name:"bicep",patterns:[{include:"#expression"},{include:"#comments"}],repository:{"array-literal":{begin:/\[(?!(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\bfor\b)/dgv,end:/\]/dgv,name:"meta.array-literal.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},"block-comment":{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.bicep"},comments:{patterns:[{include:"#line-comment"},{include:"#block-comment"}]},decorator:{begin:/@(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*(?=\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b)/dgv,end:"",name:"meta.decorator.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},directive:{begin:/#\b[\-0-9A-Z_a-z]+\b/dgv,end:/(?=\n?$)/dgv,name:"meta.directive.bicep",patterns:[{include:"#directive-variable"},{include:"#comments"}]},"directive-variable":{match:/\b[\-0-9A-Z_a-z]+\b/dgv,name:"keyword.control.declaration.bicep"},"escape-character":{match:/\\(u\{\p{AHex}+\}|['\\nrt]|\$\{)/dgv,name:"constant.character.escape.bicep"},expression:{patterns:[{include:"#string-literal"},{include:"#string-verbatim"},{include:"#numeric-literal"},{include:"#named-literal"},{include:"#object-literal"},{include:"#array-literal"},{include:"#keyword"},{include:"#identifier"},{include:"#function-call"},{include:"#decorator"},{include:"#lambda-start"},{include:"#directive"}]},"function-call":{begin:/\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\b(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\(/dgv,beginCaptures:{"1":{name:"entity.name.function.bicep"}},end:/\)/dgv,name:"meta.function-call.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},identifier:{match:/\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?!(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\()/dgv,name:"variable.other.readwrite.bicep"},keyword:{match:/\b(metadata|targetScope|resource|module|param|var|output|for|in|if|existing|import|as|type|with|using|extends|func|assert|extension)\b/dgv,name:"keyword.control.declaration.bicep"},"lambda-start":{begin:/(\((?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*(,(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*)*\)|\((?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\)|(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*)(?=(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*=>)/dgv,beginCaptures:{"1":{name:"meta.undefined.bicep",patterns:[{include:"#identifier"},{include:"#comments"}]}},end:/(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*=>/dgv,name:"meta.lambda-start.bicep"},"line-comment":{match:/\/\/[^\n]*(?=(?=\n?$))/dgv,name:"comment.line.double-slash.bicep"},"named-literal":{match:/\b(true|false|null)\b/dgv,name:"constant.language.bicep"},"numeric-literal":{match:/[0-9]+/dgv,name:"constant.numeric.bicep"},"object-literal":{begin:/\{/dgv,end:/\}/dgv,name:"meta.object-literal.bicep",patterns:[{include:"#object-property-key"},{include:"#expression"},{include:"#comments"}]},"object-property-key":{match:/\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?=(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*:)/dgv,name:"variable.other.property.bicep"},"string-literal":{begin:/'(?!'')/dgv,end:/'/dgv,name:"string.quoted.single.bicep",patterns:[{include:"#escape-character"},{include:"#string-literal-subst"}]},"string-literal-subst":{begin:/(?<!\\)(\$\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.template-expression.begin.bicep"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.template-expression.end.bicep"}},name:"meta.string-literal-subst.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},"string-verbatim":{begin:/'''/dgv,end:/'''(?!')/dgv,name:"string.quoted.multi.bicep",patterns:[]}},scopeName:"source.bicep",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Bicep",fileTypes:[".bicep",".bicepparam"],name:"bicep",patterns:[{include:"#expression"},{include:"#comments"}],repository:{"array-literal":{begin:/\[(?!(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\bfor\b)/dgv,end:/\]/dgv,name:"meta.array-literal.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},"block-comment":{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.bicep"},comments:{patterns:[{include:"#line-comment"},{include:"#block-comment"}]},decorator:{begin:/@(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*(?=\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b)/dgv,end:"",name:"meta.decorator.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},directive:{begin:/#\b[\-0-9A-Z_a-z]+\b/dgv,end:/(?=\n?$)/dgv,name:"meta.directive.bicep",patterns:[{include:"#directive-variable"},{include:"#comments"}]},"directive-variable":{match:/\b[\-0-9A-Z_a-z]+\b/dgv,name:"keyword.control.declaration.bicep"},"escape-character":{match:/\\(u\{\p{AHex}+\}|['\\nrt]|\$\{)/dgv,name:"constant.character.escape.bicep"},expression:{patterns:[{include:"#string-literal"},{include:"#multiline-string"},{include:"#multiline-string-1-interp"},{include:"#multiline-string-2-interp"},{include:"#numeric-literal"},{include:"#named-literal"},{include:"#object-literal"},{include:"#array-literal"},{include:"#keyword"},{include:"#identifier"},{include:"#function-call"},{include:"#decorator"},{include:"#lambda-start"},{include:"#directive"}]},"function-call":{begin:/\b([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\b(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\(/dgv,beginCaptures:{"1":{name:"entity.name.function.bicep"}},end:/\)/dgv,name:"meta.function-call.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},identifier:{match:/\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?!(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\()/dgv,name:"variable.other.readwrite.bicep"},keyword:{match:/\b(metadata|targetScope|resource|module|param|var|output|for|in|if|existing|import|as|type|with|using|extends|func|assert|extension)\b/dgv,name:"keyword.control.declaration.bicep"},"lambda-start":{begin:/(\((?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*(,(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*)*\)|\((?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\)|(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*)(?=(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*=>)/dgv,beginCaptures:{"1":{name:"meta.undefined.bicep",patterns:[{include:"#identifier"},{include:"#comments"}]}},end:/(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*=>/dgv,name:"meta.lambda-start.bicep"},"line-comment":{match:/\/\/[^\n]*(?=(?=\n?$))/dgv,name:"comment.line.double-slash.bicep"},"multiline-1-string-subst":{begin:/(\$\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.template-expression.begin.bicep"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.template-expression.end.bicep"}},name:"meta.multiline-1-string-subst.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},"multiline-2-string-subst":{begin:/(\$\$\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.template-expression.begin.bicep"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.template-expression.end.bicep"}},name:"meta.multiline-2-string-subst.bicep",patterns:[{include:"#expression"},{include:"#comments"}]},"multiline-string":{begin:/'''/dgv,end:/'''(?!')/dgv,name:"string.quoted.multi.bicep",patterns:[]},"multiline-string-1-interp":{begin:/(?<!\$)\$'''/dgv,end:/'''(?!')/dgv,name:"string.quoted.multi.bicep",patterns:[{include:"#multiline-1-string-subst"}]},"multiline-string-2-interp":{begin:/\$\$'''/dgv,end:/'''(?!')/dgv,name:"string.quoted.multi.bicep",patterns:[{include:"#multiline-2-string-subst"}]},"named-literal":{match:/\b(true|false|null)\b/dgv,name:"constant.language.bicep"},"numeric-literal":{match:/[0-9]+/dgv,name:"constant.numeric.bicep"},"object-literal":{begin:/\{/dgv,end:/\}/dgv,name:"meta.object-literal.bicep",patterns:[{include:"#object-property-key"},{include:"#expression"},{include:"#comments"}]},"object-property-key":{match:/\b[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*\b(?=(?:[\t\n\r ]|\/\*(?:\*(?!\/)|[^\*])*\*\/)*:)/dgv,name:"variable.other.property.bicep"},"string-literal":{begin:/'(?!'')/dgv,end:/'/dgv,name:"string.quoted.single.bicep",patterns:[{include:"#escape-character"},{include:"#string-subst"}]},"string-subst":{begin:/(?<!\\)(\$\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.template-expression.begin.bicep"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.template-expression.end.bicep"}},name:"meta.string-subst.bicep",patterns:[{include:"#expression"},{include:"#comments"}]}},scopeName:"source.bicep",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/cadence.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Cadence",name:"cadence",patterns:[{include:"#comments"},{include:"#expressions"},{include:"#declarations"},{include:"#keywords"},{include:"#code-block"},{include:"#composite"},{include:"#event"}],repository:{"code-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.scope.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.scope.end.cadence"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{"1":{name:"punctuation.definition.comment.cadence"}},match:/^^(#!)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.cadence"},{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.cadence",patterns:[{include:"#nested"}]},{begin:/\/\*:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.playground.cadence",patterns:[{include:"#nested"}]},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.cadence",patterns:[{include:"#nested"}]},{match:/\*\//dgv,name:"invalid.illegal.unexpected-end-of-block-comment.cadence"},{begin:/(^[\t ]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.triple-slash.documentation.cadence"},{begin:/\/\/:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.double-slash.documentation.cadence"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/^/dgv,name:"comment.line.double-slash.cadence"}]}],repository:{nested:{begin:/\/\*/dgv,end:/\*\//dgv,patterns:[{include:"#nested"}]}}},composite:{begin:/\b((?:struct|resource|contract)(?:\p{space}+interface)?|transaction|enum)\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)/dgv,beginCaptures:{"1":{name:"storage.type.$1.cadence"},"2":{name:"entity.name.type.$1.cadence"}},end:/(?<=\})/dgv,name:"meta.definition.type.composite.cadence",patterns:[{include:"#comments"},{include:"#conformance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.type.end.cadence"}},name:"meta.definition.type.body.cadence",patterns:[{include:"$self"}]}]},"conformance-clause":{begin:/(:)(?=\p{space}*\{)|(:)\p{space}*/dgv,beginCaptures:{"1":{name:"invalid.illegal.empty-conformance-clause.cadence"},"2":{name:"punctuation.separator.conformance-clause.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}])","dgv",{"strategy":"clip_search"}),name:"meta.conformance-clause.cadence",patterns:[{begin:/(?:)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}])","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#type"}]}]},declarations:{patterns:[{include:"#var-let-declaration"},{include:"#function"},{include:"#initializer"}]},event:{begin:/\b(event)\b\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.event.cadence"},"2":{name:"entity.name.type.event.cadence"}},end:/(?<=\))|(?=\n?$)/dgv,name:"meta.definition.type.event.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"}]},"expression-element-list":{patterns:[{include:"#comments"},{begin:/([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"support.function.any-method.cadence"},"2":{name:"punctuation.separator.argument-label.cadence"}},end:/(?=[\]\)\,])/dgv,patterns:[{include:"#expressions"}]},{begin:/(?![\]\)\,])(?=\P{space})/dgv,end:/(?=[\]\)\,])/dgv,patterns:[{include:"#expressions"}]}]},expressions:{patterns:[{include:"#comments"},{include:"#function-call-expression"},{include:"#literals"},{include:"#operators"},{include:"#language-variables"}]},function:{begin:/\b(fun)\b\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.function.cadence"},"2":{name:"entity.name.function.cadence"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{include:"#function-result"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},"function-call-expression":{patterns:[{begin:/(?!set|init)([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.function.any-method.cadence"},"4":{name:"punctuation.definition.arguments.begin.cadence"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.arguments.end.cadence"}},name:"meta.function-call.cadence",patterns:[{include:"#expression-element-list"}]}]},"function-result":{begin:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(:)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.function-result.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=[\\;\\{])|(?=\\n?$)","dgv",{"strategy":"clip_search"}),name:"meta.function-result.cadence",patterns:[{include:"#type"}]},initializer:{begin:/(?<!\.)\b(init)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.cadence"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.initializer.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},keywords:{patterns:[{match:/(?<!\.)\b(?:if|else|switch|case|default)\b/dgv,name:"keyword.control.branch.cadence"},{match:/(?<!\.)\b(?:return|continue|break)\b/dgv,name:"keyword.control.transfer.cadence"},{match:/(?<!\.)\b(?:while|for|in)\b/dgv,name:"keyword.control.loop.cadence"},{match:/(?<!\.)\b(?:pre|post|prepare|execute|create|destroy|emit)\b/dgv,name:"keyword.other.cadence"},{match:/(?<!\.)\b(?:private|pub(?:\(set\))?|access\((?:self|contract|account|all)\))\b/dgv,name:"keyword.other.declaration-specifier.accessibility.cadence"},{match:/\b(?:init|destroy)\b/dgv,name:"storage.type.function.cadence"},{match:/(?<!\.)\b(?:import|from)\b/dgv,name:"keyword.control.import.cadence"}]},"language-variables":{patterns:[{match:/\b(self)\b/dgv,name:"variable.language.cadence"}]},literals:{patterns:[{include:"#boolean"},{include:"#numeric"},{include:"#string"},{match:/\bnil\b/dgv,name:"constant.language.nil.cadence"}],repository:{boolean:{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.cadence"},numeric:{patterns:[{include:"#binary"},{include:"#octal"},{include:"#decimal"},{include:"#hexadecimal"}],repository:{binary:{match:/(\B-|\b)0b[01]([01_]*[01])?\b/dgv,name:"constant.numeric.integer.binary.cadence"},decimal:{match:/(\B-|\b)[0-9]([0-9_]*[0-9])?\b/dgv,name:"constant.numeric.integer.decimal.cadence"},hexadecimal:{match:/(\B-|\b)0x\p{AHex}([_\p{AHex}]*\p{AHex})?\b/dgv,name:"constant.numeric.integer.hexadecimal.cadence"},octal:{match:/(\B-|\b)0o[0-7]([0-7_]*[0-7])?\b/dgv,name:"constant.numeric.integer.octal.cadence"}}},string:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cadence"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cadence"}},name:"string.quoted.double.single-line.cadence",patterns:[{match:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.cadence"},{include:"#string-guts"}]}],repository:{"string-guts":{patterns:[{match:/\\["'0\\nrt]/dgv,name:"constant.character.escape.cadence"},{match:/\\u\{\p{AHex}{1,8}\}/dgv,name:"constant.character.escape.unicode.cadence"}]}}}}},operators:{patterns:[{match:/-/dgv,name:"keyword.operator.arithmetic.unary.cadence"},{match:/!/dgv,name:"keyword.operator.logical.not.cadence"},{match:/=/dgv,name:"keyword.operator.assignment.cadence"},{match:/<-/dgv,name:"keyword.operator.move.cadence"},{match:/<-!/dgv,name:"keyword.operator.force-move.cadence"},{match:/[\-\*\+\/]/dgv,name:"keyword.operator.arithmetic.cadence"},{match:/%/dgv,name:"keyword.operator.arithmetic.remainder.cadence"},{match:/==|!=|[\<\>]|>=|<=/dgv,name:"keyword.operator.comparison.cadence"},{match:/\?\?/dgv,name:"keyword.operator.coalescing.cadence"},{match:/&&|\|\|/dgv,name:"keyword.operator.logical.cadence"},{match:/[\!\?]/dgv,name:"keyword.operator.type.optional.cadence"}]},"parameter-clause":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.cadence"}},name:"meta.parameter-clause.cadence",patterns:[{include:"#parameter-list"}]},"parameter-list":{patterns:[{captures:{"1":{name:"entity.name.function.cadence"},"2":{name:"variable.parameter.function.cadence"}},match:/([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)(?=\p{space}*:)/dgv},{captures:{"1":{name:"variable.parameter.function.cadence"},"2":{name:"entity.name.function.cadence"}},match:/(([_\p{L}][_\p{L}\p{N}\p{M}]*))(?=\p{space}*:)/dgv},{begin:/:\p{space}*(?!\p{space})/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#type"},{match:/:/dgv,name:"invalid.illegal.extra-colon-in-parameter-list.cadence"}]}]},type:{patterns:[{include:"#comments"},{match:/([_\p{L}][_\p{L}\p{N}\p{M}]*)/dgv,name:"storage.type.cadence"}]},"var-let-declaration":{begin:/\b(var|let)\b\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)/dgv,beginCaptures:{"1":{name:"storage.type.$1.cadence"},"2":{name:"entity.name.type.$1.cadence"}},end:/=|<-!??|(?=\n?$)/dgv,patterns:[{include:"#type"}]}},scopeName:"source.cadence",embeddedLangs:undefined,aliases:["cdc"]})
3
+ const lang = Object.freeze({displayName:"Cadence",name:"cadence",patterns:[{include:"#comments"},{include:"#declarations"},{include:"#keywords"},{include:"#code-block"},{include:"#expressions"},{include:"#composite"},{include:"#event"}],repository:{"code-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.scope.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.scope.end.cadence"}},patterns:[{include:"$self"}]},comments:{patterns:[{captures:{"1":{name:"punctuation.definition.comment.cadence"}},match:/^^(#!)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.cadence"},{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.cadence",patterns:[{include:"#nested"}]},{begin:/\/\*:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.documentation.playground.cadence",patterns:[{include:"#nested"}]},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.cadence"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cadence"}},name:"comment.block.cadence",patterns:[{include:"#nested"}]},{match:/\*\//dgv,name:"invalid.illegal.unexpected-end-of-block-comment.cadence"},{begin:/(^[\t ]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/(?=\n?$)/dgv,name:"comment.line.triple-slash.documentation.cadence"},{begin:/\/\/:/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/(?=\n?$)/dgv,name:"comment.line.double-slash.documentation.cadence"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.cadence"}},end:/(?=\n?$)/dgv,name:"comment.line.double-slash.cadence"}]}],repository:{nested:{begin:/\/\*/dgv,end:/\*\//dgv,patterns:[{include:"#nested"}]}}},composite:{begin:/\b((?:struct|resource|contract|attachment)(?:\p{space}+interface)?|enum)\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)/dgv,beginCaptures:{"1":{name:"storage.type.$1.cadence"},"2":{name:"entity.name.type.$1.cadence"}},end:/(?<=\})|(?=\p{space}*(?=\n?$))/dgv,name:"meta.definition.type.composite.cadence",patterns:[{include:"#comments"},{include:"#conformance-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.type.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.type.end.cadence"}},name:"meta.definition.type.body.cadence",patterns:[{include:"$self"}]}]},"conformance-clause":{begin:/(:)(?=\p{space}*\{)|(:)\p{space}*/dgv,beginCaptures:{"1":{name:"invalid.illegal.empty-conformance-clause.cadence"},"2":{name:"punctuation.separator.conformance-clause.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}])","dgv",{"strategy":"clip_search"}),name:"meta.conformance-clause.cadence",patterns:[{begin:/(?:)/dgv,end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?=\\n?$)|(?=[\\=\\{\\}])","dgv",{"strategy":"clip_search"}),patterns:[{include:"#comments"},{include:"#type"}]}]},declarations:{patterns:[{include:"#var-let-declaration"},{include:"#function"},{include:"#initializer"},{include:"#prepare-execute"},{include:"#execute-phase"},{include:"#pre-post"},{include:"#transaction"}]},event:{begin:/\b(event)\b\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.event.cadence"},"2":{name:"entity.name.type.event.cadence"}},end:/(?<=\))/dgv,name:"meta.definition.type.event.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"}]},"execute-phase":{begin:/(?<!\.)\b(execute)\b\p{space}*(?=\{)/dgv,beginCaptures:{"1":{name:"storage.modifier.phase.cadence"}},end:/(?<=\})/dgv,name:"meta.definition.transaction.phase.cadence",patterns:[{include:"#comments"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.phase.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.phase.end.cadence"}},patterns:[{include:"$self"}]}]},"expression-element-list":{patterns:[{include:"#comments"},{begin:/([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*(:)/dgv,beginCaptures:{"1":{name:"variable.parameter.function-call.cadence"},"2":{name:"punctuation.separator.argument-label.cadence"}},end:/(?=[\]\)\,])/dgv,patterns:[{include:"#expressions"}]},{begin:/(?![\]\)\,])(?=\P{space})/dgv,end:/(?=[\]\)\,])/dgv,patterns:[{include:"#expressions"}]}]},expressions:{patterns:[{include:"#comments"},{include:"#keywords"},{include:"#language-variables"},{include:"#function-expression"},{include:"#path-literals"},{begin:/(?!\b(?:if|while|for|return|create|destroy|emit|as)\b)([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*(<)(?=[\&\(\@\[_\{\p{Lu}]|auth\b|\p{space}*(?=\n?$))/dgv,beginCaptures:{"1":{name:"entity.name.function.cadence"},"2":{name:"punctuation.definition.type-arguments.begin.cadence"}},end:/(>)(?!\p{space}*[\<\=\>])/dgv,endCaptures:{"1":{name:"punctuation.definition.type-arguments.end.cadence"}},name:"meta.type.arguments.cadence",patterns:[{include:"#type"},{match:/,/dgv,name:"punctuation.separator.type-argument.cadence"}]},{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.cadence"}},name:"meta.group.cadence",patterns:[{include:"#expression-element-list"}]},{begin:/(?<=\.)([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.cadence"},"2":{name:"punctuation.definition.arguments.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.cadence"}},name:"meta.function-call.method.cadence",patterns:[{include:"#expression-element-list"}]},{match:/(?<=\.)[_\p{L}][_\p{L}\p{N}\p{M}]*/dgv,name:"variable.other.member.cadence"},{include:"#function-call-expression"},{match:/(?<!\.)\b(?!(?:contract|struct|resource|event|enum|attachment|entitlement|import|fun|let|var|if|else|switch|case|default|while|for|in|break|continue|return|emit|as|create|destroy|attach|to|remove|from|pub|priv|access|all|self|view|auth|transaction|prepare|execute|pre|post|init|true|false|nil|Type|Int|UInt|Int8|Int16|Int32|Int64|Int128|Int256|UInt8|UInt16|UInt32|UInt64|UInt128|UInt256|Word8|Word16|Word32|Word64|Fix64|Fix128|UFix64|UFix128|String|Character|Bool|Address|Void|AnyStruct|AnyResource|Any|Never|mapping|include)\b)[_\p{L}][_\p{L}\p{N}\p{M}]*\b/dgv,name:"variable.other.readwrite.cadence"},{include:"#literals"},{include:"#operators"}]},function:{begin:/\b(fun)\b\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*/dgv,beginCaptures:{"1":{name:"storage.type.function.cadence"},"2":{name:"entity.name.function.cadence"}},end:/(?<=\})|;|(?=\}\p{space}*(?=\n?$))|(?=\n?$)/dgv,name:"meta.definition.function.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{include:"#function-result"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},"function-call-expression":{patterns:[{begin:/(?<!\.)\b(?!set|init|transaction|prepare|execute|access|auth)([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.cadence"},"2":{name:"punctuation.definition.arguments.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.cadence"}},name:"meta.function-call.cadence",patterns:[{include:"#expression-element-list"}]}]},"function-expression":{begin:/(?<!\.)\b(?:(view)\p{space}+)?(fun)\b(?=\p{space}*\()/dgv,beginCaptures:{"1":{name:"storage.modifier.view.cadence"},"2":{name:"storage.type.function.cadence"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.function.expression.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{include:"#function-result"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},"function-result":{begin:/(?<![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])(:)(?![\-\!\%\&\*\+\.\/\<\=\>\^\|\~])\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.operator.function-result.cadence"}},end:/*@__PURE__*/ new EmulatedRegExp("(?<![\\&\\<\\@\\[])(?!^)(?=\\p{space}*\\{)|(?=;|(?<!\\{)\\})|(?=\\n?$)","dgv",{"strategy":"clip_search"}),name:"meta.function-result.cadence",patterns:[{include:"#type"}]},initializer:{begin:/(?<!\.)\b(init)\p{space}*(?=[\(\<])/dgv,beginCaptures:{"1":{name:"storage.type.function.cadence"}},end:/(?<=\})|(?=\n?$)/dgv,name:"meta.definition.function.initializer.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.function.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.function.end.cadence"}},name:"meta.definition.function.body.cadence",patterns:[{include:"$self"}]}]},keywords:{patterns:[{match:/(?<!\.)\bvar\b/dgv,name:"storage.type.var.cadence"},{match:/(?<!\.)\blet\b/dgv,name:"storage.type.let.cadence"},{begin:/(?<!\.)\b(entitlement)\p{space}+(mapping)\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.declaration.entitlement.cadence"},"2":{name:"keyword.other.mapping.cadence"},"3":{name:"entity.name.type.entitlement-mapping.cadence"},"4":{name:"punctuation.definition.type.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.type.end.cadence"}},name:"meta.definition.entitlement-mapping.cadence",patterns:[{include:"#comments"},{match:/\binclude\b/dgv,name:"keyword.other.mapping.include.cadence"},{captures:{"1":{name:"entity.name.type.entitlement-mapping.cadence"}},match:/(?<=\binclude)\p{space}+([_\p{L}][\._\p{L}\p{N}\p{M}]*)/dgv},{match:/[_\p{L}][\._\p{L}\p{N}\p{M}]*/dgv,name:"entity.name.type.entitlement.cadence"},{match:/->/dgv,name:"punctuation.separator.mapping.cadence"}]},{captures:{"1":{name:"keyword.declaration.entitlement.cadence"},"2":{name:"entity.name.type.entitlement.cadence"}},match:/(?<!\.)\b(entitlement)\b\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)/dgv},{begin:/(?<!\.)\b(access)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"storage.modifier.access.cadence"},"2":{name:"punctuation.section.group.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.group.end.cadence"}},name:"meta.access.modifier.cadence",patterns:[{include:"#comments"},{match:/\bmapping\b/dgv,name:"keyword.other.mapping.cadence"},{captures:{"1":{name:"entity.name.type.entitlement-mapping.cadence"}},match:/(?<=\bmapping)\p{space}+([_\p{L}][\._\p{L}\p{N}\p{M}]*)/dgv},{match:/\b(?:all|self|contract|account)\b/dgv,name:"constant.language.access.audience.cadence"},{match:/,/dgv,name:"punctuation.separator.entitlement.cadence"},{match:/\|/dgv,name:"punctuation.separator.entitlement.cadence"},{match:/[_\p{L}][\._\p{L}\p{N}\p{M}]*/dgv,name:"entity.name.type.entitlement.cadence"}]},{match:/(?<!\.)\b(?:if|else|switch|case|default)\b/dgv,name:"keyword.control.branch.cadence"},{match:/(?<!\.)\b(?:return|continue|break)\b/dgv,name:"keyword.control.transfer.cadence"},{match:/(?<!\.)\b(?:while|for|in)\b/dgv,name:"keyword.control.loop.cadence"},{match:/(?<!\.)\b(?:create|destroy|emit|attach|to|remove|from)\b/dgv,name:"keyword.other.cadence"},{match:/(?<!\.)\b(p(?:ub|riv))\b/dgv,name:"invalid.deprecated.keyword.cadence"},{match:/(?<!\.)\bview\b/dgv,name:"storage.modifier.view.cadence"},{match:/(?<!\.)\b(auth)\b/dgv,name:"keyword.other.auth.cadence"},{begin:/(?<!\.)\b(import)\b/dgv,beginCaptures:{"1":{name:"keyword.control.import.cadence"}},end:/(?=(?=\n?$)|\/\/|\/\*|;)/dgv,name:"meta.import.cadence",patterns:[{match:/\bfrom\b/dgv,name:"keyword.control.import.cadence"},{include:"#literals"},{match:/\b[_\p{L}][_\p{L}\p{N}\p{M}]*\b/dgv,name:"variable.other.readwrite.cadence"}]}]},"language-variables":{patterns:[{match:/\b(self)\b/dgv,name:"variable.language.cadence"}]},literals:{patterns:[{include:"#boolean"},{include:"#numeric"},{include:"#string"},{match:/\bnil\b/dgv,name:"constant.language.nil.cadence"}],repository:{boolean:{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.cadence"},numeric:{patterns:[{include:"#binary"},{include:"#octal"},{include:"#hexadecimal"},{include:"#fixed-point"},{include:"#decimal"}],repository:{binary:{match:/(\B-|\b)0b[01]([01_]*[01])?\b/dgv,name:"constant.numeric.integer.binary.cadence"},decimal:{match:/(\B-|\b)[0-9]([0-9_]*[0-9])?\b/dgv,name:"constant.numeric.integer.decimal.cadence"},"fixed-point":{match:/(\B-|\b)[0-9]([0-9_]*[0-9])?\.[0-9]([0-9_]*[0-9])?\b/dgv,name:"constant.numeric.float.cadence"},hexadecimal:{match:/(\B-|\b)0x\p{AHex}([_\p{AHex}]*\p{AHex})?\b/dgv,name:"constant.numeric.integer.hexadecimal.cadence"},octal:{match:/(\B-|\b)0o[0-7]([0-7_]*[0-7])?\b/dgv,name:"constant.numeric.integer.octal.cadence"}}},string:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cadence"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cadence"}},name:"string.quoted.double.single-line.cadence",patterns:[{match:/[\n\r]/dgv,name:"invalid.illegal.returns-not-allowed.cadence"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.cadence meta.embedded.cadence"}},contentName:"meta.embedded.line.cadence",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.cadence meta.embedded.cadence"}},name:"meta.interpolation.cadence",patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.group.begin.cadence"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.group.end.cadence"}},patterns:[{include:"#expressions"}]},{include:"#expressions"}]},{include:"#string-guts"}]}],repository:{"string-guts":{patterns:[{match:/\\["'0\\nrt]/dgv,name:"constant.character.escape.cadence"},{match:/\\u\{\p{AHex}{1,8}\}/dgv,name:"constant.character.escape.unicode.cadence"}]}}}}},operators:{patterns:[{match:/<->/dgv,name:"keyword.operator.swap.cadence"},{match:/\?\./dgv,name:"keyword.operator.optional.chain.cadence"},{begin:/\b(as(?:\?|!?))\b/dgv,beginCaptures:{"0":{name:"keyword.operator.type.cast.cadence"}},end:/(?=(?=\n?$)|;|\/\/|\/\\*|")|(?=[\)\,\}])|(?<=>)(?=\p{space}*\{(?!\p{space}*[_\p{L}][\._\p{L}\p{N}\p{M}]*\p{space}*:))|(?<=[\]\)\>\?\}\p{L}\p{N}])(?=\p{space}*\{(?!\p{space}*[_\p{L}][\._\p{L}\p{N}\p{M}]*\p{space}*:))|(?=\?\?)/dgv,name:"meta.type.cast-target.cadence",patterns:[{begin:/\{(?=\p{space}*[_\p{L}][\._\p{L}\p{N}\p{M}]*\p{space}*:)/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.dictionary.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.type.dictionary.end.cadence"}},name:"meta.type.dictionary.cadence",patterns:[{include:"#comments"},{include:"#type"},{match:/:/dgv,name:"punctuation.separator.type.dictionary.cadence"},{match:/,/dgv,name:"punctuation.separator.type.dictionary.cadence"}]},{include:"#type"}]},{match:/-/dgv,name:"keyword.operator.arithmetic.unary.cadence"},{match:/(?<=\))!/dgv,name:"keyword.operator.force-unwrap.cadence"},{match:/!/dgv,name:"keyword.operator.logical.not.cadence"},{match:/=/dgv,name:"keyword.operator.assignment.cadence"},{match:/<-/dgv,name:"keyword.operator.move.cadence"},{match:/<-!/dgv,name:"keyword.operator.force-move.cadence"},{match:/[\-\*\+\/]/dgv,name:"keyword.operator.arithmetic.cadence"},{match:/%/dgv,name:"keyword.operator.arithmetic.remainder.cadence"},{match:/>>/dgv,name:"keyword.operator.bitwise.shift.cadence"},{match:/<</dgv,name:"keyword.operator.bitwise.shift.cadence"},{match:/==|!=|[\<\>]|>=|<=/dgv,name:"keyword.operator.comparison.cadence"},{match:/\?\?/dgv,name:"keyword.operator.coalescing.cadence"},{match:/&&|\|\|/dgv,name:"keyword.operator.logical.cadence"},{match:/[\!\?]/dgv,name:"keyword.operator.type.optional.cadence"}]},"parameter-clause":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.cadence"}},name:"meta.parameter-clause.cadence",patterns:[{include:"#comments"},{include:"#parameter-list"}]},"parameter-list":{patterns:[{include:"#comments"},{captures:{"1":{name:"keyword.operator.unnamed-parameter.cadence"},"2":{name:"variable.parameter.cadence"}},match:/(_)\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)(?=\p{space}*:)/dgv},{captures:{"1":{name:"entity.name.label.cadence"},"2":{name:"variable.parameter.cadence"}},match:/([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)(?=\p{space}*:)/dgv},{captures:{"1":{name:"variable.parameter.cadence"}},match:/([_\p{L}][_\p{L}\p{N}\p{M}]*)(?=\p{space}*:)/dgv},{begin:/:\p{space}*(?!\p{space})/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#type"},{match:/:/dgv,name:"invalid.illegal.extra-colon-in-parameter-list.cadence"}]}]},"path-literals":{patterns:[{captures:{"1":{name:"punctuation.separator.path.cadence"},"2":{name:"constant.other.path.cadence"}},match:/(\/)((storage|public)(\/[_\p{L}][_\p{L}\p{N}\p{M}]*)?)/dgv}]},"pre-post":{begin:/(?<!\.)\b(p(?:re|ost))\b\p{space}*(?=\{)/dgv,beginCaptures:{"1":{name:"storage.modifier.phase.cadence"}},end:/(?<=\})/dgv,name:"meta.definition.transaction.phase.cadence",patterns:[{include:"#comments"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.phase.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.phase.end.cadence"}},patterns:[{include:"$self"}]}]},"prepare-execute":{begin:/(?<!\.)\b(prepare)\b\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"storage.modifier.phase.cadence"}},end:/(?<=\})/dgv,name:"meta.definition.transaction.phase.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.phase.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.phase.end.cadence"}},patterns:[{include:"$self"}]}]},transaction:{begin:/\b(transaction)\b/dgv,beginCaptures:{"1":{name:"storage.type.transaction.cadence"}},end:/(?<=\))|(?<=\})/dgv,name:"meta.definition.transaction.cadence",patterns:[{include:"#comments"},{include:"#parameter-clause"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.transaction.begin.cadence"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.transaction.end.cadence"}},name:"meta.definition.transaction.body.cadence",patterns:[{include:"$self"}]}]},type:{patterns:[{begin:/(?<!\.)\b(?:(view)\p{space}+)?(fun)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"storage.modifier.view.cadence"},"2":{name:"storage.type.function.cadence"},"3":{name:"punctuation.definition.parameters.begin.cadence"}},end:/(?=[\]\)\,\>\}]|(?=\n?$))/dgv,name:"meta.type.function.cadence",patterns:[{include:"#comments"},{begin:/(?:)/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.cadence"}},patterns:[{include:"#type"},{match:/,/dgv,name:"punctuation.separator.parameter.cadence"}]},{begin:/(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.function-result.cadence"}},end:/(?=[\]\)\,\>\}]|(?=\n?$))/dgv,name:"meta.function-result.cadence",patterns:[{include:"#type"}]}]},{include:"#comments"},{begin:/(?<!\.)([_\p{L}][_\p{L}\p{N}\p{M}]*)\p{space}*(<)/dgv,beginCaptures:{"1":{name:"entity.name.type.cadence"},"2":{name:"punctuation.definition.type-arguments.begin.cadence"}},end:/(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.type-arguments.end.cadence"}},name:"meta.type.arguments.cadence",patterns:[{include:"#type"},{match:/,/dgv,name:"punctuation.separator.type-argument.cadence"}]},{begin:/(?<!\.)\b(auth)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.auth.cadence"},"2":{name:"punctuation.section.group.begin.cadence"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.group.end.cadence"}},name:"meta.auth.entitlements.cadence",patterns:[{include:"#comments"},{match:/\bmapping\b/dgv,name:"keyword.other.mapping.cadence"},{captures:{"1":{name:"entity.name.type.entitlement-mapping.cadence"}},match:/(?<=\bmapping)\p{space}+([_\p{L}][\._\p{L}\p{N}\p{M}]*)/dgv},{match:/,/dgv,name:"punctuation.separator.entitlement.cadence"},{match:/\|/dgv,name:"punctuation.separator.entitlement.cadence"},{match:/[_\p{L}][\._\p{L}\p{N}\p{M}]*/dgv,name:"entity.name.type.entitlement.cadence"}]},{begin:/\{(?![^\}]*:)(?![^\n]*\}\p{space}*\()/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.intersection.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.type.intersection.end.cadence"}},patterns:[{include:"#comments"},{include:"#type"},{match:/,/dgv,name:"punctuation.separator.type.intersection.cadence"}]},{begin:/\{(?=\p{space}*[_\p{L}][\._\p{L}\p{N}\p{M}]*\p{space}*:)(?![^\n]*\}\p{space}*\()/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.dictionary.begin.cadence"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.type.dictionary.end.cadence"}},name:"meta.type.dictionary.cadence",patterns:[{include:"#comments"},{include:"#type"},{match:/:/dgv,name:"punctuation.separator.type.dictionary.cadence"},{match:/,/dgv,name:"punctuation.separator.type.dictionary.cadence"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.type.array.begin.cadence"}},end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.type.array.end.cadence"}},name:"meta.type.array.cadence",patterns:[{include:"#comments"},{include:"#type"}]},{captures:{"1":{name:"punctuation.definition.type.reference.cadence"}},match:/([\&\@])(?=\p{space}*\{)/dgv},{captures:{"1":{name:"punctuation.definition.type.reference.cadence"},"2":{name:"entity.name.type.cadence"}},match:/([\&\@])\p{space}*([_\p{L}][\._\p{L}\p{N}\p{M}]*)/dgv},{match:/([_\p{L}][_\p{L}\p{N}\p{M}]*)/dgv,name:"entity.name.type.cadence"},{match:/[\!\?]/dgv,name:"keyword.operator.type.optional.cadence"}]},"var-let-declaration":{begin:/\b(var|let)\b\p{space}+([_\p{L}][_\p{L}\p{N}\p{M}]*)/dgv,beginCaptures:{"1":{name:"storage.type.$1.cadence"},"2":{name:"variable.other.declaration.cadence"}},end:/=|<-!??|;|(?=\/\/)|(?=\n?$)/dgv,patterns:[{include:"#comments"},{begin:/:\p{space}*(?!\p{space})/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.cadence"}},end:/(?=\/\/|=|<-!??|;|(?=\n?$))/dgv,patterns:[{include:"#type"},{include:"#comments"}]}]}},scopeName:"source.cadence",embeddedLangs:undefined,aliases:["cdc"]})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/cjs.d.mts ADDED
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
package/dist/cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ /* Alias cjs for javascript */
2
+ export { default } from './javascript.mjs'