From f8a056117898c56d34d1758455bc54df50e2e426 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 6 Jan 2021 20:43:46 +0300 Subject: Align config's API with usage The config now is mostly immutable, optimize for that. --- crates/completion/src/completions/postfix.rs | 5 ++--- .../completion/src/completions/postfix/format_like.rs | 7 +++---- crates/completion/src/completions/snippet.rs | 6 ++++-- crates/completion/src/completions/unqualified_path.rs | 18 ++++++++---------- 4 files changed, 17 insertions(+), 19 deletions(-) (limited to 'crates/completion/src/completions') diff --git a/crates/completion/src/completions/postfix.rs b/crates/completion/src/completions/postfix.rs index 3883d6d21..4888f518a 100644 --- a/crates/completion/src/completions/postfix.rs +++ b/crates/completion/src/completions/postfix.rs @@ -2,7 +2,7 @@ mod format_like; -use ide_db::ty_filter::TryEnum; +use ide_db::{helpers::SnippetCap, ty_filter::TryEnum}; use syntax::{ ast::{self, AstNode, AstToken}, SyntaxKind::{BLOCK_EXPR, EXPR_STMT}, @@ -10,9 +10,8 @@ use syntax::{ }; use text_edit::TextEdit; -use self::format_like::add_format_like_completions; use crate::{ - config::SnippetCap, + completions::postfix::format_like::add_format_like_completions, context::CompletionContext, item::{Builder, CompletionKind}, CompletionItem, CompletionItemKind, Completions, diff --git a/crates/completion/src/completions/postfix/format_like.rs b/crates/completion/src/completions/postfix/format_like.rs index def4b13fb..3afc63021 100644 --- a/crates/completion/src/completions/postfix/format_like.rs +++ b/crates/completion/src/completions/postfix/format_like.rs @@ -14,12 +14,11 @@ // + `logw` -> `log::warn!(...)` // + `loge` -> `log::error!(...)` -use crate::{ - completions::postfix::postfix_snippet, config::SnippetCap, context::CompletionContext, - Completions, -}; +use ide_db::helpers::SnippetCap; use syntax::ast::{self, AstToken}; +use crate::{completions::postfix::postfix_snippet, context::CompletionContext, Completions}; + /// Mapping ("postfix completion item" => "macro to use") static KINDS: &[(&str, &str)] = &[ ("format", "format!"), diff --git a/crates/completion/src/completions/snippet.rs b/crates/completion/src/completions/snippet.rs index 842590130..b5e704696 100644 --- a/crates/completion/src/completions/snippet.rs +++ b/crates/completion/src/completions/snippet.rs @@ -1,8 +1,10 @@ //! This file provides snippet completions, like `pd` => `eprintln!(...)`. +use ide_db::helpers::SnippetCap; + use crate::{ - config::SnippetCap, item::Builder, CompletionContext, CompletionItem, CompletionItemKind, - CompletionKind, Completions, + item::Builder, CompletionContext, CompletionItem, CompletionItemKind, CompletionKind, + Completions, }; fn snippet(ctx: &CompletionContext, cap: SnippetCap, label: &str, snippet: &str) -> Builder { diff --git a/crates/completion/src/completions/unqualified_path.rs b/crates/completion/src/completions/unqualified_path.rs index 896f167ff..2da21b5c2 100644 --- a/crates/completion/src/completions/unqualified_path.rs +++ b/crates/completion/src/completions/unqualified_path.rs @@ -192,12 +192,14 @@ mod tests { use test_utils::mark; use crate::{ - test_utils::{check_edit, check_edit_with_config, completion_list_with_config}, + test_utils::{ + check_edit, check_edit_with_config, completion_list_with_config, TEST_CONFIG, + }, CompletionConfig, CompletionKind, }; fn check(ra_fixture: &str, expect: Expect) { - check_with_config(CompletionConfig::default(), ra_fixture, expect); + check_with_config(TEST_CONFIG, ra_fixture, expect); } fn check_with_config(config: CompletionConfig, ra_fixture: &str, expect: Expect) { @@ -205,10 +207,6 @@ mod tests { expect.assert_eq(&actual) } - fn fuzzy_completion_config() -> CompletionConfig { - CompletionConfig::default() - } - #[test] fn self_fulfilling_completion() { mark::check!(self_fulfilling_completion); @@ -832,7 +830,7 @@ impl My<|> #[test] fn function_fuzzy_completion() { check_edit_with_config( - fuzzy_completion_config(), + TEST_CONFIG, "stdin", r#" //- /lib.rs crate:dep @@ -858,7 +856,7 @@ fn main() { #[test] fn macro_fuzzy_completion() { check_edit_with_config( - fuzzy_completion_config(), + TEST_CONFIG, "macro_with_curlies!", r#" //- /lib.rs crate:dep @@ -886,7 +884,7 @@ fn main() { #[test] fn struct_fuzzy_completion() { check_edit_with_config( - fuzzy_completion_config(), + TEST_CONFIG, "ThirdStruct", r#" //- /lib.rs crate:dep @@ -917,7 +915,7 @@ fn main() { fn fuzzy_completions_come_in_specific_order() { mark::check!(certain_fuzzy_order_test); check_with_config( - fuzzy_completion_config(), + TEST_CONFIG, r#" //- /lib.rs crate:dep pub struct FirstStruct; -- cgit v1.2.3