accept --precision to change logging

main v0.0.2
Bel LaPointe 2024-02-21 14:28:50 -07:00
parent a693776a59
commit 12bdf43721
1 changed files with 10 additions and 3 deletions

View File

@ -28,6 +28,9 @@ struct Flags {
#[arg(short = 'v', long = "verbose")]
verbose: bool,
#[arg(short = 'p', long = "precision")]
precision: Option<u32>,
}
fn main() {
@ -36,7 +39,7 @@ fn main() {
clock(&flags.f, &flags.clock).unwrap();
add(&flags.f, &flags.add, &flags.tag).unwrap();
log(&flags.f, &flags.log, &flags.since, &flags.verbose).unwrap();
log(&flags.f, &flags.log, &flags.since, &flags.verbose, &flags.precision.unwrap_or(0)).unwrap();
}
fn clock(f: &String, clock: &bool) -> Result<(), String> {
@ -73,7 +76,7 @@ struct LogX {
x: String,
}
fn log(f: &String, enabled: &bool, since: &Option<String>, verbose: &bool) -> Result<(), String> {
fn log(f: &String, enabled: &bool, since: &Option<String>, verbose: &bool, precision: &u32) -> Result<(), String> {
if !enabled {
return Ok(());
}
@ -140,7 +143,11 @@ fn log(f: &String, enabled: &bool, since: &Option<String>, verbose: &bool) -> Re
for log in result {
for x in log.xs {
if x.x.len() > 0 {
println!("{} ({:.0}) {} ({:.1})", log.t, log.d, x.x, x.d);
match precision {
0 => println!("{} ({:.0}) {} ({:.1})", log.t, log.d, x.x, x.d),
1 => println!("{} ({:.1}) {} ({:.2})", log.t, log.d, x.x, x.d),
_ => println!("{} ({:.2}) {} ({:.3})", log.t, log.d, x.x, x.d),
}
}
}
}