Tue, 25 Apr 2017 18:36:38 +0200
Updated Pygments to 2.2.0.
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
2 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
3 | pygments.style |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
4 | ~~~~~~~~~~~~~~ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
5 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
6 | Basic style object. |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
7 | |
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
8 | :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
9 | :license: BSD, see LICENSE for details. |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
10 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
11 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
12 | from pygments.token import Token, STANDARD_TYPES |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
13 | from pygments.util import add_metaclass |
2669
11a6696ff868
Fixes for pygments: version independent metaclass creation and library selection.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
14 | |
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
15 | # Default mapping of #ansixxx to RGB colors. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
16 | _ansimap = { |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
17 | # dark |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
18 | '#ansiblack': '000000', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
19 | '#ansidarkred': '7f0000', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
20 | '#ansidarkgreen': '007f00', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
21 | '#ansibrown': '7f7fe0', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
22 | '#ansidarkblue': '00007f', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
23 | '#ansipurple': '7f007f', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
24 | '#ansiteal': '007f7f', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
25 | '#ansilightgray': 'e5e5e5', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
26 | # normal |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
27 | '#ansidarkgray': '555555', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
28 | '#ansired': 'ff0000', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
29 | '#ansigreen': '00ff00', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
30 | '#ansiyellow': 'ffff00', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
31 | '#ansiblue': '0000ff', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
32 | '#ansifuchsia': 'ff00ff', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
33 | '#ansiturquoise': '00ffff', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
34 | '#ansiwhite': 'ffffff', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
35 | } |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
36 | ansicolors = set(_ansimap) |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
37 | |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
38 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
39 | class StyleMeta(type): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
40 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
41 | def __new__(mcs, name, bases, dct): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
42 | obj = type.__new__(mcs, name, bases, dct) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
43 | for token in STANDARD_TYPES: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
44 | if token not in obj.styles: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
45 | obj.styles[token] = '' |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
46 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
47 | def colorformat(text): |
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
48 | if text in ansicolors: |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
49 | return text |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
50 | if text[0:1] == '#': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
51 | col = text[1:] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
52 | if len(col) == 6: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
53 | return col |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
54 | elif len(col) == 3: |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
55 | return col[0]*2 + col[1]*2 + col[2]*2 |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
56 | elif text == '': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
57 | return '' |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
58 | assert False, "wrong color format %r" % text |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
59 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
60 | _styles = obj._styles = {} |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
61 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
62 | for ttype in obj.styles: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
63 | for token in ttype.split(): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
64 | if token in _styles: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
65 | continue |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
66 | ndef = _styles.get(token.parent, None) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
67 | styledefs = obj.styles.get(token, '').split() |
4697
c2e9bf425554
Updated Pygments to 2.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4172
diff
changeset
|
68 | if not ndef or token is None: |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
69 | ndef = ['', 0, 0, 0, '', '', 0, 0, 0] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
70 | elif 'noinherit' in styledefs and token is not Token: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
71 | ndef = _styles[Token][:] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
72 | else: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
73 | ndef = ndef[:] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
74 | _styles[token] = ndef |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
75 | for styledef in obj.styles.get(token, '').split(): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
76 | if styledef == 'noinherit': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
77 | pass |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
78 | elif styledef == 'bold': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
79 | ndef[1] = 1 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
80 | elif styledef == 'nobold': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
81 | ndef[1] = 0 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
82 | elif styledef == 'italic': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
83 | ndef[2] = 1 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
84 | elif styledef == 'noitalic': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
85 | ndef[2] = 0 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
86 | elif styledef == 'underline': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
87 | ndef[3] = 1 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
88 | elif styledef == 'nounderline': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
89 | ndef[3] = 0 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
90 | elif styledef[:3] == 'bg:': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
91 | ndef[4] = colorformat(styledef[3:]) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
92 | elif styledef[:7] == 'border:': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
93 | ndef[5] = colorformat(styledef[7:]) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
94 | elif styledef == 'roman': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
95 | ndef[6] = 1 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
96 | elif styledef == 'sans': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
97 | ndef[7] = 1 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
98 | elif styledef == 'mono': |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
99 | ndef[8] = 1 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
100 | else: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
101 | ndef[0] = colorformat(styledef) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
102 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
103 | return obj |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
104 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
105 | def style_for_token(cls, token): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
106 | t = cls._styles[token] |
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
107 | ansicolor = bgansicolor = None |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
108 | color = t[0] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
109 | if color.startswith('#ansi'): |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
110 | ansicolor = color |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
111 | color = _ansimap[color] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
112 | bgcolor = t[4] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
113 | if bgcolor.startswith('#ansi'): |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
114 | bgansicolor = bgcolor |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
115 | bgcolor = _ansimap[bgcolor] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
116 | |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
117 | return { |
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
118 | 'color': color or None, |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
119 | 'bold': bool(t[1]), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
120 | 'italic': bool(t[2]), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
121 | 'underline': bool(t[3]), |
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
122 | 'bgcolor': bgcolor or None, |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
123 | 'border': t[5] or None, |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
124 | 'roman': bool(t[6]) or None, |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
125 | 'sans': bool(t[7]) or None, |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
126 | 'mono': bool(t[8]) or None, |
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
127 | 'ansicolor': ansicolor, |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4697
diff
changeset
|
128 | 'bgansicolor': bgansicolor, |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
129 | } |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
130 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
131 | def list_styles(cls): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
132 | return list(cls) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
133 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
134 | def styles_token(cls, ttype): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
135 | return ttype in cls._styles |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
136 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
137 | def __iter__(cls): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
138 | for token in cls._styles: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
139 | yield token, cls.style_for_token(token) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
140 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
141 | def __len__(cls): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
142 | return len(cls._styles) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
143 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
144 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
145 | @add_metaclass(StyleMeta) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
146 | class Style(object): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
147 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
148 | #: overall background color (``None`` means transparent) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
149 | background_color = '#ffffff' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
150 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
151 | #: highlight background color |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
152 | highlight_color = '#ffffcc' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
153 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
154 | #: Style definitions for individual token types. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3079
diff
changeset
|
155 | styles = {} |