mirror of
https://github.com/bootandy/dust.git
synced 2026-06-08 11:29:05 +03:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 07ffd04950 | |||
| dfa574375b | |||
| 9de2e7d723 |
Generated
+1
-1
@@ -157,7 +157,7 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "du-dust"
|
name = "du-dust"
|
||||||
version = "0.6.1"
|
version = "0.6.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term 0.12.1",
|
"ansi_term 0.12.1",
|
||||||
"assert_cmd",
|
"assert_cmd",
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "du-dust"
|
name = "du-dust"
|
||||||
description = "A more intuitive version of du"
|
description = "A more intuitive version of du"
|
||||||
version = "0.6.1"
|
version = "0.6.2"
|
||||||
authors = ["bootandy <bootandy@gmail.com>", "nebkor <code@ardent.nebcorp.com>"]
|
authors = ["bootandy <bootandy@gmail.com>", "nebkor <code@ardent.nebcorp.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -102,7 +102,7 @@ fn walk(dir: PathBuf, permissions_flag: &AtomicBool, walk_data: &WalkData) -> Op
|
|||||||
|
|
||||||
// return walk(entry.path(), permissions_flag, ignore_directories, allowed_filesystems, use_apparent_size, by_filecount, ignore_hidden);
|
// return walk(entry.path(), permissions_flag, ignore_directories, allowed_filesystems, use_apparent_size, by_filecount, ignore_hidden);
|
||||||
|
|
||||||
if !ignore_file(&entry, walk_data) {
|
if !ignore_file(entry, walk_data) {
|
||||||
if let Ok(data) = entry.file_type() {
|
if let Ok(data) = entry.file_type() {
|
||||||
if data.is_dir() && !data.is_symlink() {
|
if data.is_dir() && !data.is_symlink() {
|
||||||
return walk(entry.path(), permissions_flag, walk_data);
|
return walk(entry.path(), permissions_flag, walk_data);
|
||||||
|
|||||||
+5
-5
@@ -125,7 +125,7 @@ pub fn draw_it(
|
|||||||
let root_node = option_root_node.unwrap();
|
let root_node = option_root_node.unwrap();
|
||||||
|
|
||||||
let num_chars_needed_on_left_most = if by_filecount {
|
let num_chars_needed_on_left_most = if by_filecount {
|
||||||
let max_size = root_node.children.iter().map(|n| n.size).fold(0, max);
|
let max_size = root_node.size;
|
||||||
max_size.separate_with_commas().chars().count()
|
max_size.separate_with_commas().chars().count()
|
||||||
} else {
|
} else {
|
||||||
5 // Under normal usage we need 5 chars to display the size of a directory
|
5 // Under normal usage we need 5 chars to display the size of a directory
|
||||||
@@ -265,9 +265,9 @@ fn pad_or_trim_filename(node: &DisplayNode, indent: &str, display_data: &Display
|
|||||||
|
|
||||||
// Add spaces after the filename so we can draw the % used bar chart.
|
// Add spaces after the filename so we can draw the % used bar chart.
|
||||||
let name_and_padding = name
|
let name_and_padding = name
|
||||||
+ &(repeat(" ")
|
+ " "
|
||||||
.take(display_data.longest_string_length - width)
|
.repeat(display_data.longest_string_length - width)
|
||||||
.collect::<String>());
|
.as_str();
|
||||||
|
|
||||||
maybe_trim_filename(name_and_padding, display_data)
|
maybe_trim_filename(name_and_padding, display_data)
|
||||||
}
|
}
|
||||||
@@ -320,7 +320,7 @@ fn get_pretty_size(node: &DisplayNode, is_biggest: bool, display_data: &DisplayD
|
|||||||
let size_as_str = node.size.separate_with_commas();
|
let size_as_str = node.size.separate_with_commas();
|
||||||
let spaces_to_add =
|
let spaces_to_add =
|
||||||
display_data.num_chars_needed_on_left_most - size_as_str.chars().count();
|
display_data.num_chars_needed_on_left_most - size_as_str.chars().count();
|
||||||
size_as_str + &*repeat(' ').take(spaces_to_add).collect::<String>()
|
size_as_str + " ".repeat(spaces_to_add).as_str()
|
||||||
} else {
|
} else {
|
||||||
format!("{:>5}", human_readable_number(node.size))
|
format!("{:>5}", human_readable_number(node.size))
|
||||||
};
|
};
|
||||||
|
|||||||
+6
-5
@@ -36,11 +36,12 @@ impl DisplayNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_children_from_node(&self, is_reversed: bool) -> impl Iterator<Item = DisplayNode> {
|
pub fn get_children_from_node(&self, is_reversed: bool) -> impl Iterator<Item = DisplayNode> {
|
||||||
if is_reversed {
|
// we box to avoid the clippy lint warning
|
||||||
let children: Vec<DisplayNode> = self.children.clone().into_iter().rev().collect();
|
let out: Box<dyn Iterator<Item = DisplayNode>> = if is_reversed {
|
||||||
children.into_iter()
|
Box::new(self.children.clone().into_iter().rev())
|
||||||
} else {
|
} else {
|
||||||
self.children.clone().into_iter()
|
Box::new(self.children.clone().into_iter())
|
||||||
}
|
};
|
||||||
|
out
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -120,9 +120,9 @@ pub fn get_metadata(d: &Path, _use_apparent_size: bool) -> Option<(u64, Option<(
|
|||||||
{
|
{
|
||||||
Some((md.len(), None))
|
Some((md.len(), None))
|
||||||
} else {
|
} else {
|
||||||
get_metadata_expensive(&d)
|
get_metadata_expensive(d)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => get_metadata_expensive(&d),
|
_ => get_metadata_expensive(d),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -41,7 +41,7 @@ pub fn get_filesystem_devices<'a, P: IntoIterator<Item = &'a PathBuf>>(paths: P)
|
|||||||
paths
|
paths
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter_map(|p| {
|
.filter_map(|p| {
|
||||||
let meta = get_metadata(&p, false);
|
let meta = get_metadata(p, false);
|
||||||
|
|
||||||
if let Some((_size, Some((_id, dev)))) = meta {
|
if let Some((_size, Some((_id, dev)))) = meta {
|
||||||
Some(dev)
|
Some(dev)
|
||||||
|
|||||||
Reference in New Issue
Block a user