user_theme.rs

 1use crate::{Appearance, ThemeColors, ThemeColorsRefinement};
 2use refineable::Refineable;
 3use serde::Deserialize;
 4
 5#[derive(Deserialize)]
 6pub struct UserThemeFamily {
 7    pub name: String,
 8    pub author: String,
 9    pub themes: Vec<UserTheme>,
10}
11
12#[derive(Deserialize)]
13pub struct UserTheme {
14    pub name: String,
15    pub appearance: Appearance,
16    pub styles: UserThemeStylesRefinement,
17}
18
19#[derive(Refineable, Clone)]
20#[refineable(Deserialize)]
21pub struct UserThemeStyles {
22    #[refineable]
23    pub colors: ThemeColors,
24}