diff --git a/zulipterminal/cli/# Code Citations.md b/zulipterminal/cli/# Code Citations.md new file mode 100644 index 0000000000..55e0c3af54 --- /dev/null +++ b/zulipterminal/cli/# Code Citations.md @@ -0,0 +1,14 @@ +# Code Citations + +## License: Apache_2_0 +https://github.com/zulip/zulip-terminal/tree/2d25ba97b9049e0b8fa5950e7d5c4eae96e5a4f9/zulipterminal/cli/run.py + +``` +def parse_zuliprc(zuliprc_str: str) -> Dict[str, SettingData]: + zuliprc_path = path.expanduser(zuliprc_str) + while not path.exists(zuliprc_path): + try: + fetch_zuliprc(zuliprc_path) + # Invalid user inputs (e.g. pressing arrow keys) may cause ValueError +``` + diff --git a/zulipterminal/config/themes.py b/zulipterminal/config/themes.py index d6fe406c2f..0856d7e33d 100644 --- a/zulipterminal/config/themes.py +++ b/zulipterminal/config/themes.py @@ -6,7 +6,17 @@ from pygments.token import STANDARD_TYPES, _TokenType from zulipterminal.config.color import Background, term16 -from zulipterminal.themes import gruvbox_dark, gruvbox_light, zt_blue, zt_dark, zt_light +from zulipterminal.themes import ( + gruvbox_dark, + gruvbox_dark_high_contrast, + gruvbox_dark_low_contrast, + gruvbox_light, + gruvbox_light_high_contrast, + gruvbox_light_low_contrast, + zt_blue, + zt_dark, + zt_light, +) StyleSpec = Union[ @@ -96,6 +106,11 @@ "zt_dark": zt_dark, "zt_light": zt_light, "zt_blue": zt_blue, + "gruvbox_dark_high_contrast": gruvbox_dark_high_contrast, + "gruvbox_dark_low_contrast": gruvbox_dark_low_contrast, + "gruvbox_light_high_contrast": gruvbox_light_high_contrast, + "gruvbox_light_low_contrast": gruvbox_light_low_contrast, + # "sample": sample, } # These are older aliases to some of the above, for compatibility diff --git a/zulipterminal/themes/colors_gruvbox.py b/zulipterminal/themes/colors_gruvbox.py index 79d2e2fbdc..e2e3c9bb3f 100644 --- a/zulipterminal/themes/colors_gruvbox.py +++ b/zulipterminal/themes/colors_gruvbox.py @@ -8,6 +8,7 @@ For color reference see: https://github.com/morhetz/gruvbox/blob/master/colors/gruvbox.vim """ + from enum import Enum from zulipterminal.config.color import color_properties @@ -25,12 +26,27 @@ class GruvBoxColor(Enum): # Only or primarily dark mode - grayscales # - generally background DARK0_HARD = 'black h234 #1d2021' + DARK0 = 'black h235 #282828' + DARK0_SOFT = 'black h236 #32302f' + DARK1 = 'black h237 #3c3836' + DARK2 = 'black h239 #504945' + DARK3 = 'black h241 #665c54' + DARK4 = 'black h243 #7c6f64' # - generally foreground LIGHT2 = 'white h250 #d5c4a1' # - grays GRAY_244 = 'dark_gray h244 #928374' + GRAY_245 = 'dark_gray h245 #928374' LIGHT4 = 'light_gray h248 #bdae93' + # Only or primarily light version - grayscales + # - generally background + LIGHT0_HARD = 'white h230 #f9f5d7' + LIGHT0 = 'white h229 #fbf1c7' + LIGHT0_SOFT = 'white h228 #f2e5bc' + LIGHT1 = 'white h223 #ebdbb2' + LIGHT4_256 = 'light_gray h246 #a89984' + # Dark mode only - colors BRIGHT_BLUE = 'light_blue h109 #83a598' BRIGHT_GREEN = 'light_green h142 #b8bb26' @@ -48,15 +64,17 @@ class GruvBoxColor(Enum): FADED_RED = 'dark_red h88 #9d0006' FADED_YELLOW = 'brown h136 #b57614' - # Only or primarily light version - grayscales - # - generally background - LIGHT0_HARD = 'white h230 #f9f5d7' - # - generally foreground - DARK2 = 'black h239 #504945' - # - grays - GRAY_245 = 'dark_gray h245 #928374' - DARK4 = 'black h243 #7c6f64' - + # Additional colors + BRIGHT_PURPLE = 'light_magenta h175 #d3869b' + BRIGHT_AQUA = 'light_cyan h108 #8ec07c' + BRIGHT_ORANGE = 'light_red h208 #fe8019' + NEUTRAL_RED = 'dark_red h124 #cc241d' + NEUTRAL_GREEN = 'dark_green h106 #98971a' + NEUTRAL_AQUA = 'dark_cyan h72 #689d6a' + NEUTRAL_ORANGE = 'dark_red h166 #d65d0e' + FADED_PURPLE = 'dark_magenta h96 #8f3f71' + FADED_AQUA = 'dark_cyan h66 #427b58' + FADED_ORANGE = 'dark_red h130 #af3a03' # fmt: on diff --git a/zulipterminal/themes/gruvbox_dark.py b/zulipterminal/themes/gruvbox_dark.py index 4492b75510..447abd7438 100644 --- a/zulipterminal/themes/gruvbox_dark.py +++ b/zulipterminal/themes/gruvbox_dark.py @@ -1,100 +1,90 @@ """ -GRUVBOX DARK ------------- - -For syntax highlighting, this theme uses the solarized dark 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 +ZT DARK +------- +This theme uses the default color scheme. +For further details on themefiles look at the theme contribution guide. """ - -from pygments.styles.solarized import SolarizedDarkStyle +from pygments.styles.material import MaterialStyle from zulipterminal.config.color import Background -from zulipterminal.themes.colors_gruvbox import DefaultBoldColor as Color +from zulipterminal.config.color import DefaultBoldColor as Color # fmt: off - STYLES = { - # style_name : foreground background - None : (Color.LIGHT2, Background.COLOR), - 'selected' : (Color.DARK0_HARD, Color.NEUTRAL_BLUE), - 'msg_selected' : (Color.DARK0_HARD, Color.NEUTRAL_BLUE), - 'header' : (Color.NEUTRAL_BLUE, Color.BRIGHT_BLUE), - 'general_narrow' : (Color.DARK0_HARD, Color.BRIGHT_BLUE), - 'general_bar' : (Color.LIGHT2, Background.COLOR), - 'msg_sender' : (Color.NEUTRAL_YELLOW__BOLD, Background.COLOR), - 'unread' : (Color.NEUTRAL_PURPLE, Background.COLOR), - 'user_active' : (Color.BRIGHT_GREEN, Background.COLOR), - 'user_idle' : (Color.NEUTRAL_YELLOW, Background.COLOR), - 'user_offline' : (Color.LIGHT2, Background.COLOR), - 'user_inactive' : (Color.LIGHT2, Background.COLOR), - 'user_bot' : (Color.LIGHT2, Background.COLOR), - 'title' : (Color.LIGHT2__BOLD, Background.COLOR), - 'column_title' : (Color.LIGHT2__BOLD, Background.COLOR), - 'time' : (Color.BRIGHT_BLUE, Background.COLOR), - 'bar' : (Color.LIGHT2, Color.GRAY_244), - 'msg_emoji' : (Color.NEUTRAL_PURPLE, Background.COLOR), - 'reaction' : (Color.NEUTRAL_PURPLE__BOLD, Background.COLOR), - 'reaction_mine' : (Color.DARK0_HARD, Color.NEUTRAL_PURPLE), - 'msg_heading' : (Color.DARK0_HARD__BOLD, Color.BRIGHT_GREEN), - 'msg_math' : (Color.DARK0_HARD, Color.GRAY_244), - 'msg_mention' : (Color.BRIGHT_RED__BOLD, Background.COLOR), - 'msg_link' : (Color.BRIGHT_BLUE, Background.COLOR), - 'msg_link_index' : (Color.BRIGHT_BLUE__BOLD, Background.COLOR), - 'msg_quote' : (Color.NEUTRAL_YELLOW, Background.COLOR), - 'msg_bold' : (Color.LIGHT2__BOLD, Background.COLOR), - 'msg_time' : (Color.DARK0_HARD, Color.LIGHT2), - 'footer' : (Color.DARK0_HARD, Color.LIGHT4), - 'footer_contrast' : (Color.LIGHT2, Background.COLOR), - 'starred' : (Color.BRIGHT_RED__BOLD, Background.COLOR), - 'unread_count' : (Color.NEUTRAL_YELLOW, Background.COLOR), - 'starred_count' : (Color.LIGHT4, Background.COLOR), - 'table_head' : (Color.LIGHT2__BOLD, Background.COLOR), - 'filter_results' : (Color.DARK0_HARD, Color.BRIGHT_GREEN), - 'edit_topic' : (Color.DARK0_HARD, Color.GRAY_244), - 'edit_tag' : (Color.DARK0_HARD, Color.GRAY_244), - 'edit_author' : (Color.NEUTRAL_YELLOW, Background.COLOR), - 'edit_time' : (Color.BRIGHT_BLUE, Background.COLOR), - 'current_user' : (Color.LIGHT2, Background.COLOR), - 'muted' : (Color.BRIGHT_BLUE, Background.COLOR), - 'popup_border' : (Color.LIGHT2, Background.COLOR), - 'popup_category' : (Color.BRIGHT_BLUE__BOLD, Background.COLOR), - 'popup_contrast' : (Color.DARK0_HARD, Color.GRAY_244), - 'popup_important' : (Color.BRIGHT_RED__BOLD, Background.COLOR), - 'widget_disabled' : (Color.GRAY_244, Background.COLOR), - 'area:help' : (Color.DARK0_HARD, Color.BRIGHT_GREEN), - 'area:msg' : (Color.DARK0_HARD, Color.NEUTRAL_PURPLE), - 'area:stream' : (Color.DARK0_HARD, Color.BRIGHT_BLUE), - 'area:error' : (Color.DARK0_HARD, Color.BRIGHT_RED), - 'area:user' : (Color.DARK0_HARD, Color.BRIGHT_YELLOW), - 'search_error' : (Color.BRIGHT_RED, Background.COLOR), - 'task:success' : (Color.DARK0_HARD, Color.BRIGHT_GREEN), - 'task:error' : (Color.DARK0_HARD, Color.BRIGHT_RED), - 'task:warning' : (Color.DARK0_HARD, Color.NEUTRAL_PURPLE), - 'ui_code' : (Color.DARK0_HARD, Color.LIGHT2), + # style_name : foreground background + None : (Color.WHITE, Background.COLOR), + 'selected' : (Color.WHITE, Color.DARK_BLUE), + 'msg_selected' : (Color.WHITE, Color.DARK_BLUE), + 'header' : (Color.DARK_CYAN, Color.DARK_BLUE), + 'general_narrow' : (Color.WHITE, Color.DARK_BLUE), + 'general_bar' : (Color.WHITE, Background.COLOR), + 'msg_sender' : (Color.YELLOW__BOLD, Background.COLOR), + 'unread' : (Color.DARK_BLUE, Background.COLOR), + 'user_active' : (Color.LIGHT_GREEN, Background.COLOR), + 'user_idle' : (Color.YELLOW, Background.COLOR), + 'user_offline' : (Color.WHITE, Background.COLOR), + 'user_inactive' : (Color.WHITE, Background.COLOR), + 'user_bot' : (Color.WHITE, Background.COLOR), + 'title' : (Color.WHITE__BOLD, Background.COLOR), + 'column_title' : (Color.WHITE__BOLD, Background.COLOR), + 'time' : (Color.LIGHT_BLUE, Background.COLOR), + 'bar' : (Color.WHITE, Color.DARK_GRAY), + 'msg_emoji' : (Color.LIGHT_MAGENTA, Background.COLOR), + 'reaction' : (Color.LIGHT_MAGENTA__BOLD, Background.COLOR), + 'reaction_mine' : (Color.BLACK, Color.LIGHT_MAGENTA), + 'msg_heading' : (Color.LIGHT_CYAN__BOLD, Color.DARK_MAGENTA), + 'msg_math' : (Color.LIGHT_GRAY, Color.DARK_GRAY), + 'msg_mention' : (Color.LIGHT_RED__BOLD, Background.COLOR), + 'msg_link' : (Color.LIGHT_BLUE, Background.COLOR), + 'msg_link_index' : (Color.LIGHT_BLUE__BOLD, Background.COLOR), + 'msg_quote' : (Color.BROWN, Background.COLOR), + 'msg_bold' : (Color.WHITE__BOLD, Background.COLOR), + 'msg_time' : (Color.BLACK, Color.WHITE), + 'footer' : (Color.BLACK, Color.LIGHT_GRAY), + 'footer_contrast' : (Color.WHITE, Background.COLOR), + 'starred' : (Color.LIGHT_RED__BOLD, Background.COLOR), + 'unread_count' : (Color.YELLOW, Background.COLOR), + 'starred_count' : (Color.LIGHT_GRAY, Background.COLOR), + 'table_head' : (Color.WHITE__BOLD, Background.COLOR), + 'filter_results' : (Color.WHITE, Color.DARK_GREEN), + 'edit_topic' : (Color.WHITE, Color.DARK_GRAY), + 'edit_tag' : (Color.WHITE, Color.DARK_GRAY), + 'edit_author' : (Color.YELLOW, Background.COLOR), + 'edit_time' : (Color.LIGHT_BLUE, Background.COLOR), + 'current_user' : (Color.WHITE, Background.COLOR), + 'muted' : (Color.LIGHT_BLUE, Background.COLOR), + 'popup_border' : (Color.WHITE, Background.COLOR), + 'popup_category' : (Color.LIGHT_BLUE__BOLD, Background.COLOR), + 'popup_contrast' : (Color.WHITE, Color.DARK_GRAY), + 'popup_important' : (Color.LIGHT_RED__BOLD, Background.COLOR), + 'widget_disabled' : (Color.DARK_GRAY, Background.COLOR), + 'area:help' : (Color.WHITE, Color.DARK_GREEN), + 'area:msg' : (Color.WHITE, Color.BROWN), + 'area:stream' : (Color.WHITE, Color.DARK_CYAN), + 'area:error' : (Color.WHITE, Color.DARK_RED), + 'area:user' : (Color.WHITE, Color.DARK_BLUE), + 'search_error' : (Color.LIGHT_RED, Background.COLOR), + 'task:success' : (Color.WHITE, Color.DARK_GREEN), + 'task:error' : (Color.WHITE, Color.DARK_RED), + 'task:warning' : (Color.WHITE, Color.BROWN), + 'ui_code' : (Color.BLACK, Color.WHITE), } META = { - 'background': Color.DARK0_HARD, + 'background': Color.BLACK, 'pygments': { - 'styles' : SolarizedDarkStyle().styles, - 'background': 'h236', + 'styles' : MaterialStyle().styles, + 'background': 'h235', 'overrides' : { - 'c' : '#586e75, italics', # base01 - 'cp' : '#d33682', # magenta - 'cpf' : '#586e75', # base01 - 'ge' : '#839496, italics', # base0 - 'gh' : '#839496, bold', # base0 - 'gu' : '#839496, underline', # base0 - 'gp' : '#268bd2, bold', # blue - 'gs' : '#839496, bold', # base0 - 'err' : '#dc322f', # red - 'n' : '#bdae93', # gruvbox: light4 - 'p' : '#bdae93', # gruvbox: light4 - 'w' : '#bdae93', # gruvbox: light4 + 'kn' : MaterialStyle().cyan + ', italics', + 'sd' : MaterialStyle().faded + ', italics', + 'ow' : MaterialStyle().cyan + ', italics', + 'c' : MaterialStyle().faded + ', italics', + 'n' : MaterialStyle().paleblue, + 'no' : MaterialStyle().paleblue, + 'nx' : MaterialStyle().paleblue, + 'w' : MaterialStyle().paleblue, # inline/plain-codeblock } } } diff --git a/zulipterminal/themes/gruvbox_dark_high_contrast.py b/zulipterminal/themes/gruvbox_dark_high_contrast.py new file mode 100644 index 0000000000..c41cc6fc8b --- /dev/null +++ b/zulipterminal/themes/gruvbox_dark_high_contrast.py @@ -0,0 +1,101 @@ +""" +GRUVBOX DARK HIGH CONTRAST +-------------------------- + +For syntax highlighting, this theme uses the solarized dark 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 SolarizedDarkStyle + +from zulipterminal.config.color import Background +from zulipterminal.themes.colors_gruvbox import DefaultBoldColor as Color + + +# fmt: off + +STYLES = { + # style_name : foreground background + None : (Color.LIGHT2, Background.COLOR), + 'selected' : (Color.DARK0_HARD, Color.NEUTRAL_BLUE), + 'msg_selected' : (Color.DARK0_HARD, Color.NEUTRAL_BLUE), + 'header' : (Color.NEUTRAL_BLUE, Color.BRIGHT_BLUE), + 'general_narrow' : (Color.DARK0_HARD, Color.BRIGHT_BLUE), + 'general_bar' : (Color.LIGHT2, Background.COLOR), + 'msg_sender' : (Color.NEUTRAL_YELLOW__BOLD, Background.COLOR), + 'unread' : (Color.NEUTRAL_PURPLE, Background.COLOR), + 'user_active' : (Color.BRIGHT_GREEN, Background.COLOR), + 'user_idle' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'user_offline' : (Color.LIGHT2, Background.COLOR), + 'user_inactive' : (Color.LIGHT2, Background.COLOR), + 'user_bot' : (Color.LIGHT2, Background.COLOR), + 'title' : (Color.LIGHT2__BOLD, Background.COLOR), + 'column_title' : (Color.LIGHT2__BOLD, Background.COLOR), + 'time' : (Color.BRIGHT_BLUE, Background.COLOR), + 'bar' : (Color.LIGHT2, Color.GRAY_244), + 'msg_emoji' : (Color.NEUTRAL_PURPLE, Background.COLOR), + 'reaction' : (Color.NEUTRAL_PURPLE__BOLD, Background.COLOR), + 'reaction_mine' : (Color.DARK0_HARD, Color.NEUTRAL_PURPLE), + 'msg_heading' : (Color.DARK0_HARD__BOLD, Color.BRIGHT_GREEN), + 'msg_math' : (Color.DARK0_HARD, Color.GRAY_244), + 'msg_mention' : (Color.BRIGHT_RED__BOLD, Background.COLOR), + 'msg_link' : (Color.BRIGHT_BLUE, Background.COLOR), + 'msg_link_index' : (Color.BRIGHT_BLUE__BOLD, Background.COLOR), + 'msg_quote' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'msg_bold' : (Color.LIGHT2__BOLD, Background.COLOR), + 'msg_time' : (Color.DARK0_HARD, Color.LIGHT2), + 'footer' : (Color.DARK0_HARD, Color.LIGHT4), + 'footer_contrast' : (Color.LIGHT2, Background.COLOR), + 'starred' : (Color.BRIGHT_RED__BOLD, Background.COLOR), + 'unread_count' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'starred_count' : (Color.LIGHT4, Background.COLOR), + 'table_head' : (Color.LIGHT2__BOLD, Background.COLOR), + 'filter_results' : (Color.DARK0_HARD, Color.BRIGHT_GREEN), + 'edit_topic' : (Color.DARK0_HARD, Color.GRAY_244), + 'edit_tag' : (Color.DARK0_HARD, Color.GRAY_244), + 'edit_author' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'edit_time' : (Color.BRIGHT_BLUE, Background.COLOR), + 'current_user' : (Color.LIGHT2, Background.COLOR), + 'muted' : (Color.BRIGHT_BLUE, Background.COLOR), + 'popup_border' : (Color.LIGHT2, Background.COLOR), + 'popup_category' : (Color.BRIGHT_BLUE__BOLD, Background.COLOR), + 'popup_contrast' : (Color.DARK0_HARD, Color.GRAY_244), + 'popup_important' : (Color.BRIGHT_RED__BOLD, Background.COLOR), + 'widget_disabled' : (Color.GRAY_244, Background.COLOR), + 'area:help' : (Color.DARK0_HARD, Color.BRIGHT_GREEN), + 'area:msg' : (Color.DARK0_HARD, Color.NEUTRAL_PURPLE), + 'area:stream' : (Color.DARK0_HARD, Color.BRIGHT_BLUE), + 'area:error' : (Color.DARK0_HARD, Color.BRIGHT_RED), + 'area:user' : (Color.DARK0_HARD, Color.BRIGHT_YELLOW), + 'search_error' : (Color.BRIGHT_RED, Background.COLOR), + 'task:success' : (Color.DARK0_HARD, Color.BRIGHT_GREEN), + 'task:error' : (Color.DARK0_HARD, Color.BRIGHT_RED), + 'task:warning' : (Color.DARK0_HARD, Color.NEUTRAL_PURPLE), + 'ui_code' : (Color.DARK0_HARD, Color.LIGHT2), +} + +META = { + 'background': Color.DARK0_HARD, + 'pygments': { + 'styles' : SolarizedDarkStyle().styles, + 'background': 'h236', + 'overrides' : { + 'c' : '#586e75, italics', # base01 + 'cp' : '#d33682', # magenta + 'cpf' : '#586e75', # base01 + 'ge' : '#839496, italics', # base0 + 'gh' : '#839496, bold', # base0 + 'gu' : '#839496, underline', # base0 + 'gp' : '#268bd2, bold', # blue + 'gs' : '#839496, bold', # base0 + 'err' : '#dc322f', # red + 'n' : '#bdae93', # gruvbox: light4 + 'p' : '#bdae93', # gruvbox: light4 + 'w' : '#bdae93', # gruvbox: light4 + } + } +} +# fmt: on diff --git a/zulipterminal/themes/gruvbox_dark_low_contrast.py b/zulipterminal/themes/gruvbox_dark_low_contrast.py new file mode 100644 index 0000000000..7ce64f3bed --- /dev/null +++ b/zulipterminal/themes/gruvbox_dark_low_contrast.py @@ -0,0 +1,101 @@ +""" +GRUVBOX DARK LOW CONTRAST +-------------------------- + +For syntax highlighting, this theme uses the solarized dark 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 SolarizedDarkStyle + +from zulipterminal.config.color import Background +from zulipterminal.themes.colors_gruvbox import DefaultBoldColor as Color + + +# fmt: off + +STYLES = { + # style_name : foreground background + None : (Color.GRAY_244, Background.COLOR), + 'selected' : (Color.DARK1, Color.NEUTRAL_BLUE), + 'msg_selected' : (Color.DARK1, Color.NEUTRAL_BLUE), + 'header' : (Color.NEUTRAL_BLUE, Color.BRIGHT_BLUE), + 'general_narrow' : (Color.DARK1, Color.BRIGHT_BLUE), + 'general_bar' : (Color.GRAY_244, Background.COLOR), + 'msg_sender' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'unread' : (Color.NEUTRAL_PURPLE, Background.COLOR), + 'user_active' : (Color.BRIGHT_GREEN, Background.COLOR), + 'user_idle' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'user_offline' : (Color.GRAY_244, Background.COLOR), + 'user_inactive' : (Color.GRAY_244, Background.COLOR), + 'user_bot' : (Color.GRAY_244, Background.COLOR), + 'title' : (Color.GRAY_244, Background.COLOR), + 'column_title' : (Color.GRAY_244, Background.COLOR), + 'time' : (Color.BRIGHT_BLUE, Background.COLOR), + 'bar' : (Color.GRAY_244, Color.GRAY_245), + 'msg_emoji' : (Color.NEUTRAL_PURPLE, Background.COLOR), + 'reaction' : (Color.NEUTRAL_PURPLE, Background.COLOR), + 'reaction_mine' : (Color.DARK1, Color.NEUTRAL_PURPLE), + 'msg_heading' : (Color.DARK1, Color.BRIGHT_GREEN), + 'msg_math' : (Color.DARK1, Color.GRAY_245), + 'msg_mention' : (Color.BRIGHT_RED, Background.COLOR), + 'msg_link' : (Color.BRIGHT_BLUE, Background.COLOR), + 'msg_link_index' : (Color.BRIGHT_BLUE, Background.COLOR), + 'msg_quote' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'msg_bold' : (Color.GRAY_244, Background.COLOR), + 'msg_time' : (Color.DARK1, Color.GRAY_244), + 'footer' : (Color.DARK1, Color.LIGHT4), + 'footer_contrast' : (Color.GRAY_244, Background.COLOR), + 'starred' : (Color.BRIGHT_RED, Background.COLOR), + 'unread_count' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'starred_count' : (Color.LIGHT4, Background.COLOR), + 'table_head' : (Color.GRAY_244, Background.COLOR), + 'filter_results' : (Color.DARK1, Color.BRIGHT_GREEN), + 'edit_topic' : (Color.DARK1, Color.GRAY_245), + 'edit_tag' : (Color.DARK1, Color.GRAY_245), + 'edit_author' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'edit_time' : (Color.BRIGHT_BLUE, Background.COLOR), + 'current_user' : (Color.GRAY_244, Background.COLOR), + 'muted' : (Color.BRIGHT_BLUE, Background.COLOR), + 'popup_border' : (Color.GRAY_244, Background.COLOR), + 'popup_category' : (Color.BRIGHT_BLUE, Background.COLOR), + 'popup_contrast' : (Color.DARK1, Color.GRAY_245), + 'popup_important' : (Color.BRIGHT_RED, Background.COLOR), + 'widget_disabled' : (Color.GRAY_245, Background.COLOR), + 'area:help' : (Color.DARK1, Color.BRIGHT_GREEN), + 'area:msg' : (Color.DARK1, Color.NEUTRAL_PURPLE), + 'area:stream' : (Color.DARK1, Color.BRIGHT_BLUE), + 'area:error' : (Color.DARK1, Color.BRIGHT_RED), + 'area:user' : (Color.DARK1, Color.BRIGHT_YELLOW), + 'search_error' : (Color.BRIGHT_RED, Background.COLOR), + 'task:success' : (Color.DARK1, Color.BRIGHT_GREEN), + 'task:error' : (Color.DARK1, Color.BRIGHT_RED), + 'task:warning' : (Color.DARK1, Color.NEUTRAL_PURPLE), + 'ui_code' : (Color.DARK1, Color.GRAY_244), +} + +META = { + 'background': Color.DARK1, + 'pygments': { + 'styles' : SolarizedDarkStyle().styles, + 'background': 'h237', + 'overrides' : { + 'c' : '#586e75, italics', # base01 + 'cp' : '#d33682', # magenta + 'cpf' : '#586e75', # base01 + 'ge' : '#839496, italics', # base0 + 'gh' : '#839496, bold', # base0 + 'gu' : '#839496, underline', # base0 + 'gp' : '#268bd2, bold', # blue + 'gs' : '#839496, bold', # base0 + 'err' : '#dc322f', # red + 'n' : '#bdae93', # gruvbox: light4 + 'p' : '#bdae93', # gruvbox: light4 + 'w' : '#bdae93', # gruvbox: light4 + } + } +} +# fmt: on diff --git a/zulipterminal/themes/gruvbox_light_high_contrast.py b/zulipterminal/themes/gruvbox_light_high_contrast.py new file mode 100644 index 0000000000..11a8bea8af --- /dev/null +++ b/zulipterminal/themes/gruvbox_light_high_contrast.py @@ -0,0 +1,99 @@ +""" +CUSTOM HIGH CONTRAST +--------------------- + +This theme is inspired by the observed colors in the provided screenshot. +It uses a high-contrast color palette for better readability. + +For further details on themefiles look at the theme contribution guide. +""" +from pygments.styles.solarized import SolarizedLightStyle + +from zulipterminal.config.color import Background +from zulipterminal.themes.colors_gruvbox import DefaultBoldColor as Color + + +# fmt: off + +STYLES = { + # style_name : foreground background + None : (Color.DARK0_HARD, Background.COLOR), + 'selected' : (Color.LIGHT0_HARD, Color.BRIGHT_YELLOW), + 'msg_selected' : (Color.LIGHT0_HARD, Color.BRIGHT_YELLOW), + 'header' : (Color.BRIGHT_ORANGE, Color.DARK0_HARD), + 'general_narrow' : (Color.LIGHT0_HARD, Color.DARK0_HARD), + 'general_bar' : (Color.DARK0_HARD, Background.COLOR), + 'msg_sender' : (Color.BRIGHT_GREEN, Background.COLOR), + 'unread' : (Color.BRIGHT_RED, Background.COLOR), + 'user_active' : (Color.BRIGHT_GREEN, Background.COLOR), + 'user_idle' : (Color.BRIGHT_YELLOW, Background.COLOR), + 'user_offline' : (Color.DARK0_HARD, Background.COLOR), + 'user_inactive' : (Color.DARK0_HARD, Background.COLOR), + 'user_bot' : (Color.DARK0_HARD, Background.COLOR), + 'title' : (Color.DARK0_HARD, Background.COLOR), + 'column_title' : (Color.DARK0_HARD, Background.COLOR), + 'time' : (Color.BRIGHT_BLUE, Background.COLOR), + 'bar' : (Color.DARK0_HARD, Color.GRAY_244), + 'msg_emoji' : (Color.BRIGHT_PURPLE, Background.COLOR), + 'reaction' : (Color.BRIGHT_PURPLE, Background.COLOR), + 'reaction_mine' : (Color.LIGHT0_HARD, Color.BRIGHT_PURPLE), + 'msg_heading' : (Color.LIGHT0_HARD, Color.BRIGHT_GREEN), + 'msg_math' : (Color.LIGHT0_HARD, Color.GRAY_244), + 'msg_mention' : (Color.BRIGHT_RED, Background.COLOR), + 'msg_link' : (Color.BRIGHT_BLUE, Background.COLOR), + 'msg_link_index' : (Color.BRIGHT_BLUE, Background.COLOR), + 'msg_quote' : (Color.BRIGHT_YELLOW, Background.COLOR), + 'msg_bold' : (Color.DARK0_HARD, Background.COLOR), + 'msg_time' : (Color.LIGHT0_HARD, Color.DARK0_HARD), + 'footer' : (Color.LIGHT0_HARD, Color.DARK2), + 'footer_contrast' : (Color.DARK0_HARD, Background.COLOR), + 'starred' : (Color.BRIGHT_RED, Background.COLOR), + 'unread_count' : (Color.BRIGHT_YELLOW, Background.COLOR), + 'starred_count' : (Color.DARK2, Background.COLOR), + 'table_head' : (Color.DARK0_HARD, Background.COLOR), + 'filter_results' : (Color.LIGHT0_HARD, Color.BRIGHT_GREEN), + 'edit_topic' : (Color.LIGHT0_HARD, Color.GRAY_244), + 'edit_tag' : (Color.LIGHT0_HARD, Color.GRAY_244), + 'edit_author' : (Color.BRIGHT_YELLOW, Background.COLOR), + 'edit_time' : (Color.BRIGHT_BLUE, Background.COLOR), + 'current_user' : (Color.DARK0_HARD, Background.COLOR), + 'muted' : (Color.BRIGHT_BLUE, Background.COLOR), + 'popup_border' : (Color.DARK0_HARD, Background.COLOR), + 'popup_category' : (Color.BRIGHT_BLUE, Background.COLOR), + 'popup_contrast' : (Color.LIGHT0_HARD, Color.GRAY_244), + 'popup_important' : (Color.BRIGHT_RED, Background.COLOR), + 'widget_disabled' : (Color.GRAY_244, Background.COLOR), + 'area:help' : (Color.LIGHT0_HARD, Color.BRIGHT_GREEN), + 'area:msg' : (Color.LIGHT0_HARD, Color.BRIGHT_PURPLE), + 'area:stream' : (Color.LIGHT0_HARD, Color.BRIGHT_BLUE), + 'area:error' : (Color.LIGHT0_HARD, Color.BRIGHT_RED), + 'area:user' : (Color.LIGHT0_HARD, Color.BRIGHT_YELLOW), + 'search_error' : (Color.BRIGHT_RED, Background.COLOR), + 'task:success' : (Color.LIGHT0_HARD, Color.BRIGHT_GREEN), + 'task:error' : (Color.LIGHT0_HARD, Color.BRIGHT_RED), + 'task:warning' : (Color.LIGHT0_HARD, Color.BRIGHT_PURPLE), + 'ui_code' : (Color.LIGHT0_HARD, Color.DARK0_HARD), +} + +META = { + 'background': Color.LIGHT0_HARD, + 'pygments': { + 'styles' : SolarizedLightStyle().styles, + 'background': '#ffffff', + 'overrides' : { + 'c' : '#586e75, italics', # base01 + 'cp' : '#d33682', # magenta + 'cpf' : '#586e75', # base01 + 'ge' : '#839496, italics', # base0 + 'gh' : '#839496, bold', # base0 + 'gu' : '#839496, underline', # base0 + 'gp' : '#268bd2, bold', # blue + 'gs' : '#839496, bold', # base0 + 'err' : '#dc322f', # red + 'n' : '#bdae93', # gruvbox: light4 + 'p' : '#bdae93', # gruvbox: light4 + 'w' : '#bdae93', # gruvbox: light4 + } + } +} +# fmt: on diff --git a/zulipterminal/themes/gruvbox_light_low_contrast.py b/zulipterminal/themes/gruvbox_light_low_contrast.py new file mode 100644 index 0000000000..8552881671 --- /dev/null +++ b/zulipterminal/themes/gruvbox_light_low_contrast.py @@ -0,0 +1,101 @@ +""" +GRUVBOX LIGHT LOW CONTRAST +--------------------------- + +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.config.color import Background +from zulipterminal.themes.colors_gruvbox import DefaultBoldColor as Color + + +# fmt: off + +STYLES = { + # style_name : foreground background + None : (Color.LIGHT4, Background.COLOR), + 'selected' : (Color.LIGHT1, Color.NEUTRAL_BLUE), + 'msg_selected' : (Color.LIGHT1, Color.NEUTRAL_BLUE), + 'header' : (Color.NEUTRAL_BLUE, Color.BRIGHT_BLUE), + 'general_narrow' : (Color.LIGHT1, Color.BRIGHT_BLUE), + 'general_bar' : (Color.LIGHT4, Background.COLOR), + 'msg_sender' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'unread' : (Color.NEUTRAL_PURPLE, Background.COLOR), + 'user_active' : (Color.BRIGHT_GREEN, Background.COLOR), + 'user_idle' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'user_offline' : (Color.LIGHT4, Background.COLOR), + 'user_inactive' : (Color.LIGHT4, Background.COLOR), + 'user_bot' : (Color.LIGHT4, Background.COLOR), + 'title' : (Color.LIGHT4, Background.COLOR), + 'column_title' : (Color.LIGHT4, Background.COLOR), + 'time' : (Color.BRIGHT_BLUE, Background.COLOR), + 'bar' : (Color.LIGHT4, Color.GRAY_245), + 'msg_emoji' : (Color.NEUTRAL_PURPLE, Background.COLOR), + 'reaction' : (Color.NEUTRAL_PURPLE, Background.COLOR), + 'reaction_mine' : (Color.LIGHT1, Color.NEUTRAL_PURPLE), + 'msg_heading' : (Color.LIGHT1, Color.BRIGHT_GREEN), + 'msg_math' : (Color.LIGHT1, Color.GRAY_245), + 'msg_mention' : (Color.BRIGHT_RED, Background.COLOR), + 'msg_link' : (Color.BRIGHT_BLUE, Background.COLOR), + 'msg_link_index' : (Color.BRIGHT_BLUE, Background.COLOR), + 'msg_quote' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'msg_bold' : (Color.LIGHT4, Background.COLOR), + 'msg_time' : (Color.LIGHT1, Color.LIGHT4), + 'footer' : (Color.LIGHT1, Color.LIGHT4), + 'footer_contrast' : (Color.LIGHT4, Background.COLOR), + 'starred' : (Color.BRIGHT_RED, Background.COLOR), + 'unread_count' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'starred_count' : (Color.LIGHT4, Background.COLOR), + 'table_head' : (Color.LIGHT4, Background.COLOR), + 'filter_results' : (Color.LIGHT1, Color.BRIGHT_GREEN), + 'edit_topic' : (Color.LIGHT1, Color.GRAY_245), + 'edit_tag' : (Color.LIGHT1, Color.GRAY_245), + 'edit_author' : (Color.NEUTRAL_YELLOW, Background.COLOR), + 'edit_time' : (Color.BRIGHT_BLUE, Background.COLOR), + 'current_user' : (Color.LIGHT4, Background.COLOR), + 'muted' : (Color.BRIGHT_BLUE, Background.COLOR), + 'popup_border' : (Color.LIGHT4, Background.COLOR), + 'popup_category' : (Color.BRIGHT_BLUE, Background.COLOR), + 'popup_contrast' : (Color.LIGHT1, Color.GRAY_245), + 'popup_important' : (Color.BRIGHT_RED, Background.COLOR), + 'widget_disabled' : (Color.GRAY_245, Background.COLOR), + 'area:help' : (Color.LIGHT1, Color.BRIGHT_GREEN), + 'area:msg' : (Color.LIGHT1, Color.NEUTRAL_PURPLE), + 'area:stream' : (Color.LIGHT1, Color.BRIGHT_BLUE), + 'area:error' : (Color.LIGHT1, Color.BRIGHT_RED), + 'area:user' : (Color.LIGHT1, Color.BRIGHT_YELLOW), + 'search_error' : (Color.BRIGHT_RED, Background.COLOR), + 'task:success' : (Color.LIGHT1, Color.BRIGHT_GREEN), + 'task:error' : (Color.LIGHT1, Color.BRIGHT_RED), + 'task:warning' : (Color.LIGHT1, Color.NEUTRAL_PURPLE), + 'ui_code' : (Color.LIGHT1, Color.LIGHT4), +} + +META = { + 'background': Color.LIGHT1, + 'pygments': { + 'styles' : SolarizedLightStyle().styles, + 'background': 'h223', + 'overrides' : { + 'c' : '#586e75, italics', # base01 + 'cp' : '#d33682', # magenta + 'cpf' : '#586e75', # base01 + 'ge' : '#839496, italics', # base0 + 'gh' : '#839496, bold', # base0 + 'gu' : '#839496, underline', # base0 + 'gp' : '#268bd2, bold', # blue + 'gs' : '#839496, bold', # base0 + 'err' : '#dc322f', # red + 'n' : '#bdae93', # gruvbox: light4 + 'p' : '#bdae93', # gruvbox: light4 + 'w' : '#bdae93', # gruvbox: light4 + } + } +} +# fmt: on diff --git a/zulipterminal/themes/zt_dark.py b/zulipterminal/themes/zt_dark.py index 447abd7438..e68d10711b 100644 --- a/zulipterminal/themes/zt_dark.py +++ b/zulipterminal/themes/zt_dark.py @@ -1,90 +1,97 @@ """ -ZT DARK -------- -This theme uses the default color scheme. +CUSTOM HIGH CONTRAST +--------------------- + +This theme is inspired by the observed colors in the provided screenshot. +It uses a high-contrast color palette for better readability. + For further details on themefiles look at the theme contribution guide. """ -from pygments.styles.material import MaterialStyle +from pygments.styles.solarized import SolarizedLightStyle -from zulipterminal.config.color import Background -from zulipterminal.config.color import DefaultBoldColor as Color +from zulipterminal.themes.colors_gruvbox import DefaultBoldColor as Color # fmt: off + STYLES = { - # style_name : foreground background - None : (Color.WHITE, Background.COLOR), - 'selected' : (Color.WHITE, Color.DARK_BLUE), - 'msg_selected' : (Color.WHITE, Color.DARK_BLUE), - 'header' : (Color.DARK_CYAN, Color.DARK_BLUE), - 'general_narrow' : (Color.WHITE, Color.DARK_BLUE), - 'general_bar' : (Color.WHITE, Background.COLOR), - 'msg_sender' : (Color.YELLOW__BOLD, Background.COLOR), - 'unread' : (Color.DARK_BLUE, Background.COLOR), - 'user_active' : (Color.LIGHT_GREEN, Background.COLOR), - 'user_idle' : (Color.YELLOW, Background.COLOR), - 'user_offline' : (Color.WHITE, Background.COLOR), - 'user_inactive' : (Color.WHITE, Background.COLOR), - 'user_bot' : (Color.WHITE, Background.COLOR), - 'title' : (Color.WHITE__BOLD, Background.COLOR), - 'column_title' : (Color.WHITE__BOLD, Background.COLOR), - 'time' : (Color.LIGHT_BLUE, Background.COLOR), - 'bar' : (Color.WHITE, Color.DARK_GRAY), - 'msg_emoji' : (Color.LIGHT_MAGENTA, Background.COLOR), - 'reaction' : (Color.LIGHT_MAGENTA__BOLD, Background.COLOR), - 'reaction_mine' : (Color.BLACK, Color.LIGHT_MAGENTA), - 'msg_heading' : (Color.LIGHT_CYAN__BOLD, Color.DARK_MAGENTA), - 'msg_math' : (Color.LIGHT_GRAY, Color.DARK_GRAY), - 'msg_mention' : (Color.LIGHT_RED__BOLD, Background.COLOR), - 'msg_link' : (Color.LIGHT_BLUE, Background.COLOR), - 'msg_link_index' : (Color.LIGHT_BLUE__BOLD, Background.COLOR), - 'msg_quote' : (Color.BROWN, Background.COLOR), - 'msg_bold' : (Color.WHITE__BOLD, Background.COLOR), - 'msg_time' : (Color.BLACK, Color.WHITE), - 'footer' : (Color.BLACK, Color.LIGHT_GRAY), - 'footer_contrast' : (Color.WHITE, Background.COLOR), - 'starred' : (Color.LIGHT_RED__BOLD, Background.COLOR), - 'unread_count' : (Color.YELLOW, Background.COLOR), - 'starred_count' : (Color.LIGHT_GRAY, Background.COLOR), - 'table_head' : (Color.WHITE__BOLD, Background.COLOR), - 'filter_results' : (Color.WHITE, Color.DARK_GREEN), - 'edit_topic' : (Color.WHITE, Color.DARK_GRAY), - 'edit_tag' : (Color.WHITE, Color.DARK_GRAY), - 'edit_author' : (Color.YELLOW, Background.COLOR), - 'edit_time' : (Color.LIGHT_BLUE, Background.COLOR), - 'current_user' : (Color.WHITE, Background.COLOR), - 'muted' : (Color.LIGHT_BLUE, Background.COLOR), - 'popup_border' : (Color.WHITE, Background.COLOR), - 'popup_category' : (Color.LIGHT_BLUE__BOLD, Background.COLOR), - 'popup_contrast' : (Color.WHITE, Color.DARK_GRAY), - 'popup_important' : (Color.LIGHT_RED__BOLD, Background.COLOR), - 'widget_disabled' : (Color.DARK_GRAY, Background.COLOR), - 'area:help' : (Color.WHITE, Color.DARK_GREEN), - 'area:msg' : (Color.WHITE, Color.BROWN), - 'area:stream' : (Color.WHITE, Color.DARK_CYAN), - 'area:error' : (Color.WHITE, Color.DARK_RED), - 'area:user' : (Color.WHITE, Color.DARK_BLUE), - 'search_error' : (Color.LIGHT_RED, Background.COLOR), - 'task:success' : (Color.WHITE, Color.DARK_GREEN), - 'task:error' : (Color.WHITE, Color.DARK_RED), - 'task:warning' : (Color.WHITE, Color.BROWN), - 'ui_code' : (Color.BLACK, Color.WHITE), + # style_name : foreground background + None : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'selected' : (Color.LIGHT0_HARD, Color.BRIGHT_YELLOW), + 'msg_selected' : (Color.LIGHT0_HARD, Color.BRIGHT_YELLOW), + 'header' : (Color.BRIGHT_ORANGE, Color.DARK0_HARD), + 'general_narrow' : (Color.LIGHT0_HARD, Color.DARK0_HARD), + 'general_bar' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'msg_sender' : (Color.BRIGHT_GREEN, Color.LIGHT0_HARD), + 'unread' : (Color.BRIGHT_RED, Color.LIGHT0_HARD), + 'user_active' : (Color.BRIGHT_GREEN, Color.LIGHT0_HARD), + 'user_idle' : (Color.BRIGHT_YELLOW, Color.LIGHT0_HARD), + 'user_offline' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'user_inactive' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'user_bot' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'title' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'column_title' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'time' : (Color.BRIGHT_BLUE, Color.LIGHT0_HARD), + 'bar' : (Color.DARK0_HARD, Color.GRAY_244), + 'msg_emoji' : (Color.BRIGHT_PURPLE, Color.LIGHT0_HARD), + 'reaction' : (Color.BRIGHT_PURPLE, Color.LIGHT0_HARD), + 'reaction_mine' : (Color.LIGHT0_HARD, Color.BRIGHT_PURPLE), + 'msg_heading' : (Color.LIGHT0_HARD, Color.BRIGHT_GREEN), + 'msg_math' : (Color.LIGHT0_HARD, Color.GRAY_244), + 'msg_mention' : (Color.BRIGHT_RED, Color.LIGHT0_HARD), + 'msg_link' : (Color.BRIGHT_BLUE, Color.LIGHT0_HARD), + 'msg_link_index' : (Color.BRIGHT_BLUE, Color.LIGHT0_HARD), + 'msg_quote' : (Color.BRIGHT_YELLOW, Color.LIGHT0_HARD), + 'msg_bold' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'msg_time' : (Color.LIGHT0_HARD, Color.DARK0_HARD), + 'footer' : (Color.LIGHT0_HARD, Color.DARK2), + 'footer_contrast' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'starred' : (Color.BRIGHT_RED, Color.LIGHT0_HARD), + 'unread_count' : (Color.BRIGHT_YELLOW, Color.LIGHT0_HARD), + 'starred_count' : (Color.DARK2, Color.LIGHT0_HARD), + 'table_head' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'filter_results' : (Color.LIGHT0_HARD, Color.BRIGHT_GREEN), + 'edit_topic' : (Color.LIGHT0_HARD, Color.GRAY_244), + 'edit_tag' : (Color.LIGHT0_HARD, Color.GRAY_244), + 'edit_author' : (Color.BRIGHT_YELLOW, Color.LIGHT0_HARD), + 'edit_time' : (Color.BRIGHT_BLUE, Color.LIGHT0_HARD), + 'current_user' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'muted' : (Color.BRIGHT_BLUE, Color.LIGHT0_HARD), + 'popup_border' : (Color.DARK0_HARD, Color.LIGHT0_HARD), + 'popup_category' : (Color.BRIGHT_BLUE, Color.LIGHT0_HARD), + 'popup_contrast' : (Color.LIGHT0_HARD, Color.GRAY_244), + 'popup_important' : (Color.BRIGHT_RED, Color.LIGHT0_HARD), + 'widget_disabled' : (Color.GRAY_244, Color.LIGHT0_HARD), + 'area:help' : (Color.LIGHT0_HARD, Color.BRIGHT_GREEN), + 'area:msg' : (Color.LIGHT0_HARD, Color.BRIGHT_PURPLE), + 'area:stream' : (Color.LIGHT0_HARD, Color.BRIGHT_BLUE), + 'area:error' : (Color.LIGHT0_HARD, Color.BRIGHT_RED), + 'area:user' : (Color.LIGHT0_HARD, Color.BRIGHT_YELLOW), + 'search_error' : (Color.BRIGHT_RED, Color.LIGHT0_HARD), + 'task:success' : (Color.LIGHT0_HARD, Color.BRIGHT_GREEN), + 'task:error' : (Color.LIGHT0_HARD, Color.BRIGHT_RED), + 'task:warning' : (Color.LIGHT0_HARD, Color.BRIGHT_PURPLE), + 'ui_code' : (Color.LIGHT0_HARD, Color.DARK0_HARD), } META = { - 'background': Color.BLACK, + 'background': Color.LIGHT0_HARD, 'pygments': { - 'styles' : MaterialStyle().styles, - 'background': 'h235', + 'styles' : SolarizedLightStyle().styles, + 'background': '#ffffff', 'overrides' : { - 'kn' : MaterialStyle().cyan + ', italics', - 'sd' : MaterialStyle().faded + ', italics', - 'ow' : MaterialStyle().cyan + ', italics', - 'c' : MaterialStyle().faded + ', italics', - 'n' : MaterialStyle().paleblue, - 'no' : MaterialStyle().paleblue, - 'nx' : MaterialStyle().paleblue, - 'w' : MaterialStyle().paleblue, # inline/plain-codeblock + 'c' : '#586e75, italics', # base01 + 'cp' : '#d33682', # magenta + 'cpf' : '#586e75', # base01 + 'ge' : '#839496, italics', # base0 + 'gh' : '#839496, bold', # base0 + 'gu' : '#839496, underline', # base0 + 'gp' : '#268bd2, bold', # blue + 'gs' : '#839496, bold', # base0 + 'err' : '#dc322f', # red + 'n' : '#bdae93', # gruvbox: light4 + 'p' : '#bdae93', # gruvbox: light4 + 'w' : '#bdae93', # gruvbox: light4 } } }