diff --git a/src/main.rs b/src/main.rs index 2078c3f..f894f12 100644 --- a/src/main.rs +++ b/src/main.rs @@ -143,15 +143,17 @@ fn log(f: &String, enabled: &bool, since: &Option, verbose: &bool, preci } result.push(curr.clone()); } + let mut total_d = 0.0; for i in result.iter_mut() { i.d = i.xs.iter().map(|x| x.d).sum(); + total_d += i.d; if *verbose { eprintln!("{} = {:?}", &i.d, &i.xs.iter().map(|x| x.d).collect::>()); } } - for log in result { - for x in log.xs { + for log in &result { + for x in log.xs.clone() { if x.x.len() > 0 { match precision { 0 => println!("{} ({:.0}) {} ({:.1})", log.t, log.d, x.x, x.d), @@ -161,6 +163,13 @@ fn log(f: &String, enabled: &bool, since: &Option, verbose: &bool, preci } } } + + match precision { + 0 => eprintln!("({:.0}h over {} dates)", total_d, result.len()), + 1 => eprintln!("({:.1}h over {} dates)", total_d, result.len()), + _ => eprintln!("({:.2}h over {} dates)", total_d, result.len()), + } + Ok(()) }