diff options
| author | Laurenz <laurmaedje@gmail.com> | 2023-05-22 16:44:48 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2023-05-22 16:45:23 +0200 |
| commit | 183997d5fe76cf0b41fd26bfa29d166071d239eb (patch) | |
| tree | 16512f3b86312490ef48a93ea358336b34cb035b /src/doc.rs | |
| parent | a3227f4ef3b759faa506109c0235df5ffd2a4b7d (diff) | |
Don't hide introspection metadata
Fixes #622
Diffstat (limited to 'src/doc.rs')
| -rw-r--r-- | src/doc.rs | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -263,12 +263,18 @@ impl Frame { /// Attach metadata from an iterator. pub fn meta_iter(&mut self, iter: impl IntoIterator<Item = Meta>) { + 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(_), _)) + }); } } |
