256color/
256color.rs

1
2use ansistream::{FC_BLACK, FC_WHITE};
3use std::io::Write;
4fn main() -> std::io::Result<()> {
5    let mut astream = ansistream::AnsiEscapeStream::new(
6        std::io::stdout().lock()
7    );
8
9    astream.write_string("Printing 256 color(16 bit) table\n\n")?;
10    astream.write_string("Printing standard and extended colors:\n\n")?;
11
12    for i in 0..=7 {
13        astream.write_text_bc256_fmt(i, format_args!("{i:<4}"))?;
14    }
15
16    astream.write_string("   ")?;
17
18    for i in 0..=7 {
19        let ie = i + 8;
20        astream.write_text_bc256_fmt(ie, format_args!("{ie:<4}"))?;
21    }
22
23    astream.write_string("\n\nPrinting 256 color:\n\n")?;
24
25    let mut fg = 0;
26    for i in 0..=215 {
27        let v = i + 16;
28        if i != 0 {
29            if i % 18 == 0 {
30                fg = 0;
31                writeln!(&mut *astream)?;
32            }
33            if i % 36 == 0 {
34                fg = 255;
35            }
36        }
37        astream.write_attribute(fg)?;
38        astream.write_text_bc256_fmt(v, format_args!("{v:<4}"))?;
39    }
40
41    astream.write_string("\n\nPrinting gray color:\n\n")?;
42
43    for i in 0..=23 {
44        if i < 12 {
45            fg = FC_WHITE;
46        } else {
47            fg = FC_BLACK;
48        }
49
50        let ie = i + 232;
51        astream.write_attribute(fg)?;
52        astream.write_text_bc256_fmt(ie, format_args!("{ie:<4}"))?;
53    }
54
55    Ok(())
56}