style: apply rustfmt formatting
Some checks failed
CI / test (push) Has been cancelled
Build and Publish to npm / build-and-publish (push) Failing after 9m47s

Run cargo fmt --all to comply with Rust formatting standards

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-17 07:39:18 +01:00
parent de18e007a6
commit de035bf29b
3 changed files with 644 additions and 181 deletions

View File

@@ -32,20 +32,20 @@ impl Color {
let g = u8::from_str_radix(&hex[1..2].repeat(2), 16).map_err(|e| e.to_string())?;
let b = u8::from_str_radix(&hex[2..3].repeat(2), 16).map_err(|e| e.to_string())?;
(r, g, b, 255)
},
}
6 => {
let r = u8::from_str_radix(&hex[0..2], 16).map_err(|e| e.to_string())?;
let g = u8::from_str_radix(&hex[2..4], 16).map_err(|e| e.to_string())?;
let b = u8::from_str_radix(&hex[4..6], 16).map_err(|e| e.to_string())?;
(r, g, b, 255)
},
}
8 => {
let r = u8::from_str_radix(&hex[0..2], 16).map_err(|e| e.to_string())?;
let g = u8::from_str_radix(&hex[2..4], 16).map_err(|e| e.to_string())?;
let b = u8::from_str_radix(&hex[4..6], 16).map_err(|e| e.to_string())?;
let a = u8::from_str_radix(&hex[6..8], 16).map_err(|e| e.to_string())?;
(r, g, b, a)
},
}
_ => return Err(format!("Invalid hex color length: {}", hex.len())),
};
@@ -362,7 +362,9 @@ impl Color {
}
// Try hex without #
if s.chars().all(|c| c.is_ascii_hexdigit()) && (s.len() == 3 || s.len() == 6 || s.len() == 8) {
if s.chars().all(|c| c.is_ascii_hexdigit())
&& (s.len() == 3 || s.len() == 6 || s.len() == 8)
{
return Self::from_hex(&format!("#{}", s));
}
@@ -378,11 +380,22 @@ fn parse_rgb(s: &str) -> Result<Color, String> {
return Err("Invalid RGB format".to_string());
}
let r: f64 = parts[0].parse::<f64>().map_err(|_| "Invalid R value".to_string())? / 255.0;
let g: f64 = parts[1].parse::<f64>().map_err(|_| "Invalid G value".to_string())? / 255.0;
let b: f64 = parts[2].parse::<f64>().map_err(|_| "Invalid B value".to_string())? / 255.0;
let r: f64 = parts[0]
.parse::<f64>()
.map_err(|_| "Invalid R value".to_string())?
/ 255.0;
let g: f64 = parts[1]
.parse::<f64>()
.map_err(|_| "Invalid G value".to_string())?
/ 255.0;
let b: f64 = parts[2]
.parse::<f64>()
.map_err(|_| "Invalid B value".to_string())?
/ 255.0;
let a: f64 = if parts.len() > 3 {
parts[3].parse::<f64>().map_err(|_| "Invalid A value".to_string())?
parts[3]
.parse::<f64>()
.map_err(|_| "Invalid A value".to_string())?
} else {
1.0
};
@@ -391,16 +404,28 @@ fn parse_rgb(s: &str) -> Result<Color, String> {
}
fn parse_hsl(s: &str) -> Result<Color, String> {
let s = s.replace("hsl(", "").replace("hsla(", "").replace(")", "").replace("%", "");
let s = s
.replace("hsl(", "")
.replace("hsla(", "")
.replace(")", "")
.replace("%", "");
let parts: Vec<&str> = s.split(',').map(|p| p.trim()).collect();
if parts.len() < 3 {
return Err("Invalid HSL format".to_string());
}
let h: f64 = parts[0].parse::<f64>().map_err(|_| "Invalid H value".to_string())?;
let s: f64 = parts[1].parse::<f64>().map_err(|_| "Invalid S value".to_string())? / 100.0;
let l: f64 = parts[2].parse::<f64>().map_err(|_| "Invalid L value".to_string())? / 100.0;
let h: f64 = parts[0]
.parse::<f64>()
.map_err(|_| "Invalid H value".to_string())?;
let s: f64 = parts[1]
.parse::<f64>()
.map_err(|_| "Invalid S value".to_string())?
/ 100.0;
let l: f64 = parts[2]
.parse::<f64>()
.map_err(|_| "Invalid L value".to_string())?
/ 100.0;
Ok(Color::from_hsl(h, s, l))
}

View File

@@ -1,10 +1,10 @@
mod color;
mod named;
use wasm_bindgen::prelude::*;
use serde::{Deserialize, Serialize};
use color::Color;
use named::NAMED_COLORS;
use serde::{Deserialize, Serialize};
use wasm_bindgen::prelude::*;
// Enable better panic messages in the browser
#[wasm_bindgen(start)]
@@ -43,8 +43,7 @@ struct NamedColorInfo {
#[wasm_bindgen]
pub fn parse_color(color_str: &str) -> Result<JsValue, JsValue> {
let color = Color::parse(color_str)
.map_err(|e| JsValue::from_str(&e))?;
let color = Color::parse(color_str).map_err(|e| JsValue::from_str(&e))?;
let (h, s, l) = color.to_hsl();
let (hv_h, hv_s, v) = color.to_hsv();
@@ -54,7 +53,11 @@ pub fn parse_color(color_str: &str) -> Result<JsValue, JsValue> {
let info = ColorInfoResponse {
input: color_str.to_string(),
hex: color.to_hex(),
rgb: ((color.r * 255.0) as u8, (color.g * 255.0) as u8, (color.b * 255.0) as u8),
rgb: (
(color.r * 255.0) as u8,
(color.g * 255.0) as u8,
(color.b * 255.0) as u8,
),
hsl: (h, s, l),
hsv: (hv_h, hv_s, v),
lab: (lab_l, lab_a, lab_b),
@@ -64,8 +67,7 @@ pub fn parse_color(color_str: &str) -> Result<JsValue, JsValue> {
is_light: color.luminance() > 0.5,
};
serde_wasm_bindgen::to_value(&info)
.map_err(|e| JsValue::from_str(&e.to_string()))
serde_wasm_bindgen::to_value(&info).map_err(|e| JsValue::from_str(&e.to_string()))
}
#[wasm_bindgen]
@@ -175,8 +177,7 @@ pub fn generate_random_colors(count: usize, vivid: bool) -> Result<JsValue, JsVa
})
.collect();
serde_wasm_bindgen::to_value(&colors)
.map_err(|e| JsValue::from_str(&e.to_string()))
serde_wasm_bindgen::to_value(&colors).map_err(|e| JsValue::from_str(&e.to_string()))
}
#[wasm_bindgen]
@@ -191,8 +192,7 @@ pub fn generate_gradient(start: &str, end: &str, steps: usize) -> Result<JsValue
})
.collect();
serde_wasm_bindgen::to_value(&colors)
.map_err(|e| JsValue::from_str(&e.to_string()))
serde_wasm_bindgen::to_value(&colors).map_err(|e| JsValue::from_str(&e.to_string()))
}
#[wasm_bindgen]
@@ -214,10 +214,7 @@ pub fn generate_palette(base: &str, scheme: &str) -> Result<JsValue, JsValue> {
color.rotate_hue(15.0).to_hex(),
color.rotate_hue(30.0).to_hex(),
],
"complementary" => vec![
color.to_hex(),
color.complement().to_hex(),
],
"complementary" => vec![color.to_hex(), color.complement().to_hex()],
"triadic" => vec![
color.to_hex(),
color.rotate_hue(120.0).to_hex(),
@@ -232,8 +229,7 @@ pub fn generate_palette(base: &str, scheme: &str) -> Result<JsValue, JsValue> {
_ => return Err(JsValue::from_str(&format!("Unknown scheme: {}", scheme))),
};
serde_wasm_bindgen::to_value(&colors)
.map_err(|e| JsValue::from_str(&e.to_string()))
serde_wasm_bindgen::to_value(&colors).map_err(|e| JsValue::from_str(&e.to_string()))
}
#[wasm_bindgen]
@@ -246,8 +242,7 @@ pub fn get_all_named_colors() -> Result<JsValue, JsValue> {
})
.collect();
serde_wasm_bindgen::to_value(&colors)
.map_err(|e| JsValue::from_str(&e.to_string()))
serde_wasm_bindgen::to_value(&colors).map_err(|e| JsValue::from_str(&e.to_string()))
}
#[wasm_bindgen]
@@ -260,8 +255,7 @@ pub fn search_named_colors(query: &str) -> Result<JsValue, JsValue> {
})
.collect();
serde_wasm_bindgen::to_value(&results)
.map_err(|e| JsValue::from_str(&e.to_string()))
serde_wasm_bindgen::to_value(&results).map_err(|e| JsValue::from_str(&e.to_string()))
}
#[wasm_bindgen]

