diff --git a/Cargo.toml b/Cargo.toml index 2bbae94e..7acf5268 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,6 +19,7 @@ termion = "1.5.2" atty = "0.2.11" tui = "0.6.0" petgraph = "0.4.13" +itertools = "0.8.0" [[bin]] name="dua" diff --git a/src/interactive/widgets.rs b/src/interactive/widgets.rs index d82d18ee..3e9e9f8e 100644 --- a/src/interactive/widgets.rs +++ b/src/interactive/widgets.rs @@ -1,5 +1,6 @@ use super::{DisplayOptions, Traversal, Tree, TreeIndex}; use crate::ByteFormat; +use itertools::Itertools; use tui::layout::{Constraint, Direction, Layout}; use tui::style::{Color, Style}; use tui::{ @@ -97,6 +98,8 @@ impl<'a> Widget for Entries<'a> { List::new( tree.neighbors_directed(*root, Direction::Outgoing) .filter_map(|w| tree.node_weight(w)) + .sorted_by(|l, r| l.size.cmp(&r.size)) + .rev() .map(|w| { Text::Raw( format!(