diff --git a/crates/owlry/src/providers/application.rs b/crates/owlry/src/providers/application.rs index dd9523d..b0537c6 100644 --- a/crates/owlry/src/providers/application.rs +++ b/crates/owlry/src/providers/application.rs @@ -228,8 +228,7 @@ impl Provider for ApplicationProvider { ); // Sort alphabetically by name - self.items - .sort_by(|a, b| a.name.to_lowercase().cmp(&b.name.to_lowercase())); + self.items.sort_by_key(|i| i.name.to_lowercase()); } fn items(&self) -> &[LaunchItem] { diff --git a/crates/owlry/src/providers/command.rs b/crates/owlry/src/providers/command.rs index 3227521..0b38b25 100644 --- a/crates/owlry/src/providers/command.rs +++ b/crates/owlry/src/providers/command.rs @@ -99,8 +99,7 @@ impl Provider for CommandProvider { debug!("Found {} commands in PATH", self.items.len()); // Sort alphabetically - self.items - .sort_by(|a, b| a.name.to_lowercase().cmp(&b.name.to_lowercase())); + self.items.sort_by_key(|i| i.name.to_lowercase()); } fn items(&self) -> &[LaunchItem] { diff --git a/crates/owlry/src/providers/dmenu.rs b/crates/owlry/src/providers/dmenu.rs index 050faa0..05510c5 100644 --- a/crates/owlry/src/providers/dmenu.rs +++ b/crates/owlry/src/providers/dmenu.rs @@ -8,6 +8,12 @@ pub struct DmenuProvider { enabled: bool, } +impl Default for DmenuProvider { + fn default() -> Self { + Self::new() + } +} + impl DmenuProvider { pub fn new() -> Self { Self { diff --git a/crates/owlry/src/providers/mod.rs b/crates/owlry/src/providers/mod.rs index 3ae4b4c..959b94e 100644 --- a/crates/owlry/src/providers/mod.rs +++ b/crates/owlry/src/providers/mod.rs @@ -416,7 +416,7 @@ impl ProviderManager { }) .collect(); - results.sort_by(|a, b| b.1.cmp(&a.1)); + results.sort_by_key(|x| std::cmp::Reverse(x.1)); results.truncate(max_results); results } @@ -458,7 +458,7 @@ impl ProviderManager { }) .collect(); - results.sort_by(|a, b| b.1.cmp(&a.1)); + results.sort_by_key(|x| std::cmp::Reverse(x.1)); results.truncate(max_results); results } @@ -541,14 +541,14 @@ impl ProviderManager { scored_refs.select_nth_unstable_by(max_results, |a, b| b.1.cmp(&a.1)); scored_refs.truncate(max_results); } - scored_refs.sort_by(|a, b| b.1.cmp(&a.1)); + scored_refs.sort_by_key(|x| std::cmp::Reverse(x.1)); results.extend( scored_refs .into_iter() .map(|(item, score)| (item.clone(), score)), ); - results.sort_by(|a, b| b.1.cmp(&a.1)); + results.sort_by_key(|x| std::cmp::Reverse(x.1)); results.truncate(max_results); return results; } @@ -617,14 +617,14 @@ impl ProviderManager { scored_refs.select_nth_unstable_by(max_results, |a, b| b.1.cmp(&a.1)); scored_refs.truncate(max_results); } - scored_refs.sort_by(|a, b| b.1.cmp(&a.1)); + scored_refs.sort_by_key(|x| std::cmp::Reverse(x.1)); results.extend( scored_refs .into_iter() .map(|(item, score)| (item.clone(), score)), ); - results.sort_by(|a, b| b.1.cmp(&a.1)); + results.sort_by_key(|x| std::cmp::Reverse(x.1)); results.truncate(max_results); #[cfg(feature = "dev-logging")] diff --git a/crates/owlry/src/providers/systemd.rs b/crates/owlry/src/providers/systemd.rs index fbfb952..7fca022 100644 --- a/crates/owlry/src/providers/systemd.rs +++ b/crates/owlry/src/providers/systemd.rs @@ -128,8 +128,7 @@ impl Provider for SystemdProvider { let stdout = String::from_utf8_lossy(&output.stdout); self.items = Self::parse_systemctl_output(&stdout); - self.items - .sort_by(|a, b| a.name.to_lowercase().cmp(&b.name.to_lowercase())); + self.items.sort_by_key(|i| i.name.to_lowercase()); } fn items(&self) -> &[LaunchItem] {