111 lines
3.1 KiB
Python
111 lines
3.1 KiB
Python
|
"""
|
||
|
pygments.styles.lightbulb
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
A minimal dark theme based on the Lightbulb theme for VSCode.
|
||
|
|
||
|
:copyright: Copyright 2006-2024 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,
|
||
|
Literal,
|
||
|
Name,
|
||
|
Number,
|
||
|
Operator,
|
||
|
Punctuation,
|
||
|
String,
|
||
|
Token,
|
||
|
)
|
||
|
|
||
|
|
||
|
__all__ = ['LightbulbStyle']
|
||
|
|
||
|
|
||
|
COLORS = {
|
||
|
"bg": "#1d2331",
|
||
|
"blue_1": "#73D0FF",
|
||
|
"gray_1": "#7e8aa1",
|
||
|
"gray_2": "#3c4354",
|
||
|
"gray_3": "#6e7681",
|
||
|
"red_1": "#f88f7f",
|
||
|
"red_2": "#3d1e20",
|
||
|
"orange_1": "#FFAD66",
|
||
|
"orange_2": "#F29E74",
|
||
|
"yellow_1": "#FFD173",
|
||
|
"white": "#d4d2c8",
|
||
|
"magenta_1": "#DFBFFF",
|
||
|
"green_1": "#D5FF80",
|
||
|
"green_2": "#19362c",
|
||
|
"cyan_1": "#95E6CB",
|
||
|
}
|
||
|
|
||
|
|
||
|
class LightbulbStyle(Style):
|
||
|
"""
|
||
|
A minimal dark theme based on the Lightbulb theme for VSCode.
|
||
|
"""
|
||
|
|
||
|
name = 'lightbulb'
|
||
|
|
||
|
background_color = COLORS['bg']
|
||
|
highlight_color = COLORS['gray_3']
|
||
|
|
||
|
line_number_color = COLORS['gray_2']
|
||
|
line_number_special_color = COLORS['gray_2']
|
||
|
|
||
|
styles = {
|
||
|
Comment: COLORS["gray_1"],
|
||
|
Comment.Hashbang: "italic " + COLORS['red_1'],
|
||
|
Comment.Preproc: "bold " + COLORS['orange_1'],
|
||
|
Comment.Special: "italic " + COLORS['gray_1'],
|
||
|
Error: COLORS['red_1'],
|
||
|
Generic.Deleted: f"bg:{COLORS['red_2']} #f88f7f",
|
||
|
Generic.Emph: "italic",
|
||
|
Generic.Error: "#f88f7f",
|
||
|
Generic.Inserted: f"bg:{COLORS['green_2']} #6ad4af",
|
||
|
Generic.Output: COLORS['gray_1'],
|
||
|
Generic.Strong: "bold",
|
||
|
Generic.Traceback: COLORS['red_1'],
|
||
|
Keyword: COLORS['orange_1'],
|
||
|
Keyword.Constant: COLORS['orange_1'],
|
||
|
Keyword.Declaration: COLORS['orange_1'],
|
||
|
Keyword.Namespace: COLORS['orange_1'],
|
||
|
Keyword.Reserved: COLORS['orange_1'],
|
||
|
Keyword.Type: COLORS['blue_1'],
|
||
|
Literal: COLORS['green_1'],
|
||
|
Name: COLORS['white'],
|
||
|
Name.Attribute: COLORS['yellow_1'],
|
||
|
Name.Builtin: COLORS['yellow_1'],
|
||
|
Name.Builtin.Pseudo: "#5CCFE6",
|
||
|
Name.Class: COLORS['blue_1'],
|
||
|
Name.Constant: COLORS['yellow_1'],
|
||
|
Name.Decorator: "bold italic " + COLORS['gray_1'],
|
||
|
Name.Entity: COLORS['cyan_1'],
|
||
|
Name.Exception: COLORS['blue_1'],
|
||
|
Name.Function: COLORS['yellow_1'],
|
||
|
Name.Function.Magic: COLORS['yellow_1'],
|
||
|
Name.Other: COLORS['white'],
|
||
|
Name.Property: COLORS['yellow_1'],
|
||
|
Name.Tag: "#5CCFE6",
|
||
|
Name.Variable: COLORS['white'],
|
||
|
Number: COLORS['magenta_1'],
|
||
|
Operator: COLORS['orange_1'],
|
||
|
Operator.Word: COLORS['orange_1'],
|
||
|
Punctuation: COLORS['white'],
|
||
|
String: COLORS['green_1'],
|
||
|
String.Affix: COLORS['orange_2'],
|
||
|
String.Doc: COLORS['gray_1'],
|
||
|
String.Escape: COLORS['cyan_1'],
|
||
|
String.Interpol: COLORS['cyan_1'],
|
||
|
String.Other: COLORS['cyan_1'],
|
||
|
String.Regex: COLORS['cyan_1'],
|
||
|
String.Symbol: COLORS['magenta_1'],
|
||
|
Token: COLORS['white'],
|
||
|
}
|