From 417d0cac77ff4e48945bbc3086dd6d5c0c3bda6e Mon Sep 17 00:00:00 2001 From: Joris Date: Thu, 26 Jan 2023 08:12:13 +0100 Subject: Upgrade dependencies - Switch to crossterm - add --hide-progress option --- src/main.rs | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index a791f29..c671d0e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,35 +6,41 @@ mod space_repetition; mod sync; mod util; -use crate::util::event::Events; use anyhow::Result; +use clap::Parser; use std::path::PathBuf; -use structopt::StructOpt; -#[derive(StructOpt)] -#[structopt()] +#[derive(Parser)] +#[clap()] struct Opt { - #[structopt(long, default_value = "deck.deck")] + /// Path to the deck + #[clap(long, default_value = "deck.deck")] deck: String, + + /// Hide current and remaining card counts + #[clap(long)] + hide_progress: bool, } fn main() -> Result<()> { - let deck_path = Opt::from_args().deck; + let args = Opt::parse(); + let deck_path = args.deck; let mut conn = db::init(db_path(&deck_path))?; let deck_name = deck::pp_from_path(&deck_path).unwrap_or_else(|| "Deck".to_string()); sync::run(&mut conn, &deck_path)?; - let mut term = gui::terminal()?; - let events = Events::new(); - match gui::start(&conn, &mut term, &events, &deck_name) { - Ok(()) => Ok(()), + let mut term = gui::setup_terminal()?; + + match gui::start(&conn, &mut term, &deck_name, args.hide_progress) { + Ok(()) => (), Err(msg) => { // Show errors in TUI, otherwise they are hidden - gui::message::show(&mut term, &events, &deck_name, &format!("{msg}"), true)?; - Err(msg) + gui::message::show(&mut term, &deck_name, &format!("{msg}"), true)? } } + + gui::restore_terminal(&mut term) } fn db_path(deck_path: &str) -> String { -- cgit v1.2.3