1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
/// Represents an color. #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Ord, PartialOrd, Hash)] pub enum Color { /// Resets the terminal color. Reset, /// Black color. Black, /// Dark grey color. DarkGrey, /// Light red color. Red, /// Dark red color. DarkRed, /// Light green color. Green, /// Dark green color. DarkGreen, /// Light yellow color. Yellow, /// Dark yellow color. DarkYellow, /// Light blue color. Blue, /// Dark blue color. DarkBlue, /// Light magenta color. Magenta, /// Dark magenta color. DarkMagenta, /// Light cyan color. Cyan, /// Dark cyan color. DarkCyan, /// White color. White, /// Grey color. Grey, /// An RGB color. See [RGB color model](https://en.wikipedia.org/wiki/RGB_color_model) for more info. /// /// Most UNIX terminals and Windows 10 supported only. /// See [Platform-specific notes](enum.Color.html#platform-specific-notes) for more info. Rgb(u8, u8, u8), /// An ANSI color. See [256 colors - cheat sheet](https://jonasjacek.github.io/colors/) for more info. /// /// Most UNIX terminals and Windows 10 supported only. /// See [Platform-specific notes](enum.Color.html#platform-specific-notes) for more info. AnsiValue(u8), } #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Ord, PartialOrd, Hash)] pub enum Attribute { /// Resets all the attributes. Reset, /// Increases the text intensity. Bold, /// Decreases the text intensity. BoldOff, /// Emphasises the text. Italic, /// Turns off the `Italic` attribute. ItalicOff, /// Underlines the text. Underlined, /// Turns off the `Underlined` attribute. UnderlinedOff, /// Makes the text blinking (< 150 per minute). SlowBlink, /// Makes the text blinking (>= 150 per minute). RapidBlink, /// Turns off the text blinking (`SlowBlink` or `RapidBlink`). BlinkOff, /// Crosses the text. Crossed, /// Turns off the `CrossedOut` attribute. CrossedOff, /// Swaps foreground and background colors. Reversed, /// Turns off the `Reverse` attribute. ReversedOff, /// Hides the text (also known as hidden). Conceal, /// Turns off the `Hidden` attribute. ConcealOff, /// Sets the [Fraktur](https://en.wikipedia.org/wiki/Fraktur) typeface. /// /// Mostly used for [mathematical alphanumeric symbols](https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols). Fraktur, /// Turns off the `Bold` attribute. NormalIntensity, /// Switches the text back to normal intensity (no bold, italic). BoldItalicOff, /// Makes the text framed. Framed, #[doc(hidden)] __Nonexhaustive, } impl From<Attribute> for String { fn from(attr: Attribute) -> Self { format!("{:?}", attr) } }