; ADT definitions (struct_item name: (type_identifier) @name) @definition.class (enum_item name: (type_identifier) @name) @definition.class (union_item name: (type_identifier) @name) @definition.class ; type aliases (type_item name: (type_identifier) @name) @definition.class ; method definitions (declaration_list (function_item name: (identifier) @name)) @definition.method ; function definitions (function_item name: (identifier) @name) @definition.function ; trait definitions (trait_item name: (type_identifier) @name) @definition.interface ; module definitions (mod_item name: (identifier) @name) @definition.module ; macro definitions (macro_definition name: (identifier) @name) @definition.macro (const_item (identifier) @name @definition.constant (#match? @name "^[A-Z][A-Z\\d_]+$"))