diff --git a/crates/ra_ide_api/src/completion/presentation.rs b/crates/ra_ide_api/src/completion/presentation.rs index 400a266a2a4..aa4890375f5 100644 --- a/crates/ra_ide_api/src/completion/presentation.rs +++ b/crates/ra_ide_api/src/completion/presentation.rs @@ -44,7 +44,10 @@ impl Completions { ) { use hir::ModuleDef::*; - let mut completion_kind = CompletionKind::Reference; + let completion_kind = match resolution { + ScopeDef::ModuleDef(BuiltinType(..)) => CompletionKind::BuiltinType, + _ => CompletionKind::Reference, + }; let (kind, docs) = match resolution { ScopeDef::ModuleDef(Module(it)) => (CompletionItemKind::Module, it.docs(ctx.db)), ScopeDef::ModuleDef(Function(func)) => { @@ -60,10 +63,7 @@ impl Completions { ScopeDef::ModuleDef(Static(it)) => (CompletionItemKind::Static, it.docs(ctx.db)), ScopeDef::ModuleDef(Trait(it)) => (CompletionItemKind::Trait, it.docs(ctx.db)), ScopeDef::ModuleDef(TypeAlias(it)) => (CompletionItemKind::TypeAlias, it.docs(ctx.db)), - ScopeDef::ModuleDef(BuiltinType(..)) => { - completion_kind = CompletionKind::BuiltinType; - (CompletionItemKind::BuiltinType, None) - } + ScopeDef::ModuleDef(BuiltinType(..)) => (CompletionItemKind::BuiltinType, None), ScopeDef::GenericParam(..) => (CompletionItemKind::TypeParam, None), ScopeDef::LocalBinding(..) => (CompletionItemKind::Binding, None), ScopeDef::AdtSelfType(..) | ScopeDef::ImplSelfType(..) => (