Support '99' as a 'transparent' irc color code

This commit is contained in:
jesopo 2018-12-12 11:49:42 +00:00
parent 85840a68dd
commit d5467aefe9
2 changed files with 19 additions and 17 deletions

View file

@ -19,22 +19,23 @@ def _color(name: str, irc: int, ansi: int, color_bold: bool):
COLOR_CODES[irc] = color COLOR_CODES[irc] = color
return color return color
WHITE = _color("white", 0, 97, False) WHITE = _color("white", 0, 97, False)
BLACK = _color("black", 1, 30, False) BLACK = _color("black", 1, 30, False)
BLUE = _color("blue", 2, 34, False) BLUE = _color("blue", 2, 34, False)
GREEN = _color("green", 3, 32, False) GREEN = _color("green", 3, 32, False)
RED = _color("red", 4, 91, False) RED = _color("red", 4, 91, False)
BROWN = _color("brown", 5, 31, False) BROWN = _color("brown", 5, 31, False)
PURPLE = _color("purple", 6, 35, False) PURPLE = _color("purple", 6, 35, False)
ORANGE = _color("orange", 7, 33, False) ORANGE = _color("orange", 7, 33, False)
YELLOW = _color("yellow", 8, 93, False) YELLOW = _color("yellow", 8, 93, False)
LIGHTGREEN = _color("light green", 9, 92, False) LIGHTGREEN = _color("light green", 9, 92, False)
CYAN = _color("cyan", 10, 36, False) CYAN = _color("cyan", 10, 36, False)
LIGHTCYAN = _color("light cyan", 11, 96, False) LIGHTCYAN = _color("light cyan", 11, 96, False)
LIGHTBLUE = _color("light blue", 12, 94, False) LIGHTBLUE = _color("light blue", 12, 94, False)
PINK = _color("pink", 13, 95, False) PINK = _color("pink", 13, 95, False)
GREY = _color("grey", 14, 90, False) GREY = _color("grey", 14, 90, False)
LIGHTGREY = _color("light grey", 15, 37, False) LIGHTGREY = _color("light grey", 15, 37, False)
TRANSPARENT = _color("transparent", 99, 39, False)
BOLD = "\x02" BOLD = "\x02"
ITALIC = "\x1D" ITALIC = "\x1D"

View file

@ -163,7 +163,8 @@ def _color_tokens(s: str) -> typing.List[str]:
if can_add: if can_add:
current_color = background if is_background else foreground current_color = background if is_background else foreground
if current_color: if current_color:
can_add = int(current_color + char) <= 15 next_color = int(current_color + char)
can_add = next_color <= 15 or next_color = 99
if can_add: if can_add:
if is_background: if is_background: