aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/goto_definition.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide/src/goto_definition.rs')
-rw-r--r--crates/ra_ide/src/goto_definition.rs13
1 files changed, 3 insertions, 10 deletions
diff --git a/crates/ra_ide/src/goto_definition.rs b/crates/ra_ide/src/goto_definition.rs
index 6053c1bb6..621ab982c 100644
--- a/crates/ra_ide/src/goto_definition.rs
+++ b/crates/ra_ide/src/goto_definition.rs
@@ -30,7 +30,9 @@ pub(crate) fn goto_definition(
30 reference_definition(&sema, &name_ref).to_vec() 30 reference_definition(&sema, &name_ref).to_vec()
31 }, 31 },
32 ast::Name(name) => { 32 ast::Name(name) => {
33 name_definition(&sema, &name)? 33 let def = classify_name(&sema, &name)?.definition();
34 let nav = def.try_to_nav(sema.db)?;
35 vec![nav]
34 }, 36 },
35 _ => return None, 37 _ => return None,
36 } 38 }
@@ -88,15 +90,6 @@ pub(crate) fn reference_definition(
88 Approximate(navs) 90 Approximate(navs)
89} 91}
90 92
91fn name_definition(
92 sema: &Semantics<RootDatabase>,
93 name: &ast::Name,
94) -> Option<Vec<NavigationTarget>> {
95 let def = classify_name(sema, name)?;
96 let nav = def.try_to_nav(sema.db)?;
97 Some(vec![nav])
98}
99
100#[cfg(test)] 93#[cfg(test)]
101mod tests { 94mod tests {
102 use test_utils::{assert_eq_text, covers}; 95 use test_utils::{assert_eq_text, covers};