|
1 # -*- coding: utf-8 -*- |
|
2 """ |
|
3 pygments.styles.tango |
|
4 ~~~~~~~~~~~~~~~~~~~~~ |
|
5 |
|
6 The Crunchy default Style inspired from the color palette from |
|
7 the Tango Icon Theme Guidelines. |
|
8 |
|
9 http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines |
|
10 |
|
11 Butter: #fce94f #edd400 #c4a000 |
|
12 Orange: #fcaf3e #f57900 #ce5c00 |
|
13 Chocolate: #e9b96e #c17d11 #8f5902 |
|
14 Chameleon: #8ae234 #73d216 #4e9a06 |
|
15 Sky Blue: #729fcf #3465a4 #204a87 |
|
16 Plum: #ad7fa8 #75507b #5c35cc |
|
17 Scarlet Red:#ef2929 #cc0000 #a40000 |
|
18 Aluminium: #eeeeec #d3d7cf #babdb6 |
|
19 #888a85 #555753 #2e3436 |
|
20 |
|
21 Not all of the above colors are used; other colors added: |
|
22 very light grey: #f8f8f8 (for background) |
|
23 |
|
24 This style can be used as a template as it includes all the known |
|
25 Token types, unlike most (if not all) of the styles included in the |
|
26 Pygments distribution. |
|
27 |
|
28 However, since Crunchy is intended to be used by beginners, we have strived |
|
29 to create a style that gloss over subtle distinctions between different |
|
30 categories. |
|
31 |
|
32 Taking Python for example, comments (Comment.*) and docstrings (String.Doc) |
|
33 have been chosen to have the same style. Similarly, keywords (Keyword.*), |
|
34 and Operator.Word (and, or, in) have been assigned the same style. |
|
35 |
|
36 :copyright: Copyright 2006-2009 by the Pygments team, see AUTHORS. |
|
37 :license: BSD, see LICENSE for details. |
|
38 """ |
|
39 |
|
40 from pygments.style import Style |
|
41 from pygments.token import Keyword, Name, Comment, String, Error, \ |
|
42 Number, Operator, Generic, Whitespace, Punctuation, Other, Literal |
|
43 |
|
44 |
|
45 class TangoStyle(Style): |
|
46 """ |
|
47 The Crunchy default Style inspired from the color palette from |
|
48 the Tango Icon Theme Guidelines. |
|
49 """ |
|
50 |
|
51 # work in progress... |
|
52 |
|
53 background_color = "#f8f8f8" |
|
54 default_style = "" |
|
55 |
|
56 styles = { |
|
57 # No corresponding class for the following: |
|
58 #Text: "", # class: '', |
|
59 Whitespace: "underline #f8f8f8", # class: 'w', |
|
60 Error: "#a40000 border:#ef2929", # class: 'err', |
|
61 Other: "#000000", # class 'x', |
|
62 |
|
63 Comment: "italic #8f5902", # class: 'c', |
|
64 Comment.Multiline: "italic #8f5902", # class: 'cm', |
|
65 Comment.Preproc: "italic #8f5902", # class: 'cp', |
|
66 Comment.Single: "italic #8f5902", # class: 'c1', |
|
67 Comment.Special: "italic #8f5902", # class: 'cs', |
|
68 |
|
69 Keyword: "bold #204a87", # class: 'k', |
|
70 Keyword.Constant: "bold #204a87", # class: 'kc', |
|
71 Keyword.Declaration: "bold #204a87", # class: 'kd', |
|
72 Keyword.Namespace: "bold #204a87", # class: 'kn', |
|
73 Keyword.Pseudo: "bold #204a87", # class: 'kp', |
|
74 Keyword.Reserved: "bold #204a87", # class: 'kr', |
|
75 Keyword.Type: "bold #204a87", # class: 'kt', |
|
76 |
|
77 Operator: "bold #ce5c00", # class: 'o' |
|
78 Operator.Word: "bold #204a87", # class: 'ow' - like keywords |
|
79 |
|
80 Punctuation: "bold #000000", # class: 'p' |
|
81 |
|
82 # because special names such as Name.Class, Name.Function, etc. |
|
83 # are not recognized as such later in the parsing, we choose them |
|
84 # to look the same as ordinary variables. |
|
85 Name: "#000000", # class: 'n' |
|
86 Name.Attribute: "#c4a000", # class: 'na', - to be revised |
|
87 Name.Builtin: "#204a87", # class: 'nb' |
|
88 Name.Builtin.Pseudo: "#3465a4", # class: 'bp' |
|
89 Name.Class: "#000000", # class: 'nc' - to be revised |
|
90 Name.Constant: "#000000", # class: 'no', - to be revised |
|
91 Name.Decorator: "bold #5c35cc", # class: 'nd', - to be revised |
|
92 Name.Entity: "#ce5c00", # class: 'ni', |
|
93 Name.Exception: "bold #cc0000", # class: 'ne', |
|
94 Name.Function: "#000000", # class: 'nf' |
|
95 Name.Property: "#000000", # class: 'py', |
|
96 Name.Label: "#f57900", # class: 'nl', |
|
97 Name.Namespace: "#000000", # class: 'nn' - to be revised |
|
98 Name.Other: "#000000", # class: 'nx', |
|
99 Name.Tag: "bold #204a87", # class'nt' -- like a keyword |
|
100 Name.Variable: "#000000", # class: 'nv', - to be revised |
|
101 Name.Variable.Class: "#000000", # class: 'vc', - to be revised |
|
102 Name.Variable.Global: "#000000", # class: 'vg', - to be revised |
|
103 Name.Variable.Instance: "#000000", # class: 'vi', - to be revised |
|
104 |
|
105 # since the tango light blue does not show up well in text, we choose |
|
106 # a pure blue instead. |
|
107 Number: "bold #0000cf", # class: 'm' |
|
108 Number.Float: "bold #0000cf", # class: ''mf', |
|
109 Number.Hex: "bold #0000cf", # class: ''mh', |
|
110 Number.Integer: "bold #0000cf", # class: ''mi', |
|
111 Number.Integer.Long: "bold #0000cf", # class: ''il', |
|
112 Number.Oct: "bold #0000cf", # class: ''mo', |
|
113 |
|
114 Literal: "#000000", # class: 'l', |
|
115 Literal.Date: "#000000", # class: 'ld', |
|
116 |
|
117 String: "#4e9a06", # class: 's', |
|
118 String.Backtick: "#4e9a06", # class: 'sb', |
|
119 String.Char: "#4e9a06", # class: 'sc', |
|
120 String.Doc: "italic #8f5902", # class: 'sd' - like a comment |
|
121 String.Double: "#4e9a06", # class: 's2', |
|
122 String.Escape: "#4e9a06", # class: 'se', |
|
123 String.Heredoc: "#4e9a06", # class: 'sh', |
|
124 String.Interpol: "#4e9a06", # class: 'si', |
|
125 String.Other: "#4e9a06", # class: 'sx', |
|
126 String.Regex: "#4e9a06", # class: 'sr', |
|
127 String.Single: "#4e9a06", # class: 's1', |
|
128 String.Symbol: "#4e9a06", # class: 'ss', |
|
129 |
|
130 Generic: "#000000", # class: 'g', |
|
131 Generic.Deleted: "#a40000", # class: 'gd', |
|
132 Generic.Emph: "italic #000000", # class: 'ge', |
|
133 Generic.Error: "#ef2929", # class: 'gr', |
|
134 Generic.Heading: "bold #000080", # class: 'gh', |
|
135 Generic.Inserted: "#00A000", # class: 'gi', |
|
136 Generic.Output: "italic #000000", # class: 'go', |
|
137 Generic.Prompt: "#8f5902", # class: 'gp', |
|
138 Generic.Strong: "bold #000000", # class: 'gs', |
|
139 Generic.Subheading: "bold #800080", # class: 'gu', |
|
140 Generic.Traceback: "bold #a40000", # class: 'gt', |
|
141 } |