| """ | |
| pygments.styles.solarized | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| Solarized by Camil Staps | |
| A Pygments style for the Solarized themes (licensed under MIT). | |
| See: https://github.com/altercation/solarized | |
| :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, Keyword, Name, Number, \ | |
| Operator, String, Token | |
| __all__ = ['SolarizedLightStyle', 'SolarizedDarkStyle'] | |
| def make_style(colors): | |
| return { | |
| Token: colors['base0'], | |
| Comment: 'italic ' + colors['base01'], | |
| Comment.Hashbang: colors['base01'], | |
| Comment.Multiline: colors['base01'], | |
| Comment.Preproc: 'noitalic ' + colors['magenta'], | |
| Comment.PreprocFile: 'noitalic ' + colors['base01'], | |
| Keyword: colors['green'], | |
| Keyword.Constant: colors['cyan'], | |
| Keyword.Declaration: colors['cyan'], | |
| Keyword.Namespace: colors['orange'], | |
| Keyword.Type: colors['yellow'], | |
| Operator: colors['base01'], | |
| Operator.Word: colors['green'], | |
| Name.Builtin: colors['blue'], | |
| Name.Builtin.Pseudo: colors['blue'], | |
| Name.Class: colors['blue'], | |
| Name.Constant: colors['blue'], | |
| Name.Decorator: colors['blue'], | |
| Name.Entity: colors['blue'], | |
| Name.Exception: colors['blue'], | |
| Name.Function: colors['blue'], | |
| Name.Function.Magic: colors['blue'], | |
| Name.Label: colors['blue'], | |
| Name.Namespace: colors['blue'], | |
| Name.Tag: colors['blue'], | |
| Name.Variable: colors['blue'], | |
| Name.Variable.Global:colors['blue'], | |
| Name.Variable.Magic: colors['blue'], | |
| String: colors['cyan'], | |
| String.Doc: colors['base01'], | |
| String.Regex: colors['orange'], | |
| Number: colors['cyan'], | |
| Generic: colors['base0'], | |
| Generic.Deleted: colors['red'], | |
| Generic.Emph: 'italic', | |
| Generic.Error: colors['red'], | |
| Generic.Heading: 'bold', | |
| Generic.Subheading: 'underline', | |
| Generic.Inserted: colors['green'], | |
| Generic.Output: colors['base0'], | |
| Generic.Prompt: 'bold ' + colors['blue'], | |
| Generic.Strong: 'bold', | |
| Generic.EmphStrong: 'bold italic', | |
| Generic.Traceback: colors['blue'], | |
| Error: 'bg:' + colors['red'], | |
| } | |
| DARK_COLORS = { | |
| 'base03': '#002b36', | |
| 'base02': '#073642', | |
| 'base01': '#586e75', | |
| 'base00': '#657b83', | |
| 'base0': '#839496', | |
| 'base1': '#93a1a1', | |
| 'base2': '#eee8d5', | |
| 'base3': '#fdf6e3', | |
| 'yellow': '#b58900', | |
| 'orange': '#cb4b16', | |
| 'red': '#dc322f', | |
| 'magenta': '#d33682', | |
| 'violet': '#6c71c4', | |
| 'blue': '#268bd2', | |
| 'cyan': '#2aa198', | |
| 'green': '#859900', | |
| } | |
| LIGHT_COLORS = { | |
| 'base3': '#002b36', | |
| 'base2': '#073642', | |
| 'base1': '#586e75', | |
| 'base0': '#657b83', | |
| 'base00': '#839496', | |
| 'base01': '#93a1a1', | |
| 'base02': '#eee8d5', | |
| 'base03': '#fdf6e3', | |
| 'yellow': '#b58900', | |
| 'orange': '#cb4b16', | |
| 'red': '#dc322f', | |
| 'magenta': '#d33682', | |
| 'violet': '#6c71c4', | |
| 'blue': '#268bd2', | |
| 'cyan': '#2aa198', | |
| 'green': '#859900', | |
| } | |
| class SolarizedDarkStyle(Style): | |
| """ | |
| The solarized style, dark. | |
| """ | |
| name = 'solarized-dark' | |
| styles = make_style(DARK_COLORS) | |
| background_color = DARK_COLORS['base03'] | |
| highlight_color = DARK_COLORS['base02'] | |
| line_number_color = DARK_COLORS['base01'] | |
| line_number_background_color = DARK_COLORS['base02'] | |
| class SolarizedLightStyle(SolarizedDarkStyle): | |
| """ | |
| The solarized style, light. | |
| """ | |
| name = 'solarized-light' | |
| styles = make_style(LIGHT_COLORS) | |
| background_color = LIGHT_COLORS['base03'] | |
| highlight_color = LIGHT_COLORS['base02'] | |
| line_number_color = LIGHT_COLORS['base01'] | |
| line_number_background_color = LIGHT_COLORS['base02'] | |