diff options
Diffstat (limited to 'crates/completion/src/completions.rs')
-rw-r--r-- | crates/completion/src/completions.rs | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/crates/completion/src/completions.rs b/crates/completion/src/completions.rs index d8dc1b1c3..434366b12 100644 --- a/crates/completion/src/completions.rs +++ b/crates/completion/src/completions.rs | |||
@@ -14,13 +14,12 @@ pub(crate) mod macro_in_item_position; | |||
14 | pub(crate) mod trait_impl; | 14 | pub(crate) mod trait_impl; |
15 | pub(crate) mod mod_; | 15 | pub(crate) mod mod_; |
16 | 16 | ||
17 | use hir::{HasAttrs, HasSource, HirDisplay, ModPath, Mutability, ScopeDef, Type}; | 17 | use hir::{HasAttrs, HirDisplay, ModPath, Mutability, ScopeDef, Type}; |
18 | use syntax::{ast::NameOwner, display::*}; | ||
19 | use test_utils::mark; | 18 | use test_utils::mark; |
20 | 19 | ||
21 | use crate::{ | 20 | use crate::{ |
22 | item::Builder, | 21 | item::Builder, |
23 | render::{ConstRender, EnumVariantRender, FunctionRender, MacroRender}, | 22 | render::{ConstRender, EnumVariantRender, FunctionRender, MacroRender, TypeAliasRender}, |
24 | CompletionContext, CompletionItem, CompletionItemKind, CompletionKind, CompletionScore, | 23 | CompletionContext, CompletionItem, CompletionItemKind, CompletionKind, CompletionScore, |
25 | RootDatabase, | 24 | RootDatabase, |
26 | }; | 25 | }; |
@@ -216,19 +215,9 @@ impl Completions { | |||
216 | } | 215 | } |
217 | 216 | ||
218 | pub(crate) fn add_type_alias(&mut self, ctx: &CompletionContext, type_alias: hir::TypeAlias) { | 217 | pub(crate) fn add_type_alias(&mut self, ctx: &CompletionContext, type_alias: hir::TypeAlias) { |
219 | let type_def = type_alias.source(ctx.db).value; | 218 | if let Some(item) = TypeAliasRender::new(ctx.into(), type_alias).render() { |
220 | let name = match type_def.name() { | 219 | self.add(item) |
221 | Some(name) => name, | 220 | } |
222 | _ => return, | ||
223 | }; | ||
224 | let detail = type_label(&type_def); | ||
225 | |||
226 | CompletionItem::new(CompletionKind::Reference, ctx.source_range(), name.text().to_string()) | ||
227 | .kind(CompletionItemKind::TypeAlias) | ||
228 | .set_documentation(type_alias.docs(ctx.db)) | ||
229 | .set_deprecated(is_deprecated(type_alias, ctx.db)) | ||
230 | .detail(detail) | ||
231 | .add_to(self); | ||
232 | } | 221 | } |
233 | 222 | ||
234 | pub(crate) fn add_qualified_enum_variant( | 223 | pub(crate) fn add_qualified_enum_variant( |