aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api')
-rw-r--r--crates/ra_ide_api/src/completion/complete_path.rs2
-rw-r--r--crates/ra_ide_api/src/completion/completion_item.rs4
-rw-r--r--crates/ra_ide_api/src/navigation_target.rs22
3 files changed, 18 insertions, 10 deletions
diff --git a/crates/ra_ide_api/src/completion/complete_path.rs b/crates/ra_ide_api/src/completion/complete_path.rs
index 4768efdc1..bd5484516 100644
--- a/crates/ra_ide_api/src/completion/complete_path.rs
+++ b/crates/ra_ide_api/src/completion/complete_path.rs
@@ -43,6 +43,8 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) {
43 hir::ModuleDef::Function(_) 43 hir::ModuleDef::Function(_)
44 | hir::ModuleDef::Struct(_) 44 | hir::ModuleDef::Struct(_)
45 | hir::ModuleDef::Def(_) 45 | hir::ModuleDef::Def(_)
46 | hir::ModuleDef::Const(_)
47 | hir::ModuleDef::Static(_)
46 | hir::ModuleDef::EnumVariant(_) => return, 48 | hir::ModuleDef::EnumVariant(_) => return,
47 }; 49 };
48} 50}
diff --git a/crates/ra_ide_api/src/completion/completion_item.rs b/crates/ra_ide_api/src/completion/completion_item.rs
index ee1f8bce0..2f8ec41d2 100644
--- a/crates/ra_ide_api/src/completion/completion_item.rs
+++ b/crates/ra_ide_api/src/completion/completion_item.rs
@@ -223,11 +223,11 @@ impl Builder {
223 hir::ModuleDef::Struct(it) => (CompletionItemKind::Struct, it.docs(ctx.db)), 223 hir::ModuleDef::Struct(it) => (CompletionItemKind::Struct, it.docs(ctx.db)),
224 hir::ModuleDef::Enum(it) => (CompletionItemKind::Enum, it.docs(ctx.db)), 224 hir::ModuleDef::Enum(it) => (CompletionItemKind::Enum, it.docs(ctx.db)),
225 hir::ModuleDef::EnumVariant(it) => (CompletionItemKind::EnumVariant, it.docs(ctx.db)), 225 hir::ModuleDef::EnumVariant(it) => (CompletionItemKind::EnumVariant, it.docs(ctx.db)),
226 hir::ModuleDef::Const(it) => (CompletionItemKind::Const, it.docs(ctx.db)),
227 hir::ModuleDef::Static(it) => (CompletionItemKind::Static, it.docs(ctx.db)),
226 hir::ModuleDef::Def(def_id) => match def_id.resolve(ctx.db) { 228 hir::ModuleDef::Def(def_id) => match def_id.resolve(ctx.db) {
227 hir::Def::Trait(it) => (CompletionItemKind::Trait, it.docs(ctx.db)), 229 hir::Def::Trait(it) => (CompletionItemKind::Trait, it.docs(ctx.db)),
228 hir::Def::Type(it) => (CompletionItemKind::TypeAlias, it.docs(ctx.db)), 230 hir::Def::Type(it) => (CompletionItemKind::TypeAlias, it.docs(ctx.db)),
229 hir::Def::Const(it) => (CompletionItemKind::Const, it.docs(ctx.db)),
230 hir::Def::Static(it) => (CompletionItemKind::Static, it.docs(ctx.db)),
231 _ => return self, 231 _ => return self,
232 }, 232 },
233 }; 233 };
diff --git a/crates/ra_ide_api/src/navigation_target.rs b/crates/ra_ide_api/src/navigation_target.rs
index fc76338d2..8406fee31 100644
--- a/crates/ra_ide_api/src/navigation_target.rs
+++ b/crates/ra_ide_api/src/navigation_target.rs
@@ -121,6 +121,20 @@ impl NavigationTarget {
121 &*node, 121 &*node,
122 )); 122 ));
123 } 123 }
124 hir::ModuleDef::Const(s) => {
125 let (file_id, node) = s.source(db);
126 return Some(NavigationTarget::from_named(
127 file_id.original_file(db),
128 &*node,
129 ));
130 }
131 hir::ModuleDef::Static(s) => {
132 let (file_id, node) = s.source(db);
133 return Some(NavigationTarget::from_named(
134 file_id.original_file(db),
135 &*node,
136 ));
137 }
124 hir::ModuleDef::Enum(e) => { 138 hir::ModuleDef::Enum(e) => {
125 let (file_id, node) = e.source(db); 139 let (file_id, node) = e.source(db);
126 return Some(NavigationTarget::from_named( 140 return Some(NavigationTarget::from_named(
@@ -146,14 +160,6 @@ impl NavigationTarget {
146 let (file_id, node) = f.source(db); 160 let (file_id, node) = f.source(db);
147 NavigationTarget::from_named(file_id.original_file(db), &*node) 161 NavigationTarget::from_named(file_id.original_file(db), &*node)
148 } 162 }
149 Def::Static(f) => {
150 let (file_id, node) = f.source(db);
151 NavigationTarget::from_named(file_id.original_file(db), &*node)
152 }
153 Def::Const(f) => {
154 let (file_id, node) = f.source(db);
155 NavigationTarget::from_named(file_id.original_file(db), &*node)
156 }
157 Def::Item => return None, 163 Def::Item => return None,
158 }; 164 };
159 Some(res) 165 Some(res)