Implement user interface

This commit is contained in:
Juhani Krekelä 2023-05-14 04:38:20 +03:00
parent e915a3f689
commit 2b449c80f5
1 changed files with 33 additions and 2 deletions

View File

@ -1,8 +1,39 @@
use metrify::run;
use std::env;
use std::io;
use std::io::Write;
use std::process;
fn main() {
match run("57″") {
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!("{err}"),
Err(err) => {
eprintln!("{name}: Error: {err}");
process::exit(1);
}
}
}