From e3bc82f0f369d55f0fe6b5b8042455e401dacc7c Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 5 Jan 2024 09:48:39 -0700 Subject: [PATCH] Sort naturally --- Cargo.lock | 16 ++++++++++++++++ Cargo.toml | 1 + src/project.rs | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 5945b70..81cb4e3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -205,6 +205,12 @@ dependencies = [ "libc", ] +[[package]] +name = "any_ascii" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70033777eb8b5124a81a1889416543dddef2de240019b674c81285a2635a7e1e" + [[package]] name = "apply" version = "0.3.0" @@ -1026,6 +1032,7 @@ dependencies = [ "i18n-embed-fl", "ignore", "lazy_static", + "lexical-sort", "libcosmic", "log", "notify", @@ -3076,6 +3083,15 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "lexical-sort" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c09e4591611e231daf4d4c685a66cb0410cc1e502027a20ae55f2bb9e997207a" +dependencies = [ + "any_ascii", +] + [[package]] name = "libc" version = "0.2.151" diff --git a/Cargo.toml b/Cargo.toml index 0515b2b..19926ec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ env_logger = "0.10.0" grep = "0.3.1" ignore = "0.4.21" lazy_static = "1.4.0" +lexical-sort = "0.3.1" log = "0.4.20" patch = "0.7.0" notify = "6.1.1" diff --git a/src/project.rs b/src/project.rs index 8b62fc0..60a9bc6 100644 --- a/src/project.rs +++ b/src/project.rs @@ -88,7 +88,7 @@ impl Ord for ProjectNode { } } } - self.name().cmp(other.name()) + lexical_sort::natural_lexical_cmp(self.name(), other.name()) } }