Skip to content

Commit af60bdb

Browse files
committed
nord: Added 16 and 256 color scheme support.
1 parent ea7bf10 commit af60bdb

File tree

2 files changed

+77
-72
lines changed

2 files changed

+77
-72
lines changed

zulipterminal/config/themes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@
8585
# fmt: on
8686

8787
THEMES = {
88-
"nord": nord,
8988
"gruvbox_dark": gruvbox,
89+
"nord": nord,
9090
"zt_dark": zt_dark,
9191
"zt_light": zt_light,
9292
"zt_blue": zt_blue,

zulipterminal/themes/nord.py

+76-71
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
is released.
1111
1212
For further details on themefiles look at the theme contribution guide
13+
14+
NordColor Enum color names are the same as the Nord theme pallete:
15+
https://www.nordtheme.com/docs/colors-and-palettes
16+
1317
"""
1418
from enum import Enum
1519

@@ -19,83 +23,84 @@
1923

2024

2125
# fmt: off
26+
2227
class NordColor(Enum):
2328
DEFAULT = 'default default default'
24-
DARK0_HARD = 'black h234 #2e3440'
25-
GRAY_244 = 'dark_gray h244 #3b4252'
26-
LIGHT2 = 'white h250 #88c0d0'
27-
LIGHT3 = 'light_gray h250 #8fbcbb'
28-
LIGHT4 = 'light_gray h248 #81a1c1'
29-
BRIGHT_BLUE = 'light_blue h109 #83a598'
30-
BRIGHT_GREEN = 'light_green h142 #a3be8c'
31-
BRIGHT_RED = 'light_red h167 #bf616a'
32-
NEUTRAL_PURPLE = 'light_magenta h132 #b48ead'
33-
WHITE = 'white h66 #eceff4'
34-
NEUTRAL_YELLOW = 'yellow h172 #ebcb8b'
35-
FADED_BLUE = 'dark_blue h24 #434c5e'
36-
FADED_YELLOW = 'brown h136 #b57614'
37-
FADED_RED = 'dark_red h88 #d08770'
29+
NORD_0 = 'black h237 #2e3440'
30+
NORD_1 = 'dark_gray h240 #3b4252'
31+
NORD_7 = 'light_blue h153 #88c0d0'
32+
NORD_8 = 'white h159 #8fbcbb'
33+
NORD_9 = 'dark_cyan h147 #81a1c1'
34+
GREENISH = 'light_green h152 #83a598'
35+
NORD_14 = 'dark_green h108 #a3be8c'
36+
NORD_11 = 'dark_red h88 #bf616a'
37+
NORD_15 = 'light_magenta h97 #b48ead'
38+
NORD_6 = 'white h255 #eceff4'
39+
NORD_13 = 'yellow h222 #ebcb8b'
40+
NORD_2 = 'dark_gray h238 #434c5e'
41+
FADED_YELLOW = 'brown h214 #b57614'
42+
NORD_12 = 'light_red h173 #d08770'
3843

3944

4045
Color = color_properties(NordColor, 'BOLD')
4146

4247

4348
STYLES = {
4449
# style_name : foreground background
45-
None : (Color.LIGHT2, Color.DARK0_HARD),
46-
'selected' : (Color.LIGHT2, Color.FADED_BLUE),
47-
'msg_selected' : (Color.LIGHT2, Color.FADED_BLUE),
48-
'header' : (Color.WHITE, Color.FADED_BLUE),
49-
'general_narrow' : (Color.LIGHT2, Color.FADED_BLUE),
50-
'general_bar' : (Color.LIGHT2, Color.DARK0_HARD),
51-
'name' : (Color.WHITE__BOLD, Color.DARK0_HARD),
52-
'unread' : (Color.LIGHT3, Color.DARK0_HARD),
53-
'user_active' : (Color.BRIGHT_GREEN, Color.DARK0_HARD),
54-
'user_idle' : (Color.NEUTRAL_YELLOW, Color.DARK0_HARD),
55-
'user_offline' : (Color.LIGHT2, Color.DARK0_HARD),
56-
'user_inactive' : (Color.LIGHT2, Color.DARK0_HARD),
57-
'title' : (Color.LIGHT2__BOLD, Color.DARK0_HARD),
58-
'column_title' : (Color.LIGHT2__BOLD, Color.DARK0_HARD),
59-
'time' : (Color.BRIGHT_BLUE, Color.DARK0_HARD),
60-
'bar' : (Color.LIGHT2, Color.GRAY_244),
61-
'msg_emoji' : (Color.NEUTRAL_PURPLE, Color.DARK0_HARD),
62-
'reaction' : (Color.NEUTRAL_PURPLE__BOLD, Color.DARK0_HARD),
63-
'reaction_mine' : (Color.DARK0_HARD, Color.NEUTRAL_PURPLE),
64-
'msg_math' : (Color.DARK0_HARD, Color.GRAY_244),
65-
'msg_mention' : (Color.NEUTRAL_PURPLE__BOLD, Color.DARK0_HARD),
66-
'msg_link' : (Color.BRIGHT_BLUE, Color.DARK0_HARD),
67-
'msg_link_index' : (Color.BRIGHT_BLUE__BOLD, Color.DARK0_HARD),
68-
'msg_quote' : (Color.NEUTRAL_YELLOW, Color.DARK0_HARD),
69-
'msg_code' : (Color.DARK0_HARD, Color.LIGHT2),
70-
'msg_bold' : (Color.LIGHT2__BOLD, Color.DARK0_HARD),
71-
'msg_time' : (Color.DARK0_HARD, Color.LIGHT2),
72-
'footer' : (Color.DARK0_HARD, Color.LIGHT4),
73-
'footer_contrast' : (Color.LIGHT2, Color.DARK0_HARD),
74-
'starred' : (Color.BRIGHT_RED__BOLD, Color.DARK0_HARD),
75-
'unread_count' : (Color.LIGHT4, Color.DARK0_HARD),
76-
'starred_count' : (Color.LIGHT4, Color.DARK0_HARD),
77-
'table_head' : (Color.LIGHT2__BOLD, Color.DARK0_HARD),
78-
'filter_results' : (Color.DARK0_HARD, Color.BRIGHT_GREEN),
79-
'edit_topic' : (Color.DARK0_HARD, Color.GRAY_244),
80-
'edit_tag' : (Color.DARK0_HARD, Color.GRAY_244),
81-
'edit_author' : (Color.NEUTRAL_YELLOW, Color.DARK0_HARD),
82-
'edit_time' : (Color.BRIGHT_BLUE, Color.DARK0_HARD),
83-
'current_user' : (Color.LIGHT2, Color.DARK0_HARD),
84-
'muted' : (Color.BRIGHT_BLUE, Color.DARK0_HARD),
85-
'popup_border' : (Color.LIGHT2, Color.DARK0_HARD),
86-
'popup_category' : (Color.BRIGHT_BLUE__BOLD, Color.DARK0_HARD),
87-
'popup_contrast' : (Color.DARK0_HARD, Color.GRAY_244),
88-
'popup_important' : (Color.BRIGHT_RED__BOLD, Color.DARK0_HARD),
89-
'widget_disabled' : (Color.GRAY_244, Color.DARK0_HARD),
90-
'area:help' : (Color.DARK0_HARD, Color.BRIGHT_GREEN),
91-
'area:msg' : (Color.DARK0_HARD, Color.BRIGHT_RED),
92-
'area:stream' : (Color.DARK0_HARD, Color.BRIGHT_BLUE),
93-
'area:error' : (Color.LIGHT2, Color.FADED_RED),
94-
'area:user' : (Color.LIGHT2, Color.FADED_BLUE),
95-
'search_error' : (Color.BRIGHT_RED, Color.DARK0_HARD),
96-
'task:success' : (Color.DARK0_HARD, Color.BRIGHT_GREEN),
97-
'task:error' : (Color.LIGHT2, Color.FADED_RED),
98-
'task:warning' : (Color.DARK0_HARD, Color.BRIGHT_RED),
50+
None : (Color.NORD_7, Color.NORD_0),
51+
'selected' : (Color.NORD_7, Color.NORD_2),
52+
'msg_selected' : (Color.NORD_7, Color.NORD_2),
53+
'header' : (Color.NORD_6, Color.NORD_2),
54+
'general_narrow' : (Color.NORD_7, Color.NORD_2),
55+
'general_bar' : (Color.NORD_7, Color.NORD_0),
56+
'name' : (Color.NORD_6__BOLD, Color.NORD_0),
57+
'unread' : (Color.NORD_8, Color.NORD_0),
58+
'user_active' : (Color.NORD_14, Color.NORD_0),
59+
'user_idle' : (Color.NORD_13, Color.NORD_0),
60+
'user_offline' : (Color.NORD_7, Color.NORD_0),
61+
'user_inactive' : (Color.NORD_7, Color.NORD_0),
62+
'title' : (Color.NORD_7__BOLD, Color.NORD_0),
63+
'column_title' : (Color.NORD_7__BOLD, Color.NORD_0),
64+
'time' : (Color.GREENISH, Color.NORD_0),
65+
'bar' : (Color.NORD_7, Color.NORD_1),
66+
'msg_emoji' : (Color.NORD_15, Color.NORD_0),
67+
'reaction' : (Color.NORD_15__BOLD, Color.NORD_0),
68+
'reaction_mine' : (Color.NORD_0, Color.NORD_15),
69+
'msg_math' : (Color.NORD_0, Color.NORD_1),
70+
'msg_mention' : (Color.NORD_15__BOLD, Color.NORD_0),
71+
'msg_link' : (Color.GREENISH, Color.NORD_0),
72+
'msg_link_index' : (Color.GREENISH__BOLD, Color.NORD_0),
73+
'msg_quote' : (Color.NORD_13, Color.NORD_0),
74+
'msg_code' : (Color.NORD_0, Color.NORD_7),
75+
'msg_bold' : (Color.NORD_7__BOLD, Color.NORD_0),
76+
'msg_time' : (Color.NORD_0, Color.NORD_7),
77+
'footer' : (Color.NORD_0, Color.NORD_9),
78+
'footer_contrast' : (Color.NORD_7, Color.NORD_0),
79+
'starred' : (Color.NORD_11__BOLD, Color.NORD_0),
80+
'unread_count' : (Color.NORD_9, Color.NORD_0),
81+
'starred_count' : (Color.NORD_9, Color.NORD_0),
82+
'table_head' : (Color.NORD_7__BOLD, Color.NORD_0),
83+
'filter_results' : (Color.NORD_0, Color.NORD_14),
84+
'edit_topic' : (Color.NORD_0, Color.NORD_1),
85+
'edit_tag' : (Color.NORD_0, Color.NORD_1),
86+
'edit_author' : (Color.NORD_13, Color.NORD_0),
87+
'edit_time' : (Color.GREENISH, Color.NORD_0),
88+
'current_user' : (Color.NORD_7, Color.NORD_0),
89+
'muted' : (Color.GREENISH, Color.NORD_0),
90+
'popup_border' : (Color.NORD_7, Color.NORD_0),
91+
'popup_category' : (Color.GREENISH__BOLD, Color.NORD_0),
92+
'popup_contrast' : (Color.NORD_0, Color.NORD_1),
93+
'popup_important' : (Color.NORD_11__BOLD, Color.NORD_0),
94+
'widget_disabled' : (Color.NORD_1, Color.NORD_0),
95+
'area:help' : (Color.NORD_0, Color.NORD_14),
96+
'area:msg' : (Color.NORD_0, Color.NORD_11),
97+
'area:stream' : (Color.NORD_0, Color.GREENISH),
98+
'area:error' : (Color.NORD_7, Color.NORD_12),
99+
'area:user' : (Color.NORD_7, Color.NORD_2),
100+
'search_error' : (Color.NORD_11, Color.NORD_0),
101+
'task:success' : (Color.NORD_0, Color.NORD_14),
102+
'task:error' : (Color.NORD_7, Color.NORD_12),
103+
'task:warning' : (Color.NORD_0, Color.NORD_11),
99104
}
100105

101106
META = {
@@ -112,9 +117,9 @@ class NordColor(Enum):
112117
'gp' : '#268bd2, bold', # blue
113118
'gs' : '#839496, bold', # base0
114119
'err' : '#dc322f', # red
115-
'n' : '#bdae93', # gruvbox: light4
116-
'p' : '#bdae93', # gruvbox: light4
117-
'w' : '#bdae93', # gruvbox: light4
120+
'n' : '#bdae93', # gruvbox: NORD_9
121+
'p' : '#bdae93', # gruvbox: NORD_9
122+
'w' : '#bdae93', # gruvbox: NORD_9
118123
}
119124
}
120125
}

0 commit comments

Comments
 (0)