Skip to content

Commit

Permalink
Adding gruvbox_light theme
Browse files Browse the repository at this point in the history
  • Loading branch information
Dishti-Oberai committed Feb 4, 2022
1 parent 0867d4a commit 9060f4e
Show file tree
Hide file tree
Showing 4 changed files with 139 additions and 14 deletions.
20 changes: 20 additions & 0 deletions tests/config/test_themes.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,31 @@
expected_complete_themes = {
"zt_dark",
"gruvbox_dark",
"gruvbox_light",
"zt_light",
"zt_blue",
}
aliases_16_color = [
"default",
"dark0 hard",
"dark2",
"dark4",
"gray 245",
"gray 244",
"light0 hard",
"light2",
"light4",
"bright red",
"bright green",
"bright yellow",
"bright blue",
"neutral yellow",
"neutral blue",
"neutral purple",
"faded red",
"faded green",
"faded yellow",
"faded blue",
"black",
"dark red",
"dark green",
Expand Down
4 changes: 3 additions & 1 deletion zulipterminal/config/themes.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from pygments.token import STANDARD_TYPES

from zulipterminal.config.color import term16
from zulipterminal.themes import gruvbox_dark, zt_blue, zt_dark, zt_light
from zulipterminal.themes import gruvbox_dark, gruvbox_light, zt_blue, zt_dark, zt_light


StyleSpec = Union[
Expand Down Expand Up @@ -87,6 +87,7 @@

THEMES: Dict[str, Any] = {
"gruvbox_dark": gruvbox_dark,
"gruvbox_light": gruvbox_light,
"zt_dark": zt_dark,
"zt_light": zt_light,
"zt_blue": zt_blue,
Expand All @@ -95,6 +96,7 @@
THEME_ALIASES = {
"default": "zt_dark",
"gruvbox_dark": "gruvbox_dark",
"gruvbox_light": "gruvbox_light",
"light": "zt_light",
"blue": "zt_blue",
}
Expand Down
32 changes: 19 additions & 13 deletions zulipterminal/themes/colors_gruvbox.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,25 @@
class GruvBoxColor(Enum):
# color = 16code 256code 24code
DEFAULT = 'default default default'
DARK0_HARD = 'black h234 #1d2021'
GRAY_244 = 'dark_gray h244 #928374'
LIGHT2 = 'white h250 #d5c4a1'
LIGHT4 = 'light_gray h248 #bdae93'
BRIGHT_BLUE = 'light_blue h109 #83a598'
BRIGHT_GREEN = 'light_green h142 #b8bb26'
BRIGHT_RED = 'light_red h167 #fb4934'
NEUTRAL_PURPLE = 'light_magenta h132 #b16286'
NEUTRAL_BLUE = 'dark_cyan h66 #458588'
NEUTRAL_YELLOW = 'yellow h172 #d79921'
FADED_BLUE = 'dark_blue h24 #076678'
FADED_YELLOW = 'brown h136 #b57614'
FADED_RED = 'dark_red h88 #9d0006'
DARK0_HARD = 'dark0_hard h234 #1d2021'
DARK2 = 'dark2 h239 #504945'
DARK4 = 'dark4 h243 #7c6f64'
GRAY_245 = 'gray_245 h245 #928374'
GRAY_244 = 'gray_244 h244 #928374'
LIGHT0_HARD = 'light0_hard h230 #f9f5d7'
LIGHT2 = 'light2 h250 #d5c4a1'
LIGHT4 = 'light4 h246 #a89984'
BRIGHT_RED = 'bright_red h167 #fb4934'
BRIGHT_GREEN = 'bright_green h142 #b8bb26'
BRIGHT_YELLOW = 'bright_yellow h214 #fabd2f'
BRIGHT_BLUE = 'bright_blue h109 #83a598'
NEUTRAL_YELLOW = 'neutral_yellow h172 #d79921'
NEUTRAL_BLUE = 'neutral_blue h66 #458588'
NEUTRAL_PURPLE = 'neutral_purple h132 #b16286'
FADED_RED = 'faded_red h88 #9d0006'
FADED_GREEN = 'faded_green h100 #79740e'
FADED_YELLOW = 'faded_yellow h136 #b57614'
FADED_BLUE = 'faded_blue h24 #076678'
# fmt: on


Expand Down
97 changes: 97 additions & 0 deletions zulipterminal/themes/gruvbox_light.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
"""
GRUVBOX LIGHT
-------
For syntax highlighting, this theme uses the solarized light styles
from pygments. This could be updated to a gruvbox style when the style
is released.
For further details on themefiles look at the theme contribution guide
"""
from pygments.styles.solarized import SolarizedLightStyle

from zulipterminal.themes.colors_gruvbox import DefaultBoldColor as Color


# fmt: off

STYLES = {
# style_name : foreground background
None : (Color.DARK2, Color.LIGHT0_HARD),
'selected' : (Color.DARK2, Color.BRIGHT_BLUE),
'msg_selected' : (Color.DARK2, Color.BRIGHT_BLUE),
'header' : (Color.NEUTRAL_BLUE, Color.BRIGHT_BLUE),
'general_narrow' : (Color.DARK2, Color.BRIGHT_BLUE),
'general_bar' : (Color.DARK2, Color.LIGHT0_HARD),
'name' : (Color.NEUTRAL_YELLOW__BOLD, Color.LIGHT0_HARD),
'unread' : (Color.NEUTRAL_PURPLE, Color.LIGHT0_HARD),
'user_active' : (Color.FADED_GREEN, Color.LIGHT0_HARD),
'user_idle' : (Color.NEUTRAL_YELLOW, Color.LIGHT0_HARD),
'user_offline' : (Color.DARK2, Color.LIGHT0_HARD),
'user_inactive' : (Color.DARK2, Color.LIGHT0_HARD),
'title' : (Color.DARK2__BOLD, Color.LIGHT0_HARD),
'column_title' : (Color.DARK2__BOLD, Color.LIGHT0_HARD),
'time' : (Color.FADED_BLUE, Color.LIGHT0_HARD),
'bar' : (Color.DARK2, Color.GRAY_245),
'msg_emoji' : (Color.NEUTRAL_PURPLE, Color.LIGHT0_HARD),
'reaction' : (Color.NEUTRAL_PURPLE__BOLD, Color.LIGHT0_HARD),
'reaction_mine' : (Color.LIGHT0_HARD, Color.NEUTRAL_PURPLE),
'msg_heading' : (Color.LIGHT0_HARD__BOLD, Color.FADED_GREEN),
'msg_math' : (Color.LIGHT0_HARD, Color.GRAY_245),
'msg_mention' : (Color.FADED_RED__BOLD, Color.LIGHT0_HARD),
'msg_link' : (Color.FADED_BLUE, Color.LIGHT0_HARD),
'msg_link_index' : (Color.FADED_BLUE__BOLD, Color.LIGHT0_HARD),
'msg_quote' : (Color.BRIGHT_YELLOW, Color.LIGHT0_HARD),
'msg_code' : (Color.LIGHT0_HARD, Color.DARK2),
'msg_bold' : (Color.DARK2__BOLD, Color.LIGHT0_HARD),
'msg_time' : (Color.LIGHT0_HARD, Color.DARK2),
'footer' : (Color.LIGHT0_HARD, Color.DARK4),
'footer_contrast' : (Color.DARK2, Color.LIGHT0_HARD),
'starred' : (Color.FADED_RED__BOLD, Color.LIGHT0_HARD),
'unread_count' : (Color.NEUTRAL_YELLOW, Color.LIGHT0_HARD),
'starred_count' : (Color.DARK4, Color.LIGHT0_HARD),
'table_head' : (Color.DARK2__BOLD, Color.LIGHT0_HARD),
'filter_results' : (Color.LIGHT0_HARD, Color.FADED_GREEN),
'edit_topic' : (Color.LIGHT0_HARD, Color.GRAY_245),
'edit_tag' : (Color.LIGHT0_HARD, Color.GRAY_245),
'edit_author' : (Color.NEUTRAL_YELLOW, Color.LIGHT0_HARD),
'edit_time' : (Color.FADED_BLUE, Color.LIGHT0_HARD),
'current_user' : (Color.DARK2, Color.LIGHT0_HARD),
'muted' : (Color.FADED_BLUE, Color.LIGHT0_HARD),
'popup_border' : (Color.DARK2, Color.LIGHT0_HARD),
'popup_category' : (Color.FADED_BLUE__BOLD, Color.LIGHT0_HARD),
'popup_contrast' : (Color.LIGHT0_HARD, Color.GRAY_245),
'popup_important' : (Color.FADED_RED__BOLD, Color.LIGHT0_HARD),
'widget_disabled' : (Color.GRAY_245, Color.LIGHT0_HARD),
'area:help' : (Color.LIGHT0_HARD, Color.FADED_GREEN),
'area:msg' : (Color.LIGHT0_HARD, Color.FADED_RED),
'area:stream' : (Color.LIGHT0_HARD, Color.FADED_BLUE),
'area:error' : (Color.DARK2, Color.BRIGHT_RED),
'area:user' : (Color.DARK2, Color.BRIGHT_BLUE),
'search_error' : (Color.FADED_RED, Color.LIGHT0_HARD),
'task:success' : (Color.LIGHT0_HARD, Color.FADED_GREEN),
'task:error' : (Color.DARK2, Color.BRIGHT_RED),
'task:warning' : (Color.LIGHT0_HARD, Color.FADED_RED),
}

META = {
'pygments': {
'styles' : SolarizedLightStyle().styles,
'background': '#ffffcc',
'overrides' : {
'c' : '#586E75, italics', # base01
'cp' : '#859900', # magenta
'cpf' : '#586e75', # base01
'ge' : '#93A1A1, italics', # base0
'gh' : '#CB4B16, bold', # base0
'gu' : '#CB4B16, underline', # base0
'gp' : '#93A1A1, bold', # blue
'gs' : '#93A1A1, bold', # base0
'err' : '#93A1A1', # red
'n' : '#93A1A1', # gruvbox: light4
'p' : '#93A1A1', # gruvbox: light4
'w' : '#93A1A1', # gruvbox: light4
}
}
}
# fmt: on

0 comments on commit 9060f4e

Please sign in to comment.