mirror of
https://github.com/bootandy/dust.git
synced 2026-06-08 11:29:05 +03:00
feat: display the size of a file or directory in "kilobytes"
feat: display the size of a file or directory in "kilobytes"
This commit is contained in:
+21
-7
@@ -77,16 +77,26 @@ pub struct RuntimeErrors {
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
fn format_preparing_str(prog_char: char, data: &PAtomicInfo, is_iso: bool) -> String {
|
||||
fn format_preparing_str(
|
||||
prog_char: char,
|
||||
data: &PAtomicInfo,
|
||||
is_iso: bool,
|
||||
is_display_kb: bool,
|
||||
) -> String {
|
||||
let path_in = data.current_path.get();
|
||||
let size = human_readable_number(data.total_file_size.load(ORDERING), is_iso);
|
||||
let size = human_readable_number(data.total_file_size.load(ORDERING), is_iso, is_display_kb);
|
||||
format!("Preparing: {path_in} {size} ... {prog_char}")
|
||||
}
|
||||
|
||||
fn format_indexing_str(prog_char: char, data: &PAtomicInfo, is_iso: bool) -> String {
|
||||
fn format_indexing_str(
|
||||
prog_char: char,
|
||||
data: &PAtomicInfo,
|
||||
is_iso: bool,
|
||||
display_kb: bool,
|
||||
) -> String {
|
||||
let path_in = data.current_path.get();
|
||||
let file_count = data.num_files.load(ORDERING);
|
||||
let size = human_readable_number(data.total_file_size.load(ORDERING), is_iso);
|
||||
let size = human_readable_number(data.total_file_size.load(ORDERING), is_iso, display_kb);
|
||||
let file_str = format!("{file_count} files, {size}");
|
||||
format!("Indexing: {path_in} {file_str} ... {prog_char}")
|
||||
}
|
||||
@@ -106,7 +116,7 @@ impl PIndicator {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn spawn(&mut self, is_iso: bool) {
|
||||
pub fn spawn(&mut self, is_iso: bool, display_kb: bool) {
|
||||
let data = self.data.clone();
|
||||
let (stop_handler, receiver) = mpsc::channel::<()>();
|
||||
|
||||
@@ -125,8 +135,12 @@ impl PIndicator {
|
||||
let prog_char = PROGRESS_CHARS[progress_char_i];
|
||||
|
||||
msg = match data.state.load(ORDERING) {
|
||||
Operation::INDEXING => format_indexing_str(prog_char, &data, is_iso),
|
||||
Operation::PREPARING => format_preparing_str(prog_char, &data, is_iso),
|
||||
Operation::INDEXING => {
|
||||
format_indexing_str(prog_char, &data, is_iso, display_kb)
|
||||
}
|
||||
Operation::PREPARING => {
|
||||
format_preparing_str(prog_char, &data, is_iso, display_kb)
|
||||
}
|
||||
_ => panic!("Unknown State"),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user