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
use crossterm::style::Color;
pub fn rgb(r: u8, g: u8, b: u8) -> Color {
Color::Rgb { r, g, b }
}
pub fn gray(level: u8) -> Color {
assert!(level < 24, "invalid gray level (must be in 0..24)");
Color::AnsiValue(0xE8 + level)
}
pub fn ansi(level: u8) -> Color {
Color::AnsiValue(level)
}
#[cfg(test)]
mod color_tests {
use crate::color::*;
#[test]
#[should_panic(expected = "invalid gray level (must be in 0..24)")]
fn check_gray_panic() {
let _ = gray(24);
}
}