1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
"""
pygments.styles.rainbow_dash
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A bright and colorful syntax highlighting `theme`.
.. _theme: http://sanssecours.github.io/Rainbow-Dash.tmbundle
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
from pygments.style import Style
from pygments.token import Comment, Error, Generic, Name, Number, Operator, \
String, Text, Whitespace, Keyword
BLUE_LIGHT = '#0080ff'
BLUE = '#2c5dcd'
GREEN = '#00cc66'
GREEN_LIGHT = '#ccffcc'
GREEN_NEON = '#00cc00'
GREY = '#aaaaaa'
GREY_LIGHT = '#cbcbcb'
GREY_DARK = '#4d4d4d'
PURPLE = '#5918bb'
RED = '#cc0000'
RED_DARK = '#c5060b'
RED_LIGHT = '#ffcccc'
RED_BRIGHT = '#ff0000'
WHITE = '#ffffff'
TURQUOISE = '#318495'
ORANGE = '#ff8000'
class RainbowDashStyle(Style):
"""
A bright and colorful syntax highlighting theme.
"""
background_color = WHITE
styles = {
Comment: 'italic {}'.format(BLUE_LIGHT),
Comment.Preproc: 'noitalic',
Comment.Special: 'bold',
Error: 'bg:{} {}'.format(RED, WHITE),
Generic.Deleted: 'border:{} bg:{}'.format(RED_DARK, RED_LIGHT),
Generic.Emph: 'italic',
Generic.Error: RED_BRIGHT,
Generic.Heading: 'bold {}'.format(BLUE),
Generic.Inserted: 'border:{} bg:{}'.format(GREEN_NEON, GREEN_LIGHT),
Generic.Output: GREY,
Generic.Prompt: 'bold {}'.format(BLUE),
Generic.Strong: 'bold',
Generic.EmphStrong: 'bold italic',
Generic.Subheading: 'bold {}'.format(BLUE),
Generic.Traceback: RED_DARK,
Keyword: 'bold {}'.format(BLUE),
Keyword.Pseudo: 'nobold',
Keyword.Type: PURPLE,
Name.Attribute: 'italic {}'.format(BLUE),
Name.Builtin: 'bold {}'.format(PURPLE),
Name.Class: 'underline',
Name.Constant: TURQUOISE,
Name.Decorator: 'bold {}'.format(ORANGE),
Name.Entity: 'bold {}'.format(PURPLE),
Name.Exception: 'bold {}'.format(PURPLE),
Name.Function: 'bold {}'.format(ORANGE),
Name.Tag: 'bold {}'.format(BLUE),
Number: 'bold {}'.format(PURPLE),
Operator: BLUE,
Operator.Word: 'bold',
String: GREEN,
String.Doc: 'italic',
String.Escape: 'bold {}'.format(RED_DARK),
String.Other: TURQUOISE,
String.Symbol: 'bold {}'.format(RED_DARK),
Text: GREY_DARK,
Whitespace: GREY_LIGHT
}
|