diff options
-rw-r--r-- | src/fs/metadata.rs | 3 | ||||
-rw-r--r-- | src/ui/widgets/tui_dirlist_detailed.rs | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/fs/metadata.rs b/src/fs/metadata.rs index cc3e0c6..b3f6492 100644 --- a/src/fs/metadata.rs +++ b/src/fs/metadata.rs @@ -40,7 +40,8 @@ impl JoshutoMetadata { let _modified = metadata.modified()?; let _permissions = metadata.permissions(); let (_file_type, _directory_size) = if metadata.file_type().is_dir() { - (FileType::Directory, Some(fs::read_dir(path)?.count())) + let _directory_size = fs::read_dir(path).map(|s| s.count()).ok(); + (FileType::Directory, _directory_size) } else { (FileType::File, None) }; diff --git a/src/ui/widgets/tui_dirlist_detailed.rs b/src/ui/widgets/tui_dirlist_detailed.rs index 08777ed..16dec1a 100644 --- a/src/ui/widgets/tui_dirlist_detailed.rs +++ b/src/ui/widgets/tui_dirlist_detailed.rs @@ -84,8 +84,8 @@ fn print_entry( FileType::Directory => entry .metadata .directory_size() - .expect("Directory doesn't have size") - .to_string(), + .map(|n| n.to_string()) + .unwrap_or("".to_string()), FileType::File => format::file_size_to_string(entry.metadata.len()), }; let symlink_string = match entry.metadata.link_type() { @@ -93,7 +93,7 @@ fn print_entry( LinkType::Symlink(_) => "-> ", }; let left_label_original = entry.label(); - let right_label_original = format!(" {}{}", symlink_string, size_string); + let right_label_original = format!(" {}{} ", symlink_string, size_string); let (left_label, right_label) = factor_labels_for_entry( left_label_original, |