wireless 0.2.2

Library for dealing with wireless (i.e. GSM, UMTS and LTE) cell identities.
Documentation
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");
}