This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -79,6 +79,8 @@ pub(crate) fn find_all_refs(
79
79
retain_adt_literal_usages ( & mut usages, def, sema) ;
80
80
}
81
81
82
+ retain_import_usages ( & mut usages, sema) ;
83
+
82
84
let references = usages
83
85
. into_iter ( )
84
86
. map ( |( file_id, refs) | {
@@ -112,6 +114,32 @@ pub(crate) fn find_all_refs(
112
114
}
113
115
}
114
116
117
+ fn retain_import_usages ( usages : & mut UsageSearchResult , sema : & Semantics < ' _ , RootDatabase > ) {
118
+ for ( file_id, refs) in & mut usages. references {
119
+ refs. retain ( |x| {
120
+ let file_sema = sema. parse ( file_id. clone ( ) ) . syntax ( ) . clone ( ) ;
121
+
122
+ let maybe_node = file_sema. child_or_token_at_range ( x. range . clone ( ) ) ;
123
+
124
+ if let Some ( node) = maybe_node {
125
+ let res = match node {
126
+ syntax:: NodeOrToken :: Node ( x) => {
127
+ if matches ! ( x. kind( ) , USE ) {
128
+ false
129
+ } else {
130
+ true
131
+ }
132
+ }
133
+ syntax:: NodeOrToken :: Token ( _) => true ,
134
+ } ;
135
+ res
136
+ } else {
137
+ true
138
+ }
139
+ } ) ;
140
+ }
141
+ }
142
+
115
143
pub ( crate ) fn find_defs < ' a > (
116
144
sema : & ' a Semantics < ' _ , RootDatabase > ,
117
145
syntax : & SyntaxNode ,
You can’t perform that action at this time.
0 commit comments