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}