owo_colors/colors/
css.rs

1macro_rules! css_color_types {
2    ($(
3        $name:ident ($r:literal, $g:literal, $b:literal)
4    )*) => {
5        use crate::{Color, colors::CustomColor};
6        use core::fmt;
7
8        pub(crate) mod dynamic {
9            #[cfg(doc)]
10            use crate::OwoColorize;
11
12            /// Available CSS colors for use with [`OwoColorize::color`](OwoColorize::color)
13            /// or [`OwoColorize::on_color`](OwoColorize::on_color)
14            #[allow(missing_docs)]
15            #[derive(Copy, Clone, Debug, PartialEq, Eq)]
16            pub enum CssColors {
17                $($name,)*
18            }
19        }
20
21        use dynamic::CssColors;
22
23        impl crate::private::Sealed for CssColors {}
24
25        impl crate::DynColor for CssColors {
26            fn fmt_ansi_fg(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
27                let color = match self {
28                    $(
29                        CssColors::$name => CustomColor::<$r, $g, $b>::ANSI_FG,
30                    )*
31                };
32
33                f.write_str(color)
34            }
35
36            fn fmt_ansi_bg(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
37                let color = match self {
38                    $(
39                        CssColors::$name => CustomColor::<$r, $g, $b>::ANSI_BG,
40                    )*
41                };
42
43                f.write_str(color)
44            }
45
46            fn fmt_raw_ansi_fg(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
47                let color = match self {
48                    $(
49                        CssColors::$name => CustomColor::<$r, $g, $b>::RAW_ANSI_FG,
50                    )*
51                };
52
53                f.write_str(color)
54            }
55
56            fn fmt_raw_ansi_bg(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
57                let color = match self {
58                    $(
59                        CssColors::$name => CustomColor::<$r, $g, $b>::RAW_ANSI_BG,
60                    )*
61                };
62
63                f.write_str(color)
64            }
65
66            #[doc(hidden)]
67            fn get_dyncolors_fg(&self) -> crate::DynColors {
68                crate::DynColors::Css(*self)
69            }
70
71            #[doc(hidden)]
72            fn get_dyncolors_bg(&self) -> crate::DynColors {
73                crate::DynColors::Css(*self)
74            }
75        }
76
77        $(
78            #[allow(missing_docs)]
79            pub type $name = CustomColor<$r, $g, $b>;
80        )*
81    };
82}
83
84css_color_types! {
85    AliceBlue (240, 248, 255)
86    AntiqueWhite (250, 235, 215)
87    Aqua (0, 255, 255)
88    Aquamarine (127, 255, 212)
89    Azure (240, 255, 255)
90    Beige (245, 245, 220)
91    Bisque (255, 228, 196)
92    Black (0, 0, 0)
93    BlanchedAlmond (255, 235, 205)
94    Blue (0, 0, 255)
95    BlueViolet (138, 43, 226)
96    Brown (165, 42, 42)
97    BurlyWood (222, 184, 135)
98    CadetBlue (95, 158, 160)
99    Chartreuse (127, 255, 0)
100    Chocolate (210, 105, 30)
101    Coral (255, 127, 80)
102    CornflowerBlue (100, 149, 237)
103    Cornsilk (255, 248, 220)
104    Crimson (220, 20, 60)
105    DarkBlue (0, 0, 139)
106    DarkCyan (0, 139, 139)
107    DarkGoldenRod (184, 134, 11)
108    DarkGray (169, 169, 169)
109    DarkGrey (169, 169, 169)
110    DarkGreen (0, 100, 0)
111    DarkKhaki (189, 183, 107)
112    DarkMagenta (139, 0, 139)
113    DarkOliveGreen (85, 107, 47)
114    DarkOrange (255, 140, 0)
115    DarkOrchid (153, 50, 204)
116    DarkRed (139, 0, 0)
117    DarkSalmon (233, 150, 122)
118    DarkSeaGreen (143, 188, 143)
119    DarkSlateBlue (72, 61, 139)
120    DarkSlateGray (47, 79, 79)
121    DarkSlateGrey (47, 79, 79)
122    DarkTurquoise (0, 206, 209)
123    DarkViolet (148, 0, 211)
124    DeepPink (255, 20, 147)
125    DeepSkyBlue (0, 191, 255)
126    DimGray (105, 105, 105)
127    DimGrey (105, 105, 105)
128    DodgerBlue (30, 144, 255)
129    FireBrick (178, 34, 34)
130    FloralWhite (255, 250, 240)
131    ForestGreen (34, 139, 34)
132    Fuchsia (255, 0, 255)
133    Gainsboro (220, 220, 220)
134    GhostWhite (248, 248, 255)
135    Gold (255, 215, 0)
136    GoldenRod (218, 165, 32)
137    Gray (128, 128, 128)
138    Grey (128, 128, 128)
139    Green (0, 128, 0)
140    GreenYellow (173, 255, 47)
141    HoneyDew (240, 255, 240)
142    HotPink (255, 105, 180)
143    IndianRed (205, 92, 92)
144    Indigo (75, 0, 130)
145    Ivory (255, 255, 240)
146    Khaki (240, 230, 140)
147    Lavender (230, 230, 250)
148    LavenderBlush (255, 240, 245)
149    LawnGreen (124, 252, 0)
150    LemonChiffon (255, 250, 205)
151    LightBlue (173, 216, 230)
152    LightCoral (240, 128, 128)
153    LightCyan (224, 255, 255)
154    LightGoldenRodYellow (250, 250, 210)
155    LightGray (211, 211, 211)
156    LightGrey (211, 211, 211)
157    LightGreen (144, 238, 144)
158    LightPink (255, 182, 193)
159    LightSalmon (255, 160, 122)
160    LightSeaGreen (32, 178, 170)
161    LightSkyBlue (135, 206, 250)
162    LightSlateGray (119, 136, 153)
163    LightSlateGrey (119, 136, 153)
164    LightSteelBlue (176, 196, 222)
165    LightYellow (255, 255, 224)
166    Lime (0, 255, 0)
167    LimeGreen (50, 205, 50)
168    Linen (250, 240, 230)
169    Magenta (255, 0, 255)
170    Maroon (128, 0, 0)
171    MediumAquaMarine (102, 205, 170)
172    MediumBlue (0, 0, 205)
173    MediumOrchid (186, 85, 211)
174    MediumPurple (147, 112, 219)
175    MediumSeaGreen (60, 179, 113)
176    MediumSlateBlue (123, 104, 238)
177    MediumSpringGreen (0, 250, 154)
178    MediumTurquoise (72, 209, 204)
179    MediumVioletRed (199, 21, 133)
180    MidnightBlue (25, 25, 112)
181    MintCream (245, 255, 250)
182    MistyRose (255, 228, 225)
183    Moccasin (255, 228, 181)
184    NavajoWhite (255, 222, 173)
185    Navy (0, 0, 128)
186    OldLace (253, 245, 230)
187    Olive (128, 128, 0)
188    OliveDrab (107, 142, 35)
189    Orange (255, 165, 0)
190    OrangeRed (255, 69, 0)
191    Orchid (218, 112, 214)
192    PaleGoldenRod (238, 232, 170)
193    PaleGreen (152, 251, 152)
194    PaleTurquoise (175, 238, 238)
195    PaleVioletRed (219, 112, 147)
196    PapayaWhip (255, 239, 213)
197    PeachPuff (255, 218, 185)
198    Peru (205, 133, 63)
199    Pink (255, 192, 203)
200    Plum (221, 160, 221)
201    PowderBlue (176, 224, 230)
202    Purple (128, 0, 128)
203    RebeccaPurple (102, 51, 153)
204    Red (255, 0, 0)
205    RosyBrown (188, 143, 143)
206    RoyalBlue (65, 105, 225)
207    SaddleBrown (139, 69, 19)
208    Salmon (250, 128, 114)
209    SandyBrown (244, 164, 96)
210    SeaGreen (46, 139, 87)
211    SeaShell (255, 245, 238)
212    Sienna (160, 82, 45)
213    Silver (192, 192, 192)
214    SkyBlue (135, 206, 235)
215    SlateBlue (106, 90, 205)
216    SlateGray (112, 128, 144)
217    SlateGrey (112, 128, 144)
218    Snow (255, 250, 250)
219    SpringGreen (0, 255, 127)
220    SteelBlue (70, 130, 180)
221    Tan (210, 180, 140)
222    Teal (0, 128, 128)
223    Thistle (216, 191, 216)
224    Tomato (255, 99, 71)
225    Turquoise (64, 224, 208)
226    Violet (238, 130, 238)
227    Wheat (245, 222, 179)
228    White (255, 255, 255)
229    WhiteSmoke (245, 245, 245)
230    Yellow (255, 255, 0)
231    YellowGreen (154, 205, 50)
232}