;; --------------------------------------------------------------------------- ;; Modules and Imports ;; --------------------------------------------------------------------------- (module name: (identifier) @name) @definition.module (module_import name: (identifier) @name) @reference.module (member_import name: (qualified_identifier module: (identifier) @name)) @reference.module (member_import name: (qualified_identifier member: (identifier) @name)) @reference.type ;; --------------------------------------------------------------------------- ;; Types ;; --------------------------------------------------------------------------- (data_type_def name: (identifier) @name) @definition.datatype (data_type_def base: (_) @name) @reference.datatype (dimension_def name: (identifier) @name) @definition.dimension (entity_def name: (identifier) @name) @definition.entity (enum_def name: (identifier) @name) @definition.enum (event_def name: (identifier) @name) @definition.event (rdf_def name: (identifier) @name) @definition.rdf (structure_def name: (identifier) @name) @definition.structure (type_class_def name: (identifier) @name) @definition.class (union_def name: (identifier) @name) @definition.union (source_entity entity: (identifier_reference) @name) @reference.entity (source_entity member: (identifier) @name) @reference.field ;; --------------------------------------------------------------------------- ;; Members ;; --------------------------------------------------------------------------- (dimension_parent name: (identifier) @name) @definition.field (dimension_parent entity: (identifier_reference) @name) @reference.type (member_def name: (identifier) @name) @definition.field (type_reference (identifier_reference) @name) @reference.type (type_reference (builtin_simple_type) @name) @reference.type (property_ref property: (identifier_reference) @name) @definition.field (type_variant (identifier_reference) @name) @reference.type (type_variant rename: (identifier) @name) @definition.type (value_variant name: (identifier) @name) @definition.constant (method_def name: (identifier) @name) @definition.method ;; --------------------------------------------------------------------------- ;; Annotations, Constraints, and Values ;; --------------------------------------------------------------------------- (annotation_property name: (identifier_reference) @name) @reference.type (value (identifier_reference) @name) @reference.type (value_constructor name: (identifier_reference) @name) @reference.type (constraint name: (identifier) @name) @definition.constraint (term (identifier_reference) @name) @reference.variable (term (reserved_self) @name) @reference.variable (functional_term function: (term (identifier_reference) @name)) @reference.call (function_composition subject: (reserved_self) @name) @reference.variable (function_composition subject: (identifier) @name) @reference.call (function_composition name: (identifier) @name) @reference.call (environment_def name: (identifier) @name) @definition.function (quantified_variable source: (reserved_self) @name) @definition.variable (quantified_variable name: (identifier) @name) @definition.variable (named_variable_set (identifier) @name) @definition.variable (mapping_variable domain: (identifier) @name) @definition.variable (mapping_variable range: (identifier) @name) @definition.variable (value (identifier_reference) @name) @reference.type