diff --git a/src/main.rs b/src/main.rs index 51f8f06..cca2c43 100644 --- a/src/main.rs +++ b/src/main.rs @@ -101,14 +101,19 @@ fn do_command(line: &str, state: &mut State) -> Result<()> { ["ll"] => { let mut names = state.db.tree_names(); names.sort(); + let mut total = 0; for name in names { let nent = state.db.open_tree(&name)?.len(); + total += nent; println!("{:8} {}", nent, try_string(&name)); } + println!("{:8} TOTAL", total); } ["lu"] => { let mut names = state.db.tree_names(); names.sort(); + let mut total_nent = 0; + let mut total_size = 0; for name in names { let tree = state.db.open_tree(&name)?; let nent = tree.len(); @@ -117,6 +122,8 @@ fn do_command(line: &str, state: &mut State) -> Result<()> { let (k, v) = ent?; size += k.len() + v.len(); } + total_nent += nent; + total_size += size; println!( "{:8} {:>12} {}", nent, @@ -124,6 +131,9 @@ fn do_command(line: &str, state: &mut State) -> Result<()> { try_string(&name) ); } + println!("{:8} {:>12} TOTAL", + total_nent, + total_size.file_size(file_size_opts::CONVENTIONAL).unwrap()); } ["cd", treename] => { if state