tauri-plugin-config-manager 2.2.1

A Tauri plugin for managing configuration for Vasak applications.
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
pub struct VSKConfig {
    pub style: Style,
    pub desktop: Option<Desktop>,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Desktop {
    pub wallpaper: Vec<String>,
    pub iconsize: u32,
    pub showfiles: bool,
    pub showhiddenfiles: bool,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct Style {
    pub darkmode: bool,
    #[serde(rename = "color-scheme")]
    pub color_scheme: String,
    pub radius: u32,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct Scheme {
    pub path: String,
    pub scheme: SchemeData,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct SchemeData {
    pub id: String,
    pub name: String,
    pub author: String,
    pub description: String,
    pub version: String,
    pub colors: SchemeColors,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct SchemeColors {
    pub dark: ThemeVariant,
    pub light: ThemeVariant,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct ThemeVariant {
    pub ui: UiColors,
    pub terminal: TerminalColors,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct UiColors {
    pub color: ColorPalette,
    pub text: TextColors,
    pub background: String,
    pub border: String,
    pub surface: String,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct ColorPalette {
    pub primary: String,
    pub secondary: String,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct TextColors {
    pub main: String,
    pub muted: String,
    #[serde(rename = "on-primary")]
    pub on_primary: String,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct TerminalColors {
    pub foreground: String,
    pub background: String,
    pub cursor: String,
    pub ansi: AnsiColors,
}

#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct AnsiColors {
    pub black: String,
    pub red: String,
    pub green: String,
    pub yellow: String,
    pub blue: String,
    pub magenta: String,
    pub cyan: String,
    pub white: String,
    #[serde(rename = "brightBlack")]
    pub bright_black: String,
    #[serde(rename = "brightRed")]
    pub bright_red: String,
    #[serde(rename = "brightGreen")]
    pub bright_green: String,
    #[serde(rename = "brightYellow")]
    pub bright_yellow: String,
    #[serde(rename = "brightBlue")]
    pub bright_blue: String,
    #[serde(rename = "brightMagenta")]
    pub bright_magenta: String,
    #[serde(rename = "brightCyan")]
    pub bright_cyan: String,
    #[serde(rename = "brightWhite")]
    pub bright_white: String,
}