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(
7979 retain_adt_literal_usages ( & mut usages, def, sema) ;
8080 }
8181
82+ retain_import_usages ( & mut usages, sema) ;
83+
8284 let references = usages
8385 . into_iter ( )
8486 . map ( |( file_id, refs) | {
@@ -112,6 +114,32 @@ pub(crate) fn find_all_refs(
112114 }
113115}
114116
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+
115143pub ( crate ) fn find_defs < ' a > (
116144 sema : & ' a Semantics < ' _ , RootDatabase > ,
117145 syntax : & SyntaxNode ,
You can’t perform that action at this time.
0 commit comments