Skip to content

Commit 1ad2e4c

Browse files
committed
add new built-in themes
1 parent ce59026 commit 1ad2e4c

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,5 @@ warn = "#FFA247" # Warning color
124124
error = "#D06666" # Error color
125125
success = "#6BBF59" # Success color
126126
```
127+
128+
You can try asking LLM to generate these custom theme configs for you based on themes from other apps, it typically works one shot.

crates/kiorg/src/theme.rs

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ pub const LIGHT_EVERFOREST_KEY: &str = "light_everforest";
1111
pub const MOLOKAI_KEY: &str = "molokai";
1212
pub const DARK_TOKYONIGHT_KEY: &str = "dark_tokyonight";
1313
pub const LIGHT_TOKYONIGHT_KEY: &str = "light_tokyonight";
14+
pub const PANDA_KEY: &str = "panda";
15+
pub const DRACULA_KEY: &str = "dracula";
1416

1517
// Static builtin themes - single source of truth
1618
static DARK_KIORG_THEME: LazyLock<Theme> = LazyLock::new(|| Theme {
@@ -181,6 +183,54 @@ static LIGHT_TOKYONIGHT_THEME: LazyLock<Theme> = LazyLock::new(|| Theme {
181183
},
182184
});
183185

186+
static PANDA_THEME: LazyLock<Theme> = LazyLock::new(|| Theme {
187+
name: PANDA_KEY.to_string(),
188+
display_name: "Panda".to_string(),
189+
colors: AppColors {
190+
bg: hex_color!("#292A2B"),
191+
bg_light: hex_color!("#303234"),
192+
bg_extreme: hex_color!("#242526"),
193+
bg_fill: hex_color!("#373b41"),
194+
bg_interactive_fill: hex_color!("#4a4e55"),
195+
bg_active: hex_color!("#404244"),
196+
fg: hex_color!("#E6E6E6"),
197+
fg_selected: hex_color!("#f3f3f3"),
198+
error: hex_color!("#FF2C6D"),
199+
warn: hex_color!("#FFB86C"),
200+
highlight: hex_color!("#45A9F9"),
201+
success: hex_color!("#19f9d8"),
202+
link_underscore: hex_color!("#FF75B5"),
203+
fg_folder: hex_color!("#45A9F9"),
204+
link_text: hex_color!("#B084EB"),
205+
bg_selected: hex_color!("#454749"),
206+
fg_light: hex_color!("#757575"),
207+
},
208+
});
209+
210+
static DRACULA_THEME: LazyLock<Theme> = LazyLock::new(|| Theme {
211+
name: DRACULA_KEY.to_string(),
212+
display_name: "Dracula".to_string(),
213+
colors: AppColors {
214+
bg: hex_color!("#282a36"),
215+
bg_selected: hex_color!("#44475a"),
216+
bg_light: hex_color!("#343746"),
217+
bg_extreme: hex_color!("#191a21"),
218+
bg_fill: hex_color!("#21222c"),
219+
bg_interactive_fill: hex_color!("#424450"),
220+
bg_active: hex_color!("#44475a"),
221+
fg: hex_color!("#f8f8f2"),
222+
fg_selected: hex_color!("#f8f8f2"),
223+
error: hex_color!("#ff5555"),
224+
warn: hex_color!("#ffb86c"),
225+
highlight: hex_color!("#f1fa8c"),
226+
success: hex_color!("#50fa7b"),
227+
link_underscore: hex_color!("#ff79c6"),
228+
fg_folder: hex_color!("#bd93f9"),
229+
link_text: hex_color!("#8be9fd"),
230+
fg_light: hex_color!("#6272a4"),
231+
},
232+
});
233+
184234
// All builtin themes
185235
static ALL_THEMES: LazyLock<Vec<&Theme>> = LazyLock::new(|| {
186236
vec![
@@ -191,6 +241,8 @@ static ALL_THEMES: LazyLock<Vec<&Theme>> = LazyLock::new(|| {
191241
&MOLOKAI_THEME,
192242
&DARK_TOKYONIGHT_THEME,
193243
&LIGHT_TOKYONIGHT_THEME,
244+
&PANDA_THEME,
245+
&DRACULA_THEME,
194246
]
195247
});
196248

@@ -241,6 +293,8 @@ impl Theme {
241293
MOLOKAI_KEY => Some(&MOLOKAI_THEME),
242294
DARK_TOKYONIGHT_KEY => Some(&DARK_TOKYONIGHT_THEME),
243295
LIGHT_TOKYONIGHT_KEY => Some(&LIGHT_TOKYONIGHT_THEME),
296+
PANDA_KEY => Some(&PANDA_THEME),
297+
DRACULA_KEY => Some(&DRACULA_THEME),
244298
_ => None,
245299
}
246300
}

0 commit comments

Comments
 (0)