aboutsummaryrefslogtreecommitdiff
path: root/src/browser.rs
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2024-05-22 19:36:49 +0530
committerkrolxon <krolyxon@tutanota.com>2024-05-22 19:36:49 +0530
commit380a4193c920bb90606ef4590ad5111161fedfc7 (patch)
tree0b6556b70e08a363be5ea0788d9a0d292cd77c06 /src/browser.rs
parentc3dc9931d58b69d10fdba442fea7e77609934627 (diff)
fix sorting
Diffstat (limited to 'src/browser.rs')
-rwxr-xr-xsrc/browser.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/browser.rs b/src/browser.rs
index 3d57a79..3ec0fac 100755
--- a/src/browser.rs
+++ b/src/browser.rs
@@ -62,8 +62,19 @@ impl FileBrowser {
}
}
- dir_vec.sort_by(|a, b| a.0.cmp(&b.0));
- file_vec.sort_by(|a, b| a.0.cmp(&b.0));
+ // dir_vec.sort_by(|a, b| a.1.cmp(&b.1));
+ dir_vec.sort_by(|a, b| {
+ let num_a = a.1.parse::<u32>().unwrap_or(u32::MAX);
+ let num_b = b.1.parse::<u32>().unwrap_or(u32::MAX);
+ num_a.cmp(&num_b).then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase()))
+ });
+
+ file_vec.sort_by(|a, b| {
+ let num_a = a.1.parse::<u32>().unwrap_or(u32::MAX);
+ let num_b = b.1.parse::<u32>().unwrap_or(u32::MAX);
+ num_a.cmp(&num_b).then_with(|| a.1.to_lowercase().cmp(&b.1.to_lowercase()))
+ });
+
dir_vec.extend(file_vec);
self.filetree = dir_vec;