@shikijs/langs-precompiled 3.20.0 → 3.22.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.
Files changed (56) hide show
  1. package/dist/actionscript-3.mjs +1 -1
  2. package/dist/apex.mjs +1 -1
  3. package/dist/blade.mjs +1 -1
  4. package/dist/c3.d.mts +3 -0
  5. package/dist/c3.mjs +5 -0
  6. package/dist/csharp.mjs +1 -1
  7. package/dist/fortran-fixed-form.mjs +1 -1
  8. package/dist/fortran-free-form.mjs +1 -1
  9. package/dist/gd.d.mts +3 -0
  10. package/dist/gd.mjs +2 -0
  11. package/dist/gdresource.mjs +1 -1
  12. package/dist/gdscript.mjs +1 -1
  13. package/dist/gn.d.mts +3 -0
  14. package/dist/gn.mjs +5 -0
  15. package/dist/go.mjs +1 -1
  16. package/dist/index.mjs +12 -0
  17. package/dist/kusto.mjs +1 -1
  18. package/dist/latex.mjs +1 -1
  19. package/dist/lean.mjs +1 -1
  20. package/dist/lua.mjs +1 -1
  21. package/dist/luau.mjs +1 -1
  22. package/dist/markdown-nix.mjs +1 -1
  23. package/dist/markdown-vue.mjs +1 -1
  24. package/dist/marko.mjs +1 -1
  25. package/dist/mbt.d.mts +3 -0
  26. package/dist/mbt.mjs +2 -0
  27. package/dist/mbti.d.mts +3 -0
  28. package/dist/mbti.mjs +2 -0
  29. package/dist/mermaid.mjs +1 -1
  30. package/dist/mojo.mjs +1 -1
  31. package/dist/moonbit.d.mts +3 -0
  32. package/dist/moonbit.mjs +5 -0
  33. package/dist/move.mjs +1 -1
  34. package/dist/odin.d.mts +3 -0
  35. package/dist/odin.mjs +5 -0
  36. package/dist/php.mjs +1 -1
  37. package/dist/proto.mjs +1 -1
  38. package/dist/r.mjs +1 -3
  39. package/dist/razor.mjs +1 -1
  40. package/dist/ron.d.mts +3 -0
  41. package/dist/ron.mjs +5 -0
  42. package/dist/surql.d.mts +3 -0
  43. package/dist/surql.mjs +2 -0
  44. package/dist/surrealql.d.mts +3 -0
  45. package/dist/surrealql.mjs +8 -0
  46. package/dist/svelte.mjs +1 -1
  47. package/dist/tres.d.mts +3 -0
  48. package/dist/tres.mjs +2 -0
  49. package/dist/tscn.d.mts +3 -0
  50. package/dist/tscn.mjs +2 -0
  51. package/dist/vue-directives.mjs +1 -1
  52. package/dist/vue-html.mjs +1 -3
  53. package/dist/vue-interpolations.mjs +1 -1
  54. package/dist/vue-vine.mjs +1 -3
  55. package/dist/vue.mjs +3 -3
  56. package/package.json +15 -3
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"ActionScript",fileTypes:["as"],name:"actionscript-3",patterns:[{include:"#comments"},{include:"#package"},{include:"#class"},{include:"#interface"},{include:"#namespace_declaration"},{include:"#import"},{include:"#mxml"},{include:"#strings"},{include:"#regexp"},{include:"#variable_declaration"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#other_operators"},{include:"#arithmetic_operators"},{include:"#logical_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#control_keywords"},{include:"#other_keywords"},{include:"#use_namespace"},{include:"#functions"}],repository:{arithmetic_operators:{match:/([\-\%\+\/]|(?<!:)\*)/dgv,name:"keyword.operator.actionscript.3"},array_access_operators:{match:/([\]\[])/dgv,name:"keyword.operator.actionscript.3"},class:{begin:/(^|\p{space}+|;)(\b(dynamic|final|abstract)\b\p{space}+)?(\b(internal|public)\b\p{space}+)?(\b(dynamic|final|abstract)\b\p{space}+)?(?=\bclass\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"},"5":{name:"storage.modifier.actionscript.3"},"7":{name:"storage.modifier.actionscript.3"}},end:/\}/dgv,name:"meta.class.actionscript.3",patterns:[{include:"#class_declaration"},{include:"#metadata"},{include:"#method"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#other_operators"},{include:"#other_keywords"},{include:"#use_namespace"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#arithmetic_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#variable_declaration"},{include:"#object_literal"}]},class_declaration:{begin:/\b(class)\b\p{space}+([\$\.0-9A-Z_a-z]+|\*)/dgv,beginCaptures:{"1":{name:"storage.type.class.actionscript.3"},"2":{name:"entity.name.class.actionscript.3"}},end:/\{/dgv,name:"meta.class_declaration.actionscript.3",patterns:[{include:"#extends"},{include:"#implements"},{include:"#comments"}]},code_block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.code_block.actionscript.3",patterns:[{include:"#code_block"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#variable_declaration"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#other_operators"},{include:"#arithmetic_operators"},{include:"#logical_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#control_keywords"},{include:"#other_keywords"},{include:"#use_namespace"},{include:"#functions"},{include:"#import"}]},comments:{patterns:[{begin:/\/\*\*(?!\/)/dgv,end:/\*\//dgv,name:"comment.block.documentation.actionscript.3",patterns:[{match:/@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\b/dgv,name:"keyword.other.documentation.actionscript.3.asdoc"}]},{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.actionscript.3"},{match:/\/\/[^\n]*/dgv,name:"comment.line.actionscript.3"}]},control_keywords:{match:/\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\b/dgv,name:"keyword.control.actionscript.3"},dynamic_type:{captures:{"1":{name:"support.type.actionscript.3"}},match:/(?<=:)\p{space}*(\*)/dgv},escapes:{match:/\\(x\p{AHex}{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|[^\n])/dgv,name:"constant.character.escape.actionscript.3"},extends:{captures:{"1":{name:"keyword.other.actionscript.3"},"2":{name:"entity.other.inherited-class.actionscript.3"},"3":{name:"entity.other.inherited-class.actionscript.3"}},match:/\b(extends)\b\p{space}+([\$\.0-9A-Z_a-z]+)\p{space}*(?:,\p{space}*([\$\.0-9A-Z_a-z]+))*\p{space}*/dgv,name:"meta.extends.actionscript.3"},function_arguments:{begin:/\(/dgv,end:/\)/dgv,name:"meta.function_arguments.actionscript.3",patterns:[{include:"#parameters"},{include:"#comments"}]},functions:{begin:/\b(function)\b(?:\p{space}+\b([gs]et)\b\p{space}+)?\p{space}*([\$0-9A-Z_a-z]+\b)?/dgv,beginCaptures:{"1":{name:"storage.type.function.actionscript.3"},"2":{name:"storage.modifier.actionscript.3"},"3":{name:"entity.name.function.actionscript.3"}},end:/((?=\n?$)|;|(?=\{))/dgv,name:"meta.function.actionscript.3",patterns:[{include:"#function_arguments"},{include:"#return_type"},{include:"#comments"}]},guess_constant:{captures:{"1":{name:"constant.other.actionscript.3"}},match:/\b([\$A-Z][0-9A-Z_]+)\b/dgv},guess_type:{captures:{"1":{name:"support.type.actionscript.3"}},match:/\b((?:[\$0-9A-Z_a-z]+\.)*[A-Z][0-9A-Z]*[a-z]+[\$0-9A-Z_a-z]*)\b/dgv},implements:{captures:{"1":{name:"keyword.other.actionscript.3"},"2":{name:"entity.other.inherited-class.actionscript.3"},"3":{name:"entity.other.inherited-class.actionscript.3"}},match:/\b(implements)\b\p{space}+([\$\.0-9A-Z_a-z]+)\p{space}*(?:,\p{space}*([\$\.0-9A-Z_a-z]+))*\p{space}*/dgv,name:"meta.implements.actionscript.3"},import:{captures:{"2":{name:"keyword.control.import.actionscript.3"},"3":{name:"support.type.actionscript.3"}},match:/(^|\p{space}+|;)\b(import)\b\p{space}+([\$\.0-9A-Z_a-z]+(?:\.\*)?)\p{space}*(?=;|(?=\n?$))/dgv,name:"meta.import.actionscript.3"},interface:{begin:/(^|\p{space}+|;)(\b(internal|public)\b\p{space}+)?(?=\binterface\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"}},end:/\}/dgv,name:"meta.interface.actionscript.3",patterns:[{include:"#interface_declaration"},{include:"#metadata"},{include:"#functions"},{include:"#comments"}]},interface_declaration:{begin:/\b(interface)\b\p{space}+([\$\.0-9A-Z_a-z]+)/dgv,beginCaptures:{"1":{name:"storage.type.interface.actionscript.3"},"2":{name:"entity.name.class.actionscript.3"}},end:/\{/dgv,name:"meta.class_declaration.actionscript.3",patterns:[{include:"#extends"},{include:"#comments"}]},language_constants:{match:/\b(true|false|null|Infinity|-Infinity|NaN|undefined)\b/dgv,name:"constant.language.actionscript.3"},language_variables:{match:/\b(super|this|arguments)\b/dgv,name:"variable.language.actionscript.3"},logical_operators:{match:/([\!\&\<\>\?\^\|\~])/dgv,name:"keyword.operator.actionscript.3"},metadata:{begin:/(?<=(?:^|[\;\{\}]|\*\/)\p{space}*)\[\p{space}*\b([\$A-Z_a-z][\$0-9A-Z_a-z]+)\b/dgv,beginCaptures:{"1":{name:"keyword.other.actionscript.3"}},end:/\]/dgv,name:"meta.metadata_info.actionscript.3",patterns:[{include:"#metadata_info"}]},metadata_info:{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#strings"},{captures:{"1":{name:"variable.parameter.actionscript.3"},"2":{name:"keyword.operator.actionscript.3"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)/dgv}]},method:{begin:/(^|\p{space}+)(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(?=\bfunction\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"},"5":{name:"storage.modifier.actionscript.3"},"7":{name:"storage.modifier.actionscript.3"},"8":{name:"storage.modifier.actionscript.3"}},end:/(?<=([\;\}]))/dgv,name:"meta.method.actionscript.3",patterns:[{include:"#functions"},{include:"#code_block"}]},mxml:{begin:/<!\[CDATA\[/dgv,end:/\]\]>/dgv,name:"meta.cdata.actionscript.3",patterns:[{include:"#comments"},{include:"#import"},{include:"#metadata"},{include:"#class"},{include:"#namespace_declaration"},{include:"#use_namespace"},{include:"#class_declaration"},{include:"#method"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#other_keywords"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#other_operators"},{include:"#arithmetic_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#variable_declaration"}]},namespace_declaration:{captures:{"2":{name:"storage.modifier.actionscript.3"},"3":{name:"storage.modifier.actionscript.3"}},match:/(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(namespace)\p{space}+[\$0-9A-Z_a-z]+/dgv,name:"meta.namespace_declaration.actionscript.3"},numbers:{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\b/dgv,name:"constant.numeric.actionscript.3"},object_literal:{begin:/\{/dgv,end:/\}/dgv,name:"meta.object_literal.actionscript.3",patterns:[{include:"#object_literal"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#functions"}]},other_keywords:{match:/\b(as|delete|in|instanceof|is|native|new|to|typeof)\b/dgv,name:"keyword.other.actionscript.3"},other_operators:{match:/([\.\=])/dgv,name:"keyword.operator.actionscript.3"},package:{begin:/(^|\p{space}+)(package)\b/dgv,beginCaptures:{"2":{name:"keyword.other.actionscript.3"}},end:/\}/dgv,name:"meta.package.actionscript.3",patterns:[{include:"#package_name"},{include:"#variable_declaration"},{include:"#method"},{include:"#comments"},{include:"#return_type"},{include:"#import"},{include:"#use_namespace"},{include:"#strings"},{include:"#numbers"},{include:"#language_constants"},{include:"#metadata"},{include:"#class"},{include:"#interface"},{include:"#namespace_declaration"}]},package_name:{begin:/(?<=package)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,end:/\{/dgv,name:"meta.package_name.actionscript.3"},parameters:{begin:/(\.\.\.)?\p{space}*([\$A-Z_a-z][\$0-9A-Z_a-z]*)(?:\p{space}*(:)\p{space}*(?:([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)(?:\.<([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)>)?|(\*)))?(?:\p{space}*(=))?/dgv,beginCaptures:{"1":{name:"keyword.operator.actionscript.3"},"2":{name:"variable.parameter.actionscript.3"},"3":{name:"keyword.operator.actionscript.3"},"4":{name:"support.type.actionscript.3"},"5":{name:"support.type.actionscript.3"},"6":{name:"support.type.actionscript.3"},"7":{name:"keyword.operator.actionscript.3"}},end:/,|(?=\))/dgv,patterns:[{include:"#strings"},{include:"#numbers"},{include:"#language_constants"},{include:"#comments"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#guess_type"},{include:"#guess_constant"}]},primitive_error_types:{captures:{"1":{name:"support.class.error.actionscript.3"}},match:/\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\b/dgv},primitive_functions:{captures:{"1":{name:"support.function.actionscript.3"}},match:/\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\p{space}*\()/dgv},primitive_types:{captures:{"1":{name:"support.class.builtin.actionscript.3"}},match:/\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\*(?<=a))\b/dgv},regexp:{begin:/(?<=[\(\,\:\=\[]|^|return|&&|\|\||!)\p{space}*(\/)(?![\*\+\/\?\{\}])/dgv,end:/(?=\n?$)|(\/)[gim]*/dgv,name:"string.regex.actionscript.3",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.actionscript.3"},{match:/\[(\\\]|[^\]])*\]/dgv,name:"constant.character.class.actionscript.3"}]},return_type:{captures:{"1":{name:"keyword.operator.actionscript.3"},"2":{name:"support.type.actionscript.3"},"3":{name:"support.type.actionscript.3"},"4":{name:"support.type.actionscript.3"}},match:/(:)\p{space}*([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)(?:\.<([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)>)?|(\*)/dgv},strings:{patterns:[{begin:/@"/dgv,end:/"/dgv,name:"string.quoted.verbatim.actionscript.3"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.actionscript.3",patterns:[{include:"#escapes"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.actionscript.3",patterns:[{include:"#escapes"}]}]},use_namespace:{captures:{"2":{name:"keyword.other.actionscript.3"},"3":{name:"keyword.other.actionscript.3"},"4":{name:"storage.modifier.actionscript.3"}},match:/(^|\p{space}+|;)(use\p{space}+)?(namespace)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(;|(?=\n?$))/dgv},variable_declaration:{captures:{"2":{name:"storage.modifier.actionscript.3"},"4":{name:"storage.modifier.actionscript.3"},"6":{name:"storage.modifier.actionscript.3"},"7":{name:"storage.modifier.actionscript.3"},"8":{name:"keyword.operator.actionscript.3"}},match:/((static)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?((static)\p{space}+)?(const|var)\p{space}+[\$0-9A-Z_a-z]+(?:\p{space}*(:))?/dgv,name:"meta.variable_declaration.actionscript.3"},vector_creation_operators:{match:/([\<\>])/dgv,name:"keyword.operator.actionscript.3"}},scopeName:"source.actionscript.3",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"ActionScript",fileTypes:["as"],name:"actionscript-3",patterns:[{include:"#comments"},{include:"#package"},{include:"#class"},{include:"#interface"},{include:"#namespace_declaration"},{include:"#import"},{include:"#mxml"},{include:"#strings"},{include:"#regexp"},{include:"#variable_declaration"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#other_operators"},{include:"#arithmetic_operators"},{include:"#logical_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#control_keywords"},{include:"#other_keywords"},{include:"#use_namespace"},{include:"#functions"}],repository:{arithmetic_operators:{match:/([\-\%\+\/]|(?<!:)\*)/dgv,name:"keyword.operator.actionscript.3"},array_access_operators:{match:/([\]\[])/dgv,name:"keyword.operator.actionscript.3"},class:{begin:/(^|\p{space}+|;)(\b(dynamic|final|abstract)\b\p{space}+)?(\b(internal|public)\b\p{space}+)?(\b(dynamic|final|abstract)\b\p{space}+)?(?=\bclass\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"},"5":{name:"storage.modifier.actionscript.3"},"7":{name:"storage.modifier.actionscript.3"}},end:/\}/dgv,name:"meta.class.actionscript.3",patterns:[{include:"#class_declaration"},{include:"#declaration_code_block"},{include:"#metadata"},{include:"#method"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#other_operators"},{include:"#other_keywords"},{include:"#use_namespace"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#arithmetic_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#variable_declaration"},{include:"#object_literal"},{include:"#conditional_compilation"}]},class_declaration:{begin:/\b(class)\b\p{space}+([\$\.0-9A-Z_a-z]+|\*)/dgv,beginCaptures:{"1":{name:"storage.type.class.actionscript.3"},"2":{name:"entity.name.class.actionscript.3"}},end:/\{/dgv,name:"meta.class_declaration.actionscript.3",patterns:[{include:"#extends"},{include:"#implements"},{include:"#comments"}]},comments:{patterns:[{begin:/\/\*\*(?!\/)/dgv,end:/\*\//dgv,name:"comment.block.documentation.actionscript.3",patterns:[{match:/@(copy|default|eventType|example|exampleText|includeExample|inheritDoc|internal|param|private|return|see|since|throws)\b/dgv,name:"keyword.other.documentation.actionscript.3.asdoc"}]},{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.actionscript.3"},{match:/\/\/[^\n]*/dgv,name:"comment.line.actionscript.3"}]},conditional_compilation:{captures:{"2":{name:"constant.other.actionscript.3"},"3":{name:"constant.other.actionscript.3"}},match:/(^|\p{space}+|;)\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b::\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"meta.conditional.actionscript.3"},control_keywords:{match:/\b(if|else|do|while|for|each|continue|return|switch|case|default|break|try|catch|finally|throw|with)\b/dgv,name:"keyword.control.actionscript.3"},declaration_code_block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.code_block.actionscript.3",patterns:[{include:"#method"},{include:"#variable_declaration"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#other_operators"},{include:"#arithmetic_operators"},{include:"#logical_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#control_keywords"},{include:"#other_keywords"},{include:"#use_namespace"},{include:"#functions"},{include:"#import"}]},dynamic_type:{captures:{"1":{name:"support.type.actionscript.3"}},match:/(?<=:)\p{space}*(\*)/dgv},escapes:{match:/\\(x\p{AHex}{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|[^\n])/dgv,name:"constant.character.escape.actionscript.3"},extends:{captures:{"1":{name:"keyword.other.actionscript.3"},"2":{name:"entity.other.inherited-class.actionscript.3"},"3":{name:"entity.other.inherited-class.actionscript.3"}},match:/\b(extends)\b\p{space}+([\$\.0-9A-Z_a-z]+)\p{space}*(?:,\p{space}*([\$\.0-9A-Z_a-z]+))*\p{space}*/dgv,name:"meta.extends.actionscript.3"},function_arguments:{begin:/\(/dgv,end:/\)/dgv,name:"meta.function_arguments.actionscript.3",patterns:[{include:"#parameters"},{include:"#comments"}]},functions:{begin:/\b(function)\b(?:\p{space}+\b([gs]et)\b\p{space}+)?\p{space}*([\$0-9A-Z_a-z]+\b)?/dgv,beginCaptures:{"1":{name:"storage.type.function.actionscript.3"},"2":{name:"storage.modifier.actionscript.3"},"3":{name:"entity.name.function.actionscript.3"}},end:/((?=\n?$)|;|(?=\{))/dgv,name:"meta.function.actionscript.3",patterns:[{include:"#function_arguments"},{include:"#return_type"},{include:"#comments"}]},guess_constant:{captures:{"1":{name:"constant.other.actionscript.3"}},match:/\b([\$A-Z][0-9A-Z_]+)\b/dgv},guess_type:{captures:{"1":{name:"support.type.actionscript.3"}},match:/\b((?:[\$0-9A-Z_a-z]+\.)*[A-Z][0-9A-Z]*[a-z]+[\$0-9A-Z_a-z]*)\b/dgv},implements:{captures:{"1":{name:"keyword.other.actionscript.3"},"2":{name:"entity.other.inherited-class.actionscript.3"},"3":{name:"entity.other.inherited-class.actionscript.3"}},match:/\b(implements)\b\p{space}+([\$\.0-9A-Z_a-z]+)\p{space}*(?:,\p{space}*([\$\.0-9A-Z_a-z]+))*\p{space}*/dgv,name:"meta.implements.actionscript.3"},import:{captures:{"2":{name:"keyword.control.import.actionscript.3"},"3":{name:"support.type.actionscript.3"}},match:/(^|\p{space}+|;)\b(import)\b\p{space}+([\$\.0-9A-Z_a-z]+(?:\.\*)?)\p{space}*(?=;|(?=\n?$))/dgv,name:"meta.import.actionscript.3"},interface:{begin:/(^|\p{space}+|;)(\b(internal|public)\b\p{space}+)?(?=\binterface\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"}},end:/\}/dgv,name:"meta.interface.actionscript.3",patterns:[{include:"#interface_declaration"},{include:"#metadata"},{include:"#functions"},{include:"#comments"}]},interface_declaration:{begin:/\b(interface)\b\p{space}+([\$\.0-9A-Z_a-z]+)/dgv,beginCaptures:{"1":{name:"storage.type.interface.actionscript.3"},"2":{name:"entity.name.class.actionscript.3"}},end:/\{/dgv,name:"meta.class_declaration.actionscript.3",patterns:[{include:"#extends"},{include:"#comments"}]},language_constants:{match:/\b(true|false|null|Infinity|-Infinity|NaN|undefined)\b/dgv,name:"constant.language.actionscript.3"},language_variables:{match:/\b(super|this|arguments)\b/dgv,name:"variable.language.actionscript.3"},local_code_block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.code_block.actionscript.3",patterns:[{include:"#local_code_block"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#variable_declaration"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#other_operators"},{include:"#arithmetic_operators"},{include:"#logical_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#control_keywords"},{include:"#other_keywords"},{include:"#use_namespace"},{include:"#functions"},{include:"#import"}]},logical_operators:{match:/([\!\&\<\>\?\^\|\~])/dgv,name:"keyword.operator.actionscript.3"},metadata:{begin:/(?<=(?:^|[\;\{\}]|\*\/)\p{space}*)\[\p{space}*\b([\$A-Z_a-z][\$0-9A-Z_a-z]+)\b/dgv,beginCaptures:{"1":{name:"keyword.other.actionscript.3"}},end:/\]/dgv,name:"meta.metadata_info.actionscript.3",patterns:[{include:"#metadata_info"}]},metadata_info:{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#strings"},{captures:{"1":{name:"variable.parameter.actionscript.3"},"2":{name:"keyword.operator.actionscript.3"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)/dgv}]},method:{begin:/(^|\p{space}+)(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(?=\bfunction\b)/dgv,beginCaptures:{"3":{name:"storage.modifier.actionscript.3"},"5":{name:"storage.modifier.actionscript.3"},"7":{name:"storage.modifier.actionscript.3"},"8":{name:"storage.modifier.actionscript.3"}},end:/(?<=([\;\}]))/dgv,name:"meta.method.actionscript.3",patterns:[{include:"#functions"},{include:"#local_code_block"}]},mxml:{begin:/<!\[CDATA\[/dgv,end:/\]\]>/dgv,name:"meta.cdata.actionscript.3",patterns:[{include:"#comments"},{include:"#import"},{include:"#metadata"},{include:"#class"},{include:"#namespace_declaration"},{include:"#use_namespace"},{include:"#class_declaration"},{include:"#method"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#other_keywords"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#other_operators"},{include:"#arithmetic_operators"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#variable_declaration"}]},namespace_declaration:{captures:{"2":{name:"storage.modifier.actionscript.3"},"3":{name:"storage.modifier.actionscript.3"}},match:/(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?(namespace)\p{space}+[\$0-9A-Z_a-z]+/dgv,name:"meta.namespace_declaration.actionscript.3"},numbers:{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\b/dgv,name:"constant.numeric.actionscript.3"},object_literal:{begin:/\{/dgv,end:/\}/dgv,name:"meta.object_literal.actionscript.3",patterns:[{include:"#object_literal"},{include:"#comments"},{include:"#strings"},{include:"#regexp"},{include:"#numbers"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#primitive_functions"},{include:"#language_constants"},{include:"#language_variables"},{include:"#guess_type"},{include:"#guess_constant"},{include:"#array_access_operators"},{include:"#vector_creation_operators"},{include:"#functions"}]},other_keywords:{match:/\b(as|delete|in|instanceof|is|native|new|to|typeof)\b/dgv,name:"keyword.other.actionscript.3"},other_operators:{match:/([\.\=])/dgv,name:"keyword.operator.actionscript.3"},package:{begin:/(^|\p{space}+)(package)\b/dgv,beginCaptures:{"2":{name:"keyword.other.actionscript.3"}},end:/\}/dgv,name:"meta.package.actionscript.3",patterns:[{include:"#package_name"},{include:"#variable_declaration"},{include:"#method"},{include:"#comments"},{include:"#return_type"},{include:"#import"},{include:"#use_namespace"},{include:"#strings"},{include:"#numbers"},{include:"#language_constants"},{include:"#metadata"},{include:"#class"},{include:"#interface"},{include:"#namespace_declaration"}]},package_name:{begin:/(?<=package)\p{space}+([\._\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,end:/\{/dgv,name:"meta.package_name.actionscript.3"},parameters:{begin:/(\.\.\.)?\p{space}*([\$A-Z_a-z][\$0-9A-Z_a-z]*)(?:\p{space}*(:)\p{space}*(?:([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)(?:\.<([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)>)?|(\*)))?(?:\p{space}*(=))?/dgv,beginCaptures:{"1":{name:"keyword.operator.actionscript.3"},"2":{name:"variable.parameter.actionscript.3"},"3":{name:"keyword.operator.actionscript.3"},"4":{name:"support.type.actionscript.3"},"5":{name:"support.type.actionscript.3"},"6":{name:"support.type.actionscript.3"},"7":{name:"keyword.operator.actionscript.3"}},end:/,|(?=\))/dgv,patterns:[{include:"#strings"},{include:"#numbers"},{include:"#language_constants"},{include:"#comments"},{include:"#primitive_types"},{include:"#primitive_error_types"},{include:"#dynamic_type"},{include:"#guess_type"},{include:"#guess_constant"}]},primitive_error_types:{captures:{"1":{name:"support.class.error.actionscript.3"}},match:/\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\b/dgv},primitive_functions:{captures:{"1":{name:"support.function.actionscript.3"}},match:/\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\p{space}*\()/dgv},primitive_types:{captures:{"1":{name:"support.class.builtin.actionscript.3"}},match:/\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\*(?<=a))\b/dgv},regexp:{begin:/(?<=[\(\,\:\=\[]|^|return|&&|\|\||!)\p{space}*(\/)(?![\*\+\/\?\{\}])/dgv,end:/(?=\n?$)|(\/)[gim]*/dgv,name:"string.regex.actionscript.3",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.actionscript.3"},{match:/\[(\\\]|[^\]])*\]/dgv,name:"constant.character.class.actionscript.3"}]},return_type:{captures:{"1":{name:"keyword.operator.actionscript.3"},"2":{name:"support.type.actionscript.3"},"3":{name:"support.type.actionscript.3"},"4":{name:"support.type.actionscript.3"}},match:/(:)\p{space}*([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)(?:\.<([\$A-Za-z][\$0-9A-Z_a-z]+(?:\.[\$A-Za-z][\$0-9A-Z_a-z]+)*)>)?|(\*)/dgv},strings:{patterns:[{begin:/@"/dgv,end:/"/dgv,name:"string.quoted.verbatim.actionscript.3"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.actionscript.3",patterns:[{include:"#escapes"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.actionscript.3",patterns:[{include:"#escapes"}]}]},use_namespace:{captures:{"2":{name:"keyword.other.actionscript.3"},"3":{name:"keyword.other.actionscript.3"},"4":{name:"storage.modifier.actionscript.3"}},match:/(^|\p{space}+|;)(use\p{space}+)?(namespace)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(;|(?=\n?$))/dgv},variable_declaration:{captures:{"2":{name:"storage.modifier.actionscript.3"},"4":{name:"storage.modifier.actionscript.3"},"6":{name:"storage.modifier.actionscript.3"},"7":{name:"storage.modifier.actionscript.3"},"8":{name:"keyword.operator.actionscript.3"}},match:/((static)\p{space}+)?(([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+)?((static)\p{space}+)?(const|var)\p{space}+[\$0-9A-Z_a-z]+(?:\p{space}*(:))?/dgv,name:"meta.variable_declaration.actionscript.3"},vector_creation_operators:{match:/([\<\>])/dgv,name:"keyword.operator.actionscript.3"}},scopeName:"source.actionscript.3",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
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:"#initializer-block"},{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"}]},"dml-expression":{begin:/\b(delete|insert|undelete|update|upsert)\b\p{space}+(?!new\b)/dgv,beginCaptures:{"1":{name:"support.function.apex"}},end:/(?<=;)/dgv,patterns:[{include:"#expression"},{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:"#dml-expression"},{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}+/dgv,beginCaptures:{"1":{name:"keyword.other.extends.apex"}},end:/(?=\{|implements)/dgv,patterns:[{begin:/(?=[_\p{Alpha}][_\p{Alpha}\p{Nd}]*\p{space}*\.)/dgv,end:/(?=\{|implements)/dgv,patterns:[{include:"#support-type"},{include:"#type"}]},{captures:{"1":{name:"entity.name.type.extends.apex"}},match:/([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/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:[{begin:/(?=[_\p{Alpha}][_\p{Alpha}\p{Nd}]*\p{space}*\.)/dgv,end:/(?=\{|extends|,)/dgv,patterns:[{include:"#support-type"},{include:"#type"}]},{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},{include:"#punctuation-comma"}]},"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-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#statement"}]},"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|final)\\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|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:/(?=\})|(?=when\b)/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-multiple-statement":{begin:/(when)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"}},end:/(?=\})|(?=when\b)/dgv,patterns:[{include:"#block"},{include:"#expression"},{include:"#punctuation-comma"}]},"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:/(?=\})|(?=when\b)/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:/(?=\})|(?=when\b)/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-string":{begin:/(when)\b\p{space}*('[^\n']*')(\p{space}*(,)\p{space}*('[^\n']*'))*\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{patterns:[{include:"#string-literal"}]},"4":{patterns:[{include:"#punctuation-comma"}]},"5":{patterns:[{include:"#string-literal"}]}},end:/(?=\})|(?=when\b)/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})
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:"#initializer-block"},{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:/(?<!\?)\?(?!\?|\.(?!\p{Nd})|\[)/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"}]},"dml-expression":{begin:/\b(delete|insert|undelete|update|upsert)\b\p{space}+(?!new\b)/dgv,beginCaptures:{"1":{name:"support.function.apex"}},end:/(?<=;)/dgv,patterns:[{include:"#expression"},{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:"#dml-expression"},{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}+/dgv,beginCaptures:{"1":{name:"keyword.other.extends.apex"}},end:/(?=\{|implements)/dgv,patterns:[{begin:/(?=[_\p{Alpha}][_\p{Alpha}\p{Nd}]*\p{space}*\.)/dgv,end:/(?=\{|implements)/dgv,patterns:[{include:"#support-type"},{include:"#type"}]},{captures:{"1":{name:"entity.name.type.extends.apex"}},match:/([_\p{Alpha}][_\p{Alpha}\p{Nd}]*)/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:[{begin:/(?=[_\p{Alpha}][_\p{Alpha}\p{Nd}]*\p{space}*\.)/dgv,end:/(?=\{|extends|,)/dgv,patterns:[{include:"#support-type"},{include:"#type"}]},{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},{include:"#punctuation-comma"}]},"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-block":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.curlybrace.open.apex"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.curlybrace.close.apex"}},patterns:[{include:"#statement"}]},"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|final)\\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|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:/(?=\})|(?=when\b)/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-multiple-statement":{begin:/(when)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"}},end:/(?=\})|(?=when\b)/dgv,patterns:[{include:"#block"},{include:"#expression"},{include:"#punctuation-comma"}]},"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:/(?=\})|(?=when\b)/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:/(?=\})|(?=when\b)/dgv,patterns:[{include:"#block"},{include:"#expression"}]},"when-string":{begin:/(when)\b\p{space}*('[^\n']*')(\p{space}*(,)\p{space}*('[^\n']*'))*\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.switch.when.apex"},"2":{patterns:[{include:"#string-literal"}]},"4":{patterns:[{include:"#punctuation-comma"}]},"5":{patterns:[{include:"#string-literal"}]}},end:/(?=\})|(?=when\b)/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