summaryrefslogtreecommitdiff
path: root/pygments/styles/material.py
blob: d000a337230a757c7b1cc1ddc80b477d986af8bd (plain)
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
"""
    pygments.styles.material
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Mimic the Material theme color scheme.

    https://github.com/material-theme/vsc-material-theme

    :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 Keyword, Name, Comment, String, Escape, \
    Error, Text, Number, Operator, Generic, Punctuation, Literal

class MaterialStyle(Style):
    """
    This style mimics the Material Theme color scheme.
    """
    dark_teal = '#263238'
    white= '#FFFFFF'
    black= '#000000'
    red= '#FF5370'
    orange= '#F78C6C'
    yellow= '#FFCB6B'
    green= '#C3E88D'
    cyan= '#89DDFF'
    blue= '#82AAFF'
    paleblue= '#B2CCD6'
    purple= '#C792EA'
    brown= '#C17E70'
    pink= '#F07178'
    violet= '#BB80B3'
    foreground = '#EEFFFF'
    faded = '#546E7A'

    background_color = dark_teal
    highlight_color = '#2C3B41'
    line_number_color = '#37474F'
    line_number_background_color = dark_teal
    line_number_special_color = '#607A86'
    line_number_special_background_color = dark_teal

    styles = {
        Text:                          foreground,
        Escape:                        cyan,
        Error:                         red,

        Keyword:                       violet,
        Keyword.Constant:              cyan,
        Keyword.Declaration:           violet,
        Keyword.Namespace:             'italic ' + cyan,
        Keyword.Pseudo:                cyan,
        Keyword.Type:                  violet,

        Name:                          foreground,
        Name.Attribute:                violet,
        Name.Builtin:                  blue,
        Name.Builtin.Pseudo:           cyan,
        Name.Class:                    yellow,
        Name.Constant:                 foreground,
        Name.Decorator:                blue,
        Name.Entity:                   cyan,
        Name.Exception:                yellow,
        Name.Function:                 blue,
        Name.Function.Magic:           blue,
        Name.Label:                    blue,
        Name.Property:                 yellow,
        Name.Namespace:                yellow,
        Name.Other:                    foreground,
        Name.Tag:                      red,
        Name.Variable:                 cyan,
        Name.Variable.Class:           cyan,
        Name.Variable.Global:          cyan,
        Name.Variable.Instance:        cyan,
        Name.Variable.Magic:           blue,

        Literal:                       green,
        Literal.Date:                  green,

        String:                        green,
        String.Affix:                  violet,
        String.Backtick:               green,
        String.Char:                   green,
        String.Delimiter:              foreground,
        String.Doc:                    'italic ' + faded,
        String.Double:                 green,
        String.Escape:                 foreground,
        String.Heredoc:                green,
        String.Interpol:               cyan,
        String.Other:                  green,
        String.Regex:                  cyan,
        String.Single:                 green,
        String.Symbol:                 cyan,

        Number:                        orange,

        Operator:                      cyan,
        Operator.Word:                 'italic ' + cyan,

        Punctuation:                   cyan,

        Comment:                       'italic ' + faded,

        Generic:                       foreground,
        Generic.Deleted:               red,
        Generic.Emph:                  cyan,
        Generic.Error:                 red,
        Generic.Heading:               green,
        Generic.Inserted:              green,
        Generic.Output:                faded,
        Generic.Prompt:                yellow,
        Generic.Strong:                red,
        Generic.Subheading:            cyan,
        Generic.Traceback:             red,
    }