Implement user interface
This commit is contained in:
parent
e915a3f689
commit
2b449c80f5
35
src/main.rs
35
src/main.rs
|
@ -1,8 +1,39 @@
|
|||
use metrify::run;
|
||||
use std::env;
|
||||
use std::io;
|
||||
use std::io::Write;
|
||||
use std::process;
|
||||
|
||||
fn main() {
|
||||
match run("5′7″") {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue