lukeed/tidyPublic

perf: survey lists in one pass

Each list read ahead to its end to find the marker width it needs,
and each item to find whether it is loose, so nested lists read the
same events again at every level. A top-level list is now surveyed
once for every list and item inside it, and they look their answers
up by where they start. About 2% faster on the CLI over corpora A+B.
LELuke Edwards authored
80f3836Patch
Parent8ddd031
3 files changed+162-86
StackedSplit
crates/tidy/src/markdown/writer/list.rs+2 โˆ’84
crates/tidy/src/markdown/writer/mod.rs+13 โˆ’2
crates/tidy/src/markdown/writer/survey.rs+147 โˆ’0