diff --git a/crates/typst-layout/src/pages/mod.rs b/crates/typst-layout/src/pages/mod.rs index ec0dc2c05..e9b780403 100644 --- a/crates/typst-layout/src/pages/mod.rs +++ b/crates/typst-layout/src/pages/mod.rs @@ -4,12 +4,13 @@ mod collect; mod finalize; mod run; +use std::collections::HashMap; use std::num::NonZeroUsize; use comemo::{Tracked, TrackedMut}; use typst_library::diag::SourceResult; use typst_library::engine::{Engine, Route, Sink, Traced}; -use typst_library::foundations::{Content, StyleChain}; +use typst_library::foundations::{Content, Element, StyleChain}; use typst_library::introspection::{ Introspector, IntrospectorBuilder, Locator, ManualPageCounter, SplitLocator, TagElem, }; @@ -88,6 +89,18 @@ fn layout_document_impl( let pages = layout_pages(&mut engine, &mut children, &mut locator, styles)?; let introspector = introspect_pages(&pages); + let mut kinds = HashMap::::new(); + for elem in introspector.all() { + *kinds.entry(elem.elem()).or_default() += 1; + } + + let mut kinds = kinds.into_iter().collect::>(); + kinds.sort_by_key(|&(_, c)| std::cmp::Reverse(c)); + println!("============"); + for (elem, count) in kinds { + println!("{}: {count}", elem.name()); + } + Ok(PagedDocument { pages, info, introspector }) }