From 0ce506236a7f7c5f21782231b538352a20454898 Mon Sep 17 00:00:00 2001 From: Jamy Golden Date: Tue, 18 Jun 2024 21:20:04 +0200 Subject: [PATCH] lib: Add serialize trait for scheme and color --- Cargo.lock | 2 +- tinted-builder-rust/Cargo.toml | 2 +- tinted-builder/CHANGELOG.md | 7 ++++++- tinted-builder/Cargo.toml | 2 +- tinted-builder/src/scheme.rs | 6 +++--- tinted-builder/src/scheme/color.rs | 3 ++- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8a47a55..f4533a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -372,7 +372,7 @@ dependencies = [ [[package]] name = "tinted-builder" -version = "0.4.1" +version = "0.4.2" dependencies = [ "anyhow", "clap", diff --git a/tinted-builder-rust/Cargo.toml b/tinted-builder-rust/Cargo.toml index 92d3117..2672456 100644 --- a/tinted-builder-rust/Cargo.toml +++ b/tinted-builder-rust/Cargo.toml @@ -24,7 +24,7 @@ strip-ansi-escapes = "0.2.0" [dependencies.tinted-builder] path = "../tinted-builder" -version = "0.4.1" +version = "0.4.2" [[bin]] name = "tinted-builder-rust" diff --git a/tinted-builder/CHANGELOG.md b/tinted-builder/CHANGELOG.md index c09c857..73f2aa6 100644 --- a/tinted-builder/CHANGELOG.md +++ b/tinted-builder/CHANGELOG.md @@ -1,11 +1,16 @@ # Changelog +## 0.4.2 - 2024-06-18 + +## Fixed + +- Implement `Serialize` trait for `Scheme` and `Color` + ## 0.4.1 - 2024-06-15 ## Fixed - Implement `Display` trait for `Scheme` and `Color` - `Scheme` themselves. ## 0.4.0 - 2024-06-15 diff --git a/tinted-builder/Cargo.toml b/tinted-builder/Cargo.toml index 6e06ba9..ab50877 100644 --- a/tinted-builder/Cargo.toml +++ b/tinted-builder/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "tinted-builder" description = "A Tinted Theming template builder which uses yaml color schemes to generate theme files." -version = "0.4.1" +version = "0.4.2" edition = "2021" license = "MIT OR Apache-2.0" readme = "README.md" diff --git a/tinted-builder/src/scheme.rs b/tinted-builder/src/scheme.rs index 857b784..326a5bc 100644 --- a/tinted-builder/src/scheme.rs +++ b/tinted-builder/src/scheme.rs @@ -1,14 +1,14 @@ mod color; use regex::Regex; -use serde::{Deserialize, Deserializer}; +use serde::{Deserialize, Deserializer, Serialize}; use std::{collections::HashMap, fmt}; use crate::constants::{REQUIRED_BASE16_PALETTE_KEYS, REQUIRED_BASE24_PALETTE_KEYS}; pub use crate::scheme::color::Color; -#[derive(Deserialize)] +#[derive(Deserialize, Serialize)] pub struct SchemeWrapper { pub(crate) system: String, pub(crate) name: String, @@ -19,7 +19,7 @@ pub struct SchemeWrapper { pub(crate) palette: HashMap, } -#[derive(Debug)] +#[derive(Debug, Serialize)] pub struct Scheme { pub system: String, pub name: String, diff --git a/tinted-builder/src/scheme/color.rs b/tinted-builder/src/scheme/color.rs index 9d81a58..7ab02f7 100644 --- a/tinted-builder/src/scheme/color.rs +++ b/tinted-builder/src/scheme/color.rs @@ -1,8 +1,9 @@ +use serde::{Deserialize, Serialize}; use std::fmt; use anyhow::{Context, Result}; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Deserialize, Serialize)] pub struct Color { pub hex: (String, String, String), pub rgb: (u8, u8, u8),