aboutsummaryrefslogtreecommitdiff
path: root/crates/completion/src/completions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/completion/src/completions.rs')
-rw-r--r--crates/completion/src/completions.rs21
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;
14pub(crate) mod trait_impl; 14pub(crate) mod trait_impl;
15pub(crate) mod mod_; 15pub(crate) mod mod_;
16 16
17use hir::{HasAttrs, HasSource, HirDisplay, ModPath, Mutability, ScopeDef, Type}; 17use hir::{HasAttrs, HirDisplay, ModPath, Mutability, ScopeDef, Type};
18use syntax::{ast::NameOwner, display::*};
19use test_utils::mark; 18use test_utils::mark;
20 19
21use crate::{ 20use 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(