extern crate rustyline;
mod data;
use data::Data;
use rustyline::Editor;
use rustyline::error::ReadlineError;
fn main() {
println!("Welcome to wireless-cli. Type ? for help or ^D to quit.");
let mut data = Data::read();
let mut editor = Editor::<()>::new();
loop {
match editor.readline(">> ") {
Ok(a) => {
match a.as_ref() {
"ac" => data.add_country(),
"al" => data.add_lte_cell(),
"an" => data.add_network(),
"pc" => data.print_countries(),
"pl" => data.print_lte_cells(),
"pn" => data.print_networks(),
"s" => data.write(),
"?" => help(),
_ => println!("Error: Command not recognised."),
}
}
Err(ReadlineError::Interrupted) => continue,
Err(_) => break,
}
}
}
fn help() {
println!("ac add country");
println!("al add LTE cell");
println!("an add network");
println!("pc print countries");
println!("pl print LTE cells");
println!("pn print networks");
println!("s save all data");
println!("^D quit without saving");
}