use ratatui::style::{Color, Style};
use serde::Deserialize;
use tui_theme_builder::ThemeBuilder;
#[derive(Debug, Deserialize)]
pub struct Colors {
pub orange: Color,
pub purple: Color,
}
#[derive(ThemeBuilder)]
#[builder(context=Colors)]
pub struct Theme {
/// Annotate styles with 'fg=color', 'bg=color' or add modifiers,
/// e.g. 'bold' or 'underlined'.
#[style(fg=orange, bg=purple, bold, underlined)]
pub base: Style,
}
impl Default for Colors {
fn default() -> Self {
let s = r##"
"orange" = "#ffb86c"
"purple" = "#bd93f9"
"##;
toml::from_str(s).unwrap()
}
}
fn main() {
let colors = Colors::default();
let theme = Theme::build(&colors);
}
-
Notifications
You must be signed in to change notification settings - Fork 0
A theme builder macro for ratatui apps
License
preiter93/tui-theme-builder
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
A theme builder macro for ratatui apps
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published