support millis option for countdown timer

This commit is contained in:
race604 2022-08-31 07:57:29 +08:00
parent aa03b69ef6
commit 75e7de904d
2 changed files with 11 additions and 1 deletions

View file

@ -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
},
})
}
}

View file

@ -65,6 +65,7 @@ fn main() -> Result<(), Box<dyn Error>> {
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 });