adapt ide_api to the new API

This commit is contained in:
Aleksey Kladov 2019-01-24 23:36:16 +03:00
parent 4c514a3e02
commit 6a5a1f5902
4 changed files with 12 additions and 6 deletions

View File

@ -47,7 +47,6 @@ impl Crate {
#[derive(Debug)]
pub enum Def {
EnumVariant(EnumVariant),
Const(Const),
Static(Static),
Trait(Trait),

View File

@ -40,7 +40,10 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) {
.add_to(acc)
});
}
hir::ModuleDef::Function(_) | hir::ModuleDef::Struct(_) | hir::ModuleDef::Def(_) => return,
hir::ModuleDef::Function(_)
| hir::ModuleDef::Struct(_)
| hir::ModuleDef::Def(_)
| hir::ModuleDef::EnumVariant(_) => return,
};
}

View File

@ -222,6 +222,7 @@ impl Builder {
hir::ModuleDef::Function(func) => return self.from_function(ctx, func),
hir::ModuleDef::Struct(it) => (CompletionItemKind::Struct, it.docs(ctx.db)),
hir::ModuleDef::Enum(it) => (CompletionItemKind::Enum, it.docs(ctx.db)),
hir::ModuleDef::EnumVariant(it) => (CompletionItemKind::EnumVariant, it.docs(ctx.db)),
hir::ModuleDef::Def(def_id) => match def_id.resolve(ctx.db) {
hir::Def::Trait(it) => (CompletionItemKind::Trait, it.docs(ctx.db)),
hir::Def::Type(it) => (CompletionItemKind::TypeAlias, it.docs(ctx.db)),

View File

@ -128,13 +128,16 @@ impl NavigationTarget {
&*node,
));
}
hir::ModuleDef::EnumVariant(var) => {
let (file_id, node) = var.source(db);
return Some(NavigationTarget::from_named(
file_id.original_file(db),
&*node,
));
}
};
let res = match def {
Def::EnumVariant(ev) => {
let (file_id, node) = ev.source(db);
NavigationTarget::from_named(file_id.original_file(db), &*node)
}
Def::Trait(f) => {
let (file_id, node) = f.source(db);
NavigationTarget::from_named(file_id.original_file(db), &*node)