use serde::{Deserialize, Serialize};
use tatara_lisp::DeriveTataraDomain;
#[derive(DeriveTataraDomain, Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Default)]
#[serde(rename_all = "camelCase")]
#[tatara(keyword = "defpalette")]
pub struct PaletteSpec {
pub name: String,
#[serde(default)]
pub base00: String,
#[serde(default)]
pub base01: String,
#[serde(default)]
pub base02: String,
#[serde(default)]
pub base03: String,
#[serde(default)]
pub base04: String,
#[serde(default)]
pub base05: String,
#[serde(default)]
pub base06: String,
#[serde(default)]
pub base07: String,
#[serde(default)]
pub base08: String,
#[serde(default)]
pub base09: String,
#[serde(default)]
pub base0a: String,
#[serde(default)]
pub base0b: String,
#[serde(default)]
pub base0c: String,
#[serde(default)]
pub base0d: String,
#[serde(default)]
pub base0e: String,
#[serde(default)]
pub base0f: String,
}