use std::io::{self, Read};
use vertext_core::Progression;
use vertext_html::{render_document, RenderOptions};
fn main() {
let arguments: Vec<String> = std::env::args().collect();
let has = |name: &str| arguments.iter().any(|argument| argument == name);
let progression = match arguments.iter().position(|argument| argument == "--progression") {
Some(index) => match arguments.get(index + 1).map(String::as_str) {
Some("lr") => Progression::LeftToRight,
_ => Progression::RightToLeft,
},
None => Progression::RightToLeft,
};
let options = RenderOptions {
whole_strip_code: has("--code") || has("--code-width") || has("--preserve-spaces"),
page: has("--page"),
progression,
};
let mut input = String::new();
io::stdin().read_to_string(&mut input).expect("read standard input");
print!("{}", render_document(&input, options));
}