Skip to content

Commit ffc4df2

Browse files
Dishti-Oberaineiljp
authored andcommitted
config/themes: Add gruvbox_light theme with extra gruvbox colors.
1 parent 850d5b6 commit ffc4df2

File tree

4 files changed

+109
-2
lines changed

4 files changed

+109
-2
lines changed

tests/config/test_themes.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
expected_complete_themes = {
2323
"zt_dark",
2424
"gruvbox_dark",
25+
"gruvbox_light",
2526
"zt_light",
2627
"zt_blue",
2728
}

zulipterminal/config/themes.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from pygments.token import STANDARD_TYPES
44

55
from zulipterminal.config.color import term16
6-
from zulipterminal.themes import gruvbox_dark, zt_blue, zt_dark, zt_light
6+
from zulipterminal.themes import gruvbox_dark, gruvbox_light, zt_blue, zt_dark, zt_light
77

88

99
StyleSpec = Union[
@@ -87,6 +87,7 @@
8787

8888
THEMES: Dict[str, Any] = {
8989
"gruvbox_dark": gruvbox_dark,
90+
"gruvbox_light": gruvbox_light,
9091
"zt_dark": zt_dark,
9192
"zt_light": zt_light,
9293
"zt_blue": zt_blue,

zulipterminal/themes/colors_gruvbox.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,18 @@ class GruvBoxColor(Enum):
3131
BRIGHT_RED = 'light_red h167 #fb4934'
3232
NEUTRAL_PURPLE = 'light_magenta h132 #b16286'
3333
NEUTRAL_BLUE = 'dark_cyan h66 #458588'
34-
NEUTRAL_YELLOW = 'yellow h172 #d79921'
34+
NEUTRAL_YELLOW = 'brown h172 #d79921'
3535
FADED_BLUE = 'dark_blue h24 #076678'
3636
FADED_YELLOW = 'brown h136 #b57614'
3737
FADED_RED = 'dark_red h88 #9d0006'
38+
LIGHT0_HARD = 'white h230 #f9f5d7'
39+
GRAY_245 = 'dark_gray h245 #928374'
40+
DARK2 = 'black h239 #504945'
41+
DARK4 = 'black h243 #7c6f64'
42+
BRIGHT_YELLOW = 'brown h214 #fabd2f'
43+
FADED_GREEN = 'dark_green h100 #79740e'
44+
45+
3846
# fmt: on
3947

4048

zulipterminal/themes/gruvbox_light.py

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
"""
2+
GRUVBOX LIGHT
3+
-------------
4+
5+
For syntax highlighting, this theme uses the solarized light styles
6+
from pygments. This could be updated to a gruvbox style when the style
7+
is released.
8+
9+
For further details on themefiles look at the theme contribution guide
10+
"""
11+
from pygments.styles.solarized import SolarizedLightStyle
12+
13+
from zulipterminal.themes.colors_gruvbox import DefaultBoldColor as Color
14+
15+
16+
# fmt: off
17+
18+
STYLES = {
19+
# style_name : foreground background
20+
None : (Color.DARK2, Color.LIGHT0_HARD),
21+
'selected' : (Color.DARK2, Color.BRIGHT_BLUE),
22+
'msg_selected' : (Color.DARK2, Color.BRIGHT_BLUE),
23+
'header' : (Color.NEUTRAL_BLUE, Color.BRIGHT_BLUE),
24+
'general_narrow' : (Color.DARK2, Color.BRIGHT_BLUE),
25+
'general_bar' : (Color.DARK2, Color.LIGHT0_HARD),
26+
'name' : (Color.NEUTRAL_YELLOW, Color.LIGHT0_HARD),
27+
'unread' : (Color.NEUTRAL_PURPLE, Color.LIGHT0_HARD),
28+
'user_active' : (Color.FADED_GREEN, Color.LIGHT0_HARD),
29+
'user_idle' : (Color.NEUTRAL_YELLOW, Color.LIGHT0_HARD),
30+
'user_offline' : (Color.DARK2, Color.LIGHT0_HARD),
31+
'user_inactive' : (Color.DARK2, Color.LIGHT0_HARD),
32+
'title' : (Color.DARK2__BOLD, Color.LIGHT0_HARD),
33+
'column_title' : (Color.DARK2__BOLD, Color.LIGHT0_HARD),
34+
'time' : (Color.FADED_BLUE, Color.LIGHT0_HARD),
35+
'bar' : (Color.DARK2, Color.GRAY_245),
36+
'msg_emoji' : (Color.NEUTRAL_PURPLE, Color.LIGHT0_HARD),
37+
'reaction' : (Color.NEUTRAL_PURPLE__BOLD, Color.LIGHT0_HARD),
38+
'reaction_mine' : (Color.LIGHT0_HARD, Color.NEUTRAL_PURPLE),
39+
'msg_heading' : (Color.LIGHT0_HARD__BOLD, Color.FADED_GREEN),
40+
'msg_math' : (Color.LIGHT0_HARD, Color.GRAY_245),
41+
'msg_mention' : (Color.FADED_RED__BOLD, Color.LIGHT0_HARD),
42+
'msg_link' : (Color.FADED_BLUE, Color.LIGHT0_HARD),
43+
'msg_link_index' : (Color.FADED_BLUE__BOLD, Color.LIGHT0_HARD),
44+
'msg_quote' : (Color.BRIGHT_YELLOW, Color.LIGHT0_HARD),
45+
'msg_code' : (Color.LIGHT0_HARD, Color.DARK2),
46+
'msg_bold' : (Color.DARK2__BOLD, Color.LIGHT0_HARD),
47+
'msg_time' : (Color.LIGHT0_HARD, Color.DARK2),
48+
'footer' : (Color.LIGHT0_HARD, Color.DARK4),
49+
'footer_contrast' : (Color.DARK2, Color.LIGHT0_HARD),
50+
'starred' : (Color.FADED_RED__BOLD, Color.LIGHT0_HARD),
51+
'unread_count' : (Color.NEUTRAL_YELLOW, Color.LIGHT0_HARD),
52+
'starred_count' : (Color.DARK4, Color.LIGHT0_HARD),
53+
'table_head' : (Color.DARK2__BOLD, Color.LIGHT0_HARD),
54+
'filter_results' : (Color.LIGHT0_HARD, Color.FADED_GREEN),
55+
'edit_topic' : (Color.LIGHT0_HARD, Color.GRAY_245),
56+
'edit_tag' : (Color.LIGHT0_HARD, Color.GRAY_245),
57+
'edit_author' : (Color.NEUTRAL_YELLOW, Color.LIGHT0_HARD),
58+
'edit_time' : (Color.FADED_BLUE, Color.LIGHT0_HARD),
59+
'current_user' : (Color.DARK2, Color.LIGHT0_HARD),
60+
'muted' : (Color.FADED_BLUE, Color.LIGHT0_HARD),
61+
'popup_border' : (Color.DARK2, Color.LIGHT0_HARD),
62+
'popup_category' : (Color.FADED_BLUE__BOLD, Color.LIGHT0_HARD),
63+
'popup_contrast' : (Color.LIGHT0_HARD, Color.GRAY_245),
64+
'popup_important' : (Color.FADED_RED__BOLD, Color.LIGHT0_HARD),
65+
'widget_disabled' : (Color.GRAY_245, Color.LIGHT0_HARD),
66+
'area:help' : (Color.LIGHT0_HARD, Color.FADED_GREEN),
67+
'area:msg' : (Color.LIGHT0_HARD, Color.FADED_RED),
68+
'area:stream' : (Color.LIGHT0_HARD, Color.FADED_BLUE),
69+
'area:error' : (Color.DARK2, Color.BRIGHT_RED),
70+
'area:user' : (Color.DARK2, Color.BRIGHT_BLUE),
71+
'search_error' : (Color.FADED_RED, Color.LIGHT0_HARD),
72+
'task:success' : (Color.LIGHT0_HARD, Color.FADED_GREEN),
73+
'task:error' : (Color.DARK2, Color.BRIGHT_RED),
74+
'task:warning' : (Color.LIGHT0_HARD, Color.FADED_RED),
75+
}
76+
77+
META = {
78+
'pygments': {
79+
'styles' : SolarizedLightStyle().styles,
80+
'background': '#ffffcc',
81+
'overrides' : {
82+
'c' : '#586E75, italics', # base01
83+
'cp' : '#859900', # magenta
84+
'cpf' : '#586e75', # base01
85+
'ge' : '#93A1A1, italics', # base0
86+
'gh' : '#CB4B16, bold', # base0
87+
'gu' : '#CB4B16, underline', # base0
88+
'gp' : '#93A1A1, bold', # blue
89+
'gs' : '#93A1A1, bold', # base0
90+
'err' : '#93A1A1', # red
91+
'n' : '#93A1A1', # gruvbox: light4
92+
'p' : '#93A1A1', # gruvbox: light4
93+
'w' : '#93A1A1', # gruvbox: light4
94+
}
95+
}
96+
}
97+
# fmt: on

0 commit comments

Comments
 (0)