Skip to content
This repository was archived by the owner on Jul 10, 2023. It is now read-only.
This repository was archived by the owner on Jul 10, 2023. It is now read-only.

Incomplete Color Keyword Support #16

Open
@jesseray

Description

@jesseray

In /rust-css/blob/master/color.rs, there is a module for CSS color keywords. The code for each color keyword followed a simple pattern, so I felt confident enough to complete the module. I do not know how to push changes using Git, so I am putting the code here for someone who does know.

I copied into a text file the complete list of color keywords and associated RGB values from http://www.w3.org/TR/2011/REC-css3-color-20110607/#svg-color. This contains the basic and extended color keywords. (Note that color.rs says there should be 16 basic and 130 extended keywords, but the specification contains 131 extended keywords due to supporting the alternative spellings "gray" and "grey".) With some find-and-replace editing using regular expressions, I completed the CSS color keywords module.

Below, you will find the new module code. Please test the change on your local machine before you commit to the repository. The code should work without modifications, but I might have missed something.

pub mod css_colors {
    use super::Color;

    pub fn aliceblue() -> Color {
        Color {red : 240u8, green : 248u8, blue : 255u8, alpha : 1.0}
    }
    pub fn antiquewhite() -> Color {
        Color {red : 250u8, green : 235u8, blue : 215u8, alpha : 1.0}
    }
    pub fn aqua() -> Color {
        Color {red : 0u8, green : 255u8, blue : 255u8, alpha : 1.0}
    }
    pub fn aquamarine() -> Color {
        Color {red : 127u8, green : 255u8, blue : 212u8, alpha : 1.0}
    }
    pub fn azure() -> Color {
        Color {red : 240u8, green : 255u8, blue : 255u8, alpha : 1.0}
    }
    pub fn beige() -> Color {
        Color {red : 245u8, green : 245u8, blue : 220u8, alpha : 1.0}
    }
    pub fn bisque() -> Color {
        Color {red : 255u8, green : 228u8, blue : 196u8, alpha : 1.0}
    }
    pub fn black() -> Color {
        Color {red : 0u8, green : 0u8, blue : 0u8, alpha : 1.0}
    }
    pub fn blanchedalmond() -> Color {
        Color {red : 255u8, green : 235u8, blue : 205u8, alpha : 1.0}
    }
    pub fn blue() -> Color {
        Color {red : 0u8, green : 0u8, blue : 255u8, alpha : 1.0}
    }
    pub fn blueviolet() -> Color {
        Color {red : 138u8, green : 43u8, blue : 226u8, alpha : 1.0}
    }
    pub fn brown() -> Color {
        Color {red : 165u8, green : 42u8, blue : 42u8, alpha : 1.0}
    }
    pub fn burlywood() -> Color {
        Color {red : 222u8, green : 184u8, blue : 135u8, alpha : 1.0}
    }
    pub fn cadetblue() -> Color {
        Color {red : 95u8, green : 158u8, blue : 160u8, alpha : 1.0}
    }
    pub fn chartreuse() -> Color {
        Color {red : 127u8, green : 255u8, blue : 0u8, alpha : 1.0}
    }
    pub fn chocolate() -> Color {
        Color {red : 210u8, green : 105u8, blue : 30u8, alpha : 1.0}
    }
    pub fn coral() -> Color {
        Color {red : 255u8, green : 127u8, blue : 80u8, alpha : 1.0}
    }
    pub fn cornflowerblue() -> Color {
        Color {red : 100u8, green : 149u8, blue : 237u8, alpha : 1.0}
    }
    pub fn cornsilk() -> Color {
        Color {red : 255u8, green : 248u8, blue : 220u8, alpha : 1.0}
    }
    pub fn crimson() -> Color {
        Color {red : 220u8, green : 20u8, blue : 60u8, alpha : 1.0}
    }
    pub fn cyan() -> Color {
        Color {red : 0u8, green : 255u8, blue : 255u8, alpha : 1.0}
    }
    pub fn darkblue() -> Color {
        Color {red : 0u8, green : 0u8, blue : 139u8, alpha : 1.0}
    }
    pub fn darkcyan() -> Color {
        Color {red : 0u8, green : 139u8, blue : 139u8, alpha : 1.0}
    }
    pub fn darkgoldenrod() -> Color {
        Color {red : 184u8, green : 134u8, blue : 11u8, alpha : 1.0}
    }
    pub fn darkgray() -> Color {
        Color {red : 169u8, green : 169u8, blue : 169u8, alpha : 1.0}
    }
    pub fn darkgreen() -> Color {
        Color {red : 0u8, green : 100u8, blue : 0u8, alpha : 1.0}
    }
    pub fn darkgrey() -> Color {
        Color {red : 169u8, green : 169u8, blue : 169u8, alpha : 1.0}
    }
    pub fn darkkhaki() -> Color {
        Color {red : 189u8, green : 183u8, blue : 107u8, alpha : 1.0}
    }
    pub fn darkmagenta() -> Color {
        Color {red : 139u8, green : 0u8, blue : 139u8, alpha : 1.0}
    }
    pub fn darkolivegreen() -> Color {
        Color {red : 85u8, green : 107u8, blue : 47u8, alpha : 1.0}
    }
    pub fn darkorange() -> Color {
        Color {red : 255u8, green : 140u8, blue : 0u8, alpha : 1.0}
    }
    pub fn darkorchid() -> Color {
        Color {red : 153u8, green : 50u8, blue : 204u8, alpha : 1.0}
    }
    pub fn darkred() -> Color {
        Color {red : 139u8, green : 0u8, blue : 0u8, alpha : 1.0}
    }
    pub fn darksalmon() -> Color {
        Color {red : 233u8, green : 150u8, blue : 122u8, alpha : 1.0}
    }
    pub fn darkseagreen() -> Color {
        Color {red : 143u8, green : 188u8, blue : 143u8, alpha : 1.0}
    }
    pub fn darkslateblue() -> Color {
        Color {red : 72u8, green : 61u8, blue : 139u8, alpha : 1.0}
    }
    pub fn darkslategray() -> Color {
        Color {red : 47u8, green : 79u8, blue : 79u8, alpha : 1.0}
    }
    pub fn darkslategrey() -> Color {
        Color {red : 47u8, green : 79u8, blue : 79u8, alpha : 1.0}
    }
    pub fn darkturquoise() -> Color {
        Color {red : 0u8, green : 206u8, blue : 209u8, alpha : 1.0}
    }
    pub fn darkviolet() -> Color {
        Color {red : 148u8, green : 0u8, blue : 211u8, alpha : 1.0}
    }
    pub fn deeppink() -> Color {
        Color {red : 255u8, green : 20u8, blue : 147u8, alpha : 1.0}
    }
    pub fn deepskyblue() -> Color {
        Color {red : 0u8, green : 191u8, blue : 255u8, alpha : 1.0}
    }
    pub fn dimgray() -> Color {
        Color {red : 105u8, green : 105u8, blue : 105u8, alpha : 1.0}
    }
    pub fn dimgrey() -> Color {
        Color {red : 105u8, green : 105u8, blue : 105u8, alpha : 1.0}
    }
    pub fn dodgerblue() -> Color {
        Color {red : 30u8, green : 144u8, blue : 255u8, alpha : 1.0}
    }
    pub fn firebrick() -> Color {
        Color {red : 178u8, green : 34u8, blue : 34u8, alpha : 1.0}
    }
    pub fn floralwhite() -> Color {
        Color {red : 255u8, green : 250u8, blue : 240u8, alpha : 1.0}
    }
    pub fn forestgreen() -> Color {
        Color {red : 34u8, green : 139u8, blue : 34u8, alpha : 1.0}
    }
    pub fn fuchsia() -> Color {
        Color {red : 255u8, green : 0u8, blue : 255u8, alpha : 1.0}
    }
    pub fn gainsboro() -> Color {
        Color {red : 220u8, green : 220u8, blue : 220u8, alpha : 1.0}
    }
    pub fn ghostwhite() -> Color {
        Color {red : 248u8, green : 248u8, blue : 255u8, alpha : 1.0}
    }
    pub fn gold() -> Color {
        Color {red : 255u8, green : 215u8, blue : 0u8, alpha : 1.0}
    }
    pub fn goldenrod() -> Color {
        Color {red : 218u8, green : 165u8, blue : 32u8, alpha : 1.0}
    }
    pub fn gray() -> Color {
        Color {red : 128u8, green : 128u8, blue : 128u8, alpha : 1.0}
    }
    pub fn green() -> Color {
        Color {red : 0u8, green : 128u8, blue : 0u8, alpha : 1.0}
    }
    pub fn greenyellow() -> Color {
        Color {red : 173u8, green : 255u8, blue : 47u8, alpha : 1.0}
    }
    pub fn grey() -> Color {
        Color {red : 128u8, green : 128u8, blue : 128u8, alpha : 1.0}
    }
    pub fn honeydew() -> Color {
        Color {red : 240u8, green : 255u8, blue : 240u8, alpha : 1.0}
    }
    pub fn hotpink() -> Color {
        Color {red : 255u8, green : 105u8, blue : 180u8, alpha : 1.0}
    }
    pub fn indianred() -> Color {
        Color {red : 205u8, green : 92u8, blue : 92u8, alpha : 1.0}
    }
    pub fn indigo() -> Color {
        Color {red : 75u8, green : 0u8, blue : 130u8, alpha : 1.0}
    }
    pub fn ivory() -> Color {
        Color {red : 255u8, green : 255u8, blue : 240u8, alpha : 1.0}
    }
    pub fn khaki() -> Color {
        Color {red : 240u8, green : 230u8, blue : 140u8, alpha : 1.0}
    }
    pub fn lavender() -> Color {
        Color {red : 230u8, green : 230u8, blue : 250u8, alpha : 1.0}
    }
    pub fn lavenderblush() -> Color {
        Color {red : 255u8, green : 240u8, blue : 245u8, alpha : 1.0}
    }
    pub fn lawngreen() -> Color {
        Color {red : 124u8, green : 252u8, blue : 0u8, alpha : 1.0}
    }
    pub fn lemonchiffon() -> Color {
        Color {red : 255u8, green : 250u8, blue : 205u8, alpha : 1.0}
    }
    pub fn lightblue() -> Color {
        Color {red : 173u8, green : 216u8, blue : 230u8, alpha : 1.0}
    }
    pub fn lightcoral() -> Color {
        Color {red : 240u8, green : 128u8, blue : 128u8, alpha : 1.0}
    }
    pub fn lightcyan() -> Color {
        Color {red : 224u8, green : 255u8, blue : 255u8, alpha : 1.0}
    }
    pub fn lightgoldenrodyellow() -> Color {
        Color {red : 250u8, green : 250u8, blue : 210u8, alpha : 1.0}
    }
    pub fn lightgray() -> Color {
        Color {red : 211u8, green : 211u8, blue : 211u8, alpha : 1.0}
    }
    pub fn lightgreen() -> Color {
        Color {red : 144u8, green : 238u8, blue : 144u8, alpha : 1.0}
    }
    pub fn lightgrey() -> Color {
        Color {red : 211u8, green : 211u8, blue : 211u8, alpha : 1.0}
    }
    pub fn lightpink() -> Color {
        Color {red : 255u8, green : 182u8, blue : 193u8, alpha : 1.0}
    }
    pub fn lightsalmon() -> Color {
        Color {red : 255u8, green : 160u8, blue : 122u8, alpha : 1.0}
    }
    pub fn lightseagreen() -> Color {
        Color {red : 32u8, green : 178u8, blue : 170u8, alpha : 1.0}
    }
    pub fn lightskyblue() -> Color {
        Color {red : 135u8, green : 206u8, blue : 250u8, alpha : 1.0}
    }
    pub fn lightslategray() -> Color {
        Color {red : 119u8, green : 136u8, blue : 153u8, alpha : 1.0}
    }
    pub fn lightslategrey() -> Color {
        Color {red : 119u8, green : 136u8, blue : 153u8, alpha : 1.0}
    }
    pub fn lightsteelblue() -> Color {
        Color {red : 176u8, green : 196u8, blue : 222u8, alpha : 1.0}
    }
    pub fn lightyellow() -> Color {
        Color {red : 255u8, green : 255u8, blue : 224u8, alpha : 1.0}
    }
    pub fn lime() -> Color {
        Color {red : 0u8, green : 255u8, blue : 0u8, alpha : 1.0}
    }
    pub fn limegreen() -> Color {
        Color {red : 50u8, green : 205u8, blue : 50u8, alpha : 1.0}
    }
    pub fn linen() -> Color {
        Color {red : 250u8, green : 240u8, blue : 230u8, alpha : 1.0}
    }
    pub fn magenta() -> Color {
        Color {red : 255u8, green : 0u8, blue : 255u8, alpha : 1.0}
    }
    pub fn maroon() -> Color {
        Color {red : 128u8, green : 0u8, blue : 0u8, alpha : 1.0}
    }
    pub fn mediumaquamarine() -> Color {
        Color {red : 102u8, green : 205u8, blue : 170u8, alpha : 1.0}
    }
    pub fn mediumblue() -> Color {
        Color {red : 0u8, green : 0u8, blue : 205u8, alpha : 1.0}
    }
    pub fn mediumorchid() -> Color {
        Color {red : 186u8, green : 85u8, blue : 211u8, alpha : 1.0}
    }
    pub fn mediumpurple() -> Color {
        Color {red : 147u8, green : 112u8, blue : 219u8, alpha : 1.0}
    }
    pub fn mediumseagreen() -> Color {
        Color {red : 60u8, green : 179u8, blue : 113u8, alpha : 1.0}
    }
    pub fn mediumslateblue() -> Color {
        Color {red : 123u8, green : 104u8, blue : 238u8, alpha : 1.0}
    }
    pub fn mediumspringgreen() -> Color {
        Color {red : 0u8, green : 250u8, blue : 154u8, alpha : 1.0}
    }
    pub fn mediumturquoise() -> Color {
        Color {red : 72u8, green : 209u8, blue : 204u8, alpha : 1.0}
    }
    pub fn mediumvioletred() -> Color {
        Color {red : 199u8, green : 21u8, blue : 133u8, alpha : 1.0}
    }
    pub fn midnightblue() -> Color {
        Color {red : 25u8, green : 25u8, blue : 112u8, alpha : 1.0}
    }
    pub fn mintcream() -> Color {
        Color {red : 245u8, green : 255u8, blue : 250u8, alpha : 1.0}
    }
    pub fn mistyrose() -> Color {
        Color {red : 255u8, green : 228u8, blue : 225u8, alpha : 1.0}
    }
    pub fn moccasin() -> Color {
        Color {red : 255u8, green : 228u8, blue : 181u8, alpha : 1.0}
    }
    pub fn navajowhite() -> Color {
        Color {red : 255u8, green : 222u8, blue : 173u8, alpha : 1.0}
    }
    pub fn navy() -> Color {
        Color {red : 0u8, green : 0u8, blue : 128u8, alpha : 1.0}
    }
    pub fn oldlace() -> Color {
        Color {red : 253u8, green : 245u8, blue : 230u8, alpha : 1.0}
    }
    pub fn olive() -> Color {
        Color {red : 128u8, green : 128u8, blue : 0u8, alpha : 1.0}
    }
    pub fn olivedrab() -> Color {
        Color {red : 107u8, green : 142u8, blue : 35u8, alpha : 1.0}
    }
    pub fn orange() -> Color {
        Color {red : 255u8, green : 165u8, blue : 0u8, alpha : 1.0}
    }
    pub fn orangered() -> Color {
        Color {red : 255u8, green : 69u8, blue : 0u8, alpha : 1.0}
    }
    pub fn orchid() -> Color {
        Color {red : 218u8, green : 112u8, blue : 214u8, alpha : 1.0}
    }
    pub fn palegoldenrod() -> Color {
        Color {red : 238u8, green : 232u8, blue : 170u8, alpha : 1.0}
    }
    pub fn palegreen() -> Color {
        Color {red : 152u8, green : 251u8, blue : 152u8, alpha : 1.0}
    }
    pub fn paleturquoise() -> Color {
        Color {red : 175u8, green : 238u8, blue : 238u8, alpha : 1.0}
    }
    pub fn palevioletred() -> Color {
        Color {red : 219u8, green : 112u8, blue : 147u8, alpha : 1.0}
    }
    pub fn papayawhip() -> Color {
        Color {red : 255u8, green : 239u8, blue : 213u8, alpha : 1.0}
    }
    pub fn peachpuff() -> Color {
        Color {red : 255u8, green : 218u8, blue : 185u8, alpha : 1.0}
    }
    pub fn peru() -> Color {
        Color {red : 205u8, green : 133u8, blue : 63u8, alpha : 1.0}
    }
    pub fn pink() -> Color {
        Color {red : 255u8, green : 192u8, blue : 203u8, alpha : 1.0}
    }
    pub fn plum() -> Color {
        Color {red : 221u8, green : 160u8, blue : 221u8, alpha : 1.0}
    }
    pub fn powderblue() -> Color {
        Color {red : 176u8, green : 224u8, blue : 230u8, alpha : 1.0}
    }
    pub fn purple() -> Color {
        Color {red : 128u8, green : 0u8, blue : 128u8, alpha : 1.0}
    }
    pub fn red() -> Color {
        Color {red : 255u8, green : 0u8, blue : 0u8, alpha : 1.0}
    }
    pub fn rosybrown() -> Color {
        Color {red : 188u8, green : 143u8, blue : 143u8, alpha : 1.0}
    }
    pub fn royalblue() -> Color {
        Color {red : 65u8, green : 105u8, blue : 225u8, alpha : 1.0}
    }
    pub fn saddlebrown() -> Color {
        Color {red : 139u8, green : 69u8, blue : 19u8, alpha : 1.0}
    }
    pub fn salmon() -> Color {
        Color {red : 250u8, green : 128u8, blue : 114u8, alpha : 1.0}
    }
    pub fn sandybrown() -> Color {
        Color {red : 244u8, green : 164u8, blue : 96u8, alpha : 1.0}
    }
    pub fn seagreen() -> Color {
        Color {red : 46u8, green : 139u8, blue : 87u8, alpha : 1.0}
    }
    pub fn seashell() -> Color {
        Color {red : 255u8, green : 245u8, blue : 238u8, alpha : 1.0}
    }
    pub fn sienna() -> Color {
        Color {red : 160u8, green : 82u8, blue : 45u8, alpha : 1.0}
    }
    pub fn silver() -> Color {
        Color {red : 192u8, green : 192u8, blue : 192u8, alpha : 1.0}
    }
    pub fn skyblue() -> Color {
        Color {red : 135u8, green : 206u8, blue : 235u8, alpha : 1.0}
    }
    pub fn slateblue() -> Color {
        Color {red : 106u8, green : 90u8, blue : 205u8, alpha : 1.0}
    }
    pub fn slategray() -> Color {
        Color {red : 112u8, green : 128u8, blue : 144u8, alpha : 1.0}
    }
    pub fn slategrey() -> Color {
        Color {red : 112u8, green : 128u8, blue : 144u8, alpha : 1.0}
    }
    pub fn snow() -> Color {
        Color {red : 255u8, green : 250u8, blue : 250u8, alpha : 1.0}
    }
    pub fn springgreen() -> Color {
        Color {red : 0u8, green : 255u8, blue : 127u8, alpha : 1.0}
    }
    pub fn steelblue() -> Color {
        Color {red : 70u8, green : 130u8, blue : 180u8, alpha : 1.0}
    }
    pub fn tan() -> Color {
        Color {red : 210u8, green : 180u8, blue : 140u8, alpha : 1.0}
    }
    pub fn teal() -> Color {
        Color {red : 0u8, green : 128u8, blue : 128u8, alpha : 1.0}
    }
    pub fn thistle() -> Color {
        Color {red : 216u8, green : 191u8, blue : 216u8, alpha : 1.0}
    }
    pub fn tomato() -> Color {
        Color {red : 255u8, green : 99u8, blue : 71u8, alpha : 1.0}
    }
    pub fn turquoise() -> Color {
        Color {red : 64u8, green : 224u8, blue : 208u8, alpha : 1.0}
    }
    pub fn violet() -> Color {
        Color {red : 238u8, green : 130u8, blue : 238u8, alpha : 1.0}
    }
    pub fn wheat() -> Color {
        Color {red : 245u8, green : 222u8, blue : 179u8, alpha : 1.0}
    }
    pub fn white() -> Color {
        Color {red : 255u8, green : 255u8, blue : 255u8, alpha : 1.0}
    }
    pub fn whitesmoke() -> Color {
        Color {red : 245u8, green : 245u8, blue : 245u8, alpha : 1.0}
    }
    pub fn yellow() -> Color {
        Color {red : 255u8, green : 255u8, blue : 0u8, alpha : 1.0}
    }
    pub fn yellowgreen() -> Color {
        Color {red : 154u8, green : 205u8, blue : 50u8, alpha : 1.0}
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions