From 7196ba75661177f750002926affad6c001b146aa Mon Sep 17 00:00:00 2001 From: Jamy Golden Date: Fri, 12 Jul 2024 21:41:37 +0200 Subject: [PATCH] Don't return prefix hash with Color::to_hex method Release 0.9.2 --- CHANGELOG.md | 8 +++++++ Cargo.lock | 4 ++-- tinted-builder-rust/Cargo.toml | 4 ++-- tinted-builder/CHANGELOG.md | 6 +++++ tinted-builder/Cargo.toml | 2 +- tinted-builder/src/scheme.rs | 2 +- tinted-builder/src/scheme/color.rs | 22 +++++++++--------- tinted-builder/tests/general.rs | 36 +++++++++++++++--------------- 8 files changed, 48 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cbb2fc7..2d40b85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.9.2] - 2024-06-24 + +### Fixed + +- Use latest tinted-builder lib which does not generate schemes with + a hash prefix value + ## [0.9.1] - 2024-06-24 ### Fixed @@ -111,6 +118,7 @@ - `sync` subcommand support to sync with latest Tinted Theming schemes - `build` subcommand to trigger theme template build +[0.9.2]: https://github.com/tinted-theming/tinted-builder-rust/compare/v0.9.1...v0.9.2 [0.9.1]: https://github.com/tinted-theming/tinted-builder-rust/compare/v0.9.0...v0.9.1 [0.9.0]: https://github.com/tinted-theming/tinted-builder-rust/compare/v0.8.0...v0.9.0 [0.8.0]: https://github.com/tinted-theming/tinted-builder-rust/compare/v0.7.0...v0.8.0 diff --git a/Cargo.lock b/Cargo.lock index e8e878c..efde274 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -372,7 +372,7 @@ dependencies = [ [[package]] name = "tinted-builder" -version = "0.4.4" +version = "0.4.5" dependencies = [ "anyhow", "clap", @@ -387,7 +387,7 @@ dependencies = [ [[package]] name = "tinted-builder-rust" -version = "0.9.1" +version = "0.9.2" dependencies = [ "anyhow", "clap", diff --git a/tinted-builder-rust/Cargo.toml b/tinted-builder-rust/Cargo.toml index 2c6fdc8..b8046fa 100644 --- a/tinted-builder-rust/Cargo.toml +++ b/tinted-builder-rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tinted-builder-rust" -version = "0.9.1" +version = "0.9.2" edition = "2021" authors = ["Jamy Golden ", "Tinted Theming "] license = "MIT OR Apache-2.0" @@ -24,7 +24,7 @@ strip-ansi-escapes = "0.2.0" [dependencies.tinted-builder] path = "../tinted-builder" -version = "0.4.4" +version = "0.4.5" [[bin]] name = "tinted-builder-rust" diff --git a/tinted-builder/CHANGELOG.md b/tinted-builder/CHANGELOG.md index dabd75d..f73b0b9 100644 --- a/tinted-builder/CHANGELOG.md +++ b/tinted-builder/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.4.5 - 2024-07-12 + +## Fixed + +- Remove hash from `Color::to_hex` returned string + ## 0.4.4 - 2024-06-22 ## Fixed diff --git a/tinted-builder/Cargo.toml b/tinted-builder/Cargo.toml index 69c708d..953480d 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.4" +version = "0.4.5" 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 66fa88b..eb3f0cf 100644 --- a/tinted-builder/src/scheme.rs +++ b/tinted-builder/src/scheme.rs @@ -120,7 +120,7 @@ pub(crate) fn slugify(input: &str) -> String { } } - let re = Regex::new(r"-+").unwrap(); + let re = Regex::new(r"-+").expect("Unable to unwrap regex"); let cleaned_slug = re.replace_all(&slug, "-").to_string(); cleaned_slug.trim_matches('-').to_string() diff --git a/tinted-builder/src/scheme/color.rs b/tinted-builder/src/scheme/color.rs index 7ab02f7..c437ecf 100644 --- a/tinted-builder/src/scheme/color.rs +++ b/tinted-builder/src/scheme/color.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; use std::fmt; -use anyhow::{Context, Result}; +use anyhow::{anyhow, Context, Result}; #[derive(Debug, Clone, Deserialize, Serialize)] pub struct Color { @@ -12,28 +12,26 @@ pub struct Color { impl Color { pub fn new(hex_color: String) -> Result { - let hex_full = match process_hex_input(&hex_color) { - Some(valid_hex) => valid_hex, - None => { - anyhow::bail!("Provided hex value is not formatted correctly"); - } - }; - + let hex_full = process_hex_input(&hex_color) + .ok_or_else(|| anyhow::anyhow!("Provided hex value is not formatted correctly"))?; let hex: (String, String, String) = ( hex_full[0..2].to_lowercase(), hex_full[2..4].to_lowercase(), hex_full[4..6].to_lowercase(), ); let rgb = hex_to_rgb(&hex) - .unwrap_or_else(|_| panic!("Unable to convert hex value to rgb: {}", hex_full)); - let (r, g, b) = rgb; - let dec: (f32, f32, f32) = (r as f32 / 255.0, g as f32 / 255.0, b as f32 / 255.0); + .map_err(|_| anyhow!("Unable to convert hex value to rgb: {}", hex_full))?; + let dec: (f32, f32, f32) = ( + rgb.0 as f32 / 255.0, + rgb.1 as f32 / 255.0, + rgb.2 as f32 / 255.0, + ); Ok(Color { hex, rgb, dec }) } pub fn to_hex(&self) -> String { - format!("#{}{}{}", &self.hex.0, &self.hex.1, &self.hex.2) + format!("{}{}{}", &self.hex.0, &self.hex.1, &self.hex.2) } } diff --git a/tinted-builder/tests/general.rs b/tinted-builder/tests/general.rs index 40e3a7b..118a762 100644 --- a/tinted-builder/tests/general.rs +++ b/tinted-builder/tests/general.rs @@ -1,30 +1,30 @@ use anyhow::Result; use tinted_builder::{Scheme, Template}; -const SCHEME_SILK_LIGHT: &str = r#" +const SCHEME_SILK_LIGHT: &str = r##" system: "base16" name: "Silk Light" slug: "siłk light" author: "Gabriel Fontes (https://github.com/Misterio77)" variant: "light" palette: - base00: "E9F1EF" - base01: "CCD4D3" - base02: "90B7B6" - base03: "5C787B" - base04: "4B5B5F" - base05: "385156" - base06: "0e3c46" - base07: "D2FAFF" - base08: "CF432E" - base09: "D27F46" - base0A: "CFAD25" - base0B: "6CA38C" - base0C: "329CA2" - base0D: "39AAC9" - base0E: "6E6582" - base0F: "865369" -"#; + base00: "#E9F1EF" + base01: "#CCD4D3" + base02: "#90B7B6" + base03: "#5C787B" + base04: "#4B5B5F" + base05: "#385156" + base06: "#0e3c46" + base07: "#D2FAFF" + base08: "#CF432E" + base09: "#D27F46" + base0A: "#CFAD25" + base0B: "#6CA38C" + base0C: "#329CA2" + base0D: "#39AAC9" + base0E: "#6E6582" + base0F: "#865369" +"##; const SCHEME_CRAZY: &str = r#" system: "base16"