Add hovering limitations support for variants

This commit is contained in:
roife 2024-04-20 01:06:04 +08:00
parent e0e28ec856
commit 43576989a1
8 changed files with 138 additions and 48 deletions

View file

@ -411,7 +411,10 @@ pub(super) fn definition(
trait_.display_limited(db, config.max_trait_assoc_items_count).to_string()
}
Definition::Adt(adt @ (Adt::Struct(_) | Adt::Union(_))) => {
adt.display_limited(db, config.max_struct_or_union_fields_count).to_string()
adt.display_limited(db, config.max_fields_count).to_string()
}
Definition::Variant(variant) => {
variant.display_limited(db, config.max_fields_count).to_string()
}
Definition::Adt(adt @ Adt::Enum(_)) => {
adt.display_limited(db, config.max_enum_variants_count).to_string()
@ -419,9 +422,7 @@ pub(super) fn definition(
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_struct_or_union_fields_count).to_string()
}
Some(adt) => adt.display_limited(db, config.max_fields_count).to_string(),
None => self_ty.display(db).to_string(),
}
}