From bf24cb3e8db94a84fb4a24c407797ab6ff5ee109 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Tue, 8 Dec 2020 14:38:43 +0200 Subject: Tweak the search query params for better lookup speed --- crates/ide_db/src/imports_locator.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'crates/ide_db') diff --git a/crates/ide_db/src/imports_locator.rs b/crates/ide_db/src/imports_locator.rs index 31151ce24..b2980a5d6 100644 --- a/crates/ide_db/src/imports_locator.rs +++ b/crates/ide_db/src/imports_locator.rs @@ -34,6 +34,7 @@ pub fn find_exact_imports<'a>( pub fn find_similar_imports<'a>( sema: &Semantics<'a, RootDatabase>, krate: Crate, + limit: Option, name_to_import: &str, ignore_modules: bool, ) -> impl Iterator> { @@ -44,7 +45,14 @@ pub fn find_similar_imports<'a>( external_query = external_query.exclude_import_kind(import_map::ImportKind::Module); } - find_imports(sema, krate, symbol_index::Query::new(name_to_import.to_string()), external_query) + let mut local_query = symbol_index::Query::new(name_to_import.to_string()); + + if let Some(limit) = limit { + local_query.limit(limit); + external_query = external_query.limit(limit); + } + + find_imports(sema, krate, local_query, external_query) } fn find_imports<'a>( -- cgit v1.2.3