Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/hover/render.rs')
-rw-r--r--crates/ide/src/hover/render.rs36
1 files changed, 11 insertions, 25 deletions
diff --git a/crates/ide/src/hover/render.rs b/crates/ide/src/hover/render.rs
index 51b5900e81..65375ed8f7 100644
--- a/crates/ide/src/hover/render.rs
+++ b/crates/ide/src/hover/render.rs
@@ -10,7 +10,7 @@ use hir::{
};
use ide_db::{
RootDatabase,
- defs::Definition,
+ defs::{Definition, find_std_module},
documentation::{DocsRangeMap, HasDocs},
famous_defs::FamousDefs,
generated::lints::{CLIPPY_LINTS, DEFAULT_LINTS, FEATURES},
@@ -128,7 +128,7 @@ pub(super) fn try_expr(
};
walk_and_push_ty(sema.db, &inner_ty, &mut push_new_def);
walk_and_push_ty(sema.db, &body_ty, &mut push_new_def);
- if let Some(actions) = HoverAction::goto_type_from_targets(sema.db, targets, edition) {
+ if let Some(actions) = HoverAction::goto_type_from_targets(sema, targets, edition) {
res.actions.push(actions);
}
@@ -210,7 +210,7 @@ pub(super) fn deref_expr(
)
.into()
};
- if let Some(actions) = HoverAction::goto_type_from_targets(sema.db, targets, edition) {
+ if let Some(actions) = HoverAction::goto_type_from_targets(sema, targets, edition) {
res.actions.push(actions);
}
@@ -323,7 +323,7 @@ pub(super) fn struct_rest_pat(
Markup::fenced_block(&s)
};
- if let Some(actions) = HoverAction::goto_type_from_targets(sema.db, targets, edition) {
+ if let Some(actions) = HoverAction::goto_type_from_targets(sema, targets, edition) {
res.actions.push(actions);
}
res
@@ -361,7 +361,7 @@ pub(super) fn try_for_lint(attr: &ast::Attr, token: &SyntaxToken) -> Option<Hove
let lint =
lints.binary_search_by_key(&needle, |lint| lint.label).ok().map(|idx| &lints[idx])?;
Some(HoverResult {
- markup: Markup::from(format!("```\n{}\n```\n___\n\n{}", lint.label, lint.description)),
+ markup: Markup::from(format!("```\n{}\n```\n---\n\n{}", lint.label, lint.description)),
..Default::default()
})
}
@@ -400,7 +400,6 @@ fn definition_owner_name(db: &RootDatabase, def: Definition, edition: Edition) -
Definition::GenericParam(generic_param) => match generic_param.parent() {
hir::GenericDef::Adt(it) => Some(it.name(db)),
hir::GenericDef::Trait(it) => Some(it.name(db)),
- hir::GenericDef::TraitAlias(it) => Some(it.name(db)),
hir::GenericDef::TypeAlias(it) => Some(it.name(db)),
hir::GenericDef::Impl(i) => i.self_ty(db).as_adt().map(|adt| adt.name(db)),
@@ -912,7 +911,7 @@ pub(super) fn literal(
};
let ty = ty.display(sema.db, display_target);
- let mut s = format!("```rust\n{ty}\n```\n___\n\n");
+ let mut s = format!("```rust\n{ty}\n```\n---\n\n");
match value {
Ok(value) => {
let backtick_len = value.chars().filter(|c| *c == '`').count();
@@ -1026,12 +1025,12 @@ fn type_info(
if let Some(extra) =
render_notable_trait(db, &notable_traits(db, &original), edition, display_target)
{
- desc.push_str("\n___\n");
+ desc.push_str("\n---\n");
desc.push_str(&extra);
};
desc.into()
};
- if let Some(actions) = HoverAction::goto_type_from_targets(db, targets, edition) {
+ if let Some(actions) = HoverAction::goto_type_from_targets(sema, targets, edition) {
res.actions.push(actions);
}
Some(res)
@@ -1094,12 +1093,12 @@ fn closure_ty(
|_| None,
|_| None,
) {
- format_to!(markup, "\n___\n{layout}");
+ format_to!(markup, "\n---\n{layout}");
}
format_to!(markup, "{adjusted}\n\n## Captures\n{}", captures_rendered,);
let mut res = HoverResult::default();
- if let Some(actions) = HoverAction::goto_type_from_targets(sema.db, targets, edition) {
+ if let Some(actions) = HoverAction::goto_type_from_targets(sema, targets, edition) {
res.actions.push(actions);
}
res.markup = markup.into();
@@ -1161,19 +1160,6 @@ fn markup(
}
}
-fn find_std_module(
- famous_defs: &FamousDefs<'_, '_>,
- name: &str,
- edition: Edition,
-) -> Option<hir::Module> {
- let db = famous_defs.0.db;
- let std_crate = famous_defs.std()?;
- let std_root_module = std_crate.root_module();
- std_root_module.children(db).find(|module| {
- module.name(db).is_some_and(|module| module.display(db, edition).to_string() == name)
- })
-}
-
fn render_memory_layout(
config: Option<MemoryLayoutHoverConfig>,
layout: impl FnOnce() -> Result<Layout, LayoutError>,
@@ -1316,7 +1302,7 @@ fn keyword_hints(
KeywordHint {
description,
keyword_mod,
- actions: HoverAction::goto_type_from_targets(sema.db, targets, edition)
+ actions: HoverAction::goto_type_from_targets(sema, targets, edition)
.into_iter()
.collect(),
}