From f731d910cbfe36bbdfa3a3f1415d5c48c4a79238 Mon Sep 17 00:00:00 2001 From: Igor Aleksanov Date: Sun, 25 Oct 2020 11:26:38 +0300 Subject: Move Completions structure definition into completions module --- crates/completion/src/completions/attribute.rs | 40 +++++++++------------- crates/completion/src/completions/dot.rs | 2 +- crates/completion/src/completions/mod_.rs | 9 +++-- crates/completion/src/completions/postfix.rs | 4 +-- .../src/completions/postfix/format_like.rs | 2 +- 5 files changed, 25 insertions(+), 32 deletions(-) (limited to 'crates/completion/src/completions') diff --git a/crates/completion/src/completions/attribute.rs b/crates/completion/src/completions/attribute.rs index 3d517c886..f3d669458 100644 --- a/crates/completion/src/completions/attribute.rs +++ b/crates/completion/src/completions/attribute.rs @@ -9,7 +9,8 @@ use syntax::{ast, AstNode, SyntaxKind}; use crate::{ context::CompletionContext, generated_lint_completions::{CLIPPY_LINTS, FEATURES}, - item::{CompletionItem, CompletionItemKind, CompletionKind, Completions}, + item::{CompletionItem, CompletionItemKind, CompletionKind}, + Completions, }; pub(crate) fn complete_attribute(acc: &mut Completions, ctx: &CompletionContext) -> Option<()> { @@ -60,7 +61,7 @@ fn complete_attribute_start(acc: &mut Completions, ctx: &CompletionContext, attr } if attribute.kind() == ast::AttrKind::Inner || !attr_completion.prefer_inner { - acc.add(item); + acc.add(item.build()); } } } @@ -152,21 +153,15 @@ fn complete_derive(acc: &mut Completions, ctx: &CompletionContext, derive_input: label.push_str(", "); label.push_str(dependency); } - acc.add( - CompletionItem::new(CompletionKind::Attribute, ctx.source_range(), label) - .kind(CompletionItemKind::Attribute), - ); + CompletionItem::new(CompletionKind::Attribute, ctx.source_range(), label) + .kind(CompletionItemKind::Attribute) + .add_to(acc) } for custom_derive_name in get_derive_names_in_scope(ctx).difference(&existing_derives) { - acc.add( - CompletionItem::new( - CompletionKind::Attribute, - ctx.source_range(), - custom_derive_name, - ) - .kind(CompletionItemKind::Attribute), - ); + CompletionItem::new(CompletionKind::Attribute, ctx.source_range(), custom_derive_name) + .kind(CompletionItemKind::Attribute) + .add_to(acc) } } } @@ -182,15 +177,14 @@ fn complete_lint( .into_iter() .filter(|completion| !existing_lints.contains(completion.label)) { - acc.add( - CompletionItem::new( - CompletionKind::Attribute, - ctx.source_range(), - lint_completion.label, - ) - .kind(CompletionItemKind::Attribute) - .detail(lint_completion.description), - ); + CompletionItem::new( + CompletionKind::Attribute, + ctx.source_range(), + lint_completion.label, + ) + .kind(CompletionItemKind::Attribute) + .detail(lint_completion.description) + .add_to(acc) } } } diff --git a/crates/completion/src/completions/dot.rs b/crates/completion/src/completions/dot.rs index 92b1f489d..c9875045a 100644 --- a/crates/completion/src/completions/dot.rs +++ b/crates/completion/src/completions/dot.rs @@ -4,7 +4,7 @@ use hir::{HasVisibility, Type}; use rustc_hash::FxHashSet; use test_utils::mark; -use crate::{context::CompletionContext, item::Completions}; +use crate::{context::CompletionContext, Completions}; /// Complete dot accesses, i.e. fields or methods. pub(crate) fn complete_dot(acc: &mut Completions, ctx: &CompletionContext) { diff --git a/crates/completion/src/completions/mod_.rs b/crates/completion/src/completions/mod_.rs index 9612ca36a..c96f84171 100644 --- a/crates/completion/src/completions/mod_.rs +++ b/crates/completion/src/completions/mod_.rs @@ -7,7 +7,7 @@ use rustc_hash::FxHashSet; use crate::{CompletionItem, CompletionItemKind}; -use crate::{context::CompletionContext, item::CompletionKind, item::Completions}; +use crate::{context::CompletionContext, item::CompletionKind, Completions}; /// Complete mod declaration, i.e. `mod <|> ;` pub(crate) fn complete_mod(acc: &mut Completions, ctx: &CompletionContext) -> Option<()> { @@ -75,10 +75,9 @@ pub(crate) fn complete_mod(acc: &mut Completions, ctx: &CompletionContext) -> Op if mod_under_caret.semicolon_token().is_none() { label.push(';') } - acc.add( - CompletionItem::new(CompletionKind::Magic, ctx.source_range(), &label) - .kind(CompletionItemKind::Module), - ) + CompletionItem::new(CompletionKind::Magic, ctx.source_range(), &label) + .kind(CompletionItemKind::Module) + .add_to(acc) }); Some(()) diff --git a/crates/completion/src/completions/postfix.rs b/crates/completion/src/completions/postfix.rs index f83ab8d2d..348f017bd 100644 --- a/crates/completion/src/completions/postfix.rs +++ b/crates/completion/src/completions/postfix.rs @@ -13,8 +13,8 @@ use self::format_like::add_format_like_completions; use crate::{ config::SnippetCap, context::CompletionContext, - item::{Builder, CompletionKind, Completions}, - CompletionItem, CompletionItemKind, + item::{Builder, CompletionKind}, + CompletionItem, CompletionItemKind, Completions, }; pub(crate) fn complete_postfix(acc: &mut Completions, ctx: &CompletionContext) { diff --git a/crates/completion/src/completions/postfix/format_like.rs b/crates/completion/src/completions/postfix/format_like.rs index 8a91665b6..3595e0fce 100644 --- a/crates/completion/src/completions/postfix/format_like.rs +++ b/crates/completion/src/completions/postfix/format_like.rs @@ -16,7 +16,7 @@ use crate::{ completions::postfix::postfix_snippet, config::SnippetCap, context::CompletionContext, - item::Completions, + Completions, }; use syntax::ast::{self, AstToken}; -- cgit v1.2.3