diff --git a/README.md b/README.md index f033a4e..250e976 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ Dust will list the 15 biggest sub directories and will smartly recurse down the ``` Usage: dust +Usage: dust Usage: dust -s (apparent-size - shows the length of the file as opposed to the amount of disk space it uses) Usage: dust -n 30 (Shows 30 directories not 15) ``` diff --git a/src/display.rs b/src/display.rs index cdd9e99..65b757a 100644 --- a/src/display.rs +++ b/src/display.rs @@ -6,12 +6,16 @@ use self::ansi_term::Colour::Fixed; static UNITS: [char; 4] = ['T', 'G', 'M', 'K']; -pub fn display(permissions: bool, to_display: &Vec<&Node>) -> () { +pub fn draw_it(permissions: bool, heads: &Vec, to_display: &Vec<&Node>) -> () { if !permissions { eprintln!("Did not have permissions for all directories"); } - display_node(to_display[0], &to_display, true, 1, "") + for d in to_display { + if heads.contains(d) { + display_node(d, &to_display, true, 1, "") + } + } } fn display_node>( diff --git a/src/main.rs b/src/main.rs index f8e32f4..73ddc39 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,7 +4,7 @@ extern crate dust; use clap::{App, AppSettings, Arg}; use utils::{find_big_ones, get_dir_tree}; -use self::display::*; +use self::display::draw_it; mod utils; mod display; @@ -38,7 +38,7 @@ fn main() { let number_of_lines = value_t!(options.value_of("number_of_lines"), usize).unwrap(); let use_apparent_size = options.is_present("use_apparent_size"); - let (permissions, results) = get_dir_tree(&filenames, use_apparent_size); - let slice_it = find_big_ones(&results, number_of_lines); - display(permissions, &slice_it); + let (permissions, node_per_top_level_dir) = get_dir_tree(&filenames, use_apparent_size); + let slice_it = find_big_ones(&node_per_top_level_dir, number_of_lines); + draw_it(permissions, &node_per_top_level_dir, &slice_it); }