From 183997d5fe76cf0b41fd26bfa29d166071d239eb Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 22 May 2023 16:44:48 +0200 Subject: Don't hide introspection metadata Fixes #622 --- src/doc.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/doc.rs') diff --git a/src/doc.rs b/src/doc.rs index 7b770096..3dbd3b81 100644 --- a/src/doc.rs +++ b/src/doc.rs @@ -263,12 +263,18 @@ impl Frame { /// Attach metadata from an iterator. pub fn meta_iter(&mut self, iter: impl IntoIterator) { + let mut hide = false; for meta in iter { if matches!(meta, Meta::Hide) { - self.clear(); - break; + hide = true; + } else { + self.prepend(Point::zero(), FrameItem::Meta(meta, self.size)); } - self.prepend(Point::zero(), FrameItem::Meta(meta, self.size)); + } + if hide { + Arc::make_mut(&mut self.items).retain(|(_, item)| { + matches!(item, FrameItem::Group(_) | FrameItem::Meta(Meta::Elem(_), _)) + }); } } -- cgit v1.2.3