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