From 58c6d2a73fa40e2ad2e6f41215737d6ff27c4bf9 Mon Sep 17 00:00:00 2001 From: Stephan Seitz Date: Sat, 18 Jul 2020 19:25:06 +0200 Subject: Attach kind of reference to query result instead of using subfields This makes smart_rename work also for types out of the box and we don't need to search for the path of actual node. --- queries/c/locals.scm | 3 ++- queries/cpp/locals.scm | 7 ++++++- queries/rust/locals.scm | 6 ++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/queries/c/locals.scm b/queries/c/locals.scm index ee052d5c..a288e70e 100644 --- a/queries/c/locals.scm +++ b/queries/c/locals.scm @@ -31,7 +31,8 @@ ;; References (identifier) @reference -(type_identifier) @reference.type +((type_identifier) @reference + (set! reference.kind "type")) ;; Scope [ diff --git a/queries/cpp/locals.scm b/queries/cpp/locals.scm index b85e5f9e..69d2f2c2 100644 --- a/queries/cpp/locals.scm +++ b/queries/cpp/locals.scm @@ -23,12 +23,17 @@ (alias_declaration name: (type_identifier) @definition.type) +;template +(type_parameter_declaration + (type_identifier) @definition.type) + ;; Namespaces (namespace_definition name: (identifier) @definition.namespace body: (_) @scope) -(namespace_identifier) @reference.namespace +((namespace_identifier) @reference + (set! reference.kind "namespace")) ;; Function defintions (template_function diff --git a/queries/rust/locals.scm b/queries/rust/locals.scm index 1b372ed9..010bf4af 100644 --- a/queries/rust/locals.scm +++ b/queries/rust/locals.scm @@ -70,8 +70,10 @@ ; References (identifier) @reference -(type_identifier) @reference.type -(field_identifier) @reference.field +((type_identifier) @reference + (set! reference.kind "type")) +((field_identifier) @reference + (set! reference.kind "field")) ; Macros -- cgit v1.2.3