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)
26 lines
722 B
Rust
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);
|
|
}
|
|
}
|
|
}
|