1use crossterm::style::{Color, Stylize};
2use crate::output::hook;
3
4pub fn list_named_colors() -> Vec<(&'static str, Color)> {
12 hook::deprecated("color_picker::list_named_colors(), use colors::list() instead.");
13 vec![
14 ("Red", Color::Red),
15 ("Green", Color::Green),
16 ("Blue", Color::Blue),
17 ("Yellow", Color::Yellow),
18 ("Cyan", Color::Cyan),
19 ("Magenta", Color::Magenta),
20 ("White", Color::White),
21 ("Grey", Color::Grey),
22 ("Black", Color::Black),
23 ("Orange", Color::Rgb { r: 255, g: 165, b: 0 }),
24 ("Pink", Color::Rgb { r: 255, g: 105, b: 180 }),
25 ("Purple", Color::Rgb { r: 128, g: 0, b: 128 }),
26 ("Teal", Color::Rgb { r: 0, g: 128, b: 128 }),
27 ("Brown", Color::Rgb { r: 139, g: 69, b: 19 }),
28 ("Light Blue", Color::Rgb { r: 173, g: 216, b: 230 }),
29 ("Light Green", Color::Rgb { r: 144, g: 238, b: 144 }),
30 ("Light Yellow", Color::Rgb { r: 255, g: 255, b: 224 }),
31 ("Light Cyan", Color::Rgb { r: 224, g: 255, b: 255 }),
32 ("Light Magenta", Color::Rgb { r: 255, g: 224, b: 255 }),
33 ("Light Grey", Color::Rgb { r: 211, g: 211, b: 211 }),
34 ("Dark Grey", Color::Rgb { r: 169, g: 169, b: 169 }),
35 ("Dark Blue", Color::Rgb { r: 0, g: 0, b: 139 }),
36 ("Dark Orange", Color::Rgb { r: 255, g: 140, b: 0 }),
37 ("Dark Pink", Color::Rgb { r: 255, g: 20, b: 147 }),
38 ("Dark Purple", Color::Rgb { r: 75, g: 0, b: 130 }),
39 ("Dark Teal", Color::Rgb { r: 0, g: 139, b: 139 }),
40 ("Dark Brown", Color::Rgb { r: 101, g: 67, b: 33 }),
41 ]
42}
43
44pub fn print_color_swatch() {
46 hook::deprecated("color_picker::print_color_swatch(), use colors::print() instead.");
47 for (name, color) in list_named_colors() {
48 println!("{}", format!("{:<15}", name).with(color));
49 }
50}
51
52 pub fn get_color_by_name(name: &str) -> Option<Color> {
54 hook::deprecated("color_picker::get_color_by_name(), use colors::get(name) instead.");
55 list_named_colors()
56 .into_iter()
57 .find(|(n, _)| n.eq_ignore_ascii_case(name))
58 .map(|(_, c)| c)
59}