Skip to content

Commit 2f984f6

Browse files
committed
1 parent 7d17097 commit 2f984f6

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

colorlog/escape_codes.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ def esc(*codes: int) -> str:
9393
for name, code in escape_codes_background.items():
9494
escape_codes["bg_%s" % name] = esc(code)
9595

96+
# 256 colour support
97+
for code in range(256):
98+
escape_codes["fg_%d" % code] = esc(38, 5, code)
99+
escape_codes["bg_%d" % code] = esc(48, 5, code)
100+
96101

97102
def parse_colors(string: str) -> str:
98103
"""Return escape codes from a color sequence string."""

colorlog/tests/test_escape_codes.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77

88
def test_esc():
9-
assert esc("1", "2", "3") == "\033[1;2;3m"
9+
assert esc(1, 2, 3) == "\033[1;2;3m"
1010

1111

1212
def test_reset():
@@ -50,3 +50,9 @@ def test_parse_multiple_colors():
5050
def test_parse_invalid_colors():
5151
with pytest.raises(KeyError):
5252
parse_colors("false")
53+
54+
55+
def test_256_colors():
56+
for i in range(256):
57+
assert parse_colors("fg_%d" % i) == "\033[38;5;%dm" % i
58+
assert parse_colors("bg_%d" % i) == "\033[48;5;%dm" % i

0 commit comments

Comments
 (0)