From 4baac238a8343d7c5ced58603bf122c66cbf8c82 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Tue, 24 Nov 2020 02:26:16 +0200 Subject: Improve autoimports on completion speed * Ignore modules eaferly * Do less completion string rendering --- crates/ide_db/src/imports_locator.rs | 9 ++++++++- 1 file changed, 8 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 9d8ea7368..09046d3c3 100644 --- a/crates/ide_db/src/imports_locator.rs +++ b/crates/ide_db/src/imports_locator.rs @@ -36,8 +36,15 @@ pub fn find_similar_imports<'a>( krate: Crate, name_to_import: &str, limit: usize, + ignore_modules: bool, ) -> impl Iterator> { let _p = profile::span("find_similar_imports"); + + let mut external_query = import_map::Query::new(name_to_import).limit(limit); + if ignore_modules { + external_query = external_query.exclude_import_kind(import_map::ImportKind::Module); + } + find_imports( sema, krate, @@ -46,7 +53,7 @@ pub fn find_similar_imports<'a>( local_query.limit(limit); local_query }, - import_map::Query::new(name_to_import).limit(limit), + external_query, ) } -- cgit v1.2.3