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.rs | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/crates/ide-completion/src/completions/field.rs b/crates/ide-completion/src/completions/field.rs index 6d346c5fd4..738c24574c 100644 --- a/crates/ide-completion/src/completions/field.rs +++ b/crates/ide-completion/src/completions/field.rs @@ -1,7 +1,7 @@ //! Completion of field list position. use crate::{ - context::{NameContext, NameKind, PathCompletionCtx, PathKind, Qualified, TypeLocation}, + context::{PathCompletionCtx, Qualified}, CompletionContext, Completions, }; @@ -10,37 +10,31 @@ pub(crate) fn complete_field_list_tuple_variant( ctx: &CompletionContext, path_ctx: &PathCompletionCtx, ) { + if ctx.qualifier_ctx.vis_node.is_some() { + return; + } match path_ctx { PathCompletionCtx { has_macro_bang: false, qualified: Qualified::No, parent: None, - kind: PathKind::Type { location: TypeLocation::TupleField }, has_type_args: false, .. } => { - if ctx.qualifier_ctx.vis_node.is_none() { - 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"); - } - } - _ => (), - } -} - -pub(crate) fn complete_field_list_record_variant( - acc: &mut Completions, - ctx: &CompletionContext, - name_ctx: &NameContext, -) { - if let NameContext { kind: NameKind::RecordField, .. } = name_ctx { - if ctx.qualifier_ctx.vis_node.is_none() { 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"); } + _ => (), + } +} + +pub(crate) fn complete_field_list_record_variant(acc: &mut Completions, ctx: &CompletionContext) { + if ctx.qualifier_ctx.vis_node.is_none() { + 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"); } } |