|
|
@@ -427,6 +427,23 @@ impl<'dir> File<'dir> {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // To display icons for empty folders.
|
|
|
+ // The naive approach, as one would think that this info may have been cached.
|
|
|
+ // but as mentioned in the size function comment above, different filesystems
|
|
|
+ // make it difficult to get any info about a dir by it's size, so this may be it.
|
|
|
+ #[cfg(unix)]
|
|
|
+ pub fn is_empty_dir(&self) -> bool {
|
|
|
+ if self.is_directory() {
|
|
|
+ match Dir::read_dir(self.path.clone()) {
|
|
|
+ // . & .. are skipped, if the returned iterator has .next(), it's not empty
|
|
|
+ Ok(has_files) => has_files.files(super::DotFilter::Dotfiles, None, false, false).next().is_none(),
|
|
|
+ Err(_) => false,
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ false
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
#[cfg(windows)]
|
|
|
pub fn size(&self) -> f::Size {
|
|
|
if self.is_directory() {
|