1from collections.abc import Iterator
2
3ANSI_COLOURS = ["black", "red", "green", "yellow", "blue", "magenta", "cyan", "white"]
4
5for i, name in enumerate(ANSI_COLOURS):
6 globals()[name] = str(30 + i)
7 globals()["intense_" + name] = str(30 + i) + ";1"
8
9
10def get_colors() -> Iterator[str]:
11 cs = [
12 "cyan",
13 "yellow",
14 "green",
15 "magenta",
16 "blue",
17 "intense_cyan",
18 "intense_yellow",
19 "intense_green",
20 "intense_magenta",
21 "intense_blue",
22 ]
23 cs = [globals()[c] for c in cs]
24
25 i = 0
26 while True:
27 yield cs[i % len(cs)]
28 i += 1