metrify/src/main.rs

40 lines
690 B
Rust

use metrify::run;
use std::env;
use std::io;
use std::io::Write;
use std::process;
fn main() {
let args: Vec<String> = env::args().collect();
let name = args[0].clone();
let args = args[1..].join(" ");
let mut input = args;
if input.len() == 0 {
print!("> ");
match io::stdout().flush() {
Ok(_) => {}
Err(err) => {
eprintln!("{name}: Error: {err}");
process::exit(1);
}
}
match io::stdin().read_line(&mut input) {
Ok(_) => {}
Err(err) => {
eprintln!("{name}: Error: {err}");
process::exit(1);
}
}
}
match run(&input) {
Ok(str) => println!("{str}"),
Err(err) => {
eprintln!("{name}: Error: {err}");
process::exit(1);
}
}
}