diff options
Diffstat (limited to 'crates/completion/src')
-rw-r--r-- | crates/completion/src/completions.rs | 10 | ||||
-rw-r--r-- | crates/completion/src/completions/pattern.rs | 2 | ||||
-rw-r--r-- | crates/completion/src/render.rs | 9 | ||||
-rw-r--r-- | crates/completion/src/render/enum_variant.rs | 26 |
4 files changed, 19 insertions, 28 deletions
diff --git a/crates/completion/src/completions.rs b/crates/completion/src/completions.rs index 9b7d6c580..1ef6b5f48 100644 --- a/crates/completion/src/completions.rs +++ b/crates/completion/src/completions.rs | |||
@@ -19,7 +19,7 @@ use hir::{ModPath, ScopeDef, Type}; | |||
19 | use crate::{ | 19 | use crate::{ |
20 | item::Builder, | 20 | item::Builder, |
21 | render::{ | 21 | render::{ |
22 | const_::render_const, enum_variant::render_enum_variant, function::render_fn, | 22 | const_::render_const, enum_variant::render_variant, function::render_fn, |
23 | macro_::render_macro, render_field, render_resolution, render_tuple_field, | 23 | macro_::render_macro, render_field, render_resolution, render_tuple_field, |
24 | type_alias::render_type_alias, RenderContext, | 24 | type_alias::render_type_alias, RenderContext, |
25 | }, | 25 | }, |
@@ -120,20 +120,20 @@ impl Completions { | |||
120 | pub(crate) fn add_qualified_enum_variant( | 120 | pub(crate) fn add_qualified_enum_variant( |
121 | &mut self, | 121 | &mut self, |
122 | ctx: &CompletionContext, | 122 | ctx: &CompletionContext, |
123 | variant: hir::EnumVariant, | 123 | variant: hir::Variant, |
124 | path: ModPath, | 124 | path: ModPath, |
125 | ) { | 125 | ) { |
126 | let item = render_enum_variant(RenderContext::new(ctx), None, None, variant, Some(path)); | 126 | let item = render_variant(RenderContext::new(ctx), None, None, variant, Some(path)); |
127 | self.add(item); | 127 | self.add(item); |
128 | } | 128 | } |
129 | 129 | ||
130 | pub(crate) fn add_enum_variant( | 130 | pub(crate) fn add_enum_variant( |
131 | &mut self, | 131 | &mut self, |
132 | ctx: &CompletionContext, | 132 | ctx: &CompletionContext, |
133 | variant: hir::EnumVariant, | 133 | variant: hir::Variant, |
134 | local_name: Option<String>, | 134 | local_name: Option<String>, |
135 | ) { | 135 | ) { |
136 | let item = render_enum_variant(RenderContext::new(ctx), None, local_name, variant, None); | 136 | let item = render_variant(RenderContext::new(ctx), None, local_name, variant, None); |
137 | self.add(item); | 137 | self.add(item); |
138 | } | 138 | } |
139 | } | 139 | } |
diff --git a/crates/completion/src/completions/pattern.rs b/crates/completion/src/completions/pattern.rs index 0c98e4412..4d56731ec 100644 --- a/crates/completion/src/completions/pattern.rs +++ b/crates/completion/src/completions/pattern.rs | |||
@@ -23,7 +23,7 @@ pub(crate) fn complete_pattern(acc: &mut Completions, ctx: &CompletionContext) { | |||
23 | def, | 23 | def, |
24 | hir::ModuleDef::Adt(hir::Adt::Enum(..)) | 24 | hir::ModuleDef::Adt(hir::Adt::Enum(..)) |
25 | | hir::ModuleDef::Adt(hir::Adt::Struct(..)) | 25 | | hir::ModuleDef::Adt(hir::Adt::Struct(..)) |
26 | | hir::ModuleDef::EnumVariant(..) | 26 | | hir::ModuleDef::Variant(..) |
27 | | hir::ModuleDef::Const(..) | 27 | | hir::ModuleDef::Const(..) |
28 | | hir::ModuleDef::Module(..) | 28 | | hir::ModuleDef::Module(..) |
29 | ) | 29 | ) |
diff --git a/crates/completion/src/render.rs b/crates/completion/src/render.rs index b940388df..1092a4825 100644 --- a/crates/completion/src/render.rs +++ b/crates/completion/src/render.rs | |||
@@ -19,7 +19,7 @@ use crate::{ | |||
19 | CompletionKind, CompletionScore, | 19 | CompletionKind, CompletionScore, |
20 | }; | 20 | }; |
21 | 21 | ||
22 | use crate::render::{enum_variant::render_enum_variant, function::render_fn, macro_::render_macro}; | 22 | use crate::render::{enum_variant::render_variant, function::render_fn, macro_::render_macro}; |
23 | 23 | ||
24 | pub(crate) fn render_field<'a>( | 24 | pub(crate) fn render_field<'a>( |
25 | ctx: RenderContext<'a>, | 25 | ctx: RenderContext<'a>, |
@@ -159,9 +159,8 @@ impl<'a> Render<'a> { | |||
159 | let item = render_fn(self.ctx, import_to_add, Some(local_name), *func); | 159 | let item = render_fn(self.ctx, import_to_add, Some(local_name), *func); |
160 | return Some(item); | 160 | return Some(item); |
161 | } | 161 | } |
162 | ScopeDef::ModuleDef(EnumVariant(var)) => { | 162 | ScopeDef::ModuleDef(Variant(var)) => { |
163 | let item = | 163 | let item = render_variant(self.ctx, import_to_add, Some(local_name), *var, None); |
164 | render_enum_variant(self.ctx, import_to_add, Some(local_name), *var, None); | ||
165 | return Some(item); | 164 | return Some(item); |
166 | } | 165 | } |
167 | ScopeDef::MacroDef(mac) => { | 166 | ScopeDef::MacroDef(mac) => { |
@@ -257,7 +256,7 @@ impl<'a> Render<'a> { | |||
257 | match resolution { | 256 | match resolution { |
258 | ScopeDef::ModuleDef(Module(it)) => it.docs(self.ctx.db()), | 257 | ScopeDef::ModuleDef(Module(it)) => it.docs(self.ctx.db()), |
259 | ScopeDef::ModuleDef(Adt(it)) => it.docs(self.ctx.db()), | 258 | ScopeDef::ModuleDef(Adt(it)) => it.docs(self.ctx.db()), |
260 | ScopeDef::ModuleDef(EnumVariant(it)) => it.docs(self.ctx.db()), | 259 | ScopeDef::ModuleDef(Variant(it)) => it.docs(self.ctx.db()), |
261 | ScopeDef::ModuleDef(Const(it)) => it.docs(self.ctx.db()), | 260 | ScopeDef::ModuleDef(Const(it)) => it.docs(self.ctx.db()), |
262 | ScopeDef::ModuleDef(Static(it)) => it.docs(self.ctx.db()), | 261 | ScopeDef::ModuleDef(Static(it)) => it.docs(self.ctx.db()), |
263 | ScopeDef::ModuleDef(Trait(it)) => it.docs(self.ctx.db()), | 262 | ScopeDef::ModuleDef(Trait(it)) => it.docs(self.ctx.db()), |
diff --git a/crates/completion/src/render/enum_variant.rs b/crates/completion/src/render/enum_variant.rs index 8e0fea6c0..7176fd9b3 100644 --- a/crates/completion/src/render/enum_variant.rs +++ b/crates/completion/src/render/enum_variant.rs | |||
@@ -9,35 +9,35 @@ use crate::{ | |||
9 | render::{builder_ext::Params, RenderContext}, | 9 | render::{builder_ext::Params, RenderContext}, |
10 | }; | 10 | }; |
11 | 11 | ||
12 | pub(crate) fn render_enum_variant<'a>( | 12 | pub(crate) fn render_variant<'a>( |
13 | ctx: RenderContext<'a>, | 13 | ctx: RenderContext<'a>, |
14 | import_to_add: Option<ImportEdit>, | 14 | import_to_add: Option<ImportEdit>, |
15 | local_name: Option<String>, | 15 | local_name: Option<String>, |
16 | variant: hir::EnumVariant, | 16 | variant: hir::Variant, |
17 | path: Option<ModPath>, | 17 | path: Option<ModPath>, |
18 | ) -> CompletionItem { | 18 | ) -> CompletionItem { |
19 | let _p = profile::span("render_enum_variant"); | 19 | let _p = profile::span("render_enum_variant"); |
20 | EnumVariantRender::new(ctx, local_name, variant, path).render(import_to_add) | 20 | EnumRender::new(ctx, local_name, variant, path).render(import_to_add) |
21 | } | 21 | } |
22 | 22 | ||
23 | #[derive(Debug)] | 23 | #[derive(Debug)] |
24 | struct EnumVariantRender<'a> { | 24 | struct EnumRender<'a> { |
25 | ctx: RenderContext<'a>, | 25 | ctx: RenderContext<'a>, |
26 | name: String, | 26 | name: String, |
27 | variant: hir::EnumVariant, | 27 | variant: hir::Variant, |
28 | path: Option<ModPath>, | 28 | path: Option<ModPath>, |
29 | qualified_name: String, | 29 | qualified_name: String, |
30 | short_qualified_name: String, | 30 | short_qualified_name: String, |
31 | variant_kind: StructKind, | 31 | variant_kind: StructKind, |
32 | } | 32 | } |
33 | 33 | ||
34 | impl<'a> EnumVariantRender<'a> { | 34 | impl<'a> EnumRender<'a> { |
35 | fn new( | 35 | fn new( |
36 | ctx: RenderContext<'a>, | 36 | ctx: RenderContext<'a>, |
37 | local_name: Option<String>, | 37 | local_name: Option<String>, |
38 | variant: hir::EnumVariant, | 38 | variant: hir::Variant, |
39 | path: Option<ModPath>, | 39 | path: Option<ModPath>, |
40 | ) -> EnumVariantRender<'a> { | 40 | ) -> EnumRender<'a> { |
41 | let name = local_name.unwrap_or_else(|| variant.name(ctx.db()).to_string()); | 41 | let name = local_name.unwrap_or_else(|| variant.name(ctx.db()).to_string()); |
42 | let variant_kind = variant.kind(ctx.db()); | 42 | let variant_kind = variant.kind(ctx.db()); |
43 | 43 | ||
@@ -51,15 +51,7 @@ impl<'a> EnumVariantRender<'a> { | |||
51 | None => (name.to_string(), name.to_string()), | 51 | None => (name.to_string(), name.to_string()), |
52 | }; | 52 | }; |
53 | 53 | ||
54 | EnumVariantRender { | 54 | EnumRender { ctx, name, variant, path, qualified_name, short_qualified_name, variant_kind } |
55 | ctx, | ||
56 | name, | ||
57 | variant, | ||
58 | path, | ||
59 | qualified_name, | ||
60 | short_qualified_name, | ||
61 | variant_kind, | ||
62 | } | ||
63 | } | 55 | } |
64 | 56 | ||
65 | fn render(self, import_to_add: Option<ImportEdit>) -> CompletionItem { | 57 | fn render(self, import_to_add: Option<ImportEdit>) -> CompletionItem { |