File tree Expand file tree Collapse file tree 1 file changed +3
-4
lines changed
crates/ra_assists/src/assists Expand file tree Collapse file tree 1 file changed +3
-4
lines changed Original file line number Diff line number Diff line change 1
1
use hir:: { db:: HirDatabase , ModPath } ;
2
2
use ra_syntax:: {
3
3
ast:: { self , AstNode } ,
4
- SyntaxKind :: { NAME_REF , USE_ITEM } ,
5
4
SyntaxNode ,
6
5
} ;
7
6
@@ -33,11 +32,11 @@ pub(crate) fn auto_import<F: ImportsLocator>(
33
32
) -> Option < Assist > {
34
33
let path_to_import: ast:: Path = ctx. find_node_at_offset ( ) ?;
35
34
let path_to_import_syntax = path_to_import. syntax ( ) ;
36
- if path_to_import_syntax. ancestors ( ) . find ( |ancestor| ancestor . kind ( ) == USE_ITEM ) . is_some ( ) {
35
+ if path_to_import_syntax. ancestors ( ) . find_map ( ast :: UseItem :: cast ) . is_some ( ) {
37
36
return None ;
38
37
}
39
38
let name_to_import =
40
- path_to_import_syntax. descendants ( ) . find ( |child| child . kind ( ) == NAME_REF ) ? ;
39
+ path_to_import_syntax. descendants ( ) . find_map ( ast :: NameRef :: cast ) ? . syntax ( ) . to_string ( ) ;
41
40
42
41
let module = path_to_import_syntax. ancestors ( ) . find_map ( ast:: Module :: cast) ;
43
42
let position = match module. and_then ( |it| it. item_list ( ) ) {
@@ -54,7 +53,7 @@ pub(crate) fn auto_import<F: ImportsLocator>(
54
53
}
55
54
56
55
let proposed_imports = imports_locator
57
- . find_imports ( & name_to_import. to_string ( ) )
56
+ . find_imports ( & name_to_import)
58
57
. into_iter ( )
59
58
. filter_map ( |module_def| module_with_name_to_import. find_use_path ( ctx. db , module_def) )
60
59
. filter ( |use_path| !use_path. segments . is_empty ( ) )
You can’t perform that action at this time.
0 commit comments