diff --git a/queries/tags.scm b/queries/tags.scm index dc4f953..0c9ffdf 100644 --- a/queries/tags.scm +++ b/queries/tags.scm @@ -8,6 +8,19 @@ function: (identifier) @name) @reference.call ; }}} +; Class {{{ +(class_declaration + name: (identifier) @name) @definition.class +(type_declaration + name: (identifier) @name + (class_type)) @definition.class + +(new_expression + class: (type_identifier) @name) @reference.class +(extends_qualifier + super: (type_identifier) @name) @reference.class +; }}} + ; Methods {{{ (method_declaration name: (identifier) @name) @definition.method diff --git a/test/tags/classes.tig b/test/tags/classes.tig new file mode 100644 index 0000000..7a4a256 --- /dev/null +++ b/test/tags/classes.tig @@ -0,0 +1,9 @@ +class A {} +/* ^ definition.class */ + +type B = class extends A {} +/* ^ definition.class */ +/* ^ reference.class */ + +var object := new B +/* ^ reference.class */