Compare commits

..

2 Commits
master ... deps

Author SHA1 Message Date
andy.boot
d00519085a style: fix clippy 2025-10-06 20:31:20 +01:00
andy.boot
04b80b474c deps: cargo update 2025-10-06 20:28:41 +01:00
6 changed files with 350 additions and 297 deletions

600
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -28,10 +28,10 @@ strip = true
[dependencies] [dependencies]
ansi_term = "0.12" ansi_term = "0.12"
clap = { version = "4", features = ["derive"] } clap = { version = "4.4", features = ["derive"] }
lscolors = "0.21" lscolors = "0.13"
terminal_size = "0.4" terminal_size = "0.2"
unicode-width = "0.2" unicode-width = "0.1"
rayon = "1" rayon = "1"
thousands = "0.2" thousands = "0.2"
stfu8 = "0.2" stfu8 = "0.2"
@@ -39,8 +39,9 @@ regex = "1"
config-file = "0.2" config-file = "0.2"
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0" serde_json = "1.0"
sysinfo = "0.37" directories = "4"
ctrlc = "3" sysinfo = "0.27"
ctrlc = "3.4"
chrono = "0.4" chrono = "0.4"
[target.'cfg(not(target_has_atomic = "64"))'.dependencies] [target.'cfg(not(target_has_atomic = "64"))'.dependencies]

View File

@@ -244,7 +244,7 @@ fn convert_min_size(input: &str) -> Option<usize> {
} }
} }
fn get_config_locations(base: PathBuf) -> Vec<PathBuf> { fn get_config_locations(base: &Path) -> Vec<PathBuf> {
vec![ vec![
base.join(".dust.toml"), base.join(".dust.toml"),
base.join(".config").join("dust").join("config.toml"), base.join(".config").join("dust").join("config.toml"),
@@ -267,8 +267,8 @@ pub fn get_config(conf_path: Option<&String>) -> Config {
} }
} }
None => { None => {
if let Some(home) = std::env::home_dir() { if let Some(home) = directories::BaseDirs::new() {
for path in get_config_locations(home) { for path in get_config_locations(home.home_dir()) {
if path.exists() if path.exists()
&& let Ok(config) = Config::from_config_file(&path) && let Ok(config) = Config::from_config_file(&path)
{ {

View File

@@ -403,7 +403,7 @@ fn get_pretty_name(
.ls_colors .ls_colors
.style_for_path_with_metadata(&node.name, meta_result.as_ref().ok()); .style_for_path_with_metadata(&node.name, meta_result.as_ref().ok());
let ansi_style = directory_color let ansi_style = directory_color
.map(Style::to_nu_ansi_term_style) .map(Style::to_ansi_term_style)
.unwrap_or_default(); .unwrap_or_default();
let out = ansi_style.paint(name_and_padding); let out = ansi_style.paint(name_and_padding);
format!("{out}") format!("{out}")
@@ -439,9 +439,6 @@ pub fn get_number_format(output_str: &str) -> Option<(u64, char)> {
} }
pub fn human_readable_number(size: u64, output_str: &str) -> String { pub fn human_readable_number(size: u64, output_str: &str) -> String {
if output_str == "count" {
return size.to_string();
};
match get_number_format(output_str) { match get_number_format(output_str) {
Some((x, u)) => { Some((x, u)) => {
format!("{}{}", (size / x), u) format!("{}{}", (size / x), u)
@@ -542,13 +539,6 @@ mod tests {
assert_eq!(s, "short 3 4.0K 100%"); assert_eq!(s, "short 3 4.0K 100%");
} }
#[test]
fn test_machine_readable_filecount() {
assert_eq!(human_readable_number(1, "count"), "1");
assert_eq!(human_readable_number(1000, "count"), "1000");
assert_eq!(human_readable_number(1024, "count"), "1024");
}
#[test] #[test]
fn test_human_readable_number() { fn test_human_readable_number() {
assert_eq!(human_readable_number(1, ""), "1B"); assert_eq!(human_readable_number(1, ""), "1B");

View File

@@ -29,7 +29,7 @@ use std::panic;
use std::process; use std::process;
use std::sync::Arc; use std::sync::Arc;
use std::sync::Mutex; use std::sync::Mutex;
use sysinfo::System; use sysinfo::{System, SystemExt};
use utils::canonicalize_absolute_path; use utils::canonicalize_absolute_path;
use self::display::draw_it; use self::display::draw_it;
@@ -319,11 +319,7 @@ fn print_output(
if config.get_output_json(&options) { if config.get_output_json(&options) {
OUTPUT_TYPE.with(|wrapped| { OUTPUT_TYPE.with(|wrapped| {
if by_filecount { wrapped.replace(output_format);
wrapped.replace("count".to_string());
} else {
wrapped.replace(output_format);
}
}); });
println!("{}", serde_json::to_string(&tree).unwrap()); println!("{}", serde_json::to_string(&tree).unwrap());
} else { } else {
@@ -440,10 +436,10 @@ fn init_rayon(stack: &Option<usize>, threads: &Option<usize>) -> rayon::ThreadPo
None None
} else { } else {
let large_stack = usize::pow(1024, 3); let large_stack = usize::pow(1024, 3);
let mut sys = System::new_all(); let mut s = System::new();
sys.refresh_memory(); s.refresh_memory();
// Larger stack size if possible to handle cases with lots of nested directories // Larger stack size if possible to handle cases with lots of nested directories
let available = sys.available_memory(); let available = s.available_memory();
if available > (large_stack * threads.unwrap_or(1)).try_into().unwrap() { if available > (large_stack * threads.unwrap_or(1)).try_into().unwrap() {
Some(large_stack) Some(large_stack)
} else { } else {

View File

@@ -62,8 +62,6 @@ fn initialize() {
fn run_cmd<T: AsRef<OsStr>>(command_args: &[T]) -> Output { fn run_cmd<T: AsRef<OsStr>>(command_args: &[T]) -> Output {
initialize(); initialize();
let mut to_run = &mut Command::cargo_bin("dust").unwrap(); let mut to_run = &mut Command::cargo_bin("dust").unwrap();
// Hide progress bar
to_run.arg("-P");
for p in command_args { for p in command_args {
to_run = to_run.arg(p); to_run = to_run.arg(p);
} }