From d571d26955148befd6986008a5112fff3a901c43 Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Wed, 30 Jan 2019 22:41:44 +0100 Subject: Make the Resolution variants tuple variants --- crates/ra_ide_api/src/completion/complete_path.rs | 4 ++-- .../ra_ide_api/src/completion/completion_item.rs | 28 ++++++++++------------ 2 files changed, 14 insertions(+), 18 deletions(-) (limited to 'crates/ra_ide_api/src/completion') diff --git a/crates/ra_ide_api/src/completion/complete_path.rs b/crates/ra_ide_api/src/completion/complete_path.rs index 5b89c64ad..8e0f6a79e 100644 --- a/crates/ra_ide_api/src/completion/complete_path.rs +++ b/crates/ra_ide_api/src/completion/complete_path.rs @@ -12,7 +12,7 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) { _ => return, }; let def = match ctx.resolver.resolve_path(ctx.db, &path).take_types() { - Some(Resolution::Def { def }) => def, + Some(Resolution::Def(def)) => def, _ => return, }; match def { @@ -24,7 +24,7 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) { ctx.source_range(), name.to_string(), ) - .from_resolution(ctx, &res.def.map(|def| hir::Resolution::Def { def })) + .from_resolution(ctx, &res.def.map(hir::Resolution::Def)) .add_to(acc); } } diff --git a/crates/ra_ide_api/src/completion/completion_item.rs b/crates/ra_ide_api/src/completion/completion_item.rs index 4101ce88a..bada6a33b 100644 --- a/crates/ra_ide_api/src/completion/completion_item.rs +++ b/crates/ra_ide_api/src/completion/completion_item.rs @@ -223,22 +223,18 @@ impl Builder { Some(it) => it, }; let (kind, docs) = match def { - Resolution::Def { def: Module(it) } => (CompletionItemKind::Module, it.docs(ctx.db)), - Resolution::Def { - def: Function(func), - } => return self.from_function(ctx, *func), - Resolution::Def { def: Struct(it) } => (CompletionItemKind::Struct, it.docs(ctx.db)), - Resolution::Def { def: Enum(it) } => (CompletionItemKind::Enum, it.docs(ctx.db)), - Resolution::Def { - def: EnumVariant(it), - } => (CompletionItemKind::EnumVariant, it.docs(ctx.db)), - Resolution::Def { def: Const(it) } => (CompletionItemKind::Const, it.docs(ctx.db)), - Resolution::Def { def: Static(it) } => (CompletionItemKind::Static, it.docs(ctx.db)), - Resolution::Def { def: Trait(it) } => (CompletionItemKind::Trait, it.docs(ctx.db)), - Resolution::Def { def: Type(it) } => (CompletionItemKind::TypeAlias, it.docs(ctx.db)), - Resolution::GenericParam { .. } => (CompletionItemKind::TypeParam, None), - Resolution::LocalBinding { .. } => (CompletionItemKind::Binding, None), - Resolution::SelfType { .. } => ( + Resolution::Def(Module(it)) => (CompletionItemKind::Module, it.docs(ctx.db)), + Resolution::Def(Function(func)) => return self.from_function(ctx, *func), + Resolution::Def(Struct(it)) => (CompletionItemKind::Struct, it.docs(ctx.db)), + Resolution::Def(Enum(it)) => (CompletionItemKind::Enum, it.docs(ctx.db)), + Resolution::Def(EnumVariant(it)) => (CompletionItemKind::EnumVariant, it.docs(ctx.db)), + Resolution::Def(Const(it)) => (CompletionItemKind::Const, it.docs(ctx.db)), + Resolution::Def(Static(it)) => (CompletionItemKind::Static, it.docs(ctx.db)), + Resolution::Def(Trait(it)) => (CompletionItemKind::Trait, it.docs(ctx.db)), + Resolution::Def(Type(it)) => (CompletionItemKind::TypeAlias, it.docs(ctx.db)), + Resolution::GenericParam(..) => (CompletionItemKind::TypeParam, None), + Resolution::LocalBinding(..) => (CompletionItemKind::Binding, None), + Resolution::SelfType(..) => ( CompletionItemKind::TypeParam, // (does this need its own kind?) None, ), -- cgit v1.2.3