diff options
Diffstat (limited to 'crates/ide_completion/src/render/enum_variant.rs')
-rw-r--r-- | crates/ide_completion/src/render/enum_variant.rs | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/crates/ide_completion/src/render/enum_variant.rs b/crates/ide_completion/src/render/enum_variant.rs index 9214193b4..e8cfcc0c7 100644 --- a/crates/ide_completion/src/render/enum_variant.rs +++ b/crates/ide_completion/src/render/enum_variant.rs | |||
@@ -3,7 +3,6 @@ | |||
3 | use hir::{HasAttrs, HirDisplay, ModPath, StructKind}; | 3 | use hir::{HasAttrs, HirDisplay, ModPath, StructKind}; |
4 | use ide_db::SymbolKind; | 4 | use ide_db::SymbolKind; |
5 | use itertools::Itertools; | 5 | use itertools::Itertools; |
6 | use test_utils::mark; | ||
7 | 6 | ||
8 | use crate::{ | 7 | use crate::{ |
9 | item::{CompletionItem, CompletionKind, ImportEdit}, | 8 | item::{CompletionItem, CompletionKind, ImportEdit}, |
@@ -56,27 +55,26 @@ impl<'a> EnumRender<'a> { | |||
56 | } | 55 | } |
57 | 56 | ||
58 | fn render(self, import_to_add: Option<ImportEdit>) -> CompletionItem { | 57 | fn render(self, import_to_add: Option<ImportEdit>) -> CompletionItem { |
59 | let mut builder = CompletionItem::new( | 58 | let mut item = CompletionItem::new( |
60 | CompletionKind::Reference, | 59 | CompletionKind::Reference, |
61 | self.ctx.source_range(), | 60 | self.ctx.source_range(), |
62 | self.qualified_name.clone(), | 61 | self.qualified_name.clone(), |
63 | ) | 62 | ); |
64 | .kind(SymbolKind::Variant) | 63 | item.kind(SymbolKind::Variant) |
65 | .set_documentation(self.variant.docs(self.ctx.db())) | 64 | .set_documentation(self.variant.docs(self.ctx.db())) |
66 | .set_deprecated(self.ctx.is_deprecated(self.variant)) | 65 | .set_deprecated(self.ctx.is_deprecated(self.variant)) |
67 | .add_import(import_to_add) | 66 | .add_import(import_to_add) |
68 | .detail(self.detail()); | 67 | .detail(self.detail()); |
69 | 68 | ||
70 | if self.variant_kind == StructKind::Tuple { | 69 | if self.variant_kind == StructKind::Tuple { |
71 | mark::hit!(inserts_parens_for_tuple_enums); | 70 | cov_mark::hit!(inserts_parens_for_tuple_enums); |
72 | let params = Params::Anonymous(self.variant.fields(self.ctx.db()).len()); | 71 | let params = Params::Anonymous(self.variant.fields(self.ctx.db()).len()); |
73 | builder = | 72 | item.add_call_parens(self.ctx.completion, self.short_qualified_name, params); |
74 | builder.add_call_parens(self.ctx.completion, self.short_qualified_name, params); | ||
75 | } else if self.path.is_some() { | 73 | } else if self.path.is_some() { |
76 | builder = builder.lookup_by(self.short_qualified_name); | 74 | item.lookup_by(self.short_qualified_name); |
77 | } | 75 | } |
78 | 76 | ||
79 | builder.build() | 77 | item.build() |
80 | } | 78 | } |
81 | 79 | ||
82 | fn detail(&self) -> String { | 80 | fn detail(&self) -> String { |
@@ -103,13 +101,11 @@ impl<'a> EnumRender<'a> { | |||
103 | 101 | ||
104 | #[cfg(test)] | 102 | #[cfg(test)] |
105 | mod tests { | 103 | mod tests { |
106 | use test_utils::mark; | ||
107 | |||
108 | use crate::test_utils::check_edit; | 104 | use crate::test_utils::check_edit; |
109 | 105 | ||
110 | #[test] | 106 | #[test] |
111 | fn inserts_parens_for_tuple_enums() { | 107 | fn inserts_parens_for_tuple_enums() { |
112 | mark::check!(inserts_parens_for_tuple_enums); | 108 | cov_mark::check!(inserts_parens_for_tuple_enums); |
113 | check_edit( | 109 | check_edit( |
114 | "Some", | 110 | "Some", |
115 | r#" | 111 | r#" |