Merge pull request #916 from zed-industries/sort-themes

Nathan Sobo created

Sort themes by light/dark first and then alphabetically

Change summary

crates/theme_selector/src/theme_selector.rs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

Detailed changes

crates/theme_selector/src/theme_selector.rs 🔗

@@ -36,7 +36,12 @@ impl ThemeSelector {
         let handle = cx.weak_handle();
         let picker = cx.add_view(|cx| Picker::new(handle, cx));
         let original_theme = cx.global::<Settings>().theme.clone();
-        let theme_names = registry.list().collect::<Vec<_>>();
+        let mut theme_names = registry.list().collect::<Vec<_>>();
+        theme_names.sort_unstable_by(|a, b| {
+            a.ends_with("dark")
+                .cmp(&b.ends_with("dark"))
+                .then_with(|| a.cmp(&b))
+        });
         let matches = theme_names
             .iter()
             .map(|name| StringMatch {