mirror of
https://github.com/TabbyML/tabby
synced 2024-11-22 17:41:54 +00:00
45 lines
1.2 KiB
Scheme
45 lines
1.2 KiB
Scheme
;; Copied from https://github.com/JoranHonig/tree-sitter-solidity/blob/master/queries/tags.scm
|
|
;;
|
|
;; Method and Function declarations
|
|
(contract_declaration (_
|
|
(function_definition
|
|
name: (identifier) @name) @definition.method))
|
|
|
|
(source_file
|
|
(function_definition
|
|
name: (identifier) @name) @definition.function)
|
|
|
|
;; Contract, struct, enum and interface declarations
|
|
(contract_declaration
|
|
name: (identifier) @name) @definition.class
|
|
|
|
(interface_declaration
|
|
name: (identifier) @name) @definition.interface
|
|
|
|
(library_declaration
|
|
name: (identifier) @name) @definition.interface
|
|
|
|
(struct_declaration name: (identifier) @name) @definition.class
|
|
(enum_declaration name: (identifier) @name) @definition.class
|
|
(event_definition name: (identifier) @name) @definition.class
|
|
|
|
;; Function calls
|
|
(call_expression (expression (identifier)) @name ) @reference.call
|
|
|
|
(call_expression
|
|
(expression (member_expression
|
|
property: (_) @name ))) @reference.call
|
|
|
|
;; Log emit
|
|
(emit_statement name: (_) @name) @reference.class
|
|
|
|
|
|
;; Inheritance
|
|
|
|
(inheritance_specifier
|
|
ancestor: (user_defined_type (_) @name . )) @reference.class
|
|
|
|
|
|
;; Imports ( note that unknown is not standardised )
|
|
(import_directive
|
|
import_name: (_) @name ) @reference.unknown |