#![cfg_attr(all(coverage_nightly, test), feature(coverage_attribute))]
extern crate static_assertions;
mod config;
mod core_graphics;
mod displays;
mod fake_displays;
pub mod indirect_logger;
mod knoll;
mod real_displays;
mod serde;
mod valid_config;
use std::io::Write;
use real_displays::RealDisplayState;
pub fn main() {
let args: Vec<String> = std::env::args().into_iter().collect();
match knoll::run::<RealDisplayState, std::io::Stdin, std::io::Stdout, std::io::Stderr>(
&args,
std::io::stdin(),
std::io::stdout(),
std::io::stderr(),
) {
Err(e) => {
write!(std::io::stderr(), "{}", e).unwrap();
std::process::exit(1);
}
Ok(_) => {
std::process::exit(0);
}
}
}