github-linguist 9.3.0 → 9.4.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.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.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.comment-string.wesl.json +1 -0
- data/grammars/source.comment-string.wgsl.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.data-weave.json +1 -1
- data/grammars/source.dsv.json +1 -0
- data/grammars/source.erlang.json +1 -1
- 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.isabelle.theory.json +1 -1
- data/grammars/source.jac.json +1 -0
- data/grammars/source.jai.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.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.mdx.json +1 -1
- data/grammars/source.mermaid.zenuml.json +1 -1
- 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.rpgle.json +1 -1
- data/grammars/source.shell.json +1 -1
- data/grammars/source.singularity.json +1 -1
- data/grammars/source.soql.json +1 -1
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.surrealql.json +1 -0
- 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.vscode.c3.json +1 -0
- 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.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 +222 -26
- data/lib/linguist/samples.json +1 -1
- metadata +40 -3
- data/grammars/inline.edgeql.json +0 -1
- data/grammars/source.vue.json +0 -1
data/grammars/source.soql.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"SOQL","scopeName":"source.soql","patterns":[{"include":"#soqlHeaderComment"},{"include":"#soql-query-expression"}],"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":"#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"}}},"soqlHeaderComment":{"name":"comment.line","begin":"^\\s*//.*$","while":"^\\s*//.*$"},"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":"SOQL","scopeName":"source.soql","patterns":[{"include":"#soqlHeaderComment"},{"include":"#soql-query-expression"}],"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":"#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"}}},"soqlHeaderComment":{"name":"comment.line","begin":"^\\s*//.*$","while":"^\\s*//.*$"},"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.sqf.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"SQF","scopeName":"source.sqf","patterns":[{"name":"keyword.other.sqf","match":"\\#ifdef|\\#ifndef|\\#else|\\#endif"},{"name":"keyword.control.import.sqf","match":"\\#include"},{"name":"keyword.declaration.sqf","match":"private|\\#define|\\#undef"},{"name":"variable.language.sqf","match":"\\b(?i:_exception|_foreachindex|_this|_thisfsm|_thislist|_thisscript|_x)\\b"},{"name":"constant.language.sqf","match":"\\b(?i:blufor|civilian|configNull|controlNull|displayNull|east|endl|false|grpNull|independent|lineBreak|locationNull|nil|objNull|opfor|pi|resistance|scriptNull|sideAmbientLife|sideEmpty|sideLogic|sideUnknown|taskNull|teamMemberNull|true|west|__EVAL|__EXEC|__FILE__|__LINE__)\\b|\\:|\\!|\u0026\u0026|\\|\\||\u003e\u003e"},{"name":"keyword.control.sqf","match":"\\b(?i:if|then|else|exitwith|while|do|switch|case|default|for|from|to|step|foreach|foreachmember|foreachmemberagent|foreachmemberteam|try|throw|catch|scopename|break|breakwith|breakto|breakout|continue|continuewith|with|call|spawn|preprocessfile|preprocessfilelinenumbers|execvm|execfsm|not|and|or)\\b|\\:|\\!|\u0026\u0026|\\|\\||\u003e\u003e"},{"name":"support.function.sqf","match":"\\b(?i:alldiarysubjects|binocularitems|binocularmagazine|combatbehaviour|compilescript|createhashmapfromarray|ctrlfontheight|ctrlstyle|ctrltextcolor|ctrltooltip|ctrlurl|diag_localized|fileexists|flatten|focusedctrl|forcecadetdifficulty|forceunicode|getallpylonsinfo|getobjectscale|getplayerid|gettextraw|keys|markerchannel|markerpolyline|markershadow|menusetshortcut|menusettext|menuseturl|opengps|removeallbinocularitems|removeallsecondaryweaponitems|removebinocularitem|ropesegments|taskname|trim|tvselection|unitcombatmode|abs|acos|action|actionids|actionkeys|actionkeysex|actionkeysimages|actionkeysnames|actionkeysnamesarray|actionname|activateaddons|activatekey|activetitleeffectparams|add3denconnection|add3deneventhandler|addcamshake|addcuratorselected|addforcegeneratorrtd|additempool|addmagazinepool|addmissioneventhandler|addmusiceventhandler|addonfiles|addswitchableunit|addtoremainscollector|adduseractioneventhandler|addweaponpool|admin|agent|agltoasl|aimpos|airdensityrtd|airplanethrottle|airportside|aisfinishheal|alive|allcontrols|alllods|allmissionobjects|allowedservice|allsimpleobjects|allturrets|allvariables|angularvelocity|angularvelocitymodelspace|animationnames|animationstate|asin|asltoagl|asltoatl|assert|assignedcargo|assignedcommander|assigneddriver|assignedgroup|assignedgunner|assigneditems|assignedtarget|assignedteam|assignedvehicle|assignedvehiclerole|assignedvehicles|atan|atg|atltoasl|attachedobject|attachedobjects|attachedto|attackenabled|backpack|backpackcargo|backpackcontainer|backpackitems|backpackmagazines|backpacks|behaviour|binocular|boundingbox|boundingboxreal|boundingcenter|brakesdisabled|buldozer_enableroaddiag|buldozer_loadnewroads|buttonaction|buttonsetaction|calculatepath|calculateplayervisibilitybyfriendly|camcommitted|camdestroy|cameraeffectenablehud|camerainterest|campreloaded|camtarget|camusenvg|cancelsimpletaskdestination|candeployweapon|canfire|canmove|canstand|cantriggerdynamicsimulation|canunloadincombat|captive|captivenum|cbchecked|ceil|channelenabled|checkaifeature|classname|clear3deninventory|clearallitemsfrombackpack|clearbackpackcargo|clearbackpackcargoglobal|cleargroupicons|clearitemcargo|clearitemcargoglobal|clearmagazinecargo|clearmagazinecargoglobal|clearoverlay|clearweaponcargo|clearweaponcargoglobal|closedialog|closeoverlay|collapseobjecttree|collect3denhistory|collectivertd|collisiondisabledwith|combatmode|commander|commandgetout|commandstop|comment|commitoverlay|compatibleitems|compatiblemagazines|compile|compilefinal|completedfsm|composetext|confighierarchy|configname|configof|configproperties|configsourceaddonlist|configsourcemod|configsourcemodlist|connecttoserver|conversationdisabled|copytoclipboard|cos|count|create3dencomposition|create3denentity|createagent|createcenter|createdialog|creatediarylink|creategeardialog|creategroup|createguardedpoint|createhashmapobject|createlocation|createmarker|createmarkerlocal|createmine|createsimpleobject|createsoundsource|createteam|createtrigger|createvehicle|createvehiclecrew|createvehiclelocal|crew|ctaddheader|ctaddrow|ctclear|ctcursel|ctheadercount|ctrlactivate|ctrlangle|ctrlautoscrolldelay|ctrlautoscrollrewind|ctrlautoscrollspeed|ctrlbackgroundcolor|ctrlchecked|ctrlclassname|ctrlcommitted|ctrldelete|ctrlenable|ctrlenabled|ctrlfade|ctrlforegroundcolor|ctrlhtmlloaded|ctrlidc|ctrlidd|ctrlmapanimclear|ctrlmapanimcommit|ctrlmapanimdone|ctrlmapdir|ctrlmapmouseover|ctrlmapposition|ctrlmapscale|ctrlmodel|ctrlmodeldirandup|ctrlmodelscale|ctrlmouseposition|ctrlparent|ctrlparentcontrolsgroup|ctrlposition|ctrlscale|ctrlscrollvalues|ctrlsetfocus|ctrlsettext|ctrlshadow|ctrlshow|ctrlshown|ctrltext|ctrltextheight|ctrltextsecondary|ctrltextselection|ctrltextwidth|ctrltype|ctrlurloverlaymode|ctrlvisible|ctrowcount|curatoraddons|curatorcameraarea|curatorcameraareaceiling|curatoreditableobjects|curatoreditingarea|curatoreditingareatype|curatorpoints|curatorregisteredobjects|curatorselectionpreset|curatorwaypointcost|currentcommand|currentmagazine|currentmagazinedetail|currentmuzzle|currentpilot|currenttask|currenttasks|currentthrowable|currentvisionmode|currentwaypoint|currentweapon|currentweaponmode|currentzeroing|cutobj|cutrsc|cuttext|damage|datetonumber|deactivatekey|debriefingtext|debuglog|decaygraphvalues|deg|delete3denentities|deletecenter|deletecollection|deletegroup|deleteidentity|deletelocation|deletemarker|deletemarkerlocal|deletesite|deletestatus|deleteteam|deletevehicle|deletevehiclecrew|deletewaypoint|detach|detectedmines|diag_captureframe|diag_captureframetofile|diag_captureslowframe|diag_codeperformance|diag_drawmode|diag_dumpscriptassembly|diag_dynamicsimulationend|diag_enabled|diag_exportconfig|diag_exportterrainsvg|diag_getterrainsegmentoffset|diag_lightnewload|diag_list|diag_log|diag_logslowframe|diag_mergeconfigfile|diag_recordturretlimits|diag_remainscollector|diag_setlightnew|diag_sqfcdebugdump|diag_testscriptsimplevm|diag_toggle|didjipowner|difficultyenabled|difficultyoption|direction|disablemapindicators|disableremotesensors|disableuserinput|displaychild|displayctrl|displayparent|displayuniquename|displayupdate|dissolveteam|do3denaction|dogetout|dostop|drawicon3d|drawlaser|drawline3d|driver|drop|dynamicsimulationdistance|dynamicsimulationdistancecoef|dynamicsimulationenabled|echo|edit3denmissionattributes|effectivecommander|enableaudiofeature|enablecamshake|enablecaustics|enabledebriefingstats|enablediaglegend|enabledynamicsimulationsystem|enableengineartillery|enableenvironment|enableradio|enablesatnormalondetail|enablesaving|enablesentences|enablestressdamage|enableteamswitch|enabletraffic|enableweapondisassembly|endmission|enginesisonrtd|enginespowerrtd|enginesrpmrtd|enginestorquertd|entities|equipmentdisabled|estimatedtimeleft|everybackpack|everycontainer|exp|expecteddestination|exportjipmessages|eyedirection|eyepos|face|faction|failmission|fillweaponsfrompool|finddisplay|finite|firstbackpack|flag|flaganimationphase|flagowner|flagside|flagtexture|fleeing|floor|forceatpositionrtd|forcegeneratorrtd|forcehitpointsdamagesync|forcemap|forcerespawn|format|formation|formationdirection|formationleader|formationmembers|formationposition|formationtask|formattext|formleader|freeextension|fromeditor|fuel|fullcrew|gearidcammocount|gearslotammocount|gearslotdata|gesturestate|get3denactionstate|get3denconnections|get3denentity|get3denentityid|get3dengrid|get3denlayer|get3denlayerentities|get3denparent|get3denselected|getaimingcoef|getallenv3dsoundcontrollers|getallenvsoundcontrollers|getallhitpointsdamage|getallownedmines|getallsoundcontrollers|getallunittraits|getammocargo|getanimaimprecision|getanimspeedcoef|getarray|getartilleryammo|getassetdlcinfo|getassignedcuratorlogic|getassignedcuratorunit|getattacktarget|getbackpackcargo|getbleedingremaining|getbonenames|getburningvalue|getcameraviewdirection|getcenterofmass|getconnecteduav|getconnecteduavunit|getcontainermaxload|getcorpse|getcorpseweaponholders|getcruisecontrol|getcustomaimcoef|getcustomsoundcontroller|getcustomsoundcontrollercount|getdammage|getdebriefingtext|getdescription|getdir|getdirvisual|getdiverstate|getdlcassetsusagebyname|getdlcs|getdlcusagetime|geteditorcamera|geteditormode|getenginetargetrpmrtd|getentityinfo|geteventhandlerinfo|getfatigue|getfieldmanualstartpage|getforcedflagtexture|getforcedspeed|getfuelcargo|getfuelconsumptioncoef|getgraphvalues|getgroupiconparams|getgroupicons|getitemcargo|getleaning|getlightingat|getmagazinecargo|getmarkercolor|getmarkerpos|getmarkersize|getmarkertype|getmass|getmissionconfig|getmissionconfigvalue|getmissionlayerentities|getmissionpath|getmodelinfo|getnumber|getobjectdlc|getobjectfov|getobjectid|getobjectmaterials|getobjecttextures|getobjecttype|getoxygenremaining|getpersonuseddlcs|getpilotcameradirection|getpilotcameraopticsmode|getpilotcameraposition|getpilotcamerarotation|getpilotcameratarget|getplatenumber|getplayerchannel|getplayerscores|getplayeruid|getplayervonvolume|getpos|getposasl|getposaslvisual|getposaslw|getposatl|getposatlvisual|getposvisual|getposworld|getposworldvisual|getpylonmagazines|getrepaircargo|getrespawnvehicleinfo|getroadinfo|getrotorbrakertd|getsensortargets|getsensorthreats|getshotinfo|getshotparents|getslingload|getstamina|getstatvalue|getsuppression|getterrainheight|getterrainheightasl|gettext|gettextureinfo|gettowparent|gettrimoffsetrtd|getturretopticsmode|getunitfreefallinfo|getunitloadout|getunitmovesinfo|getunloadincombat|getuserinfo|getusermfdtext|getusermfdvalue|getvehiclecargo|getvehicletipars|getwaterfillpercentage|getwaterleakiness|getweaponcargo|getweaponsway|getwingsorientationrtd|getwingspositionrtd|getwppos|goggles|goto|group|groupfromnetid|groupid|groupowner|groups|groupselectedunits|gunner|handgunitems|handgunmagazine|handgunweapon|handshit|hashvalue|haspilotcamera|hcallgroups|hcleader|hcremoveallgroups|hcselected|hcshowbar|headgear|hidebody|hideobject|hideobjectglobal|hint|hintc|hintcadet|hintsilent|hmd|hostmission|ignore3denhistory|image|import|importallgroups|importance|incapacitatedstate|inflamed|infopanel|infopanels|ingameuiseteventhandler|inheritsfrom|inputaction|inputcontroller|inputmouse|insidebuilding|isabletobreathe|isagent|isaimprecisionenabled|isaisteeringcomponentenabled|isallowedcrewinimmobile|isarray|isautohoveron|isautonomous|isautostartupenabledrtd|isautotrimonrtd|isawake|isbleeding|isburning|isclass|iscollisionlighton|iscopilotenabled|isdamageallowed|isdlcavailable|isengineon|isfinal|isforcedwalk|isformationleader|isgroupdeletedwhenempty|ishidden|isinremainscollector|iskeyactive|islaseron|islighton|islocalized|ismanualfire|ismarkedforcollection|isnil|isnull|isnumber|isobjecthidden|isobjectrtd|isonroad|isplayer|isrealtime|isremotecontrolling|isshowing3dicons|issimpleobject|issprintallowed|isstaminaenabled|istext|isthrowable|istouchingground|isturnedout|isuavconnected|isvehiclecargo|isvehicleradaron|iswalking|isweapondeployed|isweaponrested|itemcargo|items|itemswithmagazines|keyimage|keyname|landresult|lasertarget|lbadd|lbclear|lbcolor|lbcolorright|lbcursel|lbdata|lbdelete|lbpicture|lbpictureright|lbselection|lbsetcolor|lbsetcolorright|lbsetcursel|lbsetdata|lbsetpicture|lbsetpicturecolor|lbsetpicturecolordisabled|lbsetpicturecolorselected|lbsetpictureright|lbsetselectcolor|lbsetselectcolorright|lbsettext|lbsettooltip|lbsetvalue|lbsize|lbsort|lbsortbyvalue|lbtext|lbtextright|lbtooltip|lbvalue|leader|leaderboarddeinit|leaderboardgetrows|leaderboardinit|leaderboardrequestrowsfriends|leaderboardrequestrowsglobal|leaderboardrequestrowsglobalarounduser|leaderboardsrequestuploadscore|leaderboardsrequestuploadscorekeepbest|leaderboardstate|lifestate|lightdetachobject|lightison|linearconversion|lineintersects|lineintersectsobjs|lineintersectssurfaces|lineintersectswith|list|listremotetargets|listvehiclesensors|ln|lnbaddarray|lnbaddcolumn|lnbaddrow|lnbclear|lnbcolor|lnbcolorright|lnbcurselrow|lnbdata|lnbdeletecolumn|lnbdeleterow|lnbgetcolumnsposition|lnbpicture|lnbpictureright|lnbsetcolor|lnbsetcolorright|lnbsetcolumnspos|lnbsetcurselrow|lnbsetdata|lnbsetpicture|lnbsetpicturecolor|lnbsetpicturecolorright|lnbsetpicturecolorselected|lnbsetpicturecolorselectedright|lnbsetpictureright|lnbsettext|lnbsettextright|lnbsettooltip|lnbsetvalue|lnbsize|lnbsort|lnbsortbyvalue|lnbtext|lnbtextright|lnbvalue|load|load3denscenario|loadabs|loadbackpack|loadconfig|loadcuratorselectionpreset|loadfile|loaduniform|loadvest|local|localize|locationposition|locked|lockeddriver|lockedinventory|lockidentity|log|lognetwork|lognetworkterminate|magazinecargo|magazines|magazinesallturrets|magazinesammo|magazinesammocargo|magazinesammofull|magazinesdetail|magazinesdetailbackpack|magazinesdetailuniform|magazinesdetailvest|mapanimadd|mapcenteroncamera|mapgridposition|markeralpha|markerbrush|markercolor|markerdir|markerdrawpriority|markerpos|markershape|markersize|markertext|markertype|matrixtranspose|maxload|members|menuaction|menuadd|menuchecked|menuclear|menucollapse|menudata|menudelete|menuenable|menuenabled|menuexpand|menuhover|menupicture|menusetaction|menusetcheck|menusetdata|menusetpicture|menusetvalue|menushortcut|menushortcuttext|menusize|menusort|menutext|menuurl|menuvalue|mineactive|missiletarget|missiletargetpos|modparams|moonphase|morale|move3dencamera|moveout|movetime|movetocompleted|movetofailed|name|namedproperties|namesound|nearestbuilding|nearestlocation|nearestlocations|nearestlocationwithdubbing|nearestmines|nearestobject|nearestobjects|nearestterrainobjects|needreload|needservice|netid|nextmenuitemindex|numberofenginesrtd|numbertodate|objectcurators|objectfromnetid|objectparent|onbriefinggroup|onbriefingnotes|onbriefingplan|onbriefingteamswitch|oncommandmodechanged|oneachframe|ongroupiconclick|ongroupiconoverenter|ongroupiconoverleave|onhcgroupselectionchanged|onmapsingleclick|onplayerconnected|onplayerdisconnected|onpreloadfinished|onpreloadstarted|onteamswitch|opendlcpage|openmap|opensteamapp|openyoutubevideo|owner|param|params|parsenumber|parsesimplearray|parsetext|pickweaponpool|pitch|playableslotsnumber|playersnumber|playmission|playmusic|playscriptedmission|playsound|playsound3d|playsoundui|pose|position|positioncameratoworld|ppeffectcommitted|ppeffectcreate|ppeffectdestroy|ppeffectenabled|precision|preloadcamera|preloadsound|preloadtitleobj|preloadtitlersc|primaryweapon|primaryweaponitems|primaryweaponmagazine|priority|processdiarylink|progressloadingscreen|progressposition|publicvariable|publicvariableserver|putweaponpool|queryitemspool|querymagazinepool|queryweaponpool|rad|radiochannelcreate|radiochannelinfo|random|rank|rankid|rating|rectangular|registeredtasks|reload|reloadenabled|remotecontrolled|remoteexec|remoteexeccall|remove3denconnection|remove3deneventhandler|remove3denlayer|removeall3deneventhandlers|removeallactions|removeallassigneditems|removeallcontainers|removeallcuratoraddons|removeallcuratorcameraareas|removeallcuratoreditingareas|removeallhandgunitems|removeallitems|removeallitemswithmagazines|removeallmissioneventhandlers|removeallmusiceventhandlers|removeallownedmines|removeallprimaryweaponitems|removealluseractioneventhandlers|removeallweapons|removebackpack|removebackpackglobal|removefromremainscollector|removegoggles|removeheadgear|removemissioneventhandler|removemusiceventhandler|removeswitchableunit|removeuniform|removeuseractioneventhandler|removevest|requiredversion|resetsubgroupdirection|resources|restarteditorcamera|reverse|roadat|roadsconnectedto|roledescription|ropeattachedobjects|ropeattachedto|ropeattachenabled|ropecreate|ropecut|ropedestroy|ropeendposition|ropelength|ropes|ropesattachedto|ropeunwind|ropeunwound|rotorsforcesrtd|rotorsrpmrtd|round|save3deninventory|saveoverlay|savevar|score|scoreside|screenshot|screentoworld|scriptdone|scriptname|scudstate|secondaryweapon|secondaryweaponitems|secondaryweaponmagazine|selectbestplaces|selectededitorobjects|selectionnames|selectionposition|selectmax|selectmin|selectplayer|selectrandom|selectrandomweighted|sendaumessage|sendudpmessage|servercommand|servercommandavailable|servercommandexecutable|set3denattributes|set3dengrid|set3deniconsvisible|set3denlinesvisible|set3denmissionattributes|set3denmodelsvisible|set3denselected|setacctime|setaperture|setaperturenew|setarmorypoints|setcamshakedefparams|setcamshakeparams|setcompassdeclination|setcompassoscillation|setcuratorselected|setcurrentchannel|setcustommissiondata|setcustomsoundcontroller|setdate|setdefaultcamera|setdetailmapblendpars|setgroupiconsselectable|setgroupiconsvisible|sethorizonparallaxcoef|sethudmovementlevels|sethumidity|setinfopanel|setlocalwindparams|setmissionoptions|setmouseposition|setmusiceventhandler|setobjectviewdistance|setpipviewdistance|setplayable|setplayerrespawntime|setrain|setshadowdistance|setsimulweatherlayers|setstaminascheme|setstatvalue|setsystemofunits|setterraingrid|setterrainheight|settimemultiplier|settiparameter|settrafficdensity|settrafficdistance|settrafficgap|settrafficspeed|setviewdistance|setwind|setwinddir|showchat|showcinemaborder|showcommandingmenu|showcompass|showcuratorcompass|showgps|showhud|showmap|showpad|showradio|showscoretable|showsubtitles|showuavfeed|showwarrant|showwatch|showwaypoints|side|simpletasks|simulationenabled|simulclouddensity|simulcloudocclusion|simulinclouds|sin|size|sizeof|skill|skiptime|sleep|sliderposition|sliderrange|slidersetposition|slidersetrange|slidersetspeed|sliderspeed|soldiermagazines|someammo|soundparams|speaker|speed|speedmode|sqrt|squadparams|stance|startloadingscreen|stopenginertd|stopped|stopsound|str|supportinfo|surfaceiswater|surfacenormal|surfacetexture|surfacetype|switchcamera|synchronizedobjects|synchronizedtriggers|synchronizedwaypoints|systemchat|tan|taskalwaysvisible|taskchildren|taskcompleted|taskcustomdata|taskdescription|taskdestination|taskhint|taskmarkeroffset|taskparent|taskresult|taskstate|tasktype|teammember|teamname|teamtype|terminate|terrainintersect|terrainintersectasl|terrainintersectatasl|text|textlog|textlogformat|tg|throwables|titlecut|titlefadeout|titleobj|titlersc|titletext|toarray|tofixed|tolower|toloweransi|tostring|toupper|toupperansi|triggeractivated|triggeractivation|triggerammo|triggerarea|triggerattachedvehicle|triggerinterval|triggerstatements|triggertext|triggertimeout|triggertimeoutcurrent|triggertype|tvadd|tvclear|tvcollapse|tvcollapseall|tvcount|tvcursel|tvdata|tvdelete|tvexpand|tvexpandall|tvpicture|tvpictureright|tvsetcursel|tvsetdata|tvsetpicture|tvsetpicturecolor|tvsetpictureright|tvsetpicturerightcolor|tvsettext|tvsettooltip|tvsetvalue|tvsort|tvsortbyvalue|tvtext|tvtooltip|tvvalue|type|typename|typeof|uavcontrol|uisleep|unassigncurator|unassignteam|unassignvehicle|underwater|uniform|uniformcontainer|uniformitems|uniformmagazines|uniqueunititems|unitaddons|unitaimposition|unitaimpositionvisual|unitbackpack|unitisuav|unitpos|unitready|unitrecoilcoefficient|units|unlockachievement|updateobjecttree|useaiopermapobstructiontest|useaisteeringcomponent|values|vectordir|vectordirvisual|vectorlinearconversion|vectormagnitude|vectormagnitudesqr|vectornormalized|vectorside|vectorsidevisual|vectorup|vectorupvisual|vehicle|vehiclecargoenabled|vehiclemoveinfo|vehiclereceiveremotetargets|vehiclereportownposition|vehiclereportremotetargets|vehiclevarname|velocity|velocitymodelspace|verifysignature|vest|vestcontainer|vestitems|vestmagazines|visibleposition|visiblepositionasl|waituntil|waterdamaged|waypointattachedobject|waypointattachedvehicle|waypointbehaviour|waypointcombatmode|waypointcompletionradius|waypointdescription|waypointforcebehaviour|waypointformation|waypointhouseposition|waypointloiteraltitude|waypointloiterradius|waypointloitertype|waypointname|waypointposition|waypoints|waypointscript|waypointsenableduav|waypointshow|waypointspeed|waypointstatements|waypointtimeout|waypointtimeoutcurrent|waypointtype|waypointvisible|weaponcargo|weapondisassemblyenabled|weaponinertia|weaponlowered|weapons|weaponsitems|weaponsitemscargo|weaponstate|weightrtd|wfsidetext|wingsforcesrtd|worldtoscreen)\\b"},{"name":"support.function.sqf","match":"\\b(?i:addbinocularitem|ctrlsetmouseposition|ctrlseturl|fadeenvironment|get|getordefault|insert|isnotequalto|merge|setmarkerpolyline|setmarkerpolylinelocal|setobjectscale|setunitcombatmode|tvisselected|tvsetselected|tvsortall|tvsortbyvalueall|setcombatbehaviour|setdiarysubjectpicture|setmarkershadow|setmarkershadowlocal|setweaponzeroing|action|actionnow|actionparams|add3denlayer|addaction|addbackpack|addbackpackcargo|addbackpackcargoglobal|addbackpackglobal|addcuratoraddons|addcuratorcameraarea|addcuratoreditableobjects|addcuratoreditingarea|addcuratorpoints|addeditorobject|addeventhandler|addforce|addgoggles|addgroupicon|addhandgunitem|addheadgear|additem|additemcargo|additemcargoglobal|additemtobackpack|additemtouniform|additemtovest|addlivestats|addmagazine|addmagazineammocargo|addmagazinecargo|addmagazinecargoglobal|addmagazineglobal|addmagazines|addmagazineturret|addmenu|addmenuitem|addmpeventhandler|addownedmine|addplayerscores|addprimaryweaponitem|addpublicvariableeventhandler|addrating|addresources|addscore|addscoreside|addsecondaryweaponitem|addteammember|addtorque|adduniform|addvehicle|addvest|addwaypoint|addweapon|addweaponcargo|addweaponcargoglobal|addweaponglobal|addweaponitem|addweaponturret|addweaponwithattachmentscargo|addweaponwithattachmentscargoglobal|aimedattarget|alldiaryrecords|allobjects|allow3dmode|allowcrewinimmobile|allowcuratorlogicignoreareas|allowdamage|allowdammage|allowfileoperations|allowfleeing|allowgetin|allowservice|allowsprint|ammo|ammoonpylon|animate|animatebay|animatedoor|animatepylon|animatesource|animationphase|animationsourcephase|append|apply|arrayintersect|assignascargo|assignascargoindex|assignascommander|assignasdriver|assignasgunner|assignasturret|assigncurator|assignitem|assignteam|assigntoairport|atan2|attachobject|attachto|awake|backpackspacefor|bezierinterpolation|boundingbox|boundingboxreal|buildingexit|buildingpos|buttonsetaction|callextension|camcommand|camcommit|camcommitprepared|camconstuctionsetparams|camcreate|cameraeffect|campreload|campreparebank|campreparedir|campreparedive|campreparefocus|campreparefov|campreparefovrange|campreparepos|campreparerelpos|campreparetarget|camsetbank|camsetdir|camsetdive|camsetfocus|camsetfov|camsetfovrange|camsetpos|camsetrelpos|camsettarget|canadd|canadditemtobackpack|canadditemtouniform|canadditemtovest|canslingload|canvehiclecargo|cbsetchecked|checkaifeature|checkvisibility|clear3denattribute|closedisplay|collect3denhistory|commandartilleryfire|commandchat|commandfire|commandfollow|commandfsm|commandmove|commandradio|commandsuppressivefire|commandtarget|commandwatch|configclasses|confirmsensortarget|connectterminaltouav|controlsgroupctrl|copywaypoints|count|countenemy|countfriendly|countside|counttype|countunknown|create3denentity|creatediaryrecord|creatediarysubject|createdisplay|createhashmapfromarray|createmenu|createmissiondisplay|creatempcampaigndisplay|createsimpletask|createsite|createtask|createunit|createvehicle|createvehiclecrew|createvehiclelocal|ctdata|ctfindheaderrows|ctfindrowheader|ctheadercontrols|ctremoveheaders|ctremoverows|ctrlactivate|ctrladdeventhandler|ctrlanimatemodel|ctrlanimationphasemodel|ctrlat|ctrlchecked|ctrlcommit|ctrlcreate|ctrlenable|ctrlmapanimadd|ctrlmapcursor|ctrlmapscreentoworld|ctrlmapsetposition|ctrlmapworldtoscreen|ctrlremovealleventhandlers|ctrlremoveeventhandler|ctrlsetactivecolor|ctrlsetangle|ctrlsetautoscrolldelay|ctrlsetautoscrollrewind|ctrlsetautoscrollspeed|ctrlsetbackgroundcolor|ctrlsetchecked|ctrlsetdisabledcolor|ctrlseteventhandler|ctrlsetfade|ctrlsetfont|ctrlsetfonth1|ctrlsetfonth1b|ctrlsetfonth2|ctrlsetfonth2b|ctrlsetfonth3|ctrlsetfonth3b|ctrlsetfonth4|ctrlsetfonth4b|ctrlsetfonth5|ctrlsetfonth5b|ctrlsetfonth6|ctrlsetfonth6b|ctrlsetfontheight|ctrlsetfontheighth1|ctrlsetfontheighth2|ctrlsetfontheighth3|ctrlsetfontheighth4|ctrlsetfontheighth5|ctrlsetfontheighth6|ctrlsetfontheightsecondary|ctrlsetfontp|ctrlsetfontpb|ctrlsetfontsecondary|ctrlsetforegroundcolor|ctrlsetmodel|ctrlsetmodeldirandup|ctrlsetmodelscale|ctrlsetpixelprecision|ctrlsetposition|ctrlsetpositionh|ctrlsetpositionw|ctrlsetpositionx|ctrlsetpositiony|ctrlsetscale|ctrlsetscrollvalues|ctrlsetshadow|ctrlsetstructuredtext|ctrlsettext|ctrlsettextcolor|ctrlsettextcolorsecondary|ctrlsettextsecondary|ctrlsettextselection|ctrlsettooltip|ctrlsettooltipcolorbox|ctrlsettooltipcolorshade|ctrlsettooltipcolortext|ctrlsettooltipmaxwidth|ctrlseturloverlaymode|ctrlshow|ctrowcontrols|ctsetcursel|ctsetdata|ctsetheadertemplate|ctsetrowtemplate|ctsetvalue|ctvalue|curatorcoef|currentmagazinedetailturret|currentmagazineturret|currentvisionmode|currentweaponturret|currentzeroing|customchat|customradio|cutfadeout|cutobj|cutrsc|cuttext|debugfsm|deleteat|deleteeditorobject|deletegroupwhenempty|deleterange|deleteresources|deletevehiclecrew|diag_enable|diarysubjectexists|directionstabilizationenabled|directsay|disableai|disablebrakes|disablecollisionwith|disableconversation|disablenvgequipment|disabletiequipment|disableuavconnectability|displayaddeventhandler|displayctrl|displayremovealleventhandlers|displayremoveeventhandler|displayseteventhandler|distance|distance2d|distancesqr|doartilleryfire|dofire|dofollow|dofsm|domove|doorphase|dosuppressivefire|dotarget|dowatch|drawarrow|drawellipse|drawicon|drawline|drawlink|drawlocation|drawpolygon|drawrectangle|drawtriangle|editobject|editorseteventhandler|elevateperiscope|emptypositions|enableai|enableaifeature|enableaimprecision|enableattack|enableaudiofeature|enableautostartuprtd|enableautotrimrtd|enablechannel|enablecollisionwith|enablecopilot|enabledirectionstabilization|enabledynamicsimulation|enablefatigue|enablegunlights|enableinfopanelcomponent|enableirlasers|enablemimics|enablepersonturret|enablereload|enableropeattach|enablesimulation|enablesimulationglobal|enablestamina|enableuavconnectability|enableuavwaypoints|enablevehiclecargo|enablevehiclesensor|enableweapondisassembly|engineon|evalobjectargument|exec|execeditorscript|fademusic|faderadio|fadesound|fadespeech|find|findany|findcover|findeditorobject|findemptyposition|findemptypositionready|findif|findnearestenemy|fire|fireattarget|flyinheight|flyinheightasl|forceadduniform|forceflagtexture|forcefollowroad|forcespeed|forcewalk|forceweaponfire|foreachreversed|forgettarget|get3denattribute|get3denattributes|get3denmissionattribute|get3denmissionattributes|getartilleryeta|getcargoindex|getcompatiblepylonmagazines|getdir|getdirvisual|geteditorobjectscope|getentityinfo|getenv3dsoundcontroller|getenvsoundcontroller|geteventhandlerinfo|getfriend|getfsmvariable|getgroupicon|gethidefrom|gethit|gethitindex|gethitpointdamage|getobjectargument|getobjectchildren|getobjectproxy|getopticsmode|getordefaultcall|getpos|getreldir|getrelpos|getrespawnvehicleinfo|getselectionbones|getshotinfo|getslotitemname|getsoundcontroller|getsoundcontrollerresult|getspeed|gettextwidth|getturretlimits|getturretopticsmode|getunitmovesinfo|getunittrait|getuserinfo|getvariable|glanceat|globalchat|globalradio|groupchat|groupradio|groupselectunit|hasweapon|hcgroupparams|hcremovegroup|hcselectgroup|hcsetgroup|hideobject|hideobjectglobal|hideselection|hintc|htmlload|ignoretarget|in|inarea|inareaarray|inareaarrayindexes|inflame|infopanelcomponentenabled|infopanelcomponents|inpolygon|inrangeofartillery|inserteditorobject|intersect|isequalref|isequalto|isequaltype|isequaltypeall|isequaltypeany|isequaltypearray|isequaltypeparams|isflashlighton|isflatempty|isirlaseron|iskindof|islaseron|isnil|isnotequalref|issensortargetconfirmed|isuavconnectable|isuniformallowed|isvehiclesensorenabled|join|joinas|joinassilent|joinsilent|joinstring|kbadddatabase|kbadddatabasetargets|kbaddtopic|kbhastopic|kbreact|kbremovetopic|kbtell|kbwassaid|knowsabout|land|landat|lasertarget|lbadd|lbcolor|lbcolorright|lbdata|lbdelete|lbisselected|lbpicture|lbpictureright|lbsetcolor|lbsetcolorright|lbsetcursel|lbsetdata|lbsetpicture|lbsetpicturecolor|lbsetpicturecolordisabled|lbsetpicturecolorselected|lbsetpictureright|lbsetpicturerightcolor|lbsetpicturerightcolordisabled|lbsetpicturerightcolorselected|lbsetselectcolor|lbsetselectcolorright|lbsetselected|lbsettext|lbsettextright|lbsettooltip|lbsetvalue|lbsortby|lbtext|lbtextright|lbtooltip|lbvalue|leavevehicle|lightattachobject|limitspeed|linkitem|listobjects|lnbaddcolumn|lnbaddrow|lnbcolor|lnbcolorright|lnbdata|lnbdeletecolumn|lnbdeleterow|lnbpicture|lnbpictureright|lnbsetcolor|lnbsetcolorright|lnbsetcolumnspos|lnbsetcurselrow|lnbsetdata|lnbsetpicture|lnbsetpicturecolor|lnbsetpicturecolorright|lnbsetpicturecolorselected|lnbsetpicturecolorselectedright|lnbsetpictureright|lnbsettext|lnbsettextright|lnbsettooltip|lnbsetvalue|lnbsort|lnbsortby|lnbsortbyvalue|lnbtext|lnbtextright|lnbvalue|loadidentity|loadmagazine|loadoverlay|loadstatus|lock|lockcamerato|lockcargo|lockdriver|lockedcamerato|lockedcargo|lockedturret|lockinventory|lockturret|lockwp|lookat|lookatpos|magazinesturret|magazineturretammo|mapcenteroncamera|matrixmultiply|max|menuaction|menuadd|menuchecked|menucollapse|menudata|menudelete|menuenable|menuenabled|menuexpand|menupicture|menusetaction|menusetcheck|menusetdata|menusetpicture|menusetshortcut|menusettext|menuseturl|menusetvalue|menushortcut|menushortcuttext|menusize|menusort|menutext|menuurl|menuvalue|min|minedetectedby|mod|modeltoworld|modeltoworldvisual|modeltoworldvisualworld|modeltoworldworld|move|moveinany|moveincargo|moveincommander|moveindriver|moveingunner|moveinturret|moveobjecttoend|moveout|moveto|namedproperties|nearentities|nearestobject|nearobjects|nearobjectsready|nearroads|nearsupplies|neartargets|newoverlay|nmenuitems|objstatus|ondoubleclick|onmapsingleclick|onshownewobject|ordergetin|param|params|periscopeelevation|playaction|playactionnow|playgesture|playmove|playmovenow|posscreentoworld|posworldtoscreen|ppeffectadjust|ppeffectcommit|ppeffectenable|ppeffectforceinnvg|preloadobject|progresssetposition|publicvariableclient|pushback|pushbackunique|radiochanneladd|radiochannelremove|radiochannelsetcallsign|radiochannelsetlabel|random|regexfind|regexmatch|regexreplace|registertask|reload|remotecontrol|remoteexec|remoteexeccall|removeaction|removealleventhandlers|removeallmpeventhandlers|removebinocularitem|removecuratoraddons|removecuratorcameraarea|removecuratoreditableobjects|removecuratoreditingarea|removediaryrecord|removediarysubject|removedrawicon|removedrawlinks|removeeventhandler|removegroupicon|removehandgunitem|removeitem|removeitemfrombackpack|removeitemfromuniform|removeitemfromvest|removeitems|removemagazine|removemagazineglobal|removemagazines|removemagazinesturret|removemagazineturret|removemenuitem|removempeventhandler|removeownedmine|removeprimaryweaponitem|removesecondaryweaponitem|removesimpletask|removeteammember|removeweapon|removeweaponattachmentcargo|removeweaponcargo|removeweaponglobal|removeweaponturret|reportremotetarget|resize|respawnvehicle|reveal|revealmine|ropeattachto|ropedetach|saveidentity|savestatus|say|say2d|say3d|select|selectdiarysubject|selecteditorobject|selectionnames|selectionposition|selectionvectordirandup|selectleader|selectrandomweighted|selectthrowable|selectweapon|selectweaponturret|sendsimplecommand|sendtask|sendtaskresult|servercommand|set|set3denattribute|set3denlayer|set3denlogictype|set3denmissionattribute|set3denobjecttype|setactualcollectivertd|setairplanethrottle|setairportside|setammo|setammocargo|setammoonpylon|setangularvelocity|setangularvelocitymodelspace|setanimspeedcoef|setattributes|setautonomous|setbehaviour|setbehaviourstrong|setbleedingremaining|setbrakesrtd|setcamerainterest|setcamuseti|setcaptive|setcenterofmass|setcollisionlight|setcombatmode|setconvoyseparation|setcruisecontrol|setcuratorcameraareaceiling|setcuratorcoef|setcuratoreditingareatype|setcuratorselectionpreset|setcuratorwaypointcost|setcurrenttask|setcurrentwaypoint|setcustomaimcoef|setcustomweightrtd|setdamage|setdammage|setdebriefingtext|setdestination|setdiaryrecordtext|setdir|setdirection|setdrawicon|setdriveonpath|setdropinterval|setdynamicsimulationdistance|setdynamicsimulationdistancecoef|seteditormode|seteditorobjectscope|seteffectcondition|seteffectivecommander|setenginerpmrtd|setface|setfaceanimation|setfatigue|setfeaturetype|setflaganimationphase|setflagowner|setflagside|setflagtexture|setfog|setforcegeneratorrtd|setformation|setformationtask|setformdir|setfriend|setfromeditor|setfsmvariable|setfuel|setfuelcargo|setfuelconsumptioncoef|setgroupicon|setgroupiconparams|setgroupid|setgroupidglobal|setgroupowner|setgusts|sethidebehind|sethit|sethitindex|sethitpointdamage|setidentity|setimportance|setleader|setlightambient|setlightattenuation|setlightbrightness|setlightcolor|setlightconepars|setlightdaylight|setlightflaremaxdistance|setlightflaresize|setlightintensity|setlightir|setlightnings|setlightuseflare|setlightvolumeshape|setmagazineturretammo|setmarkeralpha|setmarkeralphalocal|setmarkerbrush|setmarkerbrushlocal|setmarkercolor|setmarkercolorlocal|setmarkerdir|setmarkerdirlocal|setmarkerdrawpriority|setmarkerpos|setmarkerposlocal|setmarkershape|setmarkershapelocal|setmarkersize|setmarkersizelocal|setmarkertext|setmarkertextlocal|setmarkertype|setmarkertypelocal|setmass|setmaxload|setmimic|setmissiletarget|setmissiletargetpos|setmusiceffect|setname|setnamesound|setobjectarguments|setobjectmaterial|setobjectmaterialglobal|setobjectproxy|setobjecttexture|setobjecttextureglobal|setopticsmode|setovercast|setowner|setoxygenremaining|setparticlecircle|setparticleclass|setparticlefire|setparticleparams|setparticlerandom|setpilotcameradirection|setpilotcameraopticsmode|setpilotcamerarotation|setpilotcameratarget|setpilotlight|setpipeffect|setpitch|setplatenumber|setplayervonvolume|setpos|setposasl|setposasl2|setposaslw|setposatl|setposition|setposworld|setpylonloadout|setpylonspriority|setradiomsg|setrain|setrainbow|setrandomlip|setrank|setrectangular|setrepaircargo|setrotorbrakertd|setshotparents|setside|setsimpletaskalwaysvisible|setsimpletaskcustomdata|setsimpletaskdescription|setsimpletaskdestination|setsimpletasktarget|setsimpletasktype|setsize|setskill|setslingload|setsoundeffect|setspeaker|setspeech|setspeedmode|setstamina|setsuppression|settargetage|settaskmarkeroffset|settaskresult|settaskstate|settext|settitleeffect|settowparent|settriggeractivation|settriggerarea|settriggerinterval|settriggerstatements|settriggertext|settriggertimeout|settriggertype|setturretlimits|setturretopticsmode|settype|setunconscious|setunitability|setunitfreefallheight|setunitloadout|setunitpos|setunitposweak|setunitrank|setunitrecoilcoefficient|setunittrait|setunloadincombat|setuseractiontext|setusermfdtext|setusermfdvalue|setvariable|setvectordir|setvectordirandup|setvectorup|setvehicleammo|setvehicleammodef|setvehiclearmor|setvehiclecargo|setvehicleid|setvehiclelock|setvehicleposition|setvehicleradar|setvehiclereceiveremotetargets|setvehiclereportownposition|setvehiclereportremotetargets|setvehicletipars|setvehiclevarname|setvelocity|setvelocitymodelspace|setvelocitytransformation|setvisibleiftreecollapsed|setwantedrpmrtd|setwaterfillpercentage|setwaterleakiness|setwaves|setwaypointbehaviour|setwaypointcombatmode|setwaypointcompletionradius|setwaypointdescription|setwaypointforcebehaviour|setwaypointformation|setwaypointhouseposition|setwaypointloiteraltitude|setwaypointloiterradius|setwaypointloitertype|setwaypointname|setwaypointposition|setwaypointscript|setwaypointspeed|setwaypointstatements|setwaypointtimeout|setwaypointtype|setwaypointvisible|setweaponreloadingtime|setwinddir|setwindforce|setwindstr|setwingforcescalertd|setwppos|show3dicons|showlegend|showneweditorobject|showwaypoint|sidechat|sideradio|skill|skillfinal|slidersetposition|slidersetrange|slidersetspeed|sort|splitstring|stop|suppressfor|swimindepth|switchaction|switchcamera|switchgesture|switchlight|switchmove|synchronizeobjectsadd|synchronizeobjectsremove|synchronizetrigger|synchronizewaypoint|targetknowledge|targets|targetsaggregate|targetsquery|toarray|tofixed|triggerattachobject|triggerattachvehicle|triggerdynamicsimulation|trim|turretlocal|turretowner|turretunit|tvadd|tvcollapse|tvcount|tvdata|tvdelete|tvexpand|tvpicture|tvpictureright|tvsetcolor|tvsetcursel|tvsetdata|tvsetpicture|tvsetpicturecolor|tvsetpicturecolordisabled|tvsetpicturecolorselected|tvsetpictureright|tvsetpicturerightcolor|tvsetpicturerightcolordisabled|tvsetpicturerightcolorselected|tvsetselectcolor|tvsettext|tvsettooltip|tvsetvalue|tvsort|tvsortbyvalue|tvtext|tvtooltip|tvvalue|unassignitem|unitsbelowheight|unitturret|unlinkitem|unregistertask|updatedrawicon|updatemenuitem|useaisteeringcomponent|useaudiotimeformoves|vectoradd|vectorcos|vectorcrossproduct|vectordiff|vectordistance|vectordistancesqr|vectordotproduct|vectorfromto|vectormodeltoworld|vectormodeltoworldvisual|vectormultiply|vectorworldtomodel|vectorworldtomodelvisual|vehiclechat|vehicleradio|waypointattachobject|waypointattachvehicle|weaponaccessories|weaponaccessoriescargo|weapondirection|weaponreloadingtime|weaponsinfo|weaponstate|weaponsturret|worldtomodel|worldtomodelvisual)\\b"},{"name":"support.function.sqf","match":"\\b(?i:apertureparams|createhashmap|diag_dumpterrainsynth|diag_scope|environmentvolume|missionnamesource|speechvolume|acctime|activatedaddons|agents|airdensitycurvertd|all3denentities|allactivetitleeffects|alladdonsinfo|allairports|allcurators|allcutlayers|alldead|alldeadmen|alldisplays|allenv3dsoundsources|allgroups|allmapmarkers|allmines|allplayers|allsites|allunits|allunitsuav|allusers|ambienttemperature|armorypoints|benchmark|briefingname|buldozer_isenabledroaddiag|buldozer_reloadopermap|cadetmode|cameraon|cameraview|campaignconfigfile|cansuspend|cheatsenabled|clearforcesrtd|clearitempool|clearmagazinepool|clearradio|clearweaponpool|clientowner|commandingmenu|configfile|copyfromclipboard|curatorcamera|curatormouseover|curatorselected|current3denoperation|currentchannel|currentnamespace|cursorobject|cursortarget|customwaypointposition|date|daytime|diag_activemissionfsms|diag_activescripts|diag_activesqfscripts|diag_activesqsscripts|diag_allmissioneventhandlers|diag_deltatime|diag_dumpcalltracetolog|diag_fps|diag_fpsmin|diag_frameno|diag_resetanims|diag_resetfsm|diag_resetshapes|diag_stacktrace|diag_ticktime|dialog|diaryrecordnull|didjip|difficulty|difficultyenabledrtd|disabledebriefingstats|disableserialization|distributionregion|dynamicsimulationsystemenabled|enableenddialog|endloadingscreen|environmentenabled|estimatedendservertime|exit|finishmissioninit|focuson|fog|fogforecast|fogparams|forcedmap|forceend|forceweatherchange|freelook|get3dencamera|get3deniconsvisible|get3denlinesvisible|get3denmouseover|getartillerycomputersettings|getaudiooptionvolumes|getcalculateplayervisibilitybyfriendly|getclientstate|getclientstatenumber|getcursorobjectparams|getdlcassetsusage|getelevationoffset|getlighting|getloadedmodsinfo|getmissiondlcs|getmissionlayers|getmissionoptions|getmouseposition|getmusicplayedtime|getobjectviewdistance|getpipviewdistance|getremotesensorsdisabled|getresolution|getshadowdistance|getsteamfriendsservers|getsubtitleoptions|getterraingrid|getterraininfo|gettiparameters|gettotaldlcusagetime|getvideooptions|groupiconselectable|groupiconsvisible|gusts|halt|hasinterface|hcshownbar|hudmovementlevels|humidity|initambientlife|is3den|is3denmultiplayer|is3denpreview|isactionmenuvisible|isautotest|isdedicated|isfilepatchingenabled|isgamefocused|isgamepaused|isinstructorfigureenabled|ismissionprofilenamespaceloaded|ismultiplayer|ismultiplayersolo|ispipenabled|isremoteexecuted|isremoteexecutedjip|issaving|isserver|issteammission|issteamoverlayenabled|isstreamfriendlyuienabled|isstressdamageenabled|istuthintsenabled|isuicontext|isusingaisteeringcomponent|language|librarycredits|librarydisclaimers|lightnings|loadgame|localnamespace|logentities|mapanimclear|mapanimcommit|mapanimdone|markasfinishedonsteam|missionconfigfile|missiondifficulty|missionend|missionname|missionnamespace|missionprofilenamespace|missionstart|missionversion|moonintensity|musicvolume|netobjnull|nextweatherchange|opencuratorinterface|overcast|overcastforecast|parsingnamespace|particlesquality|pixelgrid|pixelgridbase|pixelgridnouiscale|pixelh|pixelw|playableunits|player|playerrespawntime|playerside|playertargetlock|privateall|productversion|profilename|profilenamespace|profilenamesteam|radioenabled|radiovolume|rain|rainbow|rainparams|remoteexecutedowner|resetcamshake|reversedmousey|runinitscript|safezoneh|safezonew|safezonewabs|safezonex|safezonexabs|safezoney|save3denpreferences|savegame|savejoysticks|savemissionprofilenamespace|saveprofilenamespace|savingenabled|selectnoplayer|sentencesenabled|servername|servernamespace|servertime|shownartillerycomputer|shownchat|showncompass|showncuratorcompass|showngps|shownhud|shownmap|shownpad|shownradio|shownscoretable|shownsubtitles|shownuavfeed|shownwarrant|shownwatch|sideenemy|sidefriendly|simulweathersync|slingloadassistantshown|soundvolume|sunormoon|switchableunits|systemofunits|systemtime|systemtimeutc|teams|teamswitch|teamswitchenabled|time|timemultiplier|uinamespace|userinputdisabled|vehicles|viewdistance|visiblecompass|visiblegps|visiblemap|visiblescoretable|visiblewatch|waves|wind|winddir|windrtd|windstr|worldname|worldsize)\\b"},{"name":"constant.numeric.sqf","match":"\\b0x[a-fA-F\\d]+|\\b\\d+(\\.\\d+)?([eE]-?\\d+)?|\\.\\d+([eE]-?\\d+)?"},{"name":"keyword.operator.comparison.sqf","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="},{"name":"comment.line.sqf","begin":"//","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.sqf"}}},{"name":"comment.block.sqf","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.sqf"}}},{"name":"keyword.operator.arithmetic.sqf","match":"\\+|\\-|\\*|\\/|%|\\^"},{"name":"keyword.operator.assignment.sqf","match":"\\="},{"name":"string.quoted.double.sqf","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sqf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sqf"}}},{"name":"string.quoted.sqf","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sqf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sqf"}}},{"name":"string.quoted.region.sqf","begin":"@\"","end":"\"@","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sqf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sqf"}}},{"name":"variable.other.sqf","match":"\\b_[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"variable.function.sqf","match":"[a-zA-Z]\\w+_fnc_\\w+"},{},{"name":"constant.other.sqf","match":"\\b__[a-zA-Z_][a-zA-Z0-9_]*"}]}
|
|
1
|
+
{"name":"SQF","scopeName":"source.sqf","patterns":[{"name":"keyword.other.sqf","match":"\\#ifdef|\\#ifndef|\\#else|\\#endif"},{"name":"keyword.control.import.sqf","match":"\\#include"},{"name":"keyword.declaration.sqf","match":"private|\\#define|\\#undef"},{"name":"variable.language.sqf","match":"\\b(?i:_exception|_foreachindex|_this|_thisfsm|_thislist|_thisscript|_x)\\b"},{"name":"constant.language.sqf","match":"\\b(?i:__eval|__exec|__file__|__line__|blufor|civilian|confignull|controlnull|displaynull|east|endl|false|grpnull|independent|linebreak|locationnull|nil|objnull|opfor|pi|resistance|scriptnull|sideambientlife|sideempty|sidelogic|sideunknown|tasknull|teammembernull|true|west)\\b|\\:|\\!|\u0026\u0026|\\|\\||\u003e\u003e"},{"name":"keyword.control.sqf","match":"\\b(?i:and|break|breakout|breakto|breakwith|call|case|catch|continue|continuewith|default|do|else|execfsm|execvm|exitwith|for|foreach|foreachmember|foreachmemberagent|foreachmemberteam|from|if|not|or|preprocessfile|preprocessfilelinenumbers|scopename|spawn|step|switch|then|throw|to|try|while|with)\\b|\\:|\\!|\u0026\u0026|\\|\\||\u003e\u003e"},{"name":"support.function.sqf","match":"\\b(?i:abs|acctime|acos|asin|atan|atan2|behaviour|boundingbox|boundingcenter|breakout|breakto|call|ceil|combatmode|cos|count|deleteat|diag_log|exp|floor|format|group|isnull|ln|log|max|min|objnull|player|random|round|select|sin|sqrt|str|tan|typename|vectordir|vectorup|vehicle)\\b"},{"name":"support.function.sqf","match":"\\b(?i:isequalto|isequaltype)\\b"},{"name":"support.function.sqf"},{"name":"constant.numeric.sqf","match":"\\b0x[a-fA-F\\d]+|\\b\\d+(\\.\\d+)?([eE]-?\\d+)?|\\.\\d+([eE]-?\\d+)?"},{"name":"keyword.operator.comparison.sqf","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="},{"name":"comment.line.sqf","begin":"//","end":"$\\n?","beginCaptures":{"0":{"name":"punctuation.definition.comment.sqf"}}},{"name":"comment.block.sqf","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.sqf"}}},{"name":"keyword.operator.arithmetic.sqf","match":"\\+|\\-|\\*|\\/|%|\\^"},{"name":"keyword.operator.assignment.sqf","match":"\\="},{"name":"string.quoted.double.sqf","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sqf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sqf"}}},{"name":"string.quoted.sqf","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sqf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sqf"}}},{"name":"string.quoted.region.sqf","begin":"@\"","end":"\"@","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sqf"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sqf"}}},{"name":"variable.other.sqf","match":"\\b_[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"variable.function.sqf","match":"[a-zA-Z]\\w+_fnc_\\w+"},{},{"name":"constant.other.sqf","match":"\\b__[a-zA-Z_][a-zA-Z0-9_]*"}]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"SurrealQL","scopeName":"source.surrealql","patterns":[{"include":"#comment"},{"include":"#js-function"},{"include":"#function"},{"include":"#keywords"},{"include":"#operators"},{"include":"#value"}],"repository":{"array":{"begin":"\\[","end":"\\]","patterns":[{"include":"#array-content"}]},"array-content":{"patterns":[{"include":"$self"},{"name":"punctuation.separator.array","match":","}]},"block":{"name":"surrealql.block","begin":"\\{","end":"\\}","patterns":[{"include":"#block-content"}]},"block-content":{"patterns":[{"include":"#string"},{"include":"#object-key"},{"include":"$self"}]},"boolean":{"name":"constant.language.bool","match":"\\b(true|TRUE|false|FALSE|True|False)\\b"},"comment":{"patterns":[{"include":"#comment.line.dash"},{"include":"#comment.line.slash"},{"include":"#comment.line.hash"},{"include":"#comment.block"}]},"comment.block":{"name":"comment.block.surrealql","begin":"/\\*","end":"\\*/"},"comment.line.dash":{"name":"comment.line.double-dash","begin":"--","end":"\\n"},"comment.line.hash":{"name":"comment.line.number-sign","begin":"#","end":"\\n"},"comment.line.slash":{"name":"comment.line.double-slash","begin":"//","end":"\\n"},"duration":{"name":"constant.other","match":"(\\d+(ns|µs|ms|s|m|h|d|w|y))+"},"function":{"begin":"(?=((?:\\b\\w+(?:::\\b\\w+)+)|count|rand)\\s*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]}],"beginCaptures":{"1":{"name":"support.function"}}},"ident":{"patterns":[{"name":"support.type.property-name","begin":"`","end":"(?\u003c!\\\\)`"},{"name":"support.type.property-name","begin":"⟨","end":"(?\u003c!\\\\)⟩"}]},"js-function":{"begin":"(?=(\\bfunction\\b))","end":"(?\u003c=})","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]},{"name":"meta.embedded.block.javascript","begin":"{","end":"}","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"support.function.js"}}},"keywords":{"patterns":[{"name":"keyword.control.access.surrealql","match":"\\b(ACCESS|access)\\b"},{"name":"keyword.control.algorithm.surrealql","match":"\\b(ALGORITHM|algorithm)\\b"},{"name":"keyword.control.all.surrealql","match":"\\b(ALL|all)\\b"},{"name":"keyword.control.alter.surrealql","match":"\\b(ALTER|alter)\\b"},{"name":"keyword.control.always.surrealql","match":"\\b(ALWAYS|always)\\b"},{"name":"keyword.control.analyzer.surrealql","match":"\\b(ANALYZER|analyzer)\\b"},{"name":"keyword.control.and.surrealql","match":"\\b(AND|and)\\b"},{"name":"keyword.control.any.surrealql","match":"\\b(ANY|any)\\b"},{"name":"keyword.control.api.surrealql","match":"\\b(API|api)\\b"},{"name":"keyword.control.as.surrealql","match":"\\b(AS|as)\\b"},{"name":"keyword.control.asc.surrealql","match":"\\b(ASC|asc)\\b"},{"name":"keyword.control.assert.surrealql","match":"\\b(ASSERT|assert)\\b"},{"name":"keyword.control.at.surrealql","match":"\\b(AT|at)\\b"},{"name":"keyword.control.authenticate.surrealql","match":"\\b(AUTHENTICATE|authenticate)\\b"},{"name":"keyword.control.auto.surrealql","match":"\\b(AUTO|auto)\\b"},{"name":"keyword.control.backend.surrealql","match":"\\b(BACKEND|backend)\\b"},{"name":"keyword.control.begin.surrealql","match":"\\b(BEGIN|begin)\\b"},{"name":"keyword.control.bm25.surrealql","match":"\\b(BM25|bm25)\\b"},{"name":"keyword.control.break.surrealql","match":"\\b(BREAK|break)\\b"},{"name":"keyword.control.bucket.surrealql","match":"\\b(BUCKET|bucket)\\b"},{"name":"keyword.control.by.surrealql","match":"\\b(BY|by)\\b"},{"name":"keyword.control.cancel.surrealql","match":"\\b(CANCEL|cancel)\\b"},{"name":"keyword.control.capacity.surrealql","match":"\\b(CAPACITY|capacity)\\b"},{"name":"keyword.control.cascade.surrealql","match":"\\b(CASCADE|cascade)\\b"},{"name":"keyword.control.changefeed.surrealql","match":"\\b(CHANGEFEED|changefeed)\\b"},{"name":"keyword.control.changes.surrealql","match":"\\b(CHANGES|changes)\\b"},{"name":"keyword.control.collate.surrealql","match":"\\b(COLLATE|collate)\\b"},{"name":"keyword.control.columns.surrealql","match":"\\b(COLUMNS|columns)\\b"},{"name":"keyword.control.comment.surrealql","match":"\\b(COMMENT|comment)\\b"},{"name":"keyword.control.commit.surrealql","match":"\\b(COMMIT|commit)\\b"},{"name":"keyword.control.computed.surrealql","match":"\\b(COMPUTED|computed)\\b"},{"name":"keyword.control.concurrently.surrealql","match":"\\b(CONCURRENTLY|concurrently)\\b"},{"name":"keyword.control.config.surrealql","match":"\\b(CONFIG|config)\\b"},{"name":"keyword.control.content.surrealql","match":"\\b(CONTENT|content)\\b"},{"name":"keyword.control.continue.surrealql","match":"\\b(CONTINUE|continue)\\b"},{"name":"keyword.control.create.surrealql","match":"\\b(CREATE|create)\\b"},{"name":"keyword.control.database.surrealql","match":"\\b(DATABASE|database)\\b"},{"name":"keyword.control.db.surrealql","match":"\\b(DB|db)\\b"},{"name":"keyword.control.default.surrealql","match":"\\b(DEFAULT|default)\\b"},{"name":"keyword.control.defer.surrealql","match":"\\b(DEFER|defer)\\b"},{"name":"keyword.control.define.surrealql","match":"\\b(DEFINE|define)\\b"},{"name":"keyword.control.delete.surrealql","match":"\\b(DELETE|delete)\\b"},{"name":"keyword.control.desc.surrealql","match":"\\b(DESC|desc)\\b"},{"name":"keyword.control.dimension.surrealql","match":"\\b(DIMENSION|dimension)\\b"},{"name":"keyword.control.dist.surrealql","match":"\\b(DIST|dist)\\b"},{"name":"keyword.control.doc_ids_cache.surrealql","match":"\\b(DOC_IDS_CACHE|doc_ids_cache)\\b"},{"name":"keyword.control.doc_ids_order.surrealql","match":"\\b(DOC_IDS_ORDER|doc_ids_order)\\b"},{"name":"keyword.control.doc_lengths_cache.surrealql","match":"\\b(DOC_LENGTHS_CACHE|doc_lengths_cache)\\b"},{"name":"keyword.control.doc_lengths_order.surrealql","match":"\\b(DOC_LENGTHS_ORDER|doc_lengths_order)\\b"},{"name":"keyword.control.drop.surrealql","match":"\\b(DROP|drop)\\b"},{"name":"keyword.control.duplicate.surrealql","match":"\\b(DUPLICATE|duplicate)\\b"},{"name":"keyword.control.duration.surrealql","match":"\\b(DURATION|duration)\\b"},{"name":"keyword.control.efc.surrealql","match":"\\b(EFC|efc)\\b"},{"name":"keyword.control.else.surrealql","match":"\\b(ELSE|else)\\b"},{"name":"keyword.control.end.surrealql","match":"\\b(END|end)\\b"},{"name":"keyword.control.enforced.surrealql","match":"\\b(ENFORCED|enforced)\\b"},{"name":"keyword.control.event.surrealql","match":"\\b(EVENT|event)\\b"},{"name":"keyword.control.exclude.surrealql","match":"\\b(EXCLUDE|exclude)\\b"},{"name":"keyword.control.exists.surrealql","match":"\\b(EXISTS|exists)\\b"},{"name":"keyword.control.explain.surrealql","match":"\\b(EXPLAIN|explain)\\b"},{"name":"keyword.control.expunge.surrealql","match":"\\b(EXPUNGE|expunge)\\b"},{"name":"keyword.control.extend_candidates.surrealql","match":"\\b(EXTEND_CANDIDATES|extend_candidates)\\b"},{"name":"keyword.control.fetch.surrealql","match":"\\b(FETCH|fetch)\\b"},{"name":"keyword.control.field.surrealql","match":"\\b(FIELD|field)\\b"},{"name":"keyword.control.fields.surrealql","match":"\\b(FIELDS|fields)\\b"},{"name":"keyword.control.filters.surrealql","match":"\\b(FILTERS|filters)\\b"},{"name":"keyword.control.flexible.surrealql","match":"\\b(FLEXIBLE|flexible)\\b"},{"name":"keyword.control.for.surrealql","match":"\\b(FOR|for)\\b"},{"name":"keyword.control.from.surrealql","match":"\\b(FROM|from)\\b"},{"name":"keyword.control.function.surrealql","match":"\\b(FUNCTION|function)\\b"},{"name":"keyword.control.functions.surrealql","match":"\\b(FUNCTIONS|functions)\\b"},{"name":"keyword.control.get.surrealql","match":"\\b(GET|get)\\b"},{"name":"keyword.control.graphql.surrealql","match":"\\b(GRAPHQL|graphql)\\b"},{"name":"keyword.control.group.surrealql","match":"\\b(GROUP|group)\\b"},{"name":"keyword.control.highlights.surrealql","match":"\\b(HIGHLIGHTS|highlights)\\b"},{"name":"keyword.control.hnsw.surrealql","match":"\\b(HNSW|hnsw)\\b"},{"name":"keyword.control.if.surrealql","match":"\\b(IF|if)\\b"},{"name":"keyword.control.ignore.surrealql","match":"\\b(IGNORE|ignore)\\b"},{"name":"keyword.control.in.surrealql","match":"\\b(IN|in)\\b"},{"name":"keyword.control.include.surrealql","match":"\\b(INCLUDE|include)\\b"},{"name":"keyword.control.index.surrealql","match":"\\b(INDEX|index)\\b"},{"name":"keyword.control.info.surrealql","match":"\\b(INFO|info)\\b"},{"name":"keyword.control.insert.surrealql","match":"\\b(INSERT|insert)\\b"},{"name":"keyword.control.into.surrealql","match":"\\b(INTO|into)\\b"},{"name":"keyword.control.issuer.surrealql","match":"\\b(ISSUER|issuer)\\b"},{"name":"keyword.control.jwt.surrealql","match":"\\b(JWT|jwt)\\b"},{"name":"keyword.control.keep_pruned_connections.surrealql","match":"\\b(KEEP_PRUNED_CONNECTIONS|keep_pruned_connections)\\b"},{"name":"keyword.control.key.surrealql","match":"\\b(KEY|key)\\b"},{"name":"keyword.control.kill.surrealql","match":"\\b(KILL|kill)\\b"},{"name":"keyword.control.let.surrealql","match":"\\b(LET|let)\\b"},{"name":"keyword.control.limit.surrealql","match":"\\b(LIMIT|limit)\\b"},{"name":"keyword.control.live.surrealql","match":"\\b(LIVE|live)\\b"},{"name":"keyword.control.lm.surrealql","match":"\\b(LM|lm)\\b"},{"name":"keyword.control.m.surrealql","match":"\\b(M|m)\\b"},{"name":"keyword.control.m0.surrealql","match":"\\b(M0|m0)\\b"},{"name":"keyword.control.merge.surrealql","match":"\\b(MERGE|merge)\\b"},{"name":"keyword.control.middleware.surrealql","match":"\\b(MIDDLEWARE|middleware)\\b"},{"name":"keyword.control.mtree.surrealql","match":"\\b(MTREE|mtree)\\b"},{"name":"keyword.control.mtree_cache.surrealql","match":"\\b(MTREE_CACHE|mtree_cache)\\b"},{"name":"keyword.control.namespace.surrealql","match":"\\b(NAMESPACE|namespace)\\b"},{"name":"keyword.control.noindex.surrealql","match":"\\b(NOINDEX|noindex)\\b"},{"name":"keyword.control.normal.surrealql","match":"\\b(NORMAL|normal)\\b"},{"name":"keyword.control.not.surrealql","match":"\\b(NOT|not)\\b"},{"name":"keyword.control.ns.surrealql","match":"\\b(NS|ns)\\b"},{"name":"keyword.control.numeric.surrealql","match":"\\b(NUMERIC|numeric)\\b"},{"name":"keyword.control.omit.surrealql","match":"\\b(OMIT|omit)\\b"},{"name":"keyword.control.on.surrealql","match":"\\b(ON|on)\\b"},{"name":"keyword.control.only.surrealql","match":"\\b(ONLY|only)\\b"},{"name":"keyword.control.option.surrealql","match":"\\b(OPTION|option)\\b"},{"name":"keyword.control.order.surrealql","match":"\\b(ORDER|order)\\b"},{"name":"keyword.control.out.surrealql","match":"\\b(OUT|out)\\b"},{"name":"keyword.control.overwrite.surrealql","match":"\\b(OVERWRITE|overwrite)\\b"},{"name":"keyword.control.parallel.surrealql","match":"\\b(PARALLEL|parallel)\\b"},{"name":"keyword.control.param.surrealql","match":"\\b(PARAM|param)\\b"},{"name":"keyword.control.passhash.surrealql","match":"\\b(PASSHASH|passhash)\\b"},{"name":"keyword.control.password.surrealql","match":"\\b(PASSWORD|password)\\b"},{"name":"keyword.control.patch.surrealql","match":"\\b(PATCH|patch)\\b"},{"name":"keyword.control.permissions.surrealql","match":"\\b(PERMISSIONS|permissions)\\b"},{"name":"keyword.control.post.surrealql","match":"\\b(POST|post)\\b"},{"name":"keyword.control.postings_cache.surrealql","match":"\\b(POSTINGS_CACHE|postings_cache)\\b"},{"name":"keyword.control.postings_order.surrealql","match":"\\b(POSTINGS_ORDER|postings_order)\\b"},{"name":"keyword.control.put.surrealql","match":"\\b(PUT|put)\\b"},{"name":"keyword.control.readonly.surrealql","match":"\\b(READONLY|readonly)\\b"},{"name":"keyword.control.rebuild.surrealql","match":"\\b(REBUILD|rebuild)\\b"},{"name":"keyword.control.record.surrealql","match":"\\b(RECORD|record)\\b"},{"name":"keyword.control.reference.surrealql","match":"\\b(REFERENCE|reference)\\b"},{"name":"keyword.control.reject.surrealql","match":"\\b(REJECT|reject)\\b"},{"name":"keyword.control.relate.surrealql","match":"\\b(RELATE|relate)\\b"},{"name":"keyword.control.relation.surrealql","match":"\\b(RELATION|relation)\\b"},{"name":"keyword.control.remove.surrealql","match":"\\b(REMOVE|remove)\\b"},{"name":"keyword.control.replace.surrealql","match":"\\b(REPLACE|replace)\\b"},{"name":"keyword.control.return.surrealql","match":"\\b(RETURN|return)\\b"},{"name":"keyword.control.roles.surrealql","match":"\\b(ROLES|roles)\\b"},{"name":"keyword.control.root.surrealql","match":"\\b(ROOT|root)\\b"},{"name":"keyword.control.sc.surrealql","match":"\\b(SC|sc)\\b"},{"name":"keyword.control.schemafull.surrealql","match":"\\b(SCHEMAFULL|schemafull)\\b"},{"name":"keyword.control.schemaless.surrealql","match":"\\b(SCHEMALESS|schemaless)\\b"},{"name":"keyword.control.scope.surrealql","match":"\\b(SCOPE|scope)\\b"},{"name":"keyword.control.search.surrealql","match":"\\b(SEARCH|search)\\b"},{"name":"keyword.control.select.surrealql","match":"\\b(SELECT|select)\\b"},{"name":"keyword.control.session.surrealql","match":"\\b(SESSION|session)\\b"},{"name":"keyword.control.set.surrealql","match":"\\b(SET|set)\\b"},{"name":"keyword.control.show.surrealql","match":"\\b(SHOW|show)\\b"},{"name":"keyword.control.signin.surrealql","match":"\\b(SIGNIN|signin)\\b"},{"name":"keyword.control.signup.surrealql","match":"\\b(SIGNUP|signup)\\b"},{"name":"keyword.control.since.surrealql","match":"\\b(SINCE|since)\\b"},{"name":"keyword.control.sleep.surrealql","match":"\\b(SLEEP|sleep)\\b"},{"name":"keyword.control.split.surrealql","match":"\\b(SPLIT|split)\\b"},{"name":"keyword.control.start.surrealql","match":"\\b(START|start)\\b"},{"name":"keyword.control.structure.surrealql","match":"\\b(STRUCTURE|structure)\\b"},{"name":"keyword.control.table.surrealql","match":"\\b(TABLE|table)\\b"},{"name":"keyword.control.tables.surrealql","match":"\\b(TABLES|tables)\\b"},{"name":"keyword.control.tb.surrealql","match":"\\b(TB|tb)\\b"},{"name":"keyword.control.tempfiles.surrealql","match":"\\b(TEMPFILES|tempfiles)\\b"},{"name":"keyword.control.terms_cache.surrealql","match":"\\b(TERMS_CACHE|terms_cache)\\b"},{"name":"keyword.control.terms_order.surrealql","match":"\\b(TERMS_ORDER|terms_order)\\b"},{"name":"keyword.control.then.surrealql","match":"\\b(THEN|then)\\b"},{"name":"keyword.control.throw.surrealql","match":"\\b(THROW|throw)\\b"},{"name":"keyword.control.timeout.surrealql","match":"\\b(TIMEOUT|timeout)\\b"},{"name":"keyword.control.to.surrealql","match":"\\b(TO|to)\\b"},{"name":"keyword.control.token.surrealql","match":"\\b(TOKEN|token)\\b"},{"name":"keyword.control.tokenizers.surrealql","match":"\\b(TOKENIZERS|tokenizers)\\b"},{"name":"keyword.control.trace.surrealql","match":"\\b(TRACE|trace)\\b"},{"name":"keyword.control.transaction.surrealql","match":"\\b(TRANSACTION|transaction)\\b"},{"name":"keyword.control.type.surrealql","match":"\\b(TYPE|type)\\b"},{"name":"keyword.control.unique.surrealql","match":"\\b(UNIQUE|unique)\\b"},{"name":"keyword.control.unset.surrealql","match":"\\b(UNSET|unset)\\b"},{"name":"keyword.control.update.surrealql","match":"\\b(UPDATE|update)\\b"},{"name":"keyword.control.upsert.surrealql","match":"\\b(UPSERT|upsert)\\b"},{"name":"keyword.control.url.surrealql","match":"\\b(URL|url)\\b"},{"name":"keyword.control.use.surrealql","match":"\\b(USE|use)\\b"},{"name":"keyword.control.user.surrealql","match":"\\b(USER|user)\\b"},{"name":"keyword.control.value.surrealql","match":"\\b(VALUE|value)\\b"},{"name":"keyword.control.values.surrealql","match":"\\b(VALUES|values)\\b"},{"name":"keyword.control.version.surrealql","match":"\\b(VERSION|version)\\b"},{"name":"keyword.control.when.surrealql","match":"\\b(WHEN|when)\\b"},{"name":"keyword.control.where.surrealql","match":"\\b(WHERE|where)\\b"},{"name":"keyword.control.with.surrealql","match":"\\b(WITH|with)\\b"}]},"number":{"patterns":[{"name":"constant.numeric.decimal","match":"\\b\\d+\\.\\d+(?:f|dec)?\\b"},{"name":"constant.numeric.int","match":"\\b\\d+(?:f|dec)?\\b"}]},"object-key":{"patterns":[{"match":"(?:^|{|,)[ \t]*(\"[^(?:\\\")]+\")(?=:(?!:))","captures":{"1":{"name":"string.quoted.double"}}},{"match":"(?:^|{|,)[ \t]*('[^(?:\\')]+')(?=:(?!:))","captures":{"1":{"name":"string.quoted.single"}}},{"match":"(^|\\{|\\,)[ \t]*([a-zA-Z_0-9]+)(?=:(?!:))","captures":{"2":{"name":"meta.object-literal.key"}}}]},"operators":{"patterns":[{"name":"keyword.operator.arrow.surrealql","match":"\u003c-\u003e|-\u003e|\u003c-|\u003c~"},{"name":"keyword.operator.and.surrealql","match":"\\b(AND|and)\\b|\u0026\u0026"},{"name":"keyword.operator.or.surrealql","match":"\\b(OR|or)\\b|\\|\\|"},{"name":"keyword.operator.is-not.surrealql","match":"\\b(IS NOT|is not)\\b|!="},{"name":"keyword.operator.is.surrealql","match":"\\b(IS|is)\\b|="},{"name":"keyword.operator.containsall.surrealql","match":"\\b(CONTAINSALL|containsall)\\b|⊇"},{"name":"keyword.operator.containsany.surrealql","match":"\\b(CONTAINSANY|containsany)\\b|⊃"},{"name":"keyword.operator.containsnone.surrealql","match":"\\b(CONTAINSNONE|containsnone)\\b|⊅"},{"name":"keyword.operator.containssome.surrealql","match":"\\b(CONTAINSSOME|containssome)\\b"},{"name":"keyword.operator.containsnot.surrealql","match":"\\b(CONTAINSNOT|containsnot)\\b|∌"},{"name":"keyword.operator.contains.surrealql","match":"\\b(CONTAINS|contains)\\b|∋"},{"name":"keyword.operator.allinside.surrealql","match":"\\b(ALLINSIDE|allinside)\\b|⊆"},{"name":"keyword.operator.anyinside.surrealql","match":"\\b(ANYINSIDE|anyinside)\\b|⊂"},{"name":"keyword.operator.noneinside.surrealql","match":"\\b(NONEINSIDE|noneinside)\\b|⊄"},{"name":"keyword.operator.someinside.surrealql","match":"\\b(SOMEINSIDE|someinside)\\b"},{"name":"keyword.operator.notinside.surrealql","match":"\\b(NOTINSIDE|notinside|NOT IN|not in)\\b|∉"},{"name":"keyword.operator.inside.surrealql","match":"\\b(INSIDE|inside)\\b|∈"},{"name":"keyword.operator.outside.surrealql","match":"\\b(OUTSIDE|outside)\\b"},{"name":"keyword.operator.intersects.surrealql","match":"\\b(INTERSECTS|intersects)\\b"},{"name":"keyword.operator.equal.surrealql","match":"=="},{"name":"keyword.operator.all-equal.surrealql","match":"\\*="},{"name":"keyword.operator.any-equal.surrealql","match":"\\?="},{"name":"keyword.operator.fuzzy-inequal.surrealql","match":"!~"},{"name":"keyword.operator.fuzzy-all-equal.surrealql","match":"\\*~"},{"name":"keyword.operator.fuzzy-any-equal.surrealql","match":"\\?~"},{"name":"keyword.operator.fuzzy-equal.surrealql","match":"~"},{"name":"keyword.operator.less-or-equal.surrealql","match":"\u003c="},{"name":"keyword.operator.less.surrealql","match":"\u003c(?!-|[a-z]+[^:])"},{"name":"keyword.operator.more-or-equal.surrealql","match":"\u003e="},{"name":"keyword.operator.more.surrealql","match":"(?\u003c!-)\u003e"},{"name":"keyword.operator.add.surrealql","match":"\\+"},{"name":"keyword.operator.subtract.surrealql","match":"-"},{"name":"keyword.operator.multiply.surrealql","match":"\\*|×|∙"},{"name":"keyword.operator.devide.surrealql","match":"\\/|÷"},{"name":"keyword.operator.matches.surrealql","match":"@([0-9]+)?@","captures":{"1":{"name":"constant.numeric.int"}}},{"name":"keyword.operator.either.surrealql","match":"\\?:"},{"name":"keyword.operator.truthy.surrealql","match":"\\?\\?"},{"name":"keyword.operator.knn.surrealql","match":"\\\u003c\\|([a-zA-Z|\\d|,])+\\|\\\u003e"}]},"positional":{"name":"constant.language.positional","match":"\\b(AFTER|after|BEFORE|before)\\b"},"query":{"patterns":[{"include":"$self"}]},"record":{"patterns":[{"match":"(\\b\\w+\\b):⟨([^⟩]+)⟩","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"match":"(\\b\\w+\\b):`([^`]+)`","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):(?=(\\b[\\w:]+\\b)\\s*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#comment"},{"name":"meta.function.arguments","begin":"\\(","end":"\\)","patterns":[{"include":"#value"}]}],"beginCaptures":{"1":{"name":"entity.name.class"},"2":{"name":"support.function"}}},{"match":"(\\b\\w+\\b):(\\b\\w+\\b)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):\\[","end":"\\]","patterns":[{"include":"#array-content"}],"captures":{"1":{"name":"entity.name.class"}}},{"begin":"(\\b\\w+\\b):(?=\\{)","end":"\\}","patterns":[{"include":"#block-content"}],"captures":{"1":{"name":"entity.name.class"}}}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"[a-z]?\"","end":"(?\u003c!\\\\)\""},{"name":"string.quoted.single","begin":"[a-z]?'","end":"(?\u003c!\\\\)'"}]},"subquery":{"begin":"\\(","end":"\\)","patterns":[{"include":"#query"},{"include":"#value"}]},"type":{"name":"test","match":"[a-z]*\u003c[a-zA-Z][a-zA-Z0-9\u003c\u003e|, _]+[a-zA-Z0-9\u003e]+\u003e","captures":{"0":{"patterns":[{"name":"entity.name.type.surrealql","match":"\u003c|\u003e"},{"include":"#number"},{"include":"#void-type"}]}}},"value":{"patterns":[{"include":"#comment"},{"include":"#js-function"},{"include":"#function"},{"include":"#block"},{"include":"#array"},{"include":"#var-name"},{"include":"#boolean"},{"include":"#string"},{"include":"#ident"},{"include":"#void-type"},{"include":"#positional"},{"include":"#number"},{"include":"#duration"},{"include":"#record"},{"include":"#subquery"},{"include":"#type"}]},"var-name":{"patterns":[{"name":"variable.name","match":"\\$\\w+"},{"name":"variable.name","match":"\\$`\\w+`"},{"name":"variable.name","match":"\\$⟨\\w+⟩"}]},"void-type":{"name":"constant.language.void","match":"\\b(null|NULL|none|NONE)\\b"}}}
|