You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
"""
pygments.console ~~~~~~~~~~~~~~~~
Format colored console output.
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """
esc = "\x1b["
codes = {} codes[""] = "" codes["reset"] = esc + "39;49;00m"
codes["bold"] = esc + "01m" codes["faint"] = esc + "02m" codes["standout"] = esc + "03m" codes["underline"] = esc + "04m" codes["blink"] = esc + "05m" codes["overline"] = esc + "06m"
dark_colors = ["black", "red", "green", "yellow", "blue", "magenta", "cyan", "gray"] light_colors = ["brightblack", "brightred", "brightgreen", "brightyellow", "brightblue", "brightmagenta", "brightcyan", "white"]
x = 30 for d, l in zip(dark_colors, light_colors): codes[d] = esc + "%im" % x codes[l] = esc + "%im" % (60 + x) x += 1
del d, l, x
codes["white"] = codes["bold"]
def reset_color(): return codes["reset"]
def colorize(color_key, text): return codes[color_key] + text + codes["reset"]
def ansiformat(attr, text): """
Format ``text`` with a color and/or some attributes::
color normal color *color* bold color _color_ underlined color +color+ blinking color """
result = [] if attr[:1] == attr[-1:] == '+': result.append(codes['blink']) attr = attr[1:-1] if attr[:1] == attr[-1:] == '*': result.append(codes['bold']) attr = attr[1:-1] if attr[:1] == attr[-1:] == '_': result.append(codes['underline']) attr = attr[1:-1] result.append(codes[attr]) result.append(text) result.append(codes['reset']) return ''.join(result)
|