From c4995cfbd5b265c02d3038d72b8a022cde5f7040 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Mon, 28 Dec 2020 14:24:13 +0200 Subject: Better query api and fuzzy search --- crates/ide_db/src/imports_locator.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'crates/ide_db') diff --git a/crates/ide_db/src/imports_locator.rs b/crates/ide_db/src/imports_locator.rs index 0de949b9a..986cb5b83 100644 --- a/crates/ide_db/src/imports_locator.rs +++ b/crates/ide_db/src/imports_locator.rs @@ -30,8 +30,7 @@ pub fn find_exact_imports<'a>( import_map::Query::new(name_to_import) .limit(40) .name_only() - .name_end() - .strict_include() + .search_mode(import_map::SearchMode::Equals) .case_sensitive(), ) } @@ -41,14 +40,14 @@ pub fn find_similar_imports<'a>( krate: Crate, limit: Option, name_to_import: &str, - // TODO kb change it to search across the whole path or not? - ignore_modules: bool, + name_only: bool, ) -> impl Iterator> { let _p = profile::span("find_similar_imports"); - let mut external_query = import_map::Query::new(name_to_import).name_only(); - if ignore_modules { - external_query = external_query.exclude_import_kind(import_map::ImportKind::Module); + let mut external_query = + import_map::Query::new(name_to_import).search_mode(import_map::SearchMode::Fuzzy); + if name_only { + external_query = external_query.name_only(); } let mut local_query = symbol_index::Query::new(name_to_import.to_string()); -- cgit v1.2.3