Constant tree_sitter_sfapex::apex::HIGHLIGHTS_QUERY  
source · pub const HIGHLIGHTS_QUERY: &str = ";; attempting to match concepts represented here:\n;; https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide\n\n[\n  \"[\"\n  \"]\"\n  \"{\"\n  \"}\"\n  \"?\"\n  \";\"\n] @punctuation\n\n;; Methods\n\n(method_declaration\n  name: (identifier) @method)\n(method_declaration\n  type: (type_identifier) @type)\n\n(method_invocation\n  name: (identifier) @method)\n(argument_list\n  (identifier) @variable)\n(super) @function.defaultLibrary\n\n(explicit_constructor_invocation\n  arguments: (argument_list\n    (identifier) @variable ))\n\n;; Annotations\n\n(annotation\n  name: (identifier) @decorator)\n\n\"@\" @operator\n\n(annotation_key_value\n  (identifier) @variable)\n\n\n;; Types\n\n;; because itendifying it when declared doesn\'t carry to use\n;; leans on the convention that \"screaming snake case\" is a const\n((identifier) @variable.readonly\n  (#match? @variable.readonly \"^_*[A-Z][A-Z\\\\d_]+$\"))\n\n(interface_declaration\n  name: (identifier) @interface)\n(class_declaration\n  name: (identifier) @class)\n(class_declaration\n  (superclass) @class)\n(enum_declaration\n  name: (identifier) @enum)\n(enum_constant\n  name: (identifier) @enumMember)\n\n(interfaces\n  (type_list\n    (type_identifier) @interface ))\n\n(local_variable_declaration\n  (type_identifier) @type )\n\n( expression_statement (_ (identifier)) @variable)\n\n(type_arguments \"<\" @punctuation)\n(type_arguments \">\" @punctuation)\n\n; (identifier) @variable\n\n((field_access\n  object: (identifier) @type)) ;; don\'t know what type of thing it is\n\n(generic_type\n  (type_identifier) @type)\n(type_arguments (type_identifier) @type)\n\n(field_access\n  field: (identifier) @property)\n\n((scoped_identifier\n  scope: (identifier) @type)\n (#match? @type \"^[A-Z]\"))\n((method_invocation\n  object: (identifier) @type)\n (#match? @type \"^[A-Z]\"))\n\n\n(field_declaration\n  type: (type_identifier) @type)\n\n(formal_parameter\n  type: (type_identifier) @type\n  (identifier) @variable)\n\n(method_declaration\n  (formal_parameters\n    (formal_parameter\n      name: (identifier) @parameter)))\n\n(enhanced_for_statement\n  type: (type_identifier) @type\n  name: (identifier) @variable )\n\n(enhanced_for_statement\n  value: (identifier) @variable)\n\n(enhanced_for_statement\n  name: (identifier) @variable)\n\n(object_creation_expression\n  type: (type_identifier) @type)\n\n(array_creation_expression\n  type: (type_identifier) @type)\n\n(array_type\n  element: (type_identifier) @type)\n\n(return_statement\n  (identifier) @variable)\n\n(local_variable_declaration\n  (variable_declarator\n    name: (identifier) @variable ))\n\n(for_statement\n  condition: (binary_expression\n    (identifier) @variable))\n\n(for_statement\n  update: (update_expression\n    (identifier) @variable))\n\n(constructor_declaration\n  name: (identifier) @class)\n\n(dml_type) @function.defaultLibrary\n\n(bound_apex_expression\n  (identifier) @variable)\n\n(assignment_operator) @operator\n\n(update_operator) @operator\n\n(instanceof_expression\n  left: (identifier) @variable\n  right: (type_identifier) @type )\n\n(cast_expression\n  type: (type_identifier) @type\n  value: (identifier) @variable)\n\n(switch_expression\n  condition: (identifier) @variable)\n\n(switch_rule\n  (switch_label\n    (identifier) @enumMember ))\n\n(when_sobject_type\n  (type_identifier) @type\n  (identifier) @variable )\n\n(trigger_declaration\n  name: (identifier) @type\n  object: (identifier) @type\n  (trigger_event) @keyword\n  (\",\" (trigger_event) @keyword)*)\n\n(binary_expression\n  operator: [\n    \">\"\n    \"<\"\n    \">=\"\n    \"<=\"\n    \"==\"\n    \"===\"\n    \"!=\"\n    \"!==\"\n    \"&&\"\n    \"||\"\n    \"+\"\n    \"-\"\n    \"*\"\n    \"/\"\n    \"&\"\n    \"|\"\n    \"^\"\n    \"%\"\n    \"<<\"\n    \">>\"\n    \">>>\"] @operator)\n\n(binary_expression\n  (identifier) @variable)\n\n(unary_expression\n  operator: [\n    \"+\"\n    \"-\"\n    \"!\"\n    \"~\"\n  ]) @operator\n\n(\"=>\" @operator)\n\n[\n  (boolean_type)\n  (void_type)\n] @type.defaultLibrary\n\n; Variables\n\n(field_declaration (variable_declarator\n  (identifier) @property))\n\n(field_declaration\n  (modifiers (modifier [(final) (static)])(modifier [(final) (static)]))\n  (variable_declarator\n    name: (identifier) @variable.readonly))\n\n(this) @variable.defaultLibrary\n\n; Literals\n\n[\n  (int)\n] @number\n\n[\n  (string_literal)\n] @string\n\n[\n  (line_comment)\n  (block_comment)\n] @comment\n\n;; Keywords\n\n[\n  (abstract)\n  (all_rows_clause)\n  \"break\"\n  \"catch\"\n  \"class\"\n  \"continue\"\n  \"do\"\n  \"else\"\n  \"enum\"\n  \"extends\"\n  (final)\n  \"finally\"\n  \"for\"\n  \"get\"\n  (global)\n  \"if\"\n  \"implements\"\n  \"instanceof\"\n  \"interface\"\n  \"new\"\n  \"on\"\n  (override)\n  (private)\n  (protected)\n  (public)\n  \"return\"\n  \"set\"\n  (static)\n  \"switch\"\n  (testMethod)\n  (webservice)\n  \"throw\"\n  (transient)\n  \"try\"\n  \"trigger\"\n  (virtual)\n  \"when\"\n  \"while\"\n  (with_sharing)\n  (without_sharing)\n  (inherited_sharing)\n] @keyword\n\n(assignment_expression\n  left: (identifier) @variable)\n\n; (type_identifier) @type ;; not respecting precedence...\n;; I don\'t love this but couldn\'t break them up right now\n;; can\'t figure out how to let that be special without conflicting\n;; in the grammar\n\"System.runAs\" @method.defaultLibrary\n\n(scoped_type_identifier\n  (type_identifier) @type)\n";Expand description
The syntax highlighting query for this language.