From 75e7de904d832656234da29d4a70539f52b0a6b4 Mon Sep 17 00:00:00 2001 From: race604 Date: Wed, 31 Aug 2022 07:57:29 +0800 Subject: [PATCH] support millis option for countdown timer --- src/app.rs | 11 ++++++++++- src/main.rs | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/app.rs b/src/app.rs index 75eb34e..87771d1 100644 --- a/src/app.rs +++ b/src/app.rs @@ -72,6 +72,10 @@ pub(crate) enum Mode { /// Reverse the countdown, a.k.a. countup #[clap(long, short, takes_value = false)] reverse: bool, + + /// Show milliseconds + #[clap(short, long, takes_value = false)] + millis: bool, }, } @@ -166,6 +170,7 @@ impl App { title, continue_on_zero, reverse, + millis, } => { self.countdown = Some(Countdown { size: self.size, @@ -174,7 +179,11 @@ impl App { title: title.to_owned(), continue_on_zero: *continue_on_zero, reverse: *reverse, - format: DurationFormat::HourMinSec, + format: if *millis { + DurationFormat::HourMinSecDeci + } else { + DurationFormat::HourMinSec + }, }) } } diff --git a/src/main.rs b/src/main.rs index 7129c76..781f73c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -65,6 +65,7 @@ fn main() -> Result<(), Box> { millis, no_seconds, .. }) => !millis || no_seconds, Some(Mode::Timer { no_millis, .. }) => no_millis, + Some(Mode::Countdown { millis, .. }) => !millis, _ => false, }; let tick_rate = Duration::from_millis(if low_rate { 200 } else { 20 });