use docopt::Docopt; use serde::Deserialize; use log::{debug}; static USAGE: &'static str = " foil Usage: foil set [--db=] foil get [--db=] foil list [--db=] foil generate foil (-h | --help) Options: --db= The path to the sqlite database [default: db.sqlite3]. -h --help Show this screen. --version Show version. "; #[derive(Debug, Deserialize)] struct Args { cmd_set: bool, cmd_get: bool, cmd_list: bool, cmd_generate: bool, flag_db: Option, arg_spec: Option, } fn main() { pretty_env_logger::init(); let args: Args = Docopt::new(USAGE) .and_then(|dopt| dopt.deserialize()) .unwrap_or_else(|e| e.exit()); debug!("{:?}", args); }