mod cli; mod db; mod gui; mod model; mod validation; use anyhow::Result; use structopt::StructOpt; #[derive(StructOpt)] #[structopt()] struct Opt { /// Path of SQLite database in which to store events #[structopt(long = "database", default_value = "database.sqlite3")] db_path: String, /// List today’s events as plain text #[structopt(long = "list-today")] list_today: bool, } fn main() -> Result<()> { let Opt { db_path, list_today, } = Opt::from_args(); let conn = db::init(&db_path)?; if list_today { println!("{}", cli::today(&conn)?); } else { gui::run(conn); } Ok(()) }