ide_completion/completions/
field.rs1use crate::{
4 CompletionContext, Completions,
5 context::{PathCompletionCtx, Qualified},
6};
7
8pub(crate) fn complete_field_list_tuple_variant(
9 acc: &mut Completions,
10 ctx: &CompletionContext<'_>,
11 path_ctx: &PathCompletionCtx<'_>,
12) {
13 if ctx.qualifier_ctx.vis_node.is_some() {
14 } else if let PathCompletionCtx {
15 has_macro_bang: false,
16 qualified: Qualified::No,
17 parent: None,
18 has_type_args: false,
19 ..
20 } = path_ctx
21 {
22 let mut add_keyword = |kw, snippet| acc.add_keyword_snippet(ctx, kw, snippet);
23 add_keyword("pub(crate)", "pub(crate) $0");
24 add_keyword("pub(super)", "pub(super) $0");
25 add_keyword("pub", "pub $0");
26 }
27}
28
29pub(crate) fn complete_field_list_record_variant(
30 acc: &mut Completions,
31 ctx: &CompletionContext<'_>,
32) {
33 if ctx.qualifier_ctx.vis_node.is_none() {
34 let mut add_keyword = |kw, snippet| acc.add_keyword_snippet(ctx, kw, snippet);
35 add_keyword("pub(crate)", "pub(crate) $0");
36 add_keyword("pub(super)", "pub(super) $0");
37 add_keyword("pub", "pub $0");
38 }
39}