pace-rs 0.15.2

pace - Mindful Time Tracking: Simplify Your Focus and Boost Productivity Effortlessly.
Documentation
//! `end` subcommand

use abscissa_core::{status_err, Application, Command, Runnable, Shutdown};
use clap::Parser;

use crate::prelude::PACE_APP;

use pace_core::prelude::EndCommandOptions;

/// `end` subcommand
#[derive(Command, Debug, Parser)]
pub struct EndCmd {
    #[clap(flatten)]
    end_opts: EndCommandOptions,
}

impl Runnable for EndCmd {
    fn run(&self) {
        match self.end_opts.handle_end(&PACE_APP.config()) {
            Ok(user_message) => user_message.display(),
            Err(err) => {
                status_err!("{}", err);
                PACE_APP.shutdown(Shutdown::Crash);
            }
        };
    }
}