diff options
author | 2024-02-04 00:07:16 +0530 | |
---|---|---|
committer | 2024-02-11 02:50:38 +0100 | |
commit | 4503e2ba7e1c124798f36849d0f64a31b2e5c9a5 (patch) | |
tree | b9be7b8e290d749d663746acf94b7bc50f97794f /style | |
parent | 3513a4ad5612b6659ab037b0c1b0c22e5cabc1f5 (diff) | |
download | iced-4503e2ba7e1c124798f36849d0f64a31b2e5c9a5.tar.gz iced-4503e2ba7e1c124798f36849d0f64a31b2e5c9a5.tar.bz2 iced-4503e2ba7e1c124798f36849d0f64a31b2e5c9a5.zip |
add tokyo night themes and palettes
Source: https://github.com/enkia/tokyo-night-vscode-theme
Diffstat (limited to 'style')
-rw-r--r-- | style/src/theme.rs | 18 | ||||
-rw-r--r-- | style/src/theme/palette.rs | 45 |
2 files changed, 63 insertions, 0 deletions
diff --git a/style/src/theme.rs b/style/src/theme.rs index ad95ff0f..20ac9343 100644 --- a/style/src/theme.rs +++ b/style/src/theme.rs @@ -56,6 +56,12 @@ pub enum Theme { CatppuccinMacchiato, /// The built-in Catppuccin Mocha variant. CatppuccinMocha, + /// The built-in Tokyo Night variant. + TokyoNight, + /// The built-in Tokyo Night Storm variant. + TokyoNightStorm, + /// The built-in Tokyo Night Light variant. + TokyoNightLight, /// A [`Theme`] that uses a [`Custom`] palette. Custom(Arc<Custom>), } @@ -75,6 +81,9 @@ impl Theme { Self::CatppuccinFrappe, Self::CatppuccinMacchiato, Self::CatppuccinMocha, + Self::TokyoNight, + Self::TokyoNightStorm, + Self::TokyoNightLight, ]; /// Creates a new custom [`Theme`] from the given [`Palette`]. @@ -107,6 +116,9 @@ impl Theme { Self::CatppuccinFrappe => Palette::CATPPUCCIN_FRAPPE, Self::CatppuccinMacchiato => Palette::CATPPUCCIN_MACCHIATO, Self::CatppuccinMocha => Palette::CATPPUCCIN_MOCHA, + Self::TokyoNight => Palette::TOKYO_NIGHT, + Self::TokyoNightStorm => Palette::TOKYO_NIGHT_STORM, + Self::TokyoNightLight => Palette::TOKYO_NIGHT_LIGHT, Self::Custom(custom) => custom.palette, } } @@ -128,6 +140,9 @@ impl Theme { &palette::EXTENDED_CATPPUCCIN_MACCHIATO } Self::CatppuccinMocha => &palette::EXTENDED_CATPPUCCIN_MOCHA, + Self::TokyoNight => &palette::EXTENDED_TOKYO_NIGHT, + Self::TokyoNightStorm => &palette::EXTENDED_TOKYO_NIGHT_STORM, + Self::TokyoNightLight => &palette::EXTENDED_TOKYO_NIGHT_LIGHT, Self::Custom(custom) => &custom.extended, } } @@ -148,6 +163,9 @@ impl fmt::Display for Theme { Self::CatppuccinFrappe => write!(f, "Catppuccin Frappé"), Self::CatppuccinMacchiato => write!(f, "Catppuccin Macchiato"), Self::CatppuccinMocha => write!(f, "Catppuccin Mocha"), + Self::TokyoNight => write!(f, "Tokyo Night"), + Self::TokyoNightStorm => write!(f, "Tokyo Night Storm"), + Self::TokyoNightLight => write!(f, "Tokyo Night Light"), Self::Custom(custom) => custom.fmt(f), } } diff --git a/style/src/theme/palette.rs b/style/src/theme/palette.rs index cb5fc048..f2d1567e 100644 --- a/style/src/theme/palette.rs +++ b/style/src/theme/palette.rs @@ -177,6 +177,39 @@ impl Palette { success: color!(0xa6e3a1), // Green danger: color!(0xf38ba8), // Red }; + + /// The built-in Tokyo Night variant of a [`Palette`]. + /// + /// Source: https://github.com/enkia/tokyo-night-vscode-theme + pub const TOKYO_NIGHT: Self = Self { + background: color!(0x1a1b26), // Background (Night) + text: color!(0x9aa5ce), // Text + primary: color!(0x2ac3de), // Blue + success: color!(0x9ece6a), // Green + danger: color!(0xf7768e), // Red + }; + + /// The built-in Tokyo Night Storm variant of a [`Palette`]. + /// + /// Source: https://github.com/enkia/tokyo-night-vscode-theme + pub const TOKYO_NIGHT_STORM: Self = Self { + background: color!(0x24283b), // Background (Storm) + text: color!(0x9aa5ce), // Text + primary: color!(0x2ac3de), // Blue + success: color!(0x9ece6a), // Green + danger: color!(0xf7768e), // Red + }; + + /// The built-in Tokyo Night Light variant of a [`Palette`]. + /// + /// Source: https://github.com/enkia/tokyo-night-vscode-theme + pub const TOKYO_NIGHT_LIGHT: Self = Self { + background: color!(0xd5d6db), // Background + text: color!(0x565a6e), // Text + primary: color!(0x166775), // Blue + success: color!(0x485e30), // Green + danger: color!(0x8c4351), // Red + }; } /// An extended set of colors generated from a [`Palette`]. @@ -244,6 +277,18 @@ pub static EXTENDED_CATPPUCCIN_MACCHIATO: Lazy<Extended> = pub static EXTENDED_CATPPUCCIN_MOCHA: Lazy<Extended> = Lazy::new(|| Extended::generate(Palette::CATPPUCCIN_MOCHA)); +/// The built-in Tokyo Night variant of an [`Extended`] palette. +pub static EXTENDED_TOKYO_NIGHT: Lazy<Extended> = + Lazy::new(|| Extended::generate(Palette::TOKYO_NIGHT)); + +/// The built-in Tokyo Night Storm variant of an [`Extended`] palette. +pub static EXTENDED_TOKYO_NIGHT_STORM: Lazy<Extended> = + Lazy::new(|| Extended::generate(Palette::TOKYO_NIGHT_STORM)); + +/// The built-in Tokyo Night variant of an [`Extended`] palette. +pub static EXTENDED_TOKYO_NIGHT_LIGHT: Lazy<Extended> = + Lazy::new(|| Extended::generate(Palette::TOKYO_NIGHT_LIGHT)); + impl Extended { /// Generates an [`Extended`] palette from a simple [`Palette`]. pub fn generate(palette: Palette) -> Self { |