Files
improvise/examples/pretty-print.rs
Edward Langley ed1ee7e23a feat(examples): add grammar generation and pretty-printing utilities
Add new examples for generating sample .improv data based on the Pest
grammar and pretty-printing existing .improv files.

Co-Authored-By: fiddlerwoaroof/git-smart-commit (gemma-4-31B-it-UD-Q4_K_XL.gguf)
2026-04-13 21:30:19 -07:00

26 lines
722 B
Rust

//! Parse a `.improv` file from stdin and print the formatted result to stdout.
//!
//! Usage:
//! cargo run --example pretty-print < file.improv
//! cargo run --example gen-grammar -- file | cargo run --example pretty-print
use std::io::Read;
fn main() {
let mut input = String::new();
if let Err(e) = std::io::stdin().read_to_string(&mut input) {
eprintln!("Failed to read stdin: {e}");
std::process::exit(1);
}
match improvise::persistence::parse_md(&input) {
Ok(model) => {
print!("{}", improvise::persistence::format_md(&model));
}
Err(e) => {
eprintln!("Parse error: {e:#}");
std::process::exit(1);
}
}
}