diff --git a/src/element.rs b/src/element.rs index 4ecd3b2..cc44b05 100644 --- a/src/element.rs +++ b/src/element.rs @@ -73,16 +73,18 @@ impl Element { name.push_str(read_link(path_built).unwrap().to_str().unwrap()) } + let s = if t == TypeOfFile::Dir { + 0 + } else { + metadata.len() + }; + Self { path: path_str.to_string(), file_type: t, name, perms: Some(metadata.permissions()), - size: if t == TypeOfFile::Dir { - 0 - } else { - metadata.len() - }, + size: s, creation: metadata.created().unwrap_or(SystemTime::now()), } } diff --git a/src/utils.rs b/src/utils.rs index 870362b..a707502 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -80,7 +80,7 @@ pub fn system_time_to_string(system_time: SystemTime) -> String { pub fn sort_elements(elements: &mut Vec, sort_by: &SortBy) { match sort_by { SortBy::NONE => (), - SortBy::NAME => elements.sort_unstable_by_key(|a| a.get_name()), + SortBy::NAME => elements.sort_unstable_by_key(|a| a.get_name().to_lowercase()), SortBy::SIZE => elements.sort_unstable_by_key(|e| Reverse(e.get_size())), SortBy::CREATION => elements.sort_unstable_by_key(|e| Reverse(e.get_creation())), }