aboutsummaryrefslogtreecommitdiff
path: root/crates/ide_db/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ide_db/src')
-rw-r--r--crates/ide_db/src/imports_locator.rs22
1 files changed, 10 insertions, 12 deletions
diff --git a/crates/ide_db/src/imports_locator.rs b/crates/ide_db/src/imports_locator.rs
index 09046d3c3..b2980a5d6 100644
--- a/crates/ide_db/src/imports_locator.rs
+++ b/crates/ide_db/src/imports_locator.rs
@@ -34,27 +34,25 @@ pub fn find_exact_imports<'a>(
34pub fn find_similar_imports<'a>( 34pub fn find_similar_imports<'a>(
35 sema: &Semantics<'a, RootDatabase>, 35 sema: &Semantics<'a, RootDatabase>,
36 krate: Crate, 36 krate: Crate,
37 limit: Option<usize>,
37 name_to_import: &str, 38 name_to_import: &str,
38 limit: usize,
39 ignore_modules: bool, 39 ignore_modules: bool,
40) -> impl Iterator<Item = Either<ModuleDef, MacroDef>> { 40) -> impl Iterator<Item = Either<ModuleDef, MacroDef>> {
41 let _p = profile::span("find_similar_imports"); 41 let _p = profile::span("find_similar_imports");
42 42
43 let mut external_query = import_map::Query::new(name_to_import).limit(limit); 43 let mut external_query = import_map::Query::new(name_to_import);
44 if ignore_modules { 44 if ignore_modules {
45 external_query = external_query.exclude_import_kind(import_map::ImportKind::Module); 45 external_query = external_query.exclude_import_kind(import_map::ImportKind::Module);
46 } 46 }
47 47
48 find_imports( 48 let mut local_query = symbol_index::Query::new(name_to_import.to_string());
49 sema, 49
50 krate, 50 if let Some(limit) = limit {
51 { 51 local_query.limit(limit);
52 let mut local_query = symbol_index::Query::new(name_to_import.to_string()); 52 external_query = external_query.limit(limit);
53 local_query.limit(limit); 53 }
54 local_query 54
55 }, 55 find_imports(sema, krate, local_query, external_query)
56 external_query,
57 )
58} 56}
59 57
60fn find_imports<'a>( 58fn find_imports<'a>(