Skip to content

Commit 4f27155

Browse files
Simplify paths searches
1 parent fcf5bbb commit 4f27155

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

crates/ra_assists/src/assists/auto_import.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use hir::{db::HirDatabase, ModPath};
22
use ra_syntax::{
33
ast::{self, AstNode},
4-
SyntaxKind::{NAME_REF, USE_ITEM},
54
SyntaxNode,
65
};
76

@@ -33,11 +32,11 @@ pub(crate) fn auto_import<F: ImportsLocator>(
3332
) -> Option<Assist> {
3433
let path_to_import: ast::Path = ctx.find_node_at_offset()?;
3534
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() {
3736
return None;
3837
}
3938
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();
4140

4241
let module = path_to_import_syntax.ancestors().find_map(ast::Module::cast);
4342
let position = match module.and_then(|it| it.item_list()) {
@@ -54,7 +53,7 @@ pub(crate) fn auto_import<F: ImportsLocator>(
5453
}
5554

5655
let proposed_imports = imports_locator
57-
.find_imports(&name_to_import.to_string())
56+
.find_imports(&name_to_import)
5857
.into_iter()
5958
.filter_map(|module_def| module_with_name_to_import.find_use_path(ctx.db, module_def))
6059
.filter(|use_path| !use_path.segments.is_empty())

0 commit comments

Comments
 (0)