diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-08-07 20:59:32 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-08-07 20:59:32 +0300 |
| commit | bdb5222eec9109f4a337ab79d12c3f3ee3cd7a4b (patch) | |
| tree | 1081a0036513199d17b35f8de9e43c9841c7be36 /src/app | |
| parent | 00f04ac65cedf882f9785c0aa20831523c554dd0 (diff) | |
fix(config): report unknown theme names (#2488)
refs #2452
Diffstat (limited to 'src/app')
| -rw-r--r-- | src/app/state.rs | 45 |
1 files changed, 13 insertions, 32 deletions
diff --git a/src/app/state.rs b/src/app/state.rs index 0e1a8439..ca1b919b 100644 --- a/src/app/state.rs +++ b/src/app/state.rs @@ -558,24 +558,24 @@ impl Palette { /// Resolve a theme by name. Returns None for unknown names. pub fn from_name(name: &str) -> Option<Self> { - match name.to_lowercase().replace([' ', '_'], "-").as_str() { - "catppuccin" | "catppuccin-mocha" => Some(Self::catppuccin()), - "catppuccin-latte" | "latte" | "light" => Some(Self::catppuccin_latte()), + match crate::config::canonical_theme_name(name)? { + "catppuccin" => Some(Self::catppuccin()), + "catppuccin-latte" => Some(Self::catppuccin_latte()), "terminal" => Some(Self::terminal()), - "tokyo-night" | "tokyonight" => Some(Self::tokyo_night()), - "tokyo-night-day" | "tokyo-day" | "tokyonight-day" => Some(Self::tokyo_night_day()), + "tokyo-night" => Some(Self::tokyo_night()), + "tokyo-night-day" => Some(Self::tokyo_night_day()), "dracula" => Some(Self::dracula()), "nord" => Some(Self::nord()), - "gruvbox" | "gruvbox-dark" => Some(Self::gruvbox()), + "gruvbox" => Some(Self::gruvbox()), "gruvbox-light" => Some(Self::gruvbox_light()), - "one-dark" | "onedark" => Some(Self::one_dark()), - "one-light" | "onelight" => Some(Self::one_light()), - "solarized" | "solarized-dark" => Some(Self::solarized()), + "one-dark" => Some(Self::one_dark()), + "one-light" => Some(Self::one_light()), + "solarized" => Some(Self::solarized()), "solarized-light" => Some(Self::solarized_light()), "kanagawa" => Some(Self::kanagawa()), - "kanagawa-lotus" | "lotus" => Some(Self::kanagawa_lotus()), - "rose-pine" | "rosepine" => Some(Self::rose_pine()), - "rose-pine-dawn" | "rosepine-dawn" | "dawn" => Some(Self::rose_pine_dawn()), + "kanagawa-lotus" => Some(Self::kanagawa_lotus()), + "rose-pine" => Some(Self::rose_pine()), + "rose-pine-dawn" => Some(Self::rose_pine_dawn()), "vesper" => Some(Self::vesper()), _ => None, } @@ -1044,26 +1044,7 @@ impl SettingsSection { } /// All built-in theme names in display order. -pub const THEME_NAMES: &[&str] = &[ - "catppuccin", - "catppuccin-latte", - "terminal", - "tokyo-night", - "tokyo-night-day", - "dracula", - "nord", - "gruvbox", - "gruvbox-light", - "one-dark", - "one-light", - "solarized", - "solarized-light", - "kanagawa", - "kanagawa-lotus", - "rose-pine", - "rose-pine-dawn", - "vesper", -]; +pub const THEME_NAMES: &[&str] = crate::config::THEME_NAMES; #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub struct MenuListState { |
