github-linguist 9.3.0 → 9.5.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.
- checksums.yaml +4 -4
- data/grammars/dart.inline.edgeql.json +1 -0
- data/grammars/go.inline.edgeql.json +1 -0
- data/grammars/inline.surrealql-js-literal.json +1 -0
- data/grammars/js.inline.edgeql.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/markdown.surrealql.codeblock.json +1 -0
- data/grammars/markdown.vue.codeblock.json +1 -1
- data/grammars/markdown.wesl.codeblock.json +1 -0
- data/grammars/markdown.wgsl.codeblock.json +1 -0
- data/grammars/mdx.vue.codeblock.json +1 -1
- data/grammars/res.inline.edgeql.json +1 -0
- data/grammars/source.4dm.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.agda.json +1 -1
- data/grammars/source.al.json +1 -1
- data/grammars/source.algol60.json +1 -0
- data/grammars/source.apex.json +1 -1
- data/grammars/source.astro.json +1 -1
- data/grammars/source.b.json +1 -0
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bru.json +1 -1
- data/grammars/source.c++.json +1 -1
- data/grammars/source.c.json +1 -1
- data/grammars/source.c3.json +1 -1
- data/grammars/source.cadence.json +1 -1
- data/grammars/source.cj.json +1 -0
- data/grammars/source.clar.json +1 -1
- data/grammars/source.clean.json +1 -1
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmakecache.json +1 -1
- data/grammars/source.comment-string.wesl.json +1 -0
- data/grammars/source.comment-string.wgsl.json +1 -0
- data/grammars/source.cpan-mirror.json +1 -0
- data/grammars/source.cpan-skiplist.json +1 -0
- data/grammars/source.cql.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csv.json +1 -0
- data/grammars/source.dart.json +1 -1
- data/grammars/source.data-weave.json +1 -1
- data/grammars/source.dsv.json +1 -0
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.firrtl.json +1 -1
- data/grammars/source.flatbuffers.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gfm.blade.json +1 -1
- data/grammars/source.go-template.json +1 -0
- data/grammars/source.go.injection.double.go-template.json +1 -0
- data/grammars/source.go.injection.raw.go-template.json +1 -0
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hurl.json +1 -0
- data/grammars/source.ilecobol.json +1 -1
- data/grammars/source.isabelle.theory.json +1 -1
- data/grammars/source.jac.json +1 -0
- data/grammars/source.jai.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.kcl.json +1 -0
- data/grammars/source.langium.json +1 -0
- data/grammars/source.lean.markdown.json +1 -1
- data/grammars/source.lean4.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.liquidsoap.json +1 -0
- data/grammars/source.llvm.json +1 -1
- data/grammars/source.lp.json +1 -0
- data/grammars/source.lua.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.mask.json +1 -1
- data/grammars/source.mc.json +1 -1
- data/grammars/source.mdx.json +1 -1
- data/grammars/source.mermaid.json +1 -1
- data/grammars/source.mermaid.zenuml.json +1 -1
- data/grammars/source.metta.json +1 -0
- data/grammars/source.mo.json +1 -1
- data/grammars/source.mojo.json +1 -1
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.move.json +1 -1
- data/grammars/source.ned.json +1 -1
- data/grammars/source.nr.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.proto.json +1 -1
- data/grammars/source.pyjade.json +1 -1
- data/grammars/source.quakec.json +1 -1
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.rascript.json +1 -0
- data/grammars/source.rego.json +1 -1
- data/grammars/source.roc.json +1 -1
- data/grammars/source.ron.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.shell.json +1 -1
- data/grammars/source.singularity.json +1 -1
- data/grammars/source.slint.json +1 -1
- data/grammars/source.soql.json +1 -1
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.surrealql.json +1 -0
- data/grammars/source.swift.json +1 -1
- data/grammars/source.teal.json +1 -0
- data/grammars/source.tmdl.json +1 -0
- data/grammars/source.tsp.json +1 -1
- data/grammars/source.tsv.json +1 -0
- data/grammars/source.vb6.json +1 -0
- data/grammars/source.vba.json +1 -1
- data/grammars/source.vento.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.wgsl.json +1 -1
- data/grammars/source.wwb.json +1 -1
- data/grammars/text.git-commit.json +1 -0
- data/grammars/text.haml.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -1
- data/grammars/text.html.vue.json +1 -0
- data/grammars/text.injection.go-template.json +1 -0
- data/grammars/text.k.json +1 -0
- data/grammars/text.markdown.go-template.codeblock.json +1 -0
- data/grammars/text.marko.json +1 -1
- data/grammars/text.md.json +1 -1
- data/grammars/text.slim.json +1 -1
- data/grammars/text.source.mps.json +1 -0
- data/grammars/text.srt.json +1 -1
- data/grammars/text.valve-cfg.json +1 -1
- data/grammars/v.mod.json +1 -0
- data/grammars/version +1 -1
- data/grammars/vue.directives.json +1 -1
- data/grammars/vue.interpolations.json +1 -1
- data/grammars/vue.sfc.script.leading-operator-fix.json +1 -0
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +24 -0
- data/lib/linguist/generic.yml +1 -0
- data/lib/linguist/heuristics.yml +62 -6
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +256 -26
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/source/rugged.rb +16 -1
- metadata +44 -4
- data/grammars/inline.edgeql.json +0 -1
- data/grammars/source.vue.json +0 -1
- data/grammars/text.html.vento.json +0 -1
data/grammars/source.agda.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Agda","scopeName":"source.agda","patterns":[{"name":"comment.line.double-dash.agda","begin":"--","end":"$"},{"name":"comment.block.agda","begin":"{-[^#]","end":"-}"},{"name":"support.other.agda","begin":"{-#","end":"#-}"},{"name":"string.quoted.double.agda","begin":"\"","end":"\""},{"name":"constant.char.agda","match":"'([^\\\\']|\\\\['\\\\\"[:alnum:]]+)'"},{"name":"constant.numeric.agda","match":"(?\u003c=^|[[:space:]\\(\\){}])(-?\\d+|0x[0-9A-F]+|-?\\d+\\.\\d+((e|E)(\\+|-)?\\d+)?|-?\\d+(e|E)(\\+|-)?\\d+)(?=[[:space:]\\(\\){}])"},{"match":"\\b(data|record|module|constructor|open *import|open|import)[[:space:]]+([^;\\(\\){}@\"[:space:]]+)","captures":{"1":{"name":"keyword.other.agda"},"2":{"name":"entity.name.type.agda"}}},{"name":"entity.name.tag.agda","match":"((?\u003c=^|[.;\\(\\){}@\"[:space:]])\\?(?=[.;\\(\\){}@\"[:space:]])|{!.*!})"},{"name":"constant.language.agda","match":"\\b(Set|Prop)[0123456789₀₁₂₃₄₅₆₇₈₉]*(?=$|[[:space:]\\(\\)\\{\\}])"},{"name":"keyword.other.agda","match":"(?\u003c=^|[[:space:]\\(\\)\\{\\}])(λ|→|-\u003e|∀|=|←|:)(?=[[:space:]\\(\\)\\{\\}])"},{"match":"^[[:space:]]*(((abstract|instance|macro|pattern|postulate|primitive|private|syntax|variable|where|let)[[:space:]]+)*)((([^;\\(\\){}@\"[:space:]]+)[[:space:]]+)+)(?=:)","captures":{"1":{"name":"keyword.other.agda"},"4":{"name":"entity.name.agda"}}},{"name":"keyword.other.agda","match":"(?\u003c=^|[[:space:]\\(\\){}])(abstract|constructor|data|do|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|interleaved|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|
|
|
1
|
+
{"name":"Agda","scopeName":"source.agda","patterns":[{"name":"comment.line.double-dash.agda","begin":"--","end":"$"},{"name":"comment.block.agda","begin":"{-[^#]","end":"-}"},{"name":"support.other.agda","begin":"{-#","end":"#-}"},{"name":"string.quoted.double.agda","begin":"\"","end":"\""},{"name":"constant.char.agda","match":"'([^\\\\']|\\\\['\\\\\"[:alnum:]]+)'"},{"name":"constant.numeric.agda","match":"(?\u003c=^|[[:space:]\\(\\){}])(-?\\d+|0x[0-9A-F]+|-?\\d+\\.\\d+((e|E)(\\+|-)?\\d+)?|-?\\d+(e|E)(\\+|-)?\\d+)(?=[[:space:]\\(\\){}])"},{"match":"\\b(data|record|module|constructor|open *import|open|import)[[:space:]]+([^;\\(\\){}@\"[:space:]]+)","captures":{"1":{"name":"keyword.other.agda"},"2":{"name":"entity.name.type.agda"}}},{"name":"entity.name.tag.agda","match":"((?\u003c=^|[.;\\(\\){}@\"[:space:]])\\?(?=[.;\\(\\){}@\"[:space:]])|{!.*!})"},{"name":"constant.language.agda","match":"\\b(Set|Prop)[0123456789₀₁₂₃₄₅₆₇₈₉]*(?=$|[[:space:]\\(\\)\\{\\}])"},{"name":"keyword.other.agda","match":"(?\u003c=^|[[:space:]\\(\\)\\{\\}])(λ|→|-\u003e|∀|=|←|:)(?=[[:space:]\\(\\)\\{\\}])"},{"match":"^[[:space:]]*(((abstract|instance|macro|pattern|postulate|primitive|private|syntax|variable|where|let)[[:space:]]+)*)((([^;\\(\\){}@\"[:space:]]+)[[:space:]]+)+)(?=:)","captures":{"1":{"name":"keyword.other.agda"},"4":{"name":"entity.name.agda"}}},{"name":"keyword.other.agda","match":"(?\u003c=^|[[:space:]\\(\\){}])(abstract|codata|coinductive|constructor|data|do|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|interleaved|let|macro|module|mutual|no-eta-equality|opaque|open|overlap|pattern|postulate|primitive|private|public|quote|quoteTerm|record|renaming|rewrite|syntax|tactic|unfolding|unquote|unquoteDecl|unquoteDef|using|variable|where|with)(?=$|[[:space:]\\(\\){}])"}]}
|
data/grammars/source.al.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"al","scopeName":"source.al","patterns":[{"name":"keyword.control.al","match":"\\b(?i:(ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS))\\b"},{"name":"keyword.operators.al","match":"\\b(?i:(AND|DIV|MOD|NOT|OR|XOR))\\b"},{"name":"keyword.other.property.al","match":"\\b(?i:(AVERAGE|CONST|COUNT|EXIST|FIELD|FILTER|LOOKUP|MAX|MIN|ORDER|SORTING|SUM|TABLEDATA|UPPERLIMIT|WHERE|ASCENDING|DESCENDING))\\b"},{"name":"keyword.other.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\\b"},{"name":"keyword.other.builtintypes.al","match":"\\b(?i:(Action|ActionRef|Array|Automation|BigInteger|BigText|SecretText|Blob|Boolean|Byte|Char|ClientType|Code|Codeunit|CompletionTriggerErrorLevel|ConnectionType|CustomAction|Database|DataClassification|DataScope|DataTransfer|Date|DateFormula|DateTime|Decimal|DefaultLayout|Dialog|Dictionary|DotNet|DotNetAssembly|DotNetTypeDeclaration|Duration|Enum|ErrorInfo|ErrorType|ExecutionContext|ExecutionMode|FieldClass|FieldRef|FieldType|File|FilterPageBuilder|Guid|InStream|Integer|IsolationLevel|Joker|KeyRef|List|Media|MediaSet|ModuleDependencyInfo|ModuleInfo|None|Notification|NotificationScope|ObjectType|Option|OutStream|Page|PageResult|Query|Record|RecordId|RecordRef|Report|ReportFormat|SecurityFilter|SecurityFiltering|SystemAction|Table|TableConnectionType|TableFilter|TestAction|TestField|TestFilterField|TestPage|TestPermissions|TestRequestPage|Text|TextBuilder|TextConst|TextEncoding|Time|TransactionModel|TransactionType|Variant|Verbosity|Version|XmlPort|HttpContent|HttpHeaders|HttpClient|HttpRequestMessage|HttpResponseMessage|JsonToken|JsonValue|JsonArray|JsonObject|View|Views|XmlAttribute|XmlAttributeCollection|XmlComment|XmlCData|XmlDeclaration|XmlDocument|XmlDocumentType|XmlElement|XmlNamespaceManager|XmlNameTable|XmlNode|XmlNodeList|XmlProcessingInstruction|XmlReadOptions|XmlText|XmlWriteOptions|WebServiceActionContext|WebServiceActionResultCode|SessionSettings|PageBackgroundTaskErrorLevel))\\b"},{"name":"keyword.operators.comparison.al","match":"\\b([\u003c\u003e]=|\u003c\u003e|\u003c|\u003e)\\b"},{"name":"keyword.operators.math.al","match":"\\b(\\-|\\+|\\/|\\*)\\b"},{"name":"keyword.operators.assigment.al","match":"\\s*(\\:=|\\+=|-=|\\/=|\\*=)\\s*"},{"name":"keyword.other.metadata.al","match":"\\b(?i:(ADD|ADDFIRST|ADDLAST|ADDAFTER|ADDBEFORE|ACTION|ACTIONS|AREA|ASSEMBLY|CHARTPART|CUEGROUP|CUSTOMIZES|COLUMN|DATAITEM|DATASET|ELEMENTS|EXTENDS|FIELD|FIELDGROUP|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|MOVEAFTER|MOVEBEFORE|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEFIRST|MOVELAST|MOVEBEFORE|MOVEAFTER|NAMESPACE|PART|RENDERING|REPEATER|USERCONTROL|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLEELEMENT|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USING))\\b"},{"name":"keyword.operators.property.al","match":"\\s*[(\\.\\.)\u0026\\|]\\s*"},{"name":"meta.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|QUERY|REPORT|TABLE|XMLPORT))\\b","captures":{"1":{"name":"entity.name.applicationobject.al"}}},{"name":"meta.function.al","match":"\\b(?i:(trigger|procedure))\\b\\s+(\\w+(\\.\\w+)?)(\\(.*?\\))?;\\s*","captures":{"1":{"name":"entity.name.function.al"}}},{"name":"constant.numeric.al","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.al.two","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.al"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.al.two","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.directive.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.directive.leading.al"}}},{"name":"comment.block.al.one","begin":"/\\*","end":"\\*/\\n?","captures":{"0":{"name":"punctuation.definition.comment.al"}}},{"name":"string.quoted.single.al","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.apostrophe.al","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.al"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.al"}},"applyEndPatternLast":true},{"name":"punctuation.al","match":"[;:,]"},{"begin":"\"","end":"\"","applyEndPatternLast":true}]}
|
|
1
|
+
{"name":"al","scopeName":"source.al","patterns":[{"name":"keyword.control.al","match":"\\b(?i:(ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS))\\b"},{"name":"keyword.operators.al","match":"\\b(?i:(AND|DIV|MOD|NOT|OR|XOR))\\b"},{"name":"keyword.other.property.al","match":"\\b(?i:(AVERAGE|CONST|COUNT|EXIST|FIELD|FILTER|LOOKUP|MAX|MIN|ORDER|SORTING|SUM|TABLEDATA|UPPERLIMIT|WHERE|ASCENDING|DESCENDING))\\b"},{"name":"keyword.other.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\\b"},{"name":"keyword.other.builtintypes.al","match":"\\b(?i:(Action|ActionRef|AnalysisView|AnalysisViews|Array|Automation|BigInteger|BigText|SecretText|Blob|Boolean|Byte|Char|ClientType|Code|Codeunit|CompletionTriggerErrorLevel|ConnectionType|CustomAction|Database|DataClassification|DataScope|DataTransfer|Date|DateFormula|DateTime|Decimal|DefaultLayout|Dialog|Dictionary|DotNet|DotNetAssembly|DotNetTypeDeclaration|Duration|Enum|ErrorInfo|ErrorType|ExecutionContext|ExecutionMode|FieldClass|FieldRef|FieldType|File|FilterPageBuilder|Guid|InStream|Integer|IsolationLevel|Joker|KeyRef|List|Media|MediaSet|ModuleDependencyInfo|ModuleInfo|None|Notification|NotificationScope|ObjectType|Option|OutStream|Page|PageResult|Query|Record|RecordId|RecordRef|Report|ReportFormat|SecurityFilter|SecurityFiltering|SystemAction|Table|TableConnectionType|TableFilter|TestAction|TestField|TestFilterField|TestPage|TestPermissions|TestRequestPage|Text|TextBuilder|TextConst|TextEncoding|Time|TransactionModel|TransactionType|Variant|Verbosity|Version|XmlPort|HttpContent|HttpHeaders|HttpClient|HttpRequestMessage|HttpResponseMessage|JsonToken|JsonValue|JsonArray|JsonObject|View|Views|XmlAttribute|XmlAttributeCollection|XmlComment|XmlCData|XmlDeclaration|XmlDocument|XmlDocumentType|XmlElement|XmlNamespaceManager|XmlNameTable|XmlNode|XmlNodeList|XmlProcessingInstruction|XmlReadOptions|XmlText|XmlWriteOptions|WebServiceActionContext|WebServiceActionResultCode|SessionSettings|PageBackgroundTaskErrorLevel))\\b"},{"name":"keyword.operators.comparison.al","match":"\\b([\u003c\u003e]=|\u003c\u003e|\u003c|\u003e)\\b"},{"name":"keyword.operators.math.al","match":"\\b(\\-|\\+|\\/|\\*)\\b"},{"name":"keyword.operators.assigment.al","match":"\\s*(\\:=|\\+=|-=|\\/=|\\*=)\\s*"},{"name":"keyword.other.metadata.al","match":"\\b(?i:(ADD|ADDFIRST|ADDLAST|ADDAFTER|ADDBEFORE|ACTION|ACTIONS|AREA|ASSEMBLY|CHARTPART|CUEGROUP|CUSTOMIZES|COLUMN|DATAITEM|DATASET|ELEMENTS|EXTENDS|FIELD|FIELDGROUP|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|MOVEAFTER|MOVEBEFORE|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEFIRST|MOVELAST|MOVEBEFORE|MOVEAFTER|NAMESPACE|PART|RENDERING|REPEATER|USERCONTROL|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLEELEMENT|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USING))\\b"},{"name":"keyword.operators.property.al","match":"\\s*[(\\.\\.)\u0026\\|]\\s*"},{"name":"meta.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|QUERY|REPORT|TABLE|XMLPORT))\\b","captures":{"1":{"name":"entity.name.applicationobject.al"}}},{"name":"meta.function.al","match":"\\b(?i:(trigger|procedure))\\b\\s+(\\w+(\\.\\w+)?)(\\(.*?\\))?;\\s*","captures":{"1":{"name":"entity.name.function.al"}}},{"name":"constant.numeric.al","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.al.two","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.al"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.al.two","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.directive.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.directive.leading.al"}}},{"name":"comment.block.al.one","begin":"/\\*","end":"\\*/\\n?","captures":{"0":{"name":"punctuation.definition.comment.al"}}},{"name":"string.quoted.single.al","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.apostrophe.al","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.al"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.al"}},"applyEndPatternLast":true},{"name":"punctuation.al","match":"[;:,]"},{"begin":"\"","end":"\"","applyEndPatternLast":true}]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"Algol 60","scopeName":"source.algol60","patterns":[{"include":"#comments"},{"include":"#operators"},{"include":"#separators"},{"include":"#groups"},{"include":"#keywords"},{"include":"#constants"},{"include":"#numbers"},{"include":"#strings"},{"include":"#identifiers"}],"repository":{"comments":{"patterns":[{"contentName":"comment.block.algol60","begin":"\\bcomment\\b","end":"(?=;)","beginCaptures":{"0":{"name":"keyword.control.algol60"}}}]},"constants":{"patterns":[{"name":"constant.language.false.algol60","match":"\\bfalse\\b"},{"name":"constant.language.true.algol60","match":"\\btrue\\b"},{"name":"storage.type.bool.algol60","match":"\\bBoolean\\b"},{"name":"storage.type.int.algol60","match":"\\binteger\\b"},{"name":"storage.type.re.algol60","match":"\\breal\\b"},{"name":"storage.type.str.algol60","match":"\\bstring\\b"},{"name":"storage.type.lbl.algol60","match":"\\blabel\\b"},{"name":"variable.language.function.algol60","match":"\\b(abs|arctan|cos|entier|epsilon|exp|fault|iabs|inchar|ininteger|inreal|length|ln|maxint|maxreal|minreal|outchar|outinteger|outreal|outstring|outterminator|sign|sin|sqrt|stop)\\b"}]},"groups":{"patterns":[{"name":"meta.brace.round.algol60","match":"\\(|\\)"},{"name":"meta.brace.square.algol60","match":"\\[|\\]"}]},"identifiers":{"patterns":[{"name":"variable.other.identifier.algol60","match":"\\b[A-Za-z][0-9A-Za-z]*\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.algol60","match":"\\b(array|begin|do|else|end|for|go|goto|if|own|procedure|step|switch|then|to|until|value|while)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.decimal.algol60","match":"\\b(\\+|−|-)?([0-9]+(\\.[0-9]+)?((⏨|e)(\\+|−|-)?[0-9]+)?|\\.[0-9]+((⏨|e)(\\+|−|-)?[0-9]+)?|⏨(\\+|−|-)?[0-9]+)\\b"}]},"operators":{"patterns":[{"name":"keyword.operator.relational.algol60","match":"=|≠|\u003c\u003e|\u003c|≥|\u003e=|\u003e|≤|\u003c="},{"name":"keyword.operator.logical.algol60","match":"≡|\u003c=\u003e|⊃|=\u003e|∨|\\\\/|∧|/\\\\|¬|~"},{"name":"keyword.operator.assignment.algol60","match":"≔|:="},{"name":"keyword.operator.arithmetic.algol60","match":"\\+|−|-|×|\\*|/|÷|//|↑|\\*\\*"}]},"separators":{"patterns":[{"name":"punctuation.separator.semicolon.algol60","match":";"},{"name":"punctuation.separator.comma.algol60","match":","},{"name":"punctuation.separator.colon.algol60","match":":"}]},"strings":{"patterns":[{"name":"string.quoted.compound.algol60","begin":"⸢|`","end":"⸣|'","patterns":[{"include":"#strings"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.algol60"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.algol60"}}}]}}}
|
data/grammars/source.apex.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Apex","scopeName":"source.apex","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"annotation-declaration":{"begin":"([@][_[:alpha:]]+)\\b","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"storage.type.annotation.apex"}}},"argument-list":{"begin":"\\(","end":"\\)","patterns":[{"include":"#named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},"array-creation-expression":{"begin":"(?x)\n\\b(new)\\b\\s*\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)?\\s*\n(?=\\[)","end":"(?\u003c=\\])","patterns":[{"include":"#bracketed-argument-list"}],"beginCaptures":{"1":{"name":"keyword.control.new.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}}},"block":{"begin":"\\{","end":"\\}","patterns":[{"include":"#statement"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.true.apex","match":"(?\u003c!\\.)\\btrue\\b"},{"name":"constant.language.boolean.false.apex","match":"(?\u003c!\\.)\\bfalse\\b"}]},"bracketed-argument-list":{"begin":"\\[","end":"\\]","patterns":[{"include":"#soql-query-expression"},{"include":"#named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.squarebracket.open.apex"}},"endCaptures":{"0":{"name":"punctuation.squarebracket.close.apex"}}},"break-or-continue-statement":{"match":"(?\u003c!\\.)\\b(?:(break)|(continue))\\b","captures":{"1":{"name":"keyword.control.flow.break.apex"},"2":{"name":"keyword.control.flow.continue.apex"}}},"cast-expression":{"match":"(?x)\n(\\()\\s*\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(\\))(?=\\s*@?[_[:alnum:]\\(])","captures":{"1":{"name":"punctuation.parenthesis.open.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"6":{"name":"punctuation.parenthesis.close.apex"}}},"catch-clause":{"begin":"(?\u003c!\\.)\\b(catch)\\b","end":"(?\u003c=\\})","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"match":"(?x)\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?:(\\g\u003cidentifier\u003e)\\b)?","captures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"5":{"name":"entity.name.variable.local.apex"}}}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#comment"},{"include":"#block"}],"beginCaptures":{"1":{"name":"keyword.control.try.catch.apex"}}},"class-declaration":{"begin":"(?=\\bclass\\b)","end":"(?\u003c=\\})","patterns":[{"begin":"(?x)\n\\b(class)\\b\\s+\n(@?[_[:alpha:]][_[:alnum:]]*)\\s*","end":"(?=\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#extends-class"},{"include":"#implements-class"}],"beginCaptures":{"1":{"name":"keyword.other.class.apex"},"2":{"name":"entity.name.type.class.apex"}}},{"begin":"\\{","end":"\\}","patterns":[{"include":"#class-or-trigger-members"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},{"include":"#javadoc-comment"},{"include":"#comment"}]},"class-or-trigger-members":{"patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#sharing-modifier"},{"include":"#type-declarations"},{"include":"#field-declaration"},{"include":"#property-declaration"},{"include":"#indexer-declaration"},{"include":"#variable-initializer"},{"include":"#constructor-declaration"},{"include":"#method-declaration"},{"include":"#punctuation-semicolon"}]},"colon-expression":{"name":"keyword.operator.conditional.colon.apex","match":":"},"comment":{"patterns":[{"name":"comment.block.apex","begin":"/\\*(\\*)?","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}},{"begin":"(^\\s+)?(?=//)","end":"(?=$)","patterns":[{"name":"comment.block.documentation.apex","begin":"(?\u003c!/)///(?!/)","end":"(?=$)","patterns":[{"include":"#xml-doc-comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}},{"name":"comment.line.double-slash.apex","begin":"(?\u003c!/)//(?:(?!/)|(?=//))","end":"(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.apex"}}}]},"conditional-operator":{"begin":"(?\u003c!\\?)\\?(?!\\?|\\.|\\[)","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.conditional.question-mark.apex"}},"endCaptures":{"0":{"name":"keyword.operator.conditional.colon.apex"}}},"constructor-declaration":{"begin":"(?=@?[_[:alpha:]][_[:alnum:]]*\\s*\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\b","captures":{"1":{"name":"entity.name.function.apex"}}},{"begin":"(:)","end":"(?=\\{|=\u003e)","patterns":[{"include":"#constructor-initializer"}],"beginCaptures":{"1":{"name":"punctuation.separator.colon.apex"}}},{"include":"#parenthesized-parameter-list"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"}]},"constructor-initializer":{"begin":"\\b(?:(this))\\b\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#argument-list"}],"beginCaptures":{"1":{"name":"keyword.other.this.apex"}}},"date-literal-with-params":{"match":"\\b((LAST_N_DAYS|NEXT_N_DAYS|NEXT_N_WEEKS|LAST_N_WEEKS|NEXT_N_MONTHS|LAST_N_MONTHS|NEXT_N_QUARTERS|LAST_N_QUARTERS|NEXT_N_YEARS|LAST_N_YEARS|NEXT_N_FISCAL_QUARTERS|LAST_N_FISCAL_QUARTERS|NEXT_N_FISCAL_YEARS|LAST_N_FISCAL_YEARS)\\s*\\:\\d+)\\b","captures":{"1":{"name":"keyword.operator.query.date.apex"}}},"date-literals":{"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\\s*","captures":{"1":{"name":"keyword.operator.query.date.apex"}}},"declarations":{"patterns":[{"include":"#type-declarations"},{"include":"#punctuation-semicolon"}]},"directives":{"patterns":[{"include":"#punctuation-semicolon"}]},"do-statement":{"begin":"(?\u003c!\\.)\\b(do)\\b","end":"(?=;|})","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.loop.do.apex"}}},"element-access-expression":{"begin":"(?x)\n(?:(\\??\\.)\\s*)? # safe navigator or accessor\n(?:(@?[_[:alpha:]][_[:alnum:]]*)\\s*)? # property name\n(?:(\\?)\\s*)? # null-conditional operator?\n(?=\\[) # open bracket of argument list","end":"(?\u003c=\\])(?!\\s*\\[)","patterns":[{"include":"#bracketed-argument-list"}],"beginCaptures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.property.apex"},"3":{"name":"keyword.operator.null-conditional.apex"}}},"else-part":{"begin":"(?\u003c!\\.)\\b(else)\\b","end":"(?\u003c=\\})|(?=;)","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.else.apex"}}},"enum-declaration":{"begin":"(?=\\benum\\b)","end":"(?\u003c=\\})","patterns":[{"begin":"(?=enum)","end":"(?=\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"match":"(enum)\\s+(@?[_[:alpha:]][_[:alnum:]]*)","captures":{"1":{"name":"keyword.other.enum.apex"},"2":{"name":"entity.name.type.enum.apex"}}}]},{"begin":"\\{","end":"\\}","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#punctuation-comma"},{"begin":"@?[_[:alpha:]][_[:alnum:]]*","end":"(?=(,|\\}))","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"entity.name.variable.enum-member.apex"}}}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},{"include":"#javadoc-comment"},{"include":"#comment"}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#merge-expression"},{"include":"#support-expression"},{"include":"#throw-expression"},{"include":"#this-expression"},{"include":"#trigger-context-declaration"},{"include":"#conditional-operator"},{"include":"#expression-operators"},{"include":"#soql-query-expression"},{"include":"#object-creation-expression"},{"include":"#array-creation-expression"},{"include":"#invocation-expression"},{"include":"#member-access-expression"},{"include":"#element-access-expression"},{"include":"#cast-expression"},{"include":"#literal"},{"include":"#parenthesized-expression"},{"include":"#initializer-expression"},{"include":"#identifier"}]},"expression-body":{"begin":"=\u003e","end":"(?=[,\\);}])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.arrow.apex"}}},"expression-operators":{"patterns":[{"name":"keyword.operator.assignment.compound.apex","match":"\\*=|/=|%=|\\+=|-="},{"name":"keyword.operator.assignment.compound.bitwise.apex","match":"\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.apex","match":"\u003c\u003c|\u003e\u003e"},{"name":"keyword.operator.comparison.apex","match":"==|!="},{"name":"keyword.operator.relational.apex","match":"\u003c=|\u003e=|\u003c|\u003e"},{"name":"keyword.operator.logical.apex","match":"\\!|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.bitwise.apex","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.apex","match":"\\="},{"name":"keyword.operator.decrement.apex","match":"--"},{"name":"keyword.operator.increment.apex","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.apex","match":"%|\\*|/|-|\\+"}]},"extends-class":{"begin":"(extends)\\b\\s+([_[:alpha:]][_[:alnum:]]*)","end":"(?={|implements)","beginCaptures":{"1":{"name":"keyword.other.extends.apex"},"2":{"name":"entity.name.type.extends.apex"}}},"field-declaration":{"begin":"(?x)\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g\u003cidentifier\u003e)\\s* # first field name\n(?!=\u003e|==)(?=,|;|=|$)","end":"(?=;)","patterns":[{"name":"entity.name.variable.field.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"},{"include":"#class-or-trigger-members"}],"beginCaptures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"5":{"name":"entity.name.variable.field.apex"}}},"finally-clause":{"begin":"(?\u003c!\\.)\\b(finally)\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#block"}],"beginCaptures":{"1":{"name":"keyword.control.try.finally.apex"}}},"for-apex-syntax":{"match":"([_.[:alpha:]][_.[:alnum:]]+)\\s+([_.[:alpha:]][_.[:alnum:]]*)\\s*(\\:)","captures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"2":{"name":"entity.name.variable.local.apex"},"3":{"name":"keyword.operator.iterator.colon.apex"}}},"for-statement":{"begin":"(?\u003c!\\.)\\b(for)\\b\\s*(?=\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#for-apex-syntax"},{"include":"#local-variable-declaration"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#colon-expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.loop.for.apex"}}},"from-clause":{"match":"(FROM)\\b\\s*([_\\.[:alnum:]]+\\b)?","captures":{"1":{"name":"keyword.operator.query.from.apex"},"2":{"name":"storage.type.apex"}}},"goto-statement":{"begin":"(?\u003c!\\.)\\b(goto)\\b","end":"(?=;)","patterns":[{"begin":"\\b(case)\\b","end":"(?=;)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.apex"}}},{"match":"\\b(default)\\b","captures":{"1":{"name":"keyword.control.default.apex"}}},{"name":"entity.name.label.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"}],"beginCaptures":{"1":{"name":"keyword.control.goto.apex"}}},"identifier":{"name":"variable.other.readwrite.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},"if-statement":{"begin":"(?\u003c!\\.)\\b(if)\\b\\s*(?=\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.if.apex"}}},"implements-class":{"begin":"(implements)\\b\\s+([_[:alpha:]][_[:alnum:]]*)","end":"(?={|extends)","beginCaptures":{"1":{"name":"keyword.other.implements.apex"},"2":{"name":"entity.name.type.implements.apex"}}},"indexer-declaration":{"begin":"(?x)\n(?\u003creturn_type\u003e\n (?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?\u003cinterface_name\u003e\\g\u003ctype_name\u003e\\s*\\.\\s*)?\n(?\u003cindexer_name\u003ethis)\\s*\n(?=\\[)","end":"(?\u003c=\\})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#expression-body"},{"include":"#variable-initializer"}],"beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"7":{"name":"keyword.other.this.apex"}}},"initializer-expression":{"begin":"\\{","end":"\\}","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"interface-declaration":{"begin":"(?=\\binterface\\b)","end":"(?\u003c=\\})","patterns":[{"begin":"(?x)\n(interface)\\b\\s+\n(@?[_[:alpha:]][_[:alnum:]]*)","end":"(?=\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#extends-class"}],"beginCaptures":{"1":{"name":"keyword.other.interface.apex"},"2":{"name":"entity.name.type.interface.apex"}}},{"begin":"\\{","end":"\\}","patterns":[{"include":"#interface-members"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},{"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":"(?x)\n(?:(\\??\\.)\\s*)? # safe navigator or accessor\n(@?[_[:alpha:]][_[:alnum:]]*)\\s* # method name\n(?\u003ctype_args\u003e\\s*\u003c([^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\\s* # type arguments\n(?=\\() # open paren of argument list","end":"(?\u003c=\\))","patterns":[{"include":"#argument-list"}],"beginCaptures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"entity.name.function.apex"},"3":{"patterns":[{"include":"#type-arguments"}]}}},"javadoc-comment":{"patterns":[{"name":"comment.block.javadoc.apex","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"name":"keyword.other.documentation.javadoc.apex","match":"@(deprecated|author|return|see|serial|since|version|usage|name|link)\\b"},{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.javadoc.apex"},"2":{"name":"entity.name.variable.parameter.apex"}}},{"match":"(@(?:exception|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.javadoc.apex"},"2":{"name":"entity.name.type.class.apex"}}},{"match":"(`([^`]+?)`)","captures":{"1":{"name":"string.quoted.single.apex"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}}]},"literal":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#string-literal"}]},"local-constant-declaration":{"begin":"(?x)\n(?\u003cconst_keyword\u003e\\b(?:const)\\b)\\s*\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g\u003cidentifier\u003e)\\s*\n(?=,|;|=)","end":"(?=;)","patterns":[{"name":"entity.name.variable.local.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"1":{"name":"storage.modifier.apex"},"2":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.local.apex"}}},"local-declaration":{"patterns":[{"include":"#local-constant-declaration"},{"include":"#local-variable-declaration"}]},"local-variable-declaration":{"begin":"(?x)\n(?:\n (?:(\\bref)\\s+)?(\\bvar\\b)| # ref local\n (?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref local\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\n)\\s+\n(\\g\u003cidentifier\u003e)\\s*\n(?=,|;|=|\\))","end":"(?=;|\\))","patterns":[{"name":"entity.name.variable.local.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}],"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"}}},"member-access-expression":{"patterns":[{"match":"(?x)\n(\\??\\.)\\s* # safe navigator or accessor\n(@?[_[:alpha:]][_[:alnum:]]*)\\s* # property name\n(?![_[:alnum:]]|\\(|(\\?)?\\[|\u003c) # next character is not alpha-numeric, nor a (, [, or \u003c. Also, test for ?[","captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.property.apex"}}},{"match":"(?x)\n(\\??\\.)?\\s*\n(@?[_[:alpha:]][_[:alnum:]]*)\n(?\u003ctype_params\u003e\\s*\u003c([^\u003c\u003e]|\\g\u003ctype_params\u003e)+\u003e\\s*)\n(?=\n (\\s*\\?)?\n \\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*\n)","captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.apex"},"3":{"patterns":[{"include":"#type-arguments"}]}}},{"match":"(?x)\n(@?[_[:alpha:]][_[:alnum:]]*)\n(?=\n (\\s*\\?)?\n \\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*\n)","captures":{"1":{"name":"variable.other.object.apex"}}}]},"merge-expression":{"begin":"(merge)\\b\\s+","end":"(?\u003c=\\;)","patterns":[{"include":"#object-creation-expression"},{"include":"#merge-type-statement"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"1":{"name":"support.function.apex"}}},"merge-type-statement":{"match":"([_[:alpha:]]*)\\b\\s+([_[:alpha:]]*)\\b\\s*(\\;)","captures":{"1":{"name":"variable.other.readwrite.apex"},"2":{"name":"variable.other.readwrite.apex"},"3":{"name":"punctuation.terminator.statement.apex"}}},"method-declaration":{"begin":"(?x)\n(?\u003creturn_type\u003e\n (?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?\u003cinterface_name\u003e\\g\u003ctype_name\u003e\\s*\\.\\s*)?\n(\\g\u003cidentifier\u003e)\\s*\n(\u003c([^\u003c\u003e]+)\u003e)?\\s*\n(?=\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}],"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"}]}}},"method-name-custom":{"name":"entity.name.function.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},"named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)","end":"(?=(,|\\)|\\]))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"entity.name.variable.parameter.apex"},"2":{"name":"punctuation.separator.colon.apex"}}},"null-literal":{"name":"constant.language.null.apex","match":"(?\u003c!\\.)\\bnull\\b"},"numeric-literal":{"patterns":[{"name":"constant.numeric.datetime.apex","match":"\\b(\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}\\:\\d{2}\\:\\d{2}(\\.\\d{1,3})?(\\-|\\+)\\d{2}\\:\\d{2})\\b"},{"name":"constant.numeric.datetime.apex","match":"\\b(\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}\\:\\d{2}\\:\\d{2}(\\.\\d{1,3})?(Z)?)\\b"},{"name":"constant.numeric.date.apex","match":"\\b(\\d{4}\\-\\d{2}\\-\\d{2})\\b"},{"name":"constant.numeric.hex.apex","match":"\\b0(x|X)[0-9a-fA-F_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"},{"name":"constant.numeric.binary.apex","match":"\\b0(b|B)[01_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"},{"name":"constant.numeric.decimal.apex","match":"\\b([0-9_]+)?\\.[0-9_]+((e|E)[0-9]+)?(F|f|D|d|M|m)?\\b"},{"name":"constant.numeric.decimal.apex","match":"\\b[0-9_]+(e|E)[0-9_]+(F|f|D|d|M|m)?\\b"},{"name":"constant.numeric.decimal.apex","match":"\\b[0-9_]+(F|f|D|d|M|m)\\b"},{"name":"constant.numeric.decimal.apex","match":"\\b[0-9_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"}]},"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":{"match":"(?x)\n(delete|insert|undelete|update|upsert)?\n\\s*(new)\\s+\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?=\\{|$)","captures":{"1":{"name":"support.function.apex"},"2":{"name":"keyword.control.new.apex"},"3":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}}},"object-creation-expression-with-parameters":{"begin":"(?x)\n(delete|insert|undelete|update|upsert)?\n\\s*(new)\\s+\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#argument-list"}],"beginCaptures":{"1":{"name":"support.function.apex"},"2":{"name":"keyword.control.new.apex"},"3":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}}},"operator-assignment":{"name":"keyword.operator.assignment.apex","match":"(?\u003c!=|!)(=)(?!=)"},"operator-safe-navigation":{"name":"keyword.operator.safe-navigation.apex","match":"\\?\\."},"orderby-clause":{"match":"\\b(ORDER BY)\\b\\s*","patterns":[{"include":"#ordering-direction"},{"include":"#ordering-nulls"}],"captures":{"1":{"name":"keyword.operator.query.orderby.apex"}}},"ordering-direction":{"match":"\\b(?:(ASC)|(DESC))\\b","captures":{"1":{"name":"keyword.operator.query.ascending.apex"},"2":{"name":"keyword.operator.query.descending.apex"}}},"ordering-nulls":{"match":"\\b(?:(NULLS FIRST)|(NULLS LAST))\\b","captures":{"1":{"name":"keyword.operator.query.nullsfirst.apex"},"2":{"name":"keyword.operator.query.nullslast.apex"}}},"parameter":{"match":"(?x)\n(?:(?:\\b(this)\\b)\\s+)?\n(?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g\u003cidentifier\u003e)","captures":{"1":{"name":"storage.modifier.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"6":{"name":"entity.name.variable.parameter.apex"}}},"parenthesized-expression":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},"parenthesized-parameter-list":{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},"property-accessors":{"begin":"\\{","end":"\\}","patterns":[{"name":"storage.modifier.apex","match":"\\b(private|protected)\\b"},{"name":"keyword.other.get.apex","match":"\\b(get)\\b"},{"name":"keyword.other.set.apex","match":"\\b(set)\\b"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"property-declaration":{"begin":"(?x)\n(?!.*\\b(?:class|interface|enum)\\b)\\s*\n(?\u003creturn_type\u003e\n (?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?\u003cinterface_name\u003e\\g\u003ctype_name\u003e\\s*\\.\\s*)?\n(?\u003cproperty_name\u003e\\g\u003cidentifier\u003e)\\s*\n(?=\\{|=\u003e|$)","end":"(?\u003c=\\})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#expression-body"},{"include":"#variable-initializer"},{"include":"#class-or-trigger-members"}],"beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"7":{"name":"entity.name.variable.property.apex"}}},"punctuation-accessor":{"name":"punctuation.accessor.apex","match":"\\."},"punctuation-comma":{"name":"punctuation.separator.comma.apex","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.apex","match":";"},"query-operators":{"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\\s*","captures":{"1":{"name":"keyword.operator.query.apex"}}},"return-statement":{"begin":"(?\u003c!\\.)\\b(return)\\b","end":"(?=;)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.flow.return.apex"}}},"script-top-level":{"patterns":[{"include":"#method-declaration"},{"include":"#statement"},{"include":"#punctuation-semicolon"}]},"sharing-modifier":{"name":"sharing.modifier.apex","match":"(?\u003c!\\.)\\b(with sharing|without sharing|inherited sharing)\\b"},"soql-colon-method-statement":{"begin":"(:?\\.)?([_[:alpha:]][_[:alnum:]]*)(?=\\()","end":"(?\u003c=\\))","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"entity.name.function.apex"}}},"soql-colon-vars":{"begin":"(\\:)\\s*","end":"(?![_[:alnum:]]|\\(|(\\?)?\\[|\u003c)","patterns":[{"include":"#trigger-context-declaration"},{"match":"([_[:alpha:]][_[:alnum:]]*)(\\??\\.)","captures":{"1":{"name":"variable.other.object.apex"},"2":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]}}},{"include":"#soql-colon-method-statement"},{"name":"entity.name.variable.local.apex","match":"[_[:alpha:]][_[:alnum:]]*"}],"beginCaptures":{"0":{"name":"keyword.operator.conditional.colon.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)\\s*(\\()","end":"\\)","patterns":[{"include":"#literal"},{"include":"#punctuation-comma"},{"include":"#soql-functions"},{"name":"keyword.query.field.apex","match":"[_.[:alpha:]][_.[:alnum:]]*"}],"beginCaptures":{"1":{"name":"support.function.query.apex"},"2":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},"soql-group-clauses":{"begin":"\\(","end":"\\)","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"},{"name":"keyword.query.field.apex","match":"[_.[:alpha:]][_.[:alnum:]]*"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.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\\s*","end":"(?=;)|(?=\\])|(?=\\))","patterns":[{"include":"#soql-query-body"},{"include":"#comment"},{"include":"#punctuation-comma"},{"include":"#operator-assignment"},{"include":"#parenthesized-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"match":"([_.[:alpha:]][_.[:alnum:]]*)\\s*(\\,)?","captures":{"1":{"name":"keyword.query.field.apex"},"2":{"name":"punctuation.separator.comma.apex"}}}],"beginCaptures":{"1":{"name":"keyword.operator.query.select.apex"}}},"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":{"name":"storage.modifier.apex","match":"(?\u003c!\\.)\\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\\b"},"string-character-escape":{"name":"constant.character.escape.apex","match":"\\\\."},"string-literal":{"name":"string.quoted.single.apex","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.apex"},"2":{"name":"invalid.illegal.newline.apex"}}},"support-arguments":{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#comment"},{"include":"#support-type"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}}},"support-class":{"match":"\\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\\b","captures":{"1":{"name":"support.class.apex"}}},"support-expression":{"begin":"(?x)\n(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=\\.|\\s) # supported apex namespaces","end":"(?\u003c=\\)|$)|(?=\\})|(?=;)|(?=\\)|(?=\\]))|(?=\\,)","patterns":[{"include":"#support-type"},{"match":"(?:(\\.))([[:alpha:]]*)(?=\\()","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.function.apex"}}},{"match":"(?:(\\.))([[:alpha:]]+)","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.type.apex"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#comment"},{"include":"#statement"}],"beginCaptures":{"1":{"name":"support.class.apex"}}},"support-functions":{"match":"\\b(delete|execute|finish|insert|start|undelete|update|upsert)\\b","captures":{"1":{"name":"support.function.apex"}}},"support-name":{"patterns":[{"match":"(\\.)\\s*([[:alpha:]]*)(?=\\()","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.function.apex"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"match":"(\\.)\\s*([_[:alpha:]]*)","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.type.apex"}}}]},"support-type":{"name":"support.apex","patterns":[{"include":"#comment"},{"include":"#support-class"},{"include":"#support-functions"},{"include":"#support-name"}]},"switch-statement":{"begin":"(?x)\n(switch)\\b\\s+\n(on)\\b\\s+\n(?:([_.?\\'\\(\\)[:alnum:]]+)\\s*)?\n(\\{)","end":"(\\})","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"}],"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"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"this-expression":{"match":"\\b(?:(this))\\b","captures":{"1":{"name":"keyword.other.this.apex"}}},"throw-expression":{"match":"(?\u003c!\\.)\\b(throw)\\b","captures":{"1":{"name":"keyword.control.flow.throw.apex"}}},"throw-statement":{"begin":"(?\u003c!\\.)\\b(throw)\\b","end":"(?=;)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.flow.throw.apex"}}},"trigger-context-declaration":{"begin":"\\b(?:(Trigger))\\b(\\.)\\b","end":"(?=\\})|(?=;)|(?=\\)|(?=\\]))","patterns":[{"name":"support.type.trigger.apex","match":"\\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\\b"},{"match":"(?:(\\??\\.))([[:alpha:]]+)(?=\\()","captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"support.function.trigger.apex"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#trigger-type-statement"},{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"support.class.trigger.apex"},"2":{"name":"punctuation.accessor.apex"}}},"trigger-declaration":{"begin":"(?=\\btrigger\\b)","end":"(?\u003c=\\})","patterns":[{"begin":"(?x)\n\\b(trigger)\\b\\s+\n(@?[_[:alpha:]][_[:alnum:]]*)\\s*\n\\b(on)\\b\\s+\n([_[:alpha:]][_[:alnum:]]*)\\s*","end":"(?=\\{)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#trigger-type-statement"},{"include":"#trigger-operator-statement"},{"include":"#punctuation-comma"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"}],"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"}}},{"begin":"\\{","end":"\\}","patterns":[{"include":"#statement"},{"include":"#class-or-trigger-members"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},{"include":"#javadoc-comment"},{"include":"#comment"}]},"trigger-operator-statement":{"name":"keyword.operator.trigger.apex","match":"\\b(insert|update|delete|merge|upsert|undelete)\\b"},"trigger-type-statement":{"match":"\\b(?:(before)|(after))\\b","captures":{"1":{"name":"keyword.control.trigger.before.apex"},"2":{"name":"keyword.control.trigger.after.apex"}}},"try-block":{"begin":"(?\u003c!\\.)\\b(try)\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#block"}],"beginCaptures":{"1":{"name":"keyword.control.try.apex"}}},"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":"\u003c","end":"\u003e","patterns":[{"include":"#comment"},{"include":"#support-type"},{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}}},"type-array-suffix":{"begin":"\\[","end":"\\]","patterns":[{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.squarebracket.open.apex"}},"endCaptures":{"0":{"name":"punctuation.squarebracket.close.apex"}}},"type-builtin":{"match":"\\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|ID|Integer|Long|Object|String|Time|void)\\b","captures":{"1":{"name":"keyword.type.apex"}}},"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":[{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)","captures":{"1":{"name":"storage.type.apex"},"2":{"name":"punctuation.accessor.apex"}}},{"match":"(\\.)\\s*(@?[_[:alpha:]][_[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"storage.type.apex"}}},{"name":"storage.type.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"}]},"type-nullable-suffix":{"match":"\\?","captures":{"0":{"name":"punctuation.separator.question-mark.apex"}}},"type-parameter-list":{"begin":"\\\u003c","end":"\\\u003e","patterns":[{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\b","captures":{"1":{"name":"entity.name.type.type-parameter.apex"}}},{"include":"#comment"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}}},"using-scope":{"match":"((USING SCOPE)\\b\\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\\b\\s*","captures":{"1":{"name":"keyword.operator.query.using.apex"}}},"variable-initializer":{"begin":"(?\u003c!=|!)(=)(?!=|\u003e)","end":"(?=[,\\)\\];}])","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.apex"}}},"when-else-statement":{"begin":"(when)\\b\\s+(else)\\b\\s*","end":"(?\u003c=\\})","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"name":"keyword.control.switch.else.apex"}}},"when-multiple-statement":{"begin":"(when)\\b\\s*","end":"(?\u003c=\\})","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"}}},"when-sobject-statement":{"begin":"(when)\\b\\s+([_[:alnum:]]+)\\s+([_[:alnum:]]+)\\s*","end":"(?\u003c=\\})","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"name":"storage.type.apex"},"3":{"name":"entity.name.variable.local.apex"}}},"when-statement":{"begin":"(when)\\b\\s+([\\'_\\-[:alnum:]]+)\\s*","end":"(?\u003c=\\})","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"patterns":[{"include":"#expression"}]}}},"when-string":{"begin":"(when)(\\b\\s*)((\\')[_.\\,\\'\\s*[:alnum:]]+)","end":"(?\u003c=\\})","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"name":"punctuation.whitespace.apex"},"3":{"patterns":[{"include":"#when-string-statement"},{"include":"#punctuation-comma"}]}}},"when-string-statement":{"patterns":[{"name":"string.quoted.single.apex","begin":"\\'","end":"\\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}}}]},"where-clause":{"match":"\\b(WHERE)\\b\\s*","captures":{"1":{"name":"keyword.operator.query.where.apex"}}},"while-statement":{"begin":"(?\u003c!\\.)\\b(while)\\b\\s*(?=\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.loop.while.apex"}}},"xml-attribute":{"patterns":[{"match":"(?x)\n(?:^|\\s+)\n(\n (?:\n ([-_[:alnum:]]+)\n (:)\n )?\n ([-_[:alnum:]]+)\n)\n(=)","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"}}},{"include":"#xml-string"}]},"xml-cdata":{"name":"string.unquoted.cdata.apex","begin":"\u003c!\\[CDATA\\[","end":"\\]\\]\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}}},"xml-character-entity":{"patterns":[{"name":"constant.character.entity.apex","match":"(?x)\n(\u0026)\n(\n (?:[[:alpha:]:_][[:alnum:]:_.-]*)|\n (?:\\#[[:digit:]]+)|\n (?:\\#x[[:xdigit:]]+)\n)\n(;)","captures":{"1":{"name":"punctuation.definition.constant.apex"},"3":{"name":"punctuation.definition.constant.apex"}}},{"name":"invalid.illegal.bad-ampersand.apex","match":"\u0026"}]},"xml-comment":{"name":"comment.block.apex","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"name":"string.quoted.single.apex","begin":"\\'","end":"\\'","patterns":[{"include":"#xml-character-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}}},{"name":"string.quoted.double.apex","begin":"\\\"","end":"\\\"","patterns":[{"include":"#xml-character-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.stringdoublequote.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.stringdoublequote.end.apex"}}}]},"xml-tag":{"name":"meta.tag.apex","begin":"(?x)\n(\u003c/?)\n(\n (?:\n ([-_[:alnum:]]+)\n (:)\n )?\n ([-_[:alnum:]]+)\n)","end":"(/?\u003e)","patterns":[{"include":"#xml-attribute"}],"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"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.apex"}}}}}
|
|
1
|
+
{"name":"Apex","scopeName":"source.apex","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"annotation-declaration":{"begin":"([@][_[:alpha:]]+)\\b","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"storage.type.annotation.apex"}}},"argument-list":{"begin":"\\(","end":"\\)","patterns":[{"include":"#named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},"array-creation-expression":{"begin":"(?x)\n\\b(new)\\b\\s*\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)?\\s*\n(?=\\[)","end":"(?\u003c=\\])","patterns":[{"include":"#bracketed-argument-list"}],"beginCaptures":{"1":{"name":"keyword.control.new.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}}},"block":{"begin":"\\{","end":"\\}","patterns":[{"include":"#statement"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.true.apex","match":"(?\u003c!\\.)\\btrue\\b"},{"name":"constant.language.boolean.false.apex","match":"(?\u003c!\\.)\\bfalse\\b"}]},"bracketed-argument-list":{"begin":"\\[","end":"\\]","patterns":[{"include":"#soql-query-expression"},{"include":"#named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.squarebracket.open.apex"}},"endCaptures":{"0":{"name":"punctuation.squarebracket.close.apex"}}},"break-or-continue-statement":{"match":"(?\u003c!\\.)\\b(?:(break)|(continue))\\b","captures":{"1":{"name":"keyword.control.flow.break.apex"},"2":{"name":"keyword.control.flow.continue.apex"}}},"cast-expression":{"match":"(?x)\n(\\()\\s*\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(\\))(?=\\s*@?[_[:alnum:]\\(])","captures":{"1":{"name":"punctuation.parenthesis.open.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"6":{"name":"punctuation.parenthesis.close.apex"}}},"catch-clause":{"begin":"(?\u003c!\\.)\\b(catch)\\b","end":"(?\u003c=\\})","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"match":"(?x)\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?:(\\g\u003cidentifier\u003e)\\b)?","captures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"5":{"name":"entity.name.variable.local.apex"}}}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#comment"},{"include":"#block"}],"beginCaptures":{"1":{"name":"keyword.control.try.catch.apex"}}},"class-declaration":{"begin":"(?=\\bclass\\b)","end":"(?\u003c=\\})","patterns":[{"begin":"(?x)\n\\b(class)\\b\\s+\n(@?[_[:alpha:]][_[:alnum:]]*)\\s*","end":"(?=\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#extends-class"},{"include":"#implements-class"}],"beginCaptures":{"1":{"name":"keyword.other.class.apex"},"2":{"name":"entity.name.type.class.apex"}}},{"begin":"\\{","end":"\\}","patterns":[{"include":"#class-or-trigger-members"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},{"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":{"name":"keyword.operator.conditional.colon.apex","match":":"},"comment":{"patterns":[{"name":"comment.block.apex","begin":"/\\*(\\*)?","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}},{"begin":"(^\\s+)?(?=//)","end":"(?=$)","patterns":[{"name":"comment.block.documentation.apex","begin":"(?\u003c!/)///(?!/)","end":"(?=$)","patterns":[{"include":"#xml-doc-comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}},{"name":"comment.line.double-slash.apex","begin":"(?\u003c!/)//(?:(?!/)|(?=//))","end":"(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.apex"}}}]},"conditional-operator":{"begin":"(?\u003c!\\?)\\?(?!\\?|\\.(?!\\d)|\\[)","end":":","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.conditional.question-mark.apex"}},"endCaptures":{"0":{"name":"keyword.operator.conditional.colon.apex"}}},"constructor-declaration":{"begin":"(?=@?[_[:alpha:]][_[:alnum:]]*\\s*\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\b","captures":{"1":{"name":"entity.name.function.apex"}}},{"begin":"(:)","end":"(?=\\{|=\u003e)","patterns":[{"include":"#constructor-initializer"}],"beginCaptures":{"1":{"name":"punctuation.separator.colon.apex"}}},{"include":"#parenthesized-parameter-list"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"}]},"constructor-initializer":{"begin":"\\b(?:(this))\\b\\s*(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#argument-list"}],"beginCaptures":{"1":{"name":"keyword.other.this.apex"}}},"date-literal-with-params":{"match":"\\b((LAST_N_DAYS|NEXT_N_DAYS|NEXT_N_WEEKS|LAST_N_WEEKS|NEXT_N_MONTHS|LAST_N_MONTHS|NEXT_N_QUARTERS|LAST_N_QUARTERS|NEXT_N_YEARS|LAST_N_YEARS|NEXT_N_FISCAL_QUARTERS|LAST_N_FISCAL_QUARTERS|NEXT_N_FISCAL_YEARS|LAST_N_FISCAL_YEARS)\\s*\\:\\d+)\\b","captures":{"1":{"name":"keyword.operator.query.date.apex"}}},"date-literals":{"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\\s*","captures":{"1":{"name":"keyword.operator.query.date.apex"}}},"declarations":{"patterns":[{"include":"#type-declarations"},{"include":"#punctuation-semicolon"}]},"directives":{"patterns":[{"include":"#punctuation-semicolon"}]},"dml-expression":{"begin":"\\b(delete|insert|undelete|update|upsert)\\b\\s+(?!new\\b)","end":"(?\u003c=\\;)","patterns":[{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"1":{"name":"support.function.apex"}}},"do-statement":{"begin":"(?\u003c!\\.)\\b(do)\\b","end":"(?=;|})","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.loop.do.apex"}}},"element-access-expression":{"begin":"(?x)\n(?:(\\??\\.)\\s*)? # safe navigator or accessor\n(?:(@?[_[:alpha:]][_[:alnum:]]*)\\s*)? # property name\n(?:(\\?)\\s*)? # null-conditional operator?\n(?=\\[) # open bracket of argument list","end":"(?\u003c=\\])(?!\\s*\\[)","patterns":[{"include":"#bracketed-argument-list"}],"beginCaptures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.property.apex"},"3":{"name":"keyword.operator.null-conditional.apex"}}},"else-part":{"begin":"(?\u003c!\\.)\\b(else)\\b","end":"(?\u003c=\\})|(?=;)","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.else.apex"}}},"enum-declaration":{"begin":"(?=\\benum\\b)","end":"(?\u003c=\\})","patterns":[{"begin":"(?=enum)","end":"(?=\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"match":"(enum)\\s+(@?[_[:alpha:]][_[:alnum:]]*)","captures":{"1":{"name":"keyword.other.enum.apex"},"2":{"name":"entity.name.type.enum.apex"}}}]},{"begin":"\\{","end":"\\}","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#punctuation-comma"},{"begin":"@?[_[:alpha:]][_[:alnum:]]*","end":"(?=(,|\\}))","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"entity.name.variable.enum-member.apex"}}}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},{"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":"=\u003e","end":"(?=[,\\);}])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.arrow.apex"}}},"expression-operators":{"patterns":[{"name":"keyword.operator.assignment.compound.apex","match":"\\*=|/=|%=|\\+=|-="},{"name":"keyword.operator.assignment.compound.bitwise.apex","match":"\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.apex","match":"\u003c\u003c|\u003e\u003e"},{"name":"keyword.operator.comparison.apex","match":"==|!="},{"name":"keyword.operator.relational.apex","match":"\u003c=|\u003e=|\u003c|\u003e"},{"name":"keyword.operator.logical.apex","match":"\\!|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.bitwise.apex","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.apex","match":"\\="},{"name":"keyword.operator.decrement.apex","match":"--"},{"name":"keyword.operator.increment.apex","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.apex","match":"%|\\*|/|-|\\+"}]},"extends-class":{"begin":"(extends)\\b\\s+","end":"(?={|implements)","patterns":[{"begin":"(?=[_[:alpha:]][_[:alnum:]]*\\s*\\.)","end":"(?={|implements)","patterns":[{"include":"#support-type"},{"include":"#type"}]},{"match":"([_[:alpha:]][_[:alnum:]]*)","captures":{"1":{"name":"entity.name.type.extends.apex"}}}],"beginCaptures":{"1":{"name":"keyword.other.extends.apex"}}},"field-declaration":{"begin":"(?x)\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g\u003cidentifier\u003e)\\s* # first field name\n(?!=\u003e|==)(?=,|;|=|$)","end":"(?=;)","patterns":[{"name":"entity.name.variable.field.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"},{"include":"#class-or-trigger-members"}],"beginCaptures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"5":{"name":"entity.name.variable.field.apex"}}},"finally-clause":{"begin":"(?\u003c!\\.)\\b(finally)\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#block"}],"beginCaptures":{"1":{"name":"keyword.control.try.finally.apex"}}},"for-apex-syntax":{"match":"([_.[:alpha:]][_.[:alnum:]]+)\\s+([_.[:alpha:]][_.[:alnum:]]*)\\s*(\\:)","captures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"2":{"name":"entity.name.variable.local.apex"},"3":{"name":"keyword.operator.iterator.colon.apex"}}},"for-statement":{"begin":"(?\u003c!\\.)\\b(for)\\b\\s*(?=\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#for-apex-syntax"},{"include":"#local-variable-declaration"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#colon-expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.loop.for.apex"}}},"from-clause":{"match":"(FROM)\\b\\s*([_\\.[:alnum:]]+\\b)?","captures":{"1":{"name":"keyword.operator.query.from.apex"},"2":{"name":"storage.type.apex"}}},"goto-statement":{"begin":"(?\u003c!\\.)\\b(goto)\\b","end":"(?=;)","patterns":[{"begin":"\\b(case)\\b","end":"(?=;)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.apex"}}},{"match":"\\b(default)\\b","captures":{"1":{"name":"keyword.control.default.apex"}}},{"name":"entity.name.label.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"}],"beginCaptures":{"1":{"name":"keyword.control.goto.apex"}}},"identifier":{"name":"variable.other.readwrite.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},"if-statement":{"begin":"(?\u003c!\\.)\\b(if)\\b\\s*(?=\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.if.apex"}}},"implements-class":{"begin":"(implements)\\b","end":"(?={|extends)","patterns":[{"begin":"(?=[_[:alpha:]][_[:alnum:]]*\\s*\\.)","end":"(?={|extends|,)","patterns":[{"include":"#support-type"},{"include":"#type"}]},{"match":"([_[:alpha:]][_[:alnum:]]*)\\b\\s*(,)?","captures":{"1":{"name":"entity.name.type.implements.apex"},"2":{"name":"punctuation.separator.comma.apex"}}},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.other.implements.apex"}}},"indexer-declaration":{"begin":"(?x)\n(?\u003creturn_type\u003e\n (?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?\u003cinterface_name\u003e\\g\u003ctype_name\u003e\\s*\\.\\s*)?\n(?\u003cindexer_name\u003ethis)\\s*\n(?=\\[)","end":"(?\u003c=\\})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#expression-body"},{"include":"#variable-initializer"}],"beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"7":{"name":"keyword.other.this.apex"}}},"initializer-block":{"begin":"\\{","end":"\\}","patterns":[{"include":"#statement"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"initializer-expression":{"begin":"\\{","end":"\\}","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"interface-declaration":{"begin":"(?=\\binterface\\b)","end":"(?\u003c=\\})","patterns":[{"begin":"(?x)\n(interface)\\b\\s+\n(@?[_[:alpha:]][_[:alnum:]]*)","end":"(?=\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#extends-class"}],"beginCaptures":{"1":{"name":"keyword.other.interface.apex"},"2":{"name":"entity.name.type.interface.apex"}}},{"begin":"\\{","end":"\\}","patterns":[{"include":"#interface-members"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},{"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":"(?x)\n(?:(\\??\\.)\\s*)? # safe navigator or accessor\n(@?[_[:alpha:]][_[:alnum:]]*)\\s* # method name\n(?\u003ctype_args\u003e\\s*\u003c([^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\\s* # type arguments\n(?=\\() # open paren of argument list","end":"(?\u003c=\\))","patterns":[{"include":"#argument-list"}],"beginCaptures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"entity.name.function.apex"},"3":{"patterns":[{"include":"#type-arguments"}]}}},"javadoc-comment":{"patterns":[{"name":"comment.block.javadoc.apex","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"name":"keyword.other.documentation.javadoc.apex","match":"@(deprecated|author|return|see|serial|since|version|usage|name|link)\\b"},{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.javadoc.apex"},"2":{"name":"entity.name.variable.parameter.apex"}}},{"match":"(@(?:exception|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.javadoc.apex"},"2":{"name":"entity.name.type.class.apex"}}},{"match":"(`([^`]+?)`)","captures":{"1":{"name":"string.quoted.single.apex"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}}]},"literal":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#string-literal"}]},"local-constant-declaration":{"begin":"(?x)\n(?\u003cconst_keyword\u003e\\b(?:const)\\b)\\s*\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g\u003cidentifier\u003e)\\s*\n(?=,|;|=)","end":"(?=;)","patterns":[{"name":"entity.name.variable.local.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}],"beginCaptures":{"1":{"name":"storage.modifier.apex"},"2":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.local.apex"}}},"local-declaration":{"patterns":[{"include":"#local-constant-declaration"},{"include":"#local-variable-declaration"}]},"local-variable-declaration":{"begin":"(?x)\n(?:\n (?:(\\bref)\\s+)?(\\bvar\\b)| # ref local\n (?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref local\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\n)\\s+\n(\\g\u003cidentifier\u003e)\\s*\n(?=,|;|=|\\))","end":"(?=;|\\))","patterns":[{"name":"entity.name.variable.local.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}],"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"}}},"member-access-expression":{"patterns":[{"match":"(?x)\n(\\??\\.)\\s* # safe navigator or accessor\n(@?[_[:alpha:]][_[:alnum:]]*)\\s* # property name\n(?![_[:alnum:]]|\\(|(\\?)?\\[|\u003c) # next character is not alpha-numeric, nor a (, [, or \u003c. Also, test for ?[","captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.property.apex"}}},{"match":"(?x)\n(\\??\\.)?\\s*\n(@?[_[:alpha:]][_[:alnum:]]*)\n(?\u003ctype_params\u003e\\s*\u003c([^\u003c\u003e]|\\g\u003ctype_params\u003e)+\u003e\\s*)\n(?=\n (\\s*\\?)?\n \\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*\n)","captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.apex"},"3":{"patterns":[{"include":"#type-arguments"}]}}},{"match":"(?x)\n(@?[_[:alpha:]][_[:alnum:]]*)\n(?=\n (\\s*\\?)?\n \\s*\\.\\s*@?[_[:alpha:]][_[:alnum:]]*\n)","captures":{"1":{"name":"variable.other.object.apex"}}}]},"merge-expression":{"begin":"(merge)\\b\\s+","end":"(?\u003c=\\;)","patterns":[{"include":"#object-creation-expression"},{"include":"#merge-type-statement"},{"include":"#expression"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"1":{"name":"support.function.apex"}}},"merge-type-statement":{"match":"([_[:alpha:]]*)\\b\\s+([_[:alpha:]]*)\\b\\s*(\\;)","captures":{"1":{"name":"variable.other.readwrite.apex"},"2":{"name":"variable.other.readwrite.apex"},"3":{"name":"punctuation.terminator.statement.apex"}}},"method-declaration":{"begin":"(?x)\n(?\u003creturn_type\u003e\n (?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?\u003cinterface_name\u003e\\g\u003ctype_name\u003e\\s*\\.\\s*)?\n(\\g\u003cidentifier\u003e)\\s*\n(\u003c([^\u003c\u003e]+)\u003e)?\\s*\n(?=\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}],"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"}]}}},"method-name-custom":{"name":"entity.name.function.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"},"named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)","end":"(?=(,|\\)|\\]))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"entity.name.variable.parameter.apex"},"2":{"name":"punctuation.separator.colon.apex"}}},"null-literal":{"name":"constant.language.null.apex","match":"(?\u003c!\\.)\\bnull\\b"},"numeric-literal":{"patterns":[{"name":"constant.numeric.datetime.apex","match":"\\b(\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}\\:\\d{2}\\:\\d{2}(\\.\\d{1,3})?(\\-|\\+)\\d{2}\\:\\d{2})\\b"},{"name":"constant.numeric.datetime.apex","match":"\\b(\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}\\:\\d{2}\\:\\d{2}(\\.\\d{1,3})?(Z)?)\\b"},{"name":"constant.numeric.date.apex","match":"\\b(\\d{4}\\-\\d{2}\\-\\d{2})\\b"},{"name":"constant.numeric.hex.apex","match":"\\b0(x|X)[0-9a-fA-F_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"},{"name":"constant.numeric.binary.apex","match":"\\b0(b|B)[01_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"},{"name":"constant.numeric.decimal.apex","match":"\\b([0-9_]+)?\\.[0-9_]+((e|E)[0-9]+)?(F|f|D|d|M|m)?\\b"},{"name":"constant.numeric.decimal.apex","match":"\\b[0-9_]+(e|E)[0-9_]+(F|f|D|d|M|m)?\\b"},{"name":"constant.numeric.decimal.apex","match":"\\b[0-9_]+(F|f|D|d|M|m)\\b"},{"name":"constant.numeric.decimal.apex","match":"\\b[0-9_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"}]},"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":{"match":"(?x)\n(delete|insert|undelete|update|upsert)?\n\\s*(new)\\s+\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?=\\{|$)","captures":{"1":{"name":"support.function.apex"},"2":{"name":"keyword.control.new.apex"},"3":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}}},"object-creation-expression-with-parameters":{"begin":"(?x)\n(delete|insert|undelete|update|upsert)?\n\\s*(new)\\s+\n(?\u003ctype_name\u003e\n (?:\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s*\n(?=\\()","end":"(?\u003c=\\))","patterns":[{"include":"#argument-list"}],"beginCaptures":{"1":{"name":"support.function.apex"},"2":{"name":"keyword.control.new.apex"},"3":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}}},"operator-assignment":{"name":"keyword.operator.assignment.apex","match":"(?\u003c!=|!)(=)(?!=)"},"operator-safe-navigation":{"name":"keyword.operator.safe-navigation.apex","match":"\\?\\."},"orderby-clause":{"match":"\\b(ORDER BY)\\b\\s*","patterns":[{"include":"#ordering-direction"},{"include":"#ordering-nulls"}],"captures":{"1":{"name":"keyword.operator.query.orderby.apex"}}},"ordering-direction":{"match":"\\b(?:(ASC)|(DESC))\\b","captures":{"1":{"name":"keyword.operator.query.ascending.apex"},"2":{"name":"keyword.operator.query.descending.apex"}}},"ordering-nulls":{"match":"\\b(?:(NULLS FIRST)|(NULLS LAST))\\b","captures":{"1":{"name":"keyword.operator.query.nullsfirst.apex"},"2":{"name":"keyword.operator.query.nullslast.apex"}}},"parameter":{"match":"(?x)\n(?:(?:\\b(this|final)\\b)\\s+)?\n(?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n)\\s+\n(\\g\u003cidentifier\u003e)","captures":{"1":{"name":"storage.modifier.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"6":{"name":"entity.name.variable.parameter.apex"}}},"parenthesized-expression":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},"parenthesized-parameter-list":{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},"property-accessors":{"begin":"\\{","end":"\\}","patterns":[{"name":"storage.modifier.apex","match":"\\b(private|protected)\\b"},{"name":"keyword.other.get.apex","match":"\\b(get)\\b"},{"name":"keyword.other.set.apex","match":"\\b(set)\\b"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"},{"include":"#punctuation-semicolon"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"property-declaration":{"begin":"(?x)\n(?!.*\\b(?:class|interface|enum)\\b)\\s*\n(?\u003creturn_type\u003e\n (?\u003ctype_name\u003e\n (?:\n (?:ref\\s+)? # ref return\n (?:\n (?:(?\u003cidentifier\u003e@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (?\u003cname_and_type_args\u003e # identifier + type arguments (if any)\n \\g\u003cidentifier\u003e\\s*\n (?\u003ctype_args\u003e\\s*\u003c(?:[^\u003c\u003e]|\\g\u003ctype_args\u003e)+\u003e\\s*)?\n )\n (?:\\s*\\.\\s*\\g\u003cname_and_type_args\u003e)*\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s*\\[(?:\\s*,\\s*)*\\]\\s*)* # array suffix?\n )\n )\\s+\n)\n(?\u003cinterface_name\u003e\\g\u003ctype_name\u003e\\s*\\.\\s*)?\n(?\u003cproperty_name\u003e\\g\u003cidentifier\u003e)\\s*\n(?=\\{|=\u003e|$)","end":"(?\u003c=\\})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#expression-body"},{"include":"#variable-initializer"},{"include":"#class-or-trigger-members"}],"beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"7":{"name":"entity.name.variable.property.apex"}}},"punctuation-accessor":{"name":"punctuation.accessor.apex","match":"\\."},"punctuation-comma":{"name":"punctuation.separator.comma.apex","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.apex","match":";"},"query-operators":{"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\\s*","captures":{"1":{"name":"keyword.operator.query.apex"}}},"return-statement":{"begin":"(?\u003c!\\.)\\b(return)\\b","end":"(?=;)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.flow.return.apex"}}},"script-top-level":{"patterns":[{"include":"#method-declaration"},{"include":"#statement"},{"include":"#punctuation-semicolon"}]},"sharing-modifier":{"name":"sharing.modifier.apex","match":"(?\u003c!\\.)\\b(with sharing|without sharing|inherited sharing)\\b"},"soql-colon-method-statement":{"begin":"(:?\\.)?([_[:alpha:]][_[:alnum:]]*)(?=\\()","end":"(?\u003c=\\))","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"entity.name.function.apex"}}},"soql-colon-vars":{"begin":"(\\:)\\s*","end":"(?![_[:alnum:]]|\\(|(\\?)?\\[|\u003c)","patterns":[{"include":"#trigger-context-declaration"},{"match":"([_[:alpha:]][_[:alnum:]]*)(\\??\\.)","captures":{"1":{"name":"variable.other.object.apex"},"2":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]}}},{"include":"#soql-colon-method-statement"},{"name":"entity.name.variable.local.apex","match":"[_[:alpha:]][_[:alnum:]]*"}],"beginCaptures":{"0":{"name":"keyword.operator.conditional.colon.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)\\s*(\\()","end":"\\)","patterns":[{"include":"#literal"},{"include":"#punctuation-comma"},{"include":"#soql-functions"},{"name":"keyword.query.field.apex","match":"[_.[:alpha:]][_.[:alnum:]]*"}],"beginCaptures":{"1":{"name":"support.function.query.apex"},"2":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},"soql-group-clauses":{"begin":"\\(","end":"\\)","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"},{"name":"keyword.query.field.apex","match":"[_.[:alpha:]][_.[:alnum:]]*"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.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\\s*","end":"(?=;)|(?=\\])|(?=\\))","patterns":[{"include":"#soql-query-body"},{"include":"#comment"},{"include":"#punctuation-comma"},{"include":"#operator-assignment"},{"include":"#parenthesized-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"match":"([_.[:alpha:]][_.[:alnum:]]*)\\s*(\\,)?","captures":{"1":{"name":"keyword.query.field.apex"},"2":{"name":"punctuation.separator.comma.apex"}}}],"beginCaptures":{"1":{"name":"keyword.operator.query.select.apex"}}},"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":{"name":"storage.modifier.apex","match":"(?\u003c!\\.)\\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\\b"},"string-character-escape":{"name":"constant.character.escape.apex","match":"\\\\."},"string-literal":{"name":"string.quoted.single.apex","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.apex"},"2":{"name":"invalid.illegal.newline.apex"}}},"support-arguments":{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#comment"},{"include":"#support-type"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}}},"support-class":{"match":"\\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\\b","captures":{"1":{"name":"support.class.apex"}}},"support-expression":{"begin":"(?x)\n(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=\\.|\\s) # supported apex namespaces","end":"(?\u003c=\\)|$)|(?=\\})|(?=;)|(?=\\)|(?=\\]))|(?=\\,)","patterns":[{"include":"#support-type"},{"match":"(?:(\\.))([[:alpha:]]*)(?=\\()","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.function.apex"}}},{"match":"(?:(\\.))([[:alpha:]]+)","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.type.apex"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#comment"},{"include":"#statement"}],"beginCaptures":{"1":{"name":"support.class.apex"}}},"support-functions":{"match":"\\b(delete|execute|finish|insert|start|undelete|update|upsert)\\b","captures":{"1":{"name":"support.function.apex"}}},"support-name":{"patterns":[{"match":"(\\.)\\s*([[:alpha:]]*)(?=\\()","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.function.apex"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"match":"(\\.)\\s*([_[:alpha:]]*)","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.type.apex"}}}]},"support-type":{"name":"support.apex","patterns":[{"include":"#comment"},{"include":"#support-class"},{"include":"#support-functions"},{"include":"#support-name"}]},"switch-statement":{"begin":"(?x)\n(switch)\\b\\s+\n(on)\\b\\s+\n(.*)\n(\\{)","end":"(\\})","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"}],"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"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},"this-expression":{"match":"\\b(?:(this))\\b","captures":{"1":{"name":"keyword.other.this.apex"}}},"throw-expression":{"match":"(?\u003c!\\.)\\b(throw)\\b","captures":{"1":{"name":"keyword.control.flow.throw.apex"}}},"throw-statement":{"begin":"(?\u003c!\\.)\\b(throw)\\b","end":"(?=;)","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.flow.throw.apex"}}},"trigger-context-declaration":{"begin":"\\b(?:(Trigger))\\b(\\.)\\b","end":"(?=\\})|(?=;)|(?=\\)|(?=\\]))","patterns":[{"name":"support.type.trigger.apex","match":"\\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\\b"},{"match":"(?:(\\??\\.))([[:alpha:]]+)(?=\\()","captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"support.function.trigger.apex"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#trigger-type-statement"},{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#expression"}],"beginCaptures":{"1":{"name":"support.class.trigger.apex"},"2":{"name":"punctuation.accessor.apex"}}},"trigger-declaration":{"begin":"(?=\\btrigger\\b)","end":"(?\u003c=\\})","patterns":[{"begin":"(?x)\n\\b(trigger)\\b\\s+\n(@?[_[:alpha:]][_[:alnum:]]*)\\s*\n\\b(on)\\b\\s+\n([_[:alpha:]][_[:alnum:]]*)\\s*","end":"(?=\\{)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#trigger-type-statement"},{"include":"#trigger-operator-statement"},{"include":"#punctuation-comma"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"}],"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"}}},{"begin":"\\{","end":"\\}","patterns":[{"include":"#statement"},{"include":"#class-or-trigger-members"}],"beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}}},{"include":"#javadoc-comment"},{"include":"#comment"}]},"trigger-operator-statement":{"name":"keyword.operator.trigger.apex","match":"\\b(insert|update|delete|merge|upsert|undelete)\\b"},"trigger-type-statement":{"match":"\\b(?:(before)|(after))\\b","captures":{"1":{"name":"keyword.control.trigger.before.apex"},"2":{"name":"keyword.control.trigger.after.apex"}}},"try-block":{"begin":"(?\u003c!\\.)\\b(try)\\b","end":"(?\u003c=\\})","patterns":[{"include":"#comment"},{"include":"#block"}],"beginCaptures":{"1":{"name":"keyword.control.try.apex"}}},"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":"\u003c","end":"\u003e","patterns":[{"include":"#comment"},{"include":"#support-type"},{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}}},"type-array-suffix":{"begin":"\\[","end":"\\]","patterns":[{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.squarebracket.open.apex"}},"endCaptures":{"0":{"name":"punctuation.squarebracket.close.apex"}}},"type-builtin":{"match":"\\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|Id|ID|Integer|Long|Object|String|Time|void)\\b","captures":{"1":{"name":"keyword.type.apex"}}},"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":[{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)","captures":{"1":{"name":"storage.type.apex"},"2":{"name":"punctuation.accessor.apex"}}},{"match":"(\\.)\\s*(@?[_[:alpha:]][_[:alnum:]]*)","captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"storage.type.apex"}}},{"name":"storage.type.apex","match":"@?[_[:alpha:]][_[:alnum:]]*"}]},"type-nullable-suffix":{"match":"\\?","captures":{"0":{"name":"punctuation.separator.question-mark.apex"}}},"type-parameter-list":{"begin":"\\\u003c","end":"\\\u003e","patterns":[{"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\b","captures":{"1":{"name":"entity.name.type.type-parameter.apex"}}},{"include":"#comment"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}}},"using-scope":{"match":"((USING SCOPE)\\b\\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\\b\\s*","captures":{"1":{"name":"keyword.operator.query.using.apex"}}},"variable-initializer":{"begin":"(?\u003c!=|!)(=)(?!=|\u003e)","end":"(?=[,\\)\\];}])","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.apex"}}},"when-else-statement":{"begin":"(when)\\b\\s+(else)\\b\\s*","end":"(?=\\})|(?=when\\b)","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"name":"keyword.control.switch.else.apex"}}},"when-multiple-statement":{"begin":"(when)\\b\\s*","end":"(?=\\})|(?=when\\b)","patterns":[{"include":"#block"},{"include":"#expression"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"}}},"when-sobject-statement":{"begin":"(when)\\b\\s+([_[:alnum:]]+)\\s+([_[:alnum:]]+)\\s*","end":"(?=\\})|(?=when\\b)","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"name":"storage.type.apex"},"3":{"name":"entity.name.variable.local.apex"}}},"when-statement":{"begin":"(when)\\b\\s+([_\\-[:alnum:]]+)\\s*","end":"(?=\\})|(?=when\\b)","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"patterns":[{"include":"#expression"}]}}},"when-string":{"begin":"(when)\\b\\s*('[^'\\n]*')(\\s*(,)\\s*('[^'\\n]*'))*\\s*","end":"(?=\\})|(?=when\\b)","patterns":[{"include":"#block"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"patterns":[{"include":"#string-literal"}]},"4":{"patterns":[{"include":"#punctuation-comma"}]},"5":{"patterns":[{"include":"#string-literal"}]}}},"where-clause":{"match":"\\b(WHERE)\\b\\s*","captures":{"1":{"name":"keyword.operator.query.where.apex"}}},"while-statement":{"begin":"(?\u003c!\\.)\\b(while)\\b\\s*(?=\\()","end":"(?\u003c=\\})|(?=;)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}}},{"include":"#statement"}],"beginCaptures":{"1":{"name":"keyword.control.loop.while.apex"}}},"xml-attribute":{"patterns":[{"match":"(?x)\n(?:^|\\s+)\n(\n (?:\n ([-_[:alnum:]]+)\n (:)\n )?\n ([-_[:alnum:]]+)\n)\n(=)","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"}}},{"include":"#xml-string"}]},"xml-cdata":{"name":"string.unquoted.cdata.apex","begin":"\u003c!\\[CDATA\\[","end":"\\]\\]\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}}},"xml-character-entity":{"patterns":[{"name":"constant.character.entity.apex","match":"(?x)\n(\u0026)\n(\n (?:[[:alpha:]:_][[:alnum:]:_.-]*)|\n (?:\\#[[:digit:]]+)|\n (?:\\#x[[:xdigit:]]+)\n)\n(;)","captures":{"1":{"name":"punctuation.definition.constant.apex"},"3":{"name":"punctuation.definition.constant.apex"}}},{"name":"invalid.illegal.bad-ampersand.apex","match":"\u0026"}]},"xml-comment":{"name":"comment.block.apex","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}}},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"name":"string.quoted.single.apex","begin":"\\'","end":"\\'","patterns":[{"include":"#xml-character-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}}},{"name":"string.quoted.double.apex","begin":"\\\"","end":"\\\"","patterns":[{"include":"#xml-character-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.stringdoublequote.begin.apex"}},"endCaptures":{"0":{"name":"punctuation.definition.stringdoublequote.end.apex"}}}]},"xml-tag":{"name":"meta.tag.apex","begin":"(?x)\n(\u003c/?)\n(\n (?:\n ([-_[:alnum:]]+)\n (:)\n )?\n ([-_[:alnum:]]+)\n)","end":"(/?\u003e)","patterns":[{"include":"#xml-attribute"}],"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"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.apex"}}}}}
|
data/grammars/source.astro.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"Astro","scopeName":"source.astro","patterns":[{"include":"#scope"},{"include":"#frontmatter"},{"include":"#text"}],"repository":{"attribute-literal":{"name":"string.template.astro","begin":"(`)","end":"\\1","patterns":[{"include":"source.tsx#template-substitution-element"},{"include":"source.tsx#string-character-escape"}]},"attributes":{"patterns":[{"include":"#attributes-events"},{"include":"#attributes-keyvalue"},{"include":"#attributes-interpolated"}]},"attributes-events":{"name":"meta.attribute.$1.astro","begin":"(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o(nline|ffline)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d(data|metadata)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![\\\\w:-])","end":"(?=\\s*+[^=\\s])","patterns":[{"begin":"=","end":"(?\u003c=[^\\s=])(?!\\s*=)|(?=/?\u003e)","patterns":[{"include":"#interpolation"},{"include":"#attribute-literal"},{"name":"meta.embedded.line.js","begin":"(?=[^\\s=\u003c\u003e`/]|/(?!\u003e))","end":"(?!\\G)","patterns":[{"name":"string.unquoted.astro","match":"(([^\\s\\\"'=\u003c\u003e`/]|/(?!\u003e))+)","captures":{"0":{"name":"source.js"},"1":{"patterns":[{"include":"source.js"}]}}},{"name":"string.quoted.astro","begin":"([\"])","end":"\\1","patterns":[{"match":"([^\\n\\\"/]|/(?![/*]))+","captures":{"0":{"patterns":[{"include":"source.js"}]}}},{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\\\")|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"(?=\\\")|\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}}},{"name":"string.quoted.astro","begin":"(['])","end":"\\1","patterns":[{"match":"([^\\n\\'/]|/(?![/*]))+","captures":{"0":{"patterns":[{"include":"source.js"}]}}},{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\\')|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"(?=\\')|\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}}}]}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}}}],"beginCaptures":{"0":{"patterns":[{"name":"entity.other.attribute-name.astro","match":".*"}]}}},"attributes-interpolated":{"contentName":"meta.embedded.expression.astro source.tsx","begin":"(?\u003c!:|=)\\s*({)","end":"(\\})","patterns":[{"include":"source.tsx"}]},"attributes-keyvalue":{"name":"meta.attribute.$1.astro","begin":"([_@$[:alpha:]][:._\\-$[:alnum:]]*)","end":"(?=\\s*+[^=\\s])","patterns":[{"begin":"=","end":"(?\u003c=[^\\s=])(?!\\s*=)|(?=/?\u003e)","patterns":[{"include":"#attributes-value"}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}}}],"beginCaptures":{"0":{"patterns":[{"name":"entity.other.attribute-name.astro","match":".*"}]}}},"attributes-value":{"patterns":[{"include":"#interpolation"},{"name":"string.unquoted.astro","match":"([^\\s\"'=\u003c\u003e`/]|/(?!\u003e))+"},{"name":"string.quoted.astro","begin":"(['\"])","end":"\\1","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}}},{"include":"#attribute-literal"}]},"comments":{"name":"comment.block.astro","begin":"\u003c!--","end":"--\u003e","patterns":[{"name":"invalid.illegal.characters-not-allowed-here.astro","match":"\\G-?\u003e|\u003c!--(?!\u003e)|\u003c!-(?=--\u003e)|--!\u003e"}],"captures":{"0":{"name":"punctuation.definition.comment.astro"}}},"entities":{"patterns":[{"name":"constant.character.entity.named.$2.astro","match":"(?x)\n\t\t\t\t\t\t(\u0026)\t(?=[a-zA-Z])\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(a(s(ymp(eq)?|cr|t)|n(d(slope|d|v|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a(h|c|d|e|f|a|g|b))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|e|E|acir)?|elig|f(r)?|w(conint|int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))\n\t\t\t\t\t\t | (B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h(d|u|D|U)?|times|H(d|u|D|U)?|d(R|l|r|L)|u(R|l|r|L)|plus|D(R|l|r|L)|v(R|h|H|l|r|L)?|U(R|l|r|L)|V(R|h|H|l|r|L)?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1(2|4)|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))\n\t\t\t\t\t\t | (c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr(l|r)|p(s|c(up|ap)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w(conint|int)|lubs(uit)?|a(cute|p(s|c(up|ap)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly(DoubleQuote|Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))\n\t\t\t\t\t\t | (d(s(c(y|r)|trok|ol)|har(l|r)|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up(DownArrow|Arrow)|VerticalBar|L(ong(RightArrow|Left(RightArrow|Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))\n\t\t\t\t\t\t | (e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t(h|a)|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(ot|Dot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1(3|4))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty(SmallSquare|VerySmallSquare)|acr)))\n\t\t\t\t\t\t | (f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(ig|lig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1(2|8|3|4|5|6)|78|2(3|5)|3(8|4|5)|45|5(8|6)))))|F(scr|cy|illed(SmallSquare|VerySmallSquare)|o(uriertrf|pf|rAll)|fr))\n\t\t\t\t\t\t | (G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im(e|l)?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(qless|less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l(j|E|a)?|a(cute|p|mma(d)?)|rave|g(g)?|breve))\n\t\t\t\t\t\t | (h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok(leftarrow|rightarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks(earow|warow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))\n\t\t\t\t\t\t | (i(s(cr|in(s(v)?|dot|v|E)?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(nt|int)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f(f|r)|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))\n\t\t\t\t\t\t | (j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))\n\t\t\t\t\t\t | (k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))\n\t\t\t\t\t\t | (l(s(h|cr|trok|im(e|g)?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(il|dil)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i(e|f)?|Par))?|Har|o(ng(left(arrow|rightarrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r(dhar|ushar))|ur(dshar|uhar)|jcy|par(lt)?|e(s(s(sim|dot|eq(qgtr|gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left(arrow|rightarrow)|rightarrow|Left(RightArrow|Arrow))|pf|wer(RightArrow|LeftArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))\n\t\t\t\t\t\t | (M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u(ltimap|map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))\n\t\t\t\t\t\t | (n(s(hort(parallel|mid)|c(cue|e|r)?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|e|E)?|b(set(eq(q)?)?|e|E)?)|par|qsu(pe|be)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v(c|a|b))?|in(dot|v(c|a|b)|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g(t|e))|fr|w(near|ar(hk|r(ow)?)|Arr)|V(dash|Dash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft(arrow|rightarrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr(c|w)?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft(arrow|rightarrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes(SlantEqual|Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi(nSpace|ckSpace)|VeryThinSpace))|Jcy|fr|acute))\n\t\t\t\t\t\t | (o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|f|m)?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly(DoubleQuote|Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))\n\t\t\t\t\t\t | (p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d(o|u)|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))\n\t\t\t\t\t\t | (q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))\n\t\t\t\t\t\t | (R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(il|dil)|aron)|Barr|t(hree|imes|ri(e|f|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng(d|e|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr)))\n\t\t\t\t\t\t | (s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma(v|f)?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot(e|b)?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n(e|E)|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|n(e|E)|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar(e|f))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort(RightArrow|DownArrow|UpArrow|LeftArrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))\n\t\t\t\t\t\t | (t(s(hcy|c(y|r)|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead(leftarrow|rightarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i(nSpace|ckSpace)|e(ta|refore))|c(y|edil|aron)|S(cy|Hcy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a(u|b)|ripleDot))\n\t\t\t\t\t\t | (u(scr|h(ar(l|r)|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per(RightArrow|LeftArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))\n\t\t\t\t\t\t | (v(s(cr|u(pn(e|E)|bn(e|E)))|nsu(p|b)|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))\n\t\t\t\t\t\t | (w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))\n\t\t\t\t\t\t | (X(scr|i|opf|fr)|x(s(cr|qcup)|h(arr|Arr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l(arr|Arr)|r(arr|Arr)|map))\n\t\t\t\t\t\t | (y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))\n\t\t\t\t\t\t | (z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(nj|j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute))\n\t\t\t\t\t\t)\n\t\t\t\t\t\t(;)\n\t\t\t\t\t","captures":{"1":{"name":"punctuation.definition.entity.astro"},"912":{"name":"punctuation.definition.entity.astro"}}},{"name":"constant.character.entity.numeric.decimal.astro","match":"(\u0026)#[0-9]+(;)","captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}}},{"name":"constant.character.entity.numeric.hexadecimal.astro","match":"(\u0026)#[xX][0-9a-fA-F]+(;)","captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}}},{"name":"invalid.illegal.ambiguous-ampersand.astro","match":"\u0026(?=[a-zA-Z0-9]+;)"}]},"frontmatter":{"contentName":"source.ts","begin":"\\A(-{3})\\s*$","end":"(^|\\G)(-{3})|\\.{3}\\s*$","patterns":[{"include":"source.ts"}],"beginCaptures":{"1":{"name":"comment"}},"endCaptures":{"2":{"name":"comment"}}},"interpolation":{"patterns":[{"contentName":"meta.embedded.expression.astro source.tsx","begin":"\\{","end":"\\}","patterns":[{"begin":"\\G\\s*(?={)","end":"(?\u003c=})","patterns":[{"include":"source.tsx#object-literal"}]},{"include":"source.tsx"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.astro"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.astro"}}}]},"scope":{"patterns":[{"include":"#comments"},{"include":"#tags"},{"include":"#interpolation"},{"include":"#entities"}]},"tags":{"patterns":[{"include":"#tags-raw"},{"include":"#tags-lang"},{"include":"#tags-void"},{"include":"#tags-general-end"},{"include":"#tags-general-start"}]},"tags-end-node":{"match":"(\u003c/)(.*?)\\s*(\u003e)|(/\u003e)","captures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]},"3":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"},"4":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}}},"tags-general-end":{"name":"meta.scope.tag.$2.astro","begin":"(\u003c/)([^/\\s\u003e]*)","end":"(\u003e)","beginCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]}},"endCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"}}},"tags-general-start":{"name":"meta.scope.tag.$2.astro","begin":"(\u003c)([^/\\s\u003e/]*)","end":"(/?\u003e)","patterns":[{"include":"#tags-start-attributes"}],"beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"endCaptures":{"1":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}}},"tags-lang":{"name":"meta.scope.tag.$1.astro meta.$1.astro","begin":"\u003c(script|style)","end":"\u003c/\\1\\s*\u003e|/\u003e","patterns":[{"name":"meta.lang.json.astro","begin":"\\G(?=\\s*[^\u003e]*?(type|lang)\\s*=\\s*(['\"]|)(?:text\\/)?(application\\/ld\\+json)\\2)","end":"(?=\u003c/|/\u003e)","patterns":[{"include":"#tags-lang-start-attributes"}]},{"name":"meta.lang.javascript.astro","begin":"\\G(?=\\s*[^\u003e]*?(type|lang)\\s*=\\s*(['\"]|)(module)\\2)","end":"(?=\u003c/|/\u003e)","patterns":[{"include":"#tags-lang-start-attributes"}]},{"name":"meta.lang.$3.astro","begin":"\\G(?=\\s*[^\u003e]*?(type|lang)\\s*=\\s*(['\"]|)(?:text/|application/)?([\\w\\/+]+)\\2)","end":"(?=\u003c/|/\u003e)","patterns":[{"include":"#tags-lang-start-attributes"}]},{"include":"#tags-lang-start-attributes"}],"beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}}},"tags-lang-start-attributes":{"name":"meta.tag.start.astro","begin":"\\G","end":"(?=/\u003e)|\u003e","patterns":[{"include":"#attributes"}],"endCaptures":{"0":{"name":"punctuation.definition.tag.end.astro"}}},"tags-name":{"patterns":[{"name":"support.class.component.astro","match":"[A-Z][a-zA-Z0-9_]*"},{"name":"meta.tag.custom.astro entity.name.tag.astro","match":"[a-z][\\w0-9:]*-[\\w0-9:-]*"},{"name":"entity.name.tag.astro","match":"[a-z][\\w0-9:-]*"}]},"tags-raw":{"name":"meta.scope.tag.$1.astro meta.raw.astro","contentName":"source.unknown","begin":"\u003c([^/?!\\s\u003c\u003e]+)(?=[^\u003e]+is:raw).*?","end":"\u003c/\\1\\s*\u003e|/\u003e","patterns":[{"include":"#tags-lang-start-attributes"}],"beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}}},"tags-start-attributes":{"name":"meta.tag.start.astro","begin":"\\G","end":"(?=/?\u003e)","patterns":[{"include":"#attributes"}]},"tags-start-node":{"name":"meta.tag.start.astro","match":"(\u003c)([^/\\s\u003e/]*)","captures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"patterns":[{"include":"#tags-name"}]}}},"tags-void":{"name":"meta.tag.void.astro","begin":"(\u003c)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\s|/?\u003e)","end":"/?\u003e","patterns":[{"include":"#attributes"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.begin.astro"}}},"text":{"patterns":[{"name":"text.astro","begin":"(?\u003c=^|---|\u003e|})","end":"(?=\u003c|{|$)","patterns":[{"include":"#entities"}]}]}},"injections":{"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.js","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.js"}]}]},"L:(meta.script.astro) (meta.lang.json) - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.json","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.json"}]}]},"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.ts","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.ts"}]}]},"L:meta.script.astro - meta.lang - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.js","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.js"}]}]},"L:meta.style.astro - meta.lang - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.css - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.less - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css.less","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css.less"}]}]},"L:meta.style.astro meta.lang.postcss - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css.postcss","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{}]}]},"L:meta.style.astro meta.lang.sass - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.sass","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.sass"}]}]},"L:meta.style.astro meta.lang.scss - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css.scss","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css.scss"}]}]},"L:meta.style.astro meta.lang.stylus - (meta source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.stylus","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.stylus"}]}]}}}
|
|
1
|
+
{"name":"Astro","scopeName":"source.astro","patterns":[{"include":"#scope"},{"include":"#frontmatter"},{"include":"#text"}],"repository":{"attribute-literal":{"name":"string.template.astro","begin":"(`)","end":"\\1","patterns":[{"include":"source.tsx#template-substitution-element"},{"include":"source.tsx#string-character-escape"}]},"attributes":{"patterns":[{"include":"#attributes-events"},{"include":"#attributes-keyvalue"},{"include":"#attributes-interpolated"}]},"attributes-events":{"name":"meta.attribute.$1.astro","begin":"(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o(nline|ffline)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d(data|metadata)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![\\\\w:-])","end":"(?=\\s*+[^=\\s])","patterns":[{"begin":"=","end":"(?\u003c=[^\\s=])(?!\\s*=)|(?=/?\u003e)","patterns":[{"include":"#interpolation"},{"include":"#attribute-literal"},{"name":"meta.embedded.line.js","begin":"(?=[^\\s=\u003c\u003e`/]|/(?!\u003e))","end":"(?!\\G)","patterns":[{"name":"string.unquoted.astro","match":"(([^\\s\\\"'=\u003c\u003e`/]|/(?!\u003e))+)","captures":{"0":{"name":"source.js"},"1":{"patterns":[{"include":"source.js"}]}}},{"name":"string.quoted.astro","begin":"([\"])","end":"\\1","patterns":[{"match":"([^\\n\\\"/]|/(?![/*]))+","captures":{"0":{"patterns":[{"include":"source.js"}]}}},{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\\\")|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"(?=\\\")|\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}}},{"name":"string.quoted.astro","begin":"(['])","end":"\\1","patterns":[{"match":"([^\\n\\'/]|/(?![/*]))+","captures":{"0":{"patterns":[{"include":"source.js"}]}}},{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\\')|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"(?=\\')|\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.js"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}}}]}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}}}],"beginCaptures":{"0":{"patterns":[{"name":"entity.other.attribute-name.astro","match":".*"}]}}},"attributes-interpolated":{"contentName":"meta.embedded.expression.astro source.tsx","begin":"(?\u003c!:|=)\\s*({)","end":"(\\})","patterns":[{"include":"source.tsx"}]},"attributes-keyvalue":{"name":"meta.attribute.$1.astro","begin":"([_@$[:alpha:]][:._\\-$[:alnum:]]*)","end":"(?=\\s*+[^=\\s])","patterns":[{"begin":"=","end":"(?\u003c=[^\\s=])(?!\\s*=)|(?=/?\u003e)","patterns":[{"include":"#attributes-value"}],"beginCaptures":{"0":{"name":"punctuation.separator.key-value.astro"}}}],"beginCaptures":{"0":{"patterns":[{"name":"entity.other.attribute-name.astro","match":".*"}]}}},"attributes-value":{"patterns":[{"include":"#interpolation"},{"name":"string.unquoted.astro","match":"([^\\s\"'=\u003c\u003e`/]|/(?!\u003e))+"},{"name":"string.quoted.astro","begin":"(['\"])","end":"\\1","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.astro"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.astro"}}},{"include":"#attribute-literal"}]},"comments":{"name":"comment.block.astro","begin":"\u003c!--","end":"--\u003e","patterns":[{"name":"invalid.illegal.characters-not-allowed-here.astro","match":"\\G-?\u003e|\u003c!--(?!\u003e)|\u003c!-(?=--\u003e)|--!\u003e"}],"captures":{"0":{"name":"punctuation.definition.comment.astro"}}},"entities":{"patterns":[{"name":"constant.character.entity.named.$2.astro","match":"(?x)\n\t\t\t\t\t\t(\u0026)\t(?=[a-zA-Z])\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(a(s(ymp(eq)?|cr|t)|n(d(slope|d|v|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a(h|c|d|e|f|a|g|b))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|e|E|acir)?|elig|f(r)?|w(conint|int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))\n\t\t\t\t\t\t | (B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h(d|u|D|U)?|times|H(d|u|D|U)?|d(R|l|r|L)|u(R|l|r|L)|plus|D(R|l|r|L)|v(R|h|H|l|r|L)?|U(R|l|r|L)|V(R|h|H|l|r|L)?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1(2|4)|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))\n\t\t\t\t\t\t | (c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr(l|r)|p(s|c(up|ap)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w(conint|int)|lubs(uit)?|a(cute|p(s|c(up|ap)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly(DoubleQuote|Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))\n\t\t\t\t\t\t | (d(s(c(y|r)|trok|ol)|har(l|r)|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up(DownArrow|Arrow)|VerticalBar|L(ong(RightArrow|Left(RightArrow|Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))\n\t\t\t\t\t\t | (e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t(h|a)|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(ot|Dot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1(3|4))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty(SmallSquare|VerySmallSquare)|acr)))\n\t\t\t\t\t\t | (f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(ig|lig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1(2|8|3|4|5|6)|78|2(3|5)|3(8|4|5)|45|5(8|6)))))|F(scr|cy|illed(SmallSquare|VerySmallSquare)|o(uriertrf|pf|rAll)|fr))\n\t\t\t\t\t\t | (G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im(e|l)?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(qless|less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l(j|E|a)?|a(cute|p|mma(d)?)|rave|g(g)?|breve))\n\t\t\t\t\t\t | (h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok(leftarrow|rightarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks(earow|warow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))\n\t\t\t\t\t\t | (i(s(cr|in(s(v)?|dot|v|E)?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(nt|int)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f(f|r)|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))\n\t\t\t\t\t\t | (j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))\n\t\t\t\t\t\t | (k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))\n\t\t\t\t\t\t | (l(s(h|cr|trok|im(e|g)?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(il|dil)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i(e|f)?|Par))?|Har|o(ng(left(arrow|rightarrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r(dhar|ushar))|ur(dshar|uhar)|jcy|par(lt)?|e(s(s(sim|dot|eq(qgtr|gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left(arrow|rightarrow)|rightarrow|Left(RightArrow|Arrow))|pf|wer(RightArrow|LeftArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))\n\t\t\t\t\t\t | (M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u(ltimap|map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))\n\t\t\t\t\t\t | (n(s(hort(parallel|mid)|c(cue|e|r)?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|e|E)?|b(set(eq(q)?)?|e|E)?)|par|qsu(pe|be)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v(c|a|b))?|in(dot|v(c|a|b)|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g(t|e))|fr|w(near|ar(hk|r(ow)?)|Arr)|V(dash|Dash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft(arrow|rightarrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr(c|w)?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft(arrow|rightarrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes(SlantEqual|Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi(nSpace|ckSpace)|VeryThinSpace))|Jcy|fr|acute))\n\t\t\t\t\t\t | (o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|f|m)?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly(DoubleQuote|Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))\n\t\t\t\t\t\t | (p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d(o|u)|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))\n\t\t\t\t\t\t | (q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))\n\t\t\t\t\t\t | (R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(il|dil)|aron)|Barr|t(hree|imes|ri(e|f|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng(d|e|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr)))\n\t\t\t\t\t\t | (s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma(v|f)?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot(e|b)?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n(e|E)|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|n(e|E)|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar(e|f))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort(RightArrow|DownArrow|UpArrow|LeftArrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))\n\t\t\t\t\t\t | (t(s(hcy|c(y|r)|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead(leftarrow|rightarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i(nSpace|ckSpace)|e(ta|refore))|c(y|edil|aron)|S(cy|Hcy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a(u|b)|ripleDot))\n\t\t\t\t\t\t | (u(scr|h(ar(l|r)|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per(RightArrow|LeftArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))\n\t\t\t\t\t\t | (v(s(cr|u(pn(e|E)|bn(e|E)))|nsu(p|b)|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))\n\t\t\t\t\t\t | (w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))\n\t\t\t\t\t\t | (X(scr|i|opf|fr)|x(s(cr|qcup)|h(arr|Arr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l(arr|Arr)|r(arr|Arr)|map))\n\t\t\t\t\t\t | (y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))\n\t\t\t\t\t\t | (z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(nj|j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute))\n\t\t\t\t\t\t)\n\t\t\t\t\t\t(;)\n\t\t\t\t\t","captures":{"1":{"name":"punctuation.definition.entity.astro"},"912":{"name":"punctuation.definition.entity.astro"}}},{"name":"constant.character.entity.numeric.decimal.astro","match":"(\u0026)#[0-9]+(;)","captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}}},{"name":"constant.character.entity.numeric.hexadecimal.astro","match":"(\u0026)#[xX][0-9a-fA-F]+(;)","captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}}},{"name":"invalid.illegal.ambiguous-ampersand.astro","match":"\u0026(?=[a-zA-Z0-9]+;)"}]},"frontmatter":{"begin":"\\A(-{3})\\s*$","end":"(^|\\G)(-{3})|\\.{3}\\s*$","patterns":[{"name":"meta.embedded.block.astro","contentName":"source.ts","begin":"(?\u003c=\\n)(?=[^\\n]+^-{3})","end":"(?=^-{3})","patterns":[{"include":"source.ts"}]},{"name":"meta.embedded.block.astro","contentName":"source.ts","begin":"(?\u003c=\\n)","while":"^(?!\\s*-{3})","patterns":[{"include":"source.ts"}]}],"beginCaptures":{"1":{"name":"comment"}},"endCaptures":{"2":{"name":"comment"}}},"interpolation":{"patterns":[{"contentName":"meta.embedded.expression.astro source.tsx","begin":"\\{","end":"\\}","patterns":[{"begin":"\\G\\s*(?={)","end":"(?\u003c=})","patterns":[{"include":"source.tsx#object-literal"}]},{"include":"source.tsx"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.astro"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.astro"}}}]},"scope":{"patterns":[{"include":"#comments"},{"include":"#tags"},{"include":"#interpolation"},{"include":"#entities"}]},"tags":{"patterns":[{"include":"#tags-raw"},{"include":"#tags-lang"},{"include":"#tags-void"},{"include":"#tags-general-end"},{"include":"#tags-general-start"}]},"tags-end-node":{"match":"(\u003c/)(.*?)\\s*(\u003e)|(/\u003e)","captures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]},"3":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"},"4":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}}},"tags-general-end":{"name":"meta.scope.tag.$2.astro","begin":"(\u003c/)([^/\\s\u003e]*)","end":"(\u003e)","beginCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]}},"endCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"}}},"tags-general-start":{"name":"meta.scope.tag.$2.astro","begin":"(\u003c)([^/\\s\u003e/]*)","end":"(/?\u003e)","patterns":[{"include":"#tags-start-attributes"}],"beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"endCaptures":{"1":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}}},"tags-lang":{"name":"meta.scope.tag.$1.astro meta.$1.astro","begin":"\u003c(script|style)(?=\\s|/?\u003e)","end":"\u003c/\\1\\s*\u003e|/\u003e","patterns":[{"name":"meta.lang.json.astro","begin":"\\G(?=\\s*[^\u003e]*?(type|lang)\\s*=\\s*(['\"]|)(?:text\\/)?(application\\/ld\\+json)\\2)","end":"(?=\u003c/|/\u003e)","patterns":[{"include":"#tags-lang-start-attributes"}]},{"name":"meta.lang.javascript.astro","begin":"\\G(?=\\s*[^\u003e]*?(type|lang)\\s*=\\s*(['\"]|)(module)\\2)","end":"(?=\u003c/|/\u003e)","patterns":[{"include":"#tags-lang-start-attributes"}]},{"name":"meta.lang.$3.astro","begin":"\\G(?=\\s*[^\u003e]*?(type|lang)\\s*=\\s*(['\"]|)(?:text/|application/)?([\\w\\/+]+)\\2)","end":"(?=\u003c/|/\u003e)","patterns":[{"include":"#tags-lang-start-attributes"}]},{"include":"#tags-lang-start-attributes"}],"beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}}},"tags-lang-start-attributes":{"name":"meta.tag.start.astro","begin":"\\G","end":"(?=/\u003e)|\u003e","patterns":[{"include":"#attributes"}],"endCaptures":{"0":{"name":"punctuation.definition.tag.end.astro"}}},"tags-name":{"patterns":[{"name":"support.class.component.astro","match":"[A-Z][a-zA-Z0-9_]*"},{"name":"meta.tag.custom.astro entity.name.tag.astro","match":"[a-z][\\w0-9:]*-[\\w0-9:-]*"},{"name":"entity.name.tag.astro","match":"[a-z][\\w0-9:-]*"}]},"tags-raw":{"name":"meta.scope.tag.$1.astro meta.raw.astro","contentName":"source.unknown","begin":"\u003c([^/?!\\s\u003c\u003e]+)(?=[^\u003e]+is:raw).*?","end":"\u003c/\\1\\s*\u003e|/\u003e","patterns":[{"include":"#tags-lang-start-attributes"}],"beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}}},"tags-start-attributes":{"name":"meta.tag.start.astro","begin":"\\G","end":"(?=/?\u003e)","patterns":[{"include":"#attributes"}]},"tags-start-node":{"name":"meta.tag.start.astro","match":"(\u003c)([^/\\s\u003e/]*)","captures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"patterns":[{"include":"#tags-name"}]}}},"tags-void":{"name":"meta.tag.void.astro","begin":"(\u003c)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\s|/?\u003e)","end":"/?\u003e","patterns":[{"include":"#attributes"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.begin.astro"}}},"text":{"patterns":[{"name":"text.astro","begin":"(?\u003c=^|---|\u003e|})","end":"(?=\u003c|{|$)","patterns":[{"include":"#entities"}]}]}},"injections":{"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.js","begin":"(?\u003c=\u003e)(?=[^\\n]+\u003c/script[\\s\u003e])","end":"(?=\u003c/script[\\s\u003e])","patterns":[{"include":"source.js"}]},{"name":"meta.embedded.block.astro","contentName":"source.js","begin":"(?\u003c=\u003e)(?!\u003c/)","while":"^(?!\\s*\u003c/script[\\s\u003e])","patterns":[{"include":"source.js"}]}]},"L:(meta.script.astro) (meta.lang.json) - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.json","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.json"}]}]},"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.ts","begin":"(?\u003c=\u003e)(?=[^\\n]+\u003c/script[\\s\u003e])","end":"(?=\u003c/script[\\s\u003e])","patterns":[{"include":"source.ts"}]},{"name":"meta.embedded.block.astro","contentName":"source.ts","begin":"(?\u003c=\u003e)(?!\u003c/)","while":"^(?!\\s*\u003c/script[\\s\u003e])","patterns":[{"include":"source.ts"}]}]},"L:meta.embedded.expression.astro - meta.embedded.block":{"patterns":[{"include":"#tags-lang"}]},"L:meta.script.astro - meta.lang - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.js","begin":"(?\u003c=\u003e)(?=[^\\n]+\u003c/script[\\s\u003e])","end":"(?=\u003c/script[\\s\u003e])","patterns":[{"include":"source.js"}]},{"name":"meta.embedded.block.astro","contentName":"source.js","begin":"(?\u003c=\u003e)(?!\u003c/)","while":"^(?!\\s*\u003c/script[\\s\u003e])","patterns":[{"include":"source.js"}]}]},"L:meta.style.astro - meta.lang - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.css - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css"}]}]},"L:meta.style.astro meta.lang.less - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css.less","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css.less"}]}]},"L:meta.style.astro meta.lang.postcss - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css.postcss","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{}]}]},"L:meta.style.astro meta.lang.sass - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.sass","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.sass"}]}]},"L:meta.style.astro meta.lang.scss - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.css.scss","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.css.scss"}]}]},"L:meta.style.astro meta.lang.stylus - (meta.embedded.block source)":{"patterns":[{"name":"meta.embedded.block.astro","contentName":"source.stylus","begin":"(?\u003c=\u003e)(?!\u003c/)","end":"(?=\u003c/)","patterns":[{"include":"source.stylus"}]}]}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"B","scopeName":"source.b","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"include":"#keywords"},{"include":"#operators"},{"include":"#types"},{"include":"#constants"},{"include":"#preprocessor"}],"repository":{"comments":{"patterns":[{"name":"comment.block.b","begin":"/\\*","end":"\\*/","patterns":[{"name":"keyword.other.documentation.b","match":"\\b(TODO|FIXME|XXX)\\b"}]},{"name":"comment.line.double-slash.b","begin":"//","end":"$","patterns":[{"name":"keyword.other.documentation.b","match":"\\b(TODO|FIXME|XXX)\\b"}]}]},"constants":{"patterns":[{"name":"constant.language.boolean.b","match":"\\b(TRUE|FALSE|bfalse|btrue)\\b"},{"name":"constant.other.b","match":"\\b(PI|MAXINT|MININT|User_Pass|PatchProver|PatchProverH0|PatchProverB0|FLAT|ARI|DED|SUB|RES)\\b"},{"name":"support.function.builtin.b","match":"\\b(binhyp|band|bnot|bguard|bsearch|bflat|bfresh|bguardi|bget|bgethyp|barith|bgetresult|bresult|bgoal|bmatch|bmodr|bnewv|bnum|btest|bpattern|bprintf|bwritef|bsubfrm|bvrb|blvar|bcall|bappend|bclose)\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.b","match":"\\b(MACHINE|MODEL|SEES|OPERATIONS|INCLUDES|DEFINITIONS|CONSTRAINTS|CONSTANTS|VARIABLES|CONCRETE_CONSTANTS|CONCRETE_VARIABLES|ABSTRACT_CONSTANTS|ABSTRACT_VARIABLES|HIDDEN_CONSTANTS|HIDDEN_VARIABLES|ASSERT|ASSERTIONS|EXTENDS|IMPLEMENTATION|REFINEMENT|IMPORTS|USES|INITIALISATION|INVARIANT|PROMOTES|PROPERTIES|REFINES|SETS|VALUES|VARIANT|VISIBLE_CONSTANTS|VISIBLE_VARIABLES|THEORY|XLS|THEOREMS|LOCAL_OPERATIONS)\\b"},{"name":"keyword.control.label.b","match":"\\b(CASE|IN|EITHER|OR|CHOICE|DO|OF)\\b"},{"name":"keyword.control.conditional.b","match":"\\b(IF|ELSE|SELECT|ELSIF|THEN|WHEN)\\b"},{"name":"keyword.control.repeat.b","match":"\\b(WHILE|FOR)\\b"},{"name":"keyword.operator.b","match":"\\b(LET|VAR|BE|IN|BEGIN|END|POW|POW1|FIN|FIN1|PRE|SIGMA|STRING|UNION|INTER|IS|ANY|WHERE)\\b"},{"name":"support.function.b","match":"\\b(arity|bin|bool|btree|card|const|conc|closure|closure1|dom|father|first|fnc|front|id|inter|iseq|iseq1|iterate|last|left|max|min|mirror|mod|perm|postfix|pred|prj1|prj2|ran|rev|rank|rec|rel|right|seq|seq1|size|sizet|skip|sons|struct|subtree|succ|tail|top|tree|union)\\b"}]},"numbers":{"name":"constant.numeric.b","match":"\\b[0-9]+\\.?[0-9]*\\b"},"operators":{"patterns":[{"name":"keyword.operator.logical.b","match":"\\b(or|not)\\b"},{"name":"keyword.operator.assignment.b","match":":="},{"name":"keyword.operator.b","match":"(\\!|#|%|\u0026|\\$|\u0026|\\*\\*|\\*|\\+-\u003e|\\+-\u003e\u003e|--\u003e\u003e|--\u003e|-\u003e|/:|/\u003c:|/\u003c\u003c:|/=|/\\\\\\|/\\|\\\\|/\\\\|\\\\/|::|:|;:|\u003c\\+|\u003c-\u003e|\u003c--|\u003c-|\u003c:|\u003c\u003c:|\u003c\u003c\\||\u003c=|\u003c=\u003e|\u003c\\||==|=\u003e|\u003e\\+\u003e\u003e|\u003e-\u003e|\u003e-\u003e\u003e|\u003e\u003c|\u003e=|\u003e\\+\u003e|\\|\\||\\|-\u003e|\\+|\u003c|\u003e|-|=|r~)"}]},"preprocessor":{"patterns":[{"name":"meta.preprocessor.b","begin":"^\\s*#\\s*(if|ifdef|ifndef|elif|else|endif)\\b","end":"$","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"}]},{"name":"meta.preprocessor.include.b","begin":"^\\s*#\\s*include\\b","end":"$","patterns":[{"name":"string.quoted.double.include.b","match":"\"[^\"]*\""},{"name":"string.quoted.angle.include.b","match":"\u003c[^\u003e]*\u003e"}]},{"name":"meta.preprocessor.define.b","begin":"^\\s*#\\s*(define|undef)\\b","end":"$"},{"name":"meta.preprocessor.b","begin":"^\\s*#\\s*(pragma|line|warning|warn|error)\\b","end":"$"}]},"strings":{"patterns":[{"name":"string.quoted.double.b","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.b","match":"\\\\."},{"name":"constant.character.escape.b","match":"\\\\[0-7]{1,3}"}]}]},"types":{"name":"storage.type.b","match":"\\b(INT|INTEGER|BOOL|NAT|NATURAL|NAT1|NATURAL1)\\b"}}}
|