events/events.rs
use std::io::Read;
use pulldown_cmark::{Event, Parser};
/// Show all events from the text on stdin.
fn main() {
let mut text = String::new();
std::io::stdin().read_to_string(&mut text).unwrap();
eprintln!("{text:?} -> [");
let mut width = 0;
for event in Parser::new(&text) {
if let Event::End(_) = event {
width -= 2;
}
eprintln!(" {:width$}{event:?}", "");
if let Event::Start(_) = event {
width += 2;
}
}
eprintln!("]");
}