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.rs | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/crates/ide/src/hover/render.rs b/crates/ide/src/hover/render.rs index be133e40b2..2067008bb8 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(), } } |