ThirdParty/Pygments/pygments/console.py

changeset 0
de9c2efb9d02
child 684
2f29a0b6e1c7
equal deleted inserted replaced
-1:000000000000 0:de9c2efb9d02
1 # -*- coding: utf-8 -*-
2 """
3 pygments.console
4 ~~~~~~~~~~~~~~~~
5
6 Format colored console output.
7
8 :copyright: Copyright 2006-2009 by the Pygments team, see AUTHORS.
9 :license: BSD, see LICENSE for details.
10 """
11
12 esc = "\x1b["
13
14 codes = {}
15 codes[""] = ""
16 codes["reset"] = esc + "39;49;00m"
17
18 codes["bold"] = esc + "01m"
19 codes["faint"] = esc + "02m"
20 codes["standout"] = esc + "03m"
21 codes["underline"] = esc + "04m"
22 codes["blink"] = esc + "05m"
23 codes["overline"] = esc + "06m"
24
25 dark_colors = ["black", "darkred", "darkgreen", "brown", "darkblue",
26 "purple", "teal", "lightgray"]
27 light_colors = ["darkgray", "red", "green", "yellow", "blue",
28 "fuchsia", "turquoise", "white"]
29
30 x = 30
31 for d, l in zip(dark_colors, light_colors):
32 codes[d] = esc + "%im" % x
33 codes[l] = esc + "%i;01m" % x
34 x += 1
35
36 del d, l, x
37
38 codes["darkteal"] = codes["turquoise"]
39 codes["darkyellow"] = codes["brown"]
40 codes["fuscia"] = codes["fuchsia"]
41 codes["white"] = codes["bold"]
42
43
44 def reset_color():
45 return codes["reset"]
46
47
48 def colorize(color_key, text):
49 return codes[color_key] + text + codes["reset"]
50
51
52 def ansiformat(attr, text):
53 """
54 Format ``text`` with a color and/or some attributes::
55
56 color normal color
57 *color* bold color
58 _color_ underlined color
59 +color+ blinking color
60 """
61 result = []
62 if attr[:1] == attr[-1:] == '+':
63 result.append(codes['blink'])
64 attr = attr[1:-1]
65 if attr[:1] == attr[-1:] == '*':
66 result.append(codes['bold'])
67 attr = attr[1:-1]
68 if attr[:1] == attr[-1:] == '_':
69 result.append(codes['underline'])
70 attr = attr[1:-1]
71 result.append(codes[attr])
72 result.append(text)
73 result.append(codes['reset'])
74 return ''.join(result)

eric ide

mercurial