Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/completions/field.rs')
-rw-r--r--crates/ide-completion/src/completions/field.rs24
1 files changed, 2 insertions, 22 deletions
diff --git a/crates/ide-completion/src/completions/field.rs b/crates/ide-completion/src/completions/field.rs
index d81e48cbab..1739527917 100644
--- a/crates/ide-completion/src/completions/field.rs
+++ b/crates/ide-completion/src/completions/field.rs
@@ -2,7 +2,7 @@
use crate::{
context::{IdentContext, NameContext, NameKind, NameRefContext, PathCompletionCtx, PathKind},
- CompletionContext, CompletionItem, CompletionItemKind, Completions,
+ CompletionContext, Completions,
};
pub(crate) fn complete_field_list(acc: &mut Completions, ctx: &CompletionContext) {
@@ -22,7 +22,7 @@ pub(crate) fn complete_field_list(acc: &mut Completions, ctx: &CompletionContext
..
}) => {
if ctx.qualifier_ctx.vis_node.is_none() {
- let mut add_keyword = |kw, snippet| add_keyword(acc, ctx, kw, snippet);
+ let mut add_keyword = |kw, snippet| acc.add_keyword_snippet(ctx, kw, snippet);
add_keyword("pub(crate)", "pub(crate)");
add_keyword("pub(super)", "pub(super)");
add_keyword("pub", "pub");
@@ -31,23 +31,3 @@ pub(crate) fn complete_field_list(acc: &mut Completions, ctx: &CompletionContext
_ => return,
}
}
-
-pub(super) fn add_keyword(acc: &mut Completions, ctx: &CompletionContext, kw: &str, snippet: &str) {
- let mut item = CompletionItem::new(CompletionItemKind::Keyword, ctx.source_range(), kw);
-
- match ctx.config.snippet_cap {
- Some(cap) => {
- if snippet.ends_with('}') && ctx.incomplete_let {
- // complete block expression snippets with a trailing semicolon, if inside an incomplete let
- cov_mark::hit!(let_semi);
- item.insert_snippet(cap, format!("{};", snippet));
- } else {
- item.insert_snippet(cap, snippet);
- }
- }
- None => {
- item.insert_text(if snippet.contains('$') { kw } else { snippet });
- }
- };
- item.add_to(acc);
-}