time_me 0.1.2

terminal based timer
Documentation
//! `time_me` bin

#![deny(missing_docs)]
#![deny(unsafe_code)]
#![deny(clippy::all)]
#![warn(clippy::pedantic)]

use time_me::{parse_as_minutes, Timer};

use std::time::Duration;
use structopt::StructOpt;

#[derive(StructOpt)]
struct CliOptions {
    /// Number of minutes for timebox
    #[structopt( parse(try_from_str = parse_as_minutes) )]
    minutes: Duration,

    /// Task to focus on during timebox
    #[structopt(short = "t", long = "task")]
    task: Option<String>,

    /// Keep notification until dismissed
    #[structopt(short = "s", long = "sticky")]
    sticky_notification: bool,
}

fn main() {
    let options = CliOptions::from_args();

    Timer::builder()
        .duration(options.minutes)
        .task(options.task)
        .sticky_notification(options.sticky_notification)
        .build()
        .start()
}