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.rs30
1 files changed, 18 insertions, 12 deletions
diff --git a/crates/ide/src/hover/render.rs b/crates/ide/src/hover/render.rs
index fe94e169ed..f757989784 100644
--- a/crates/ide/src/hover/render.rs
+++ b/crates/ide/src/hover/render.rs
@@ -456,6 +456,7 @@ pub(super) fn definition(
notable_traits: &[(Trait, Vec<(Option<Type<'_>>, Name)>)],
macro_arm: Option<u32>,
render_extras: bool,
+ render_private_fields: bool,
subst_types: Option<&Vec<(Symbol, Type<'_>)>>,
config: &HoverConfig<'_>,
edition: Edition,
@@ -465,22 +466,27 @@ pub(super) fn definition(
let label = match def {
Definition::Trait(trait_) => trait_
.display_limited(db, config.max_trait_assoc_items_count, display_target)
+ .with_private_fields(render_private_fields)
+ .to_string(),
+ Definition::Adt(adt @ (Adt::Struct(_) | Adt::Union(_))) => adt
+ .display_limited(db, config.max_fields_count, display_target)
+ .with_private_fields(render_private_fields)
+ .to_string(),
+ Definition::EnumVariant(variant) => variant
+ .display_limited(db, config.max_fields_count, display_target)
+ .with_private_fields(render_private_fields)
+ .to_string(),
+ Definition::Adt(adt @ Adt::Enum(_)) => adt
+ .display_limited(db, config.max_enum_variants_count, display_target)
+ .with_private_fields(render_private_fields)
.to_string(),
- Definition::Adt(adt @ (Adt::Struct(_) | Adt::Union(_))) => {
- adt.display_limited(db, config.max_fields_count, display_target).to_string()
- }
- Definition::EnumVariant(variant) => {
- variant.display_limited(db, config.max_fields_count, display_target).to_string()
- }
- Definition::Adt(adt @ Adt::Enum(_)) => {
- adt.display_limited(db, config.max_enum_variants_count, display_target).to_string()
- }
Definition::SelfType(impl_def) => {
let self_ty = &impl_def.self_ty(db);
match self_ty.as_adt() {
- Some(adt) => {
- adt.display_limited(db, config.max_fields_count, display_target).to_string()
- }
+ Some(adt) => adt
+ .display_limited(db, config.max_fields_count, display_target)
+ .with_private_fields(render_private_fields)
+ .to_string(),
None => self_ty.display(db, display_target).to_string(),
}
}