File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -93,6 +93,11 @@ def esc(*codes: int) -> str:
9393for 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
97102def parse_colors (string : str ) -> str :
98103 """Return escape codes from a color sequence string."""
Original file line number Diff line number Diff line change 66
77
88def test_esc ():
9- assert esc ("1" , "2" , "3" ) == "\033 [1;2;3m"
9+ assert esc (1 , 2 , 3 ) == "\033 [1;2;3m"
1010
1111
1212def test_reset ():
@@ -50,3 +50,9 @@ def test_parse_multiple_colors():
5050def 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
You can’t perform that action at this time.
0 commit comments