View File

@@ -6,154 +6,598 @@ pub struct NamedColor {
}
pub const NAMED_COLORS: &[NamedColor] = &[
NamedColor { name: "aliceblue", hex: "#f0f8ff" },
NamedColor { name: "antiquewhite", hex: "#faebd7" },
NamedColor { name: "aqua", hex: "#00ffff" },
NamedColor { name: "aquamarine", hex: "#7fffd4" },
NamedColor { name: "azure", hex: "#f0ffff" },
NamedColor { name: "beige", hex: "#f5f5dc" },
NamedColor { name: "bisque", hex: "#ffe4c4" },
NamedColor { name: "black", hex: "#000000" },
NamedColor { name: "blanchedalmond", hex: "#ffebcd" },
NamedColor { name: "blue", hex: "#0000ff" },
NamedColor { name: "blueviolet", hex: "#8a2be2" },
NamedColor { name: "brown", hex: "#a52a2a" },
NamedColor { name: "burlywood", hex: "#deb887" },
NamedColor { name: "cadetblue", hex: "#5f9ea0" },
NamedColor { name: "chartreuse", hex: "#7fff00" },
NamedColor { name: "chocolate", hex: "#d2691e" },
NamedColor { name: "coral", hex: "#ff7f50" },
NamedColor { name: "cornflowerblue", hex: "#6495ed" },
NamedColor { name: "cornsilk", hex: "#fff8dc" },
NamedColor { name: "crimson", hex: "#dc143c" },
NamedColor { name: "cyan", hex: "#00ffff" },
NamedColor { name: "darkblue", hex: "#00008b" },
NamedColor { name: "darkcyan", hex: "#008b8b" },
NamedColor { name: "darkgoldenrod", hex: "#b8860b" },
NamedColor { name: "darkgray", hex: "#a9a9a9" },
NamedColor { name: "darkgreen", hex: "#006400" },
NamedColor { name: "darkgrey", hex: "#a9a9a9" },
NamedColor { name: "darkkhaki", hex: "#bdb76b" },
NamedColor { name: "darkmagenta", hex: "#8b008b" },
NamedColor { name: "darkolivegreen", hex: "#556b2f" },
NamedColor { name: "darkorange", hex: "#ff8c00" },
NamedColor { name: "darkorchid", hex: "#9932cc" },
NamedColor { name: "darkred", hex: "#8b0000" },
NamedColor { name: "darksalmon", hex: "#e9967a" },
NamedColor { name: "darkseagreen", hex: "#8fbc8f" },
NamedColor { name: "darkslateblue", hex: "#483d8b" },
NamedColor { name: "darkslategray", hex: "#2f4f4f" },
NamedColor { name: "darkslategrey", hex: "#2f4f4f" },
NamedColor { name: "darkturquoise", hex: "#00ced1" },
NamedColor { name: "darkviolet", hex: "#9400d3" },
NamedColor { name: "deeppink", hex: "#ff1493" },
NamedColor { name: "deepskyblue", hex: "#00bfff" },
NamedColor { name: "dimgray", hex: "#696969" },
NamedColor { name: "dimgrey", hex: "#696969" },
NamedColor { name: "dodgerblue", hex: "#1e90ff" },
NamedColor { name: "firebrick", hex: "#b22222" },
NamedColor { name: "floralwhite", hex: "#fffaf0" },
NamedColor { name: "forestgreen", hex: "#228b22" },
NamedColor { name: "fuchsia", hex: "#ff00ff" },
NamedColor { name: "gainsboro", hex: "#dcdcdc" },
NamedColor { name: "ghostwhite", hex: "#f8f8ff" },
NamedColor { name: "gold", hex: "#ffd700" },
NamedColor { name: "goldenrod", hex: "#daa520" },
NamedColor { name: "gray", hex: "#808080" },
NamedColor { name: "green", hex: "#008000" },
NamedColor { name: "greenyellow", hex: "#adff2f" },
NamedColor { name: "grey", hex: "#808080" },
NamedColor { name: "honeydew", hex: "#f0fff0" },
NamedColor { name: "hotpink", hex: "#ff69b4" },
NamedColor { name: "indianred", hex: "#cd5c5c" },
NamedColor { name: "indigo", hex: "#4b0082" },
NamedColor { name: "ivory", hex: "#fffff0" },
NamedColor { name: "khaki", hex: "#f0e68c" },
NamedColor { name: "lavender", hex: "#e6e6fa" },
NamedColor { name: "lavenderblush", hex: "#fff0f5" },
NamedColor { name: "lawngreen", hex: "#7cfc00" },
NamedColor { name: "lemonchiffon", hex: "#fffacd" },
NamedColor { name: "lightblue", hex: "#add8e6" },
NamedColor { name: "lightcoral", hex: "#f08080" },
NamedColor { name: "lightcyan", hex: "#e0ffff" },
NamedColor { name: "lightgoldenrodyellow", hex: "#fafad2" },
NamedColor { name: "lightgray", hex: "#d3d3d3" },
NamedColor { name: "lightgreen", hex: "#90ee90" },
NamedColor { name: "lightgrey", hex: "#d3d3d3" },
NamedColor { name: "lightpink", hex: "#ffb6c1" },
NamedColor { name: "lightsalmon", hex: "#ffa07a" },
NamedColor { name: "lightseagreen", hex: "#20b2aa" },
NamedColor { name: "lightskyblue", hex: "#87cefa" },
NamedColor { name: "lightslategray", hex: "#778899" },
NamedColor { name: "lightslategrey", hex: "#778899" },
NamedColor { name: "lightsteelblue", hex: "#b0c4de" },
NamedColor { name: "lightyellow", hex: "#ffffe0" },
NamedColor { name: "lime", hex: "#00ff00" },
NamedColor { name: "limegreen", hex: "#32cd32" },
NamedColor { name: "linen", hex: "#faf0e6" },
NamedColor { name: "magenta", hex: "#ff00ff" },
NamedColor { name: "maroon", hex: "#800000" },
NamedColor { name: "mediumaquamarine", hex: "#66cdaa" },
NamedColor { name: "mediumblue", hex: "#0000cd" },
NamedColor { name: "mediumorchid", hex: "#ba55d3" },
NamedColor { name: "mediumpurple", hex: "#9370db" },
NamedColor { name: "mediumseagreen", hex: "#3cb371" },
NamedColor { name: "mediumslateblue", hex: "#7b68ee" },
NamedColor { name: "mediumspringgreen", hex: "#00fa9a" },
NamedColor { name: "mediumturquoise", hex: "#48d1cc" },
NamedColor { name: "mediumvioletred", hex: "#c71585" },
NamedColor { name: "midnightblue", hex: "#191970" },
NamedColor { name: "mintcream", hex: "#f5fffa" },
NamedColor { name: "mistyrose", hex: "#ffe4e1" },
NamedColor { name: "moccasin", hex: "#ffe4b5" },
NamedColor { name: "navajowhite", hex: "#ffdead" },
NamedColor { name: "navy", hex: "#000080" },
NamedColor { name: "oldlace", hex: "#fdf5e6" },
NamedColor { name: "olive", hex: "#808000" },
NamedColor { name: "olivedrab", hex: "#6b8e23" },
NamedColor { name: "orange", hex: "#ffa500" },
NamedColor { name: "orangered", hex: "#ff4500" },
NamedColor { name: "orchid", hex: "#da70d6" },
NamedColor { name: "palegoldenrod", hex: "#eee8aa" },
NamedColor { name: "palegreen", hex: "#98fb98" },
NamedColor { name: "paleturquoise", hex: "#afeeee" },
NamedColor { name: "palevioletred", hex: "#db7093" },
NamedColor { name: "papayawhip", hex: "#ffefd5" },
NamedColor { name: "peachpuff", hex: "#ffdab9" },
NamedColor { name: "peru", hex: "#cd853f" },
NamedColor { name: "pink", hex: "#ffc0cb" },
NamedColor { name: "plum", hex: "#dda0dd" },
NamedColor { name: "powderblue", hex: "#b0e0e6" },
NamedColor { name: "purple", hex: "#800080" },
NamedColor { name: "rebeccapurple", hex: "#663399" },
NamedColor { name: "red", hex: "#ff0000" },
NamedColor { name: "rosybrown", hex: "#bc8f8f" },
NamedColor { name: "royalblue", hex: "#4169e1" },
NamedColor { name: "saddlebrown", hex: "#8b4513" },
NamedColor { name: "salmon", hex: "#fa8072" },
NamedColor { name: "sandybrown", hex: "#f4a460" },
NamedColor { name: "seagreen", hex: "#2e8b57" },
NamedColor { name: "seashell", hex: "#fff5ee" },
NamedColor { name: "sienna", hex: "#a0522d" },
NamedColor { name: "silver", hex: "#c0c0c0" },
NamedColor { name: "skyblue", hex: "#87ceeb" },
NamedColor { name: "slateblue", hex: "#6a5acd" },
NamedColor { name: "slategray", hex: "#708090" },
NamedColor { name: "slategrey", hex: "#708090" },
NamedColor { name: "snow", hex: "#fffafa" },
NamedColor { name: "springgreen", hex: "#00ff7f" },
NamedColor { name: "steelblue", hex: "#4682b4" },
NamedColor { name: "tan", hex: "#d2b48c" },
NamedColor { name: "teal", hex: "#008080" },
NamedColor { name: "thistle", hex: "#d8bfd8" },
NamedColor { name: "tomato", hex: "#ff6347" },
NamedColor { name: "turquoise", hex: "#40e0d0" },
NamedColor { name: "violet", hex: "#ee82ee" },
NamedColor { name: "wheat", hex: "#f5deb3" },
NamedColor { name: "white", hex: "#ffffff" },
NamedColor { name: "whitesmoke", hex: "#f5f5f5" },
NamedColor { name: "yellow", hex: "#ffff00" },
NamedColor { name: "yellowgreen", hex: "#9acd32" },
NamedColor {
name: "aliceblue",
hex: "#f0f8ff",
},
NamedColor {
name: "antiquewhite",
hex: "#faebd7",
},
NamedColor {
name: "aqua",
hex: "#00ffff",
},
NamedColor {
name: "aquamarine",
hex: "#7fffd4",
},
NamedColor {
name: "azure",
hex: "#f0ffff",
},
NamedColor {
name: "beige",
hex: "#f5f5dc",
},
NamedColor {
name: "bisque",
hex: "#ffe4c4",
},
NamedColor {
name: "black",
hex: "#000000",
},
NamedColor {
name: "blanchedalmond",
hex: "#ffebcd",
},
NamedColor {
name: "blue",
hex: "#0000ff",
},
NamedColor {
name: "blueviolet",
hex: "#8a2be2",
},
NamedColor {
name: "brown",
hex: "#a52a2a",
},
NamedColor {
name: "burlywood",
hex: "#deb887",
},
NamedColor {
name: "cadetblue",
hex: "#5f9ea0",
},
NamedColor {
name: "chartreuse",
hex: "#7fff00",
},
NamedColor {
name: "chocolate",
hex: "#d2691e",
},
NamedColor {
name: "coral",
hex: "#ff7f50",
},
NamedColor {
name: "cornflowerblue",
hex: "#6495ed",
},
NamedColor {
name: "cornsilk",
hex: "#fff8dc",
},
NamedColor {
name: "crimson",
hex: "#dc143c",
},
NamedColor {
name: "cyan",
hex: "#00ffff",
},
NamedColor {
name: "darkblue",
hex: "#00008b",
},
NamedColor {
name: "darkcyan",
hex: "#008b8b",
},
NamedColor {
name: "darkgoldenrod",
hex: "#b8860b",
},
NamedColor {
name: "darkgray",
hex: "#a9a9a9",
},
NamedColor {
name: "darkgreen",
hex: "#006400",
},
NamedColor {
name: "darkgrey",
hex: "#a9a9a9",
},
NamedColor {
name: "darkkhaki",
hex: "#bdb76b",
},
NamedColor {
name: "darkmagenta",
hex: "#8b008b",
},
NamedColor {
name: "darkolivegreen",
hex: "#556b2f",
},
NamedColor {
name: "darkorange",
hex: "#ff8c00",
},
NamedColor {
name: "darkorchid",
hex: "#9932cc",
},
NamedColor {
name: "darkred",
hex: "#8b0000",
},
NamedColor {
name: "darksalmon",
hex: "#e9967a",
},
NamedColor {
name: "darkseagreen",
hex: "#8fbc8f",
},
NamedColor {
name: "darkslateblue",
hex: "#483d8b",
},
NamedColor {
name: "darkslategray",
hex: "#2f4f4f",
},
NamedColor {
name: "darkslategrey",
hex: "#2f4f4f",
},
NamedColor {
name: "darkturquoise",
hex: "#00ced1",
},
NamedColor {
name: "darkviolet",
hex: "#9400d3",
},
NamedColor {
name: "deeppink",
hex: "#ff1493",
},
NamedColor {
name: "deepskyblue",
hex: "#00bfff",
},
NamedColor {
name: "dimgray",
hex: "#696969",
},
NamedColor {
name: "dimgrey",
hex: "#696969",
},
NamedColor {
name: "dodgerblue",
hex: "#1e90ff",
},
NamedColor {
name: "firebrick",
hex: "#b22222",
},
NamedColor {
name: "floralwhite",
hex: "#fffaf0",
},
NamedColor {
name: "forestgreen",
hex: "#228b22",
},
NamedColor {
name: "fuchsia",
hex: "#ff00ff",
},
NamedColor {
name: "gainsboro",
hex: "#dcdcdc",
},
NamedColor {
name: "ghostwhite",
hex: "#f8f8ff",
},
NamedColor {
name: "gold",
hex: "#ffd700",
},
NamedColor {
name: "goldenrod",
hex: "#daa520",
},
NamedColor {
name: "gray",
hex: "#808080",
},
NamedColor {
name: "green",
hex: "#008000",
},
NamedColor {
name: "greenyellow",
hex: "#adff2f",
},
NamedColor {
name: "grey",
hex: "#808080",
},
NamedColor {
name: "honeydew",
hex: "#f0fff0",
},
NamedColor {
name: "hotpink",
hex: "#ff69b4",
},
NamedColor {
name: "indianred",
hex: "#cd5c5c",
},
NamedColor {
name: "indigo",
hex: "#4b0082",
},
NamedColor {
name: "ivory",
hex: "#fffff0",
},
NamedColor {
name: "khaki",
hex: "#f0e68c",
},
NamedColor {
name: "lavender",
hex: "#e6e6fa",
},
NamedColor {
name: "lavenderblush",
hex: "#fff0f5",
},
NamedColor {
name: "lawngreen",
hex: "#7cfc00",
},
NamedColor {
name: "lemonchiffon",
hex: "#fffacd",
},
NamedColor {
name: "lightblue",
hex: "#add8e6",
},
NamedColor {
name: "lightcoral",
hex: "#f08080",
},
NamedColor {
name: "lightcyan",
hex: "#e0ffff",
},
NamedColor {
name: "lightgoldenrodyellow",
hex: "#fafad2",
},
NamedColor {
name: "lightgray",
hex: "#d3d3d3",
},
NamedColor {
name: "lightgreen",
hex: "#90ee90",
},
NamedColor {
name: "lightgrey",
hex: "#d3d3d3",
},
NamedColor {
name: "lightpink",
hex: "#ffb6c1",
},
NamedColor {
name: "lightsalmon",
hex: "#ffa07a",
},
NamedColor {
name: "lightseagreen",
hex: "#20b2aa",
},
NamedColor {
name: "lightskyblue",
hex: "#87cefa",
},
NamedColor {
name: "lightslategray",
hex: "#778899",
},
NamedColor {
name: "lightslategrey",
hex: "#778899",
},
NamedColor {
name: "lightsteelblue",
hex: "#b0c4de",
},
NamedColor {
name: "lightyellow",
hex: "#ffffe0",
},
NamedColor {
name: "lime",
hex: "#00ff00",
},
NamedColor {
name: "limegreen",
hex: "#32cd32",
},
NamedColor {
name: "linen",
hex: "#faf0e6",
},
NamedColor {
name: "magenta",
hex: "#ff00ff",
},
NamedColor {
name: "maroon",
hex: "#800000",
},
NamedColor {
name: "mediumaquamarine",
hex: "#66cdaa",
},
NamedColor {
name: "mediumblue",
hex: "#0000cd",
},
NamedColor {
name: "mediumorchid",
hex: "#ba55d3",
},
NamedColor {
name: "mediumpurple",
hex: "#9370db",
},
NamedColor {
name: "mediumseagreen",
hex: "#3cb371",
},
NamedColor {
name: "mediumslateblue",
hex: "#7b68ee",
},
NamedColor {
name: "mediumspringgreen",
hex: "#00fa9a",
},
NamedColor {
name: "mediumturquoise",
hex: "#48d1cc",
},
NamedColor {
name: "mediumvioletred",
hex: "#c71585",
},
NamedColor {
name: "midnightblue",
hex: "#191970",
},
NamedColor {
name: "mintcream",
hex: "#f5fffa",
},
NamedColor {
name: "mistyrose",
hex: "#ffe4e1",
},
NamedColor {
name: "moccasin",
hex: "#ffe4b5",
},
NamedColor {
name: "navajowhite",
hex: "#ffdead",
},
NamedColor {
name: "navy",
hex: "#000080",
},
NamedColor {
name: "oldlace",
hex: "#fdf5e6",
},
NamedColor {
name: "olive",
hex: "#808000",
},
NamedColor {
name: "olivedrab",
hex: "#6b8e23",
},
NamedColor {
name: "orange",
hex: "#ffa500",
},
NamedColor {
name: "orangered",
hex: "#ff4500",
},
NamedColor {
name: "orchid",
hex: "#da70d6",
},
NamedColor {
name: "palegoldenrod",
hex: "#eee8aa",
},
NamedColor {
name: "palegreen",
hex: "#98fb98",
},
NamedColor {
name: "paleturquoise",
hex: "#afeeee",
},
NamedColor {
name: "palevioletred",
hex: "#db7093",
},
NamedColor {
name: "papayawhip",
hex: "#ffefd5",
},
NamedColor {
name: "peachpuff",
hex: "#ffdab9",
},
NamedColor {
name: "peru",
hex: "#cd853f",
},
NamedColor {
name: "pink",
hex: "#ffc0cb",
},
NamedColor {
name: "plum",
hex: "#dda0dd",
},
NamedColor {
name: "powderblue",
hex: "#b0e0e6",
},
NamedColor {
name: "purple",
hex: "#800080",
},
NamedColor {
name: "rebeccapurple",
hex: "#663399",
},
NamedColor {
name: "red",
hex: "#ff0000",
},
NamedColor {
name: "rosybrown",
hex: "#bc8f8f",
},
NamedColor {
name: "royalblue",
hex: "#4169e1",
},
NamedColor {
name: "saddlebrown",
hex: "#8b4513",
},
NamedColor {
name: "salmon",
hex: "#fa8072",
},
NamedColor {
name: "sandybrown",
hex: "#f4a460",
},
NamedColor {
name: "seagreen",
hex: "#2e8b57",
},
NamedColor {
name: "seashell",
hex: "#fff5ee",
},
NamedColor {
name: "sienna",
hex: "#a0522d",
},
NamedColor {
name: "silver",
hex: "#c0c0c0",
},
NamedColor {
name: "skyblue",
hex: "#87ceeb",
},
NamedColor {
name: "slateblue",
hex: "#6a5acd",
},
NamedColor {
name: "slategray",
hex: "#708090",
},
NamedColor {
name: "slategrey",
hex: "#708090",
},
NamedColor {
name: "snow",
hex: "#fffafa",
},
NamedColor {
name: "springgreen",
hex: "#00ff7f",
},
NamedColor {
name: "steelblue",
hex: "#4682b4",
},
NamedColor {
name: "tan",
hex: "#d2b48c",
},
NamedColor {
name: "teal",
hex: "#008080",
},
NamedColor {
name: "thistle",
hex: "#d8bfd8",
},
NamedColor {
name: "tomato",
hex: "#ff6347",
},
NamedColor {
name: "turquoise",
hex: "#40e0d0",
},
NamedColor {
name: "violet",
hex: "#ee82ee",
},
NamedColor {
name: "wheat",
hex: "#f5deb3",
},
NamedColor {
name: "white",
hex: "#ffffff",
},
NamedColor {
name: "whitesmoke",
hex: "#f5f5f5",
},
NamedColor {
name: "yellow",
hex: "#ffff00",
},
NamedColor {
name: "yellowgreen",
hex: "#9acd32",
},
];
pub fn find_named_color(query: &str) -> Vec<&'static NamedColor> {