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