aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/hover.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide/src/hover.rs')
-rw-r--r--crates/ra_ide/src/hover.rs27
1 files changed, 16 insertions, 11 deletions
diff --git a/crates/ra_ide/src/hover.rs b/crates/ra_ide/src/hover.rs
index 3bdd61a2e..d1deca96b 100644
--- a/crates/ra_ide/src/hover.rs
+++ b/crates/ra_ide/src/hover.rs
@@ -94,17 +94,22 @@ fn definition_owner_name(db: &RootDatabase, def: &Definition) -> Option<String>
94 94
95fn determine_mod_path(db: &RootDatabase, def: &Definition) -> Option<String> { 95fn determine_mod_path(db: &RootDatabase, def: &Definition) -> Option<String> {
96 let mod_path = def.module(db).map(|module| { 96 let mod_path = def.module(db).map(|module| {
97 once(db.crate_graph()[module.krate().into()].display_name.clone()) 97 once(
98 .chain( 98 db.crate_graph()[module.krate().into()]
99 module 99 .display_name
100 .path_to_root(db) 100 .as_ref()
101 .into_iter() 101 .map(|name| name.get_name()),
102 .rev() 102 )
103 .map(|it| it.name(db).map(|name| name.to_string())), 103 .chain(
104 ) 104 module
105 .chain(once(definition_owner_name(db, def))) 105 .path_to_root(db)
106 .flatten() 106 .into_iter()
107 .join("::") 107 .rev()
108 .map(|it| it.name(db).map(|name| name.to_string())),
109 )
110 .chain(once(definition_owner_name(db, def)))
111 .flatten()
112 .join("::")
108 }); 113 });
109 mod_path // FIXME: replace dashes with underscores in crate display name 114 mod_path // FIXME: replace dashes with underscores in crate display name
110} 115}