Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/pygments/console.py: 59%
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1"""
2 pygments.console
3 ~~~~~~~~~~~~~~~~
5 Format colored console output.
7 :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8 :license: BSD, see LICENSE for details.
9"""
11esc = "\x1b["
13codes = {}
14codes[""] = ""
15codes["reset"] = esc + "39;49;00m"
17codes["bold"] = esc + "01m"
18codes["faint"] = esc + "02m"
19codes["standout"] = esc + "03m"
20codes["underline"] = esc + "04m"
21codes["blink"] = esc + "05m"
22codes["overline"] = esc + "06m"
24dark_colors = ["black", "red", "green", "yellow", "blue",
25 "magenta", "cyan", "gray"]
26light_colors = ["brightblack", "brightred", "brightgreen", "brightyellow", "brightblue",
27 "brightmagenta", "brightcyan", "white"]
29x = 30
30for dark, light in zip(dark_colors, light_colors):
31 codes[dark] = esc + "%im" % x
32 codes[light] = esc + "%im" % (60 + x)
33 x += 1
35del dark, light, x
37codes["white"] = codes["bold"]
40def reset_color():
41 return codes["reset"]
44def colorize(color_key, text):
45 return codes[color_key] + text + codes["reset"]
48def ansiformat(attr, text):
49 """
50 Format ``text`` with a color and/or some attributes::
52 color normal color
53 *color* bold color
54 _color_ underlined color
55 +color+ blinking color
56 """
57 result = []
58 if attr[:1] == attr[-1:] == '+':
59 result.append(codes['blink'])
60 attr = attr[1:-1]
61 if attr[:1] == attr[-1:] == '*':
62 result.append(codes['bold'])
63 attr = attr[1:-1]
64 if attr[:1] == attr[-1:] == '_':
65 result.append(codes['underline'])
66 attr = attr[1:-1]
67 result.append(codes[attr])
68 result.append(text)
69 result.append(codes['reset'])
70 return ''.join(result)