2 lines
45 KiB
JavaScript
Raw Permalink Normal View History

2025-09-05 14:59:21 +08:00
const e=Object.freeze(JSON.parse(`{"displayName":"Apex","fileTypes":["apex","cls","trigger"],"name":"apex","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"annotation-declaration":{"begin":"([@][_A-Za-z]+)\\\\b","beginCaptures":{"1":{"name":"storage.type.annotation.apex"}},"end":"(?<=\\\\)|$)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"argument-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"array-creation-expression":{"begin":"\\\\b(new)\\\\b\\\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*)(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*)*))?\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.control.new.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}},"end":"(?<=\\\\])","patterns":[{"include":"#bracketed-argument-list"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"\\\\}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#statement"}]},"boolean-literal":{"patterns":[{"match":"(?<!\\\\.)\\\\btrue\\\\b","name":"constant.language.boolean.true.apex"},{"match":"(?<!\\\\.)\\\\bfalse\\\\b","name":"constant.language.boolean.false.apex"}]},"bracketed-argument-list":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.apex"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.apex"}},"patterns":[{"include":"#soql-query-expression"},{"include":"#named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"break-or-continue-statement":{"captures":{"1":{"name":"keyword.control.flow.break.apex"},"2":{"name":"keyword.control.flow.continue.apex"}},"match":"(?<!\\\\.)\\\\b(?:(break)|(continue))\\\\b"},"cast-expression":{"captures":{"1":{"name":"punctuation.parenthesis.open.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"6":{"name":"punctuation.parenthesis.close.apex"}},"match":"(\\\\()\\\\s*(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*)(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*)*))\\\\s*(\\\\))(?=\\\\s*@?[_0-9A-Za-z(])"},"catch-clause":{"begin":"(?<!\\\\.)\\\\b(catch)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.catch.apex"}},"end":"(?<=\\\\})","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"5":{"name":"entity.name.variable.local.apex"}},"match":"(?<type_name>(?:(?:(?:(?<identifier>@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*)(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*\\\\]\\\\s*)*))\\\\s*(?:(\\\\g<identifier>)\\\\b)?"}]},{"include":"#comment"},{"include":"#block"}]},"class-declaration":{"begin":"(?=\\\\bclass\\\\b)","end":"(?<=\\\\})","patterns":[{"begin":"\\\\b(class)\\\\b\\\\s+(@?[_A-Za-z][_0-9A-Za-z]*)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.class.apex"},"2":{"name":"entity.name.type.class.apex"