forked from doomemacs/themes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
doom-dark+-theme.el
222 lines (190 loc) · 8.46 KB
/
doom-dark+-theme.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
;;; doom-dark+-theme.el --- inspired by dark+ Theme by equinusocio -*- no-byte-compile: t; -*-
(require 'doom-themes)
;;
(defgroup doom-dark+-theme nil
"Options for doom-themes"
:group 'doom-themes)
(defcustom doom-dark+-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line.
Can be an integer to determine the exact padding."
:group 'doom-dark+-theme
:type '(choice integer boolean))
(defcustom doom-dark+-blue-modeline nil
"If non-nil, mode-line's color will be blue instead of the default purple."
:group 'doom-dark+-theme
:type '(choice integer boolean))
;;
(def-doom-theme doom-dark+
"A dark theme inspired by dark+ Theme by equinusocio"
;; name default 256 16
((bg '("#1e1e1e" "#1e1e1e" nil))
(bg-alt '("#252526" "#222222" nil))
(base0 '("#171F24" "#111122" "black"))
(base1 '("#1C1C1C" "#1C1C1C" "brightblack"))
(base2 '("#121212" "#626262" "brightblack"))
(base3 '("#313131" "#3a3a3a" "brightblack"))
(base4 '("#4b474c" "#444444" "brightblack"))
(base5 '("#37474F" "#585858" "brightblack"))
(base6 '("#237AD3" "#2277DD" "brightblack"))
(base7 '("#777778" "#767676" "brightblack"))
(base8 '("#f4f4f4" "#a8a8a8" "white"))
(fg '("#d4d4d4" "#e4e4e4" "brightwhite"))
(fg-alt '("#AEAFAD" "#bcbcbc" "white"))
(grey base7)
(red '("#D16969" "#DD6666" "red"))
(orange '("#DB8E73" "#DD8877" "brightred"))
(green '("#579C4C" "#559944" "green"))
(light-green '("#B5CEA8" "#BBCCAA" "green"))
(teal '("#35CDAF" "#33CCAA" "brightgreen"))
(yellow '("#D7BA7D" "#DDBB77" "brightyellow"))
(light-yellow '("#D9DAA2" "#DDDDAA" "brightyellow"))
(blue '("#339CDB" "#3399DD" "brightblue"))
(dark-blue '("#124F7B" "#114477" "blue"))
(magenta '("#C586C0" "#CC88CC" "brightmagenta"))
(violet '("#BB80B3" "#BB88BB" "magenta"))
(dark-violet '("#68217A" "#662277" "magenta"))
(cyan '("#85DDFF" "#5FD7FF" "brightcyan"))
(dark-cyan '("#207FA1" "#2277AA" "cyan"))
;; face categories -- required for all themes
(highlight base6)
(vertical-bar bg-alt)
(selection base4)
(builtin magenta)
(comments green)
(doc-comments base7)
(constants blue)
(functions light-yellow)
(keywords blue)
(methods light-yellow)
(operators cyan)
(type teal)
(strings orange)
(variables cyan)
(numbers light-green)
(region (doom-darken base6 0.5))
(error red)
(warning yellow)
(success green)
(vc-modified blue)
(vc-added green)
(vc-deleted red)
;; custom categories
(modeline-bg (if doom-dark+-blue-modeline base6 dark-violet))
(modeline-bg-alt (doom-darken bg 0.01))
(modeline-fg base8)
(modeline-fg-alt blue)
(-modeline-pad
(when doom-dark+-padded-modeline
(if (integerp doom-dark+-padded-modeline) doom-dark+-padded-modeline 4))))
;; --- base faces ------------------------
((highlight :background highlight :foreground base8 :distant-foreground base8)
((lazy-highlight &override) :background base4 :foreground fg :distant-foreground fg :bold bold)
(doom-modeline-buffer-path :foreground green :weight 'bold)
(doom-modeline-buffer-major-mode :inherit 'doom-modeline-buffer-path)
(mode-line
:background modeline-bg :foreground modeline-fg
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-alt :foreground modeline-fg-alt
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt)))
(mode-line-emphasis
:foreground fg
:weight 'bold)
(solaire-mode-line-face
:background modeline-bg :foreground modeline-fg
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
(solaire-mode-line-inactive-face
:background modeline-bg-alt :foreground modeline-fg-alt
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt)))
(fringe :background bg-alt)
;; --- major-mode faces ------------------------
;; all-the-icons
(all-the-icons-dblue :foreground blue)
;; man-mode
(Man-overstrike :inherit 'bold :foreground magenta)
(Man-underline :inherit 'underline :foreground blue)
;; centaur-tabs
(centaur-tabs-active-bar-face :background base6)
(centaur-tabs-selected-modified :inherit 'centaur-tabs-selected
:foreground fg
:weight 'bold)
(centaur-tabs-unselected-modified :inherit 'centaur-tabs-unselected
:foreground fg
:weight 'bold)
(centaur-tabs-modified-marker-selected :inherit 'centaur-tabs-selected
:foreground fg)
(centaur-tabs-modified-marker-unselected :inherit 'centaur-tabs-unselected
:foreground fg)
;; dashboard
(dashboard-heading :foreground green :weight 'bold)
;; doom-modeline
(doom-modeline-bar :background (if doom-dark+-blue-modeline base6 dark-violet))
(doom-modeline-info :inherit 'mode-line-emphasis)
(doom-modeline-urgent :inherit 'mode-line-emphasis)
(doom-modeline-warning :inherit 'mode-line-emphasis)
(doom-modeline-debug :inherit 'mode-line-emphasis)
(doom-modeline-buffer-minor-mode :inherit 'mode-line-emphasis :weight 'bold)
(doom-modeline-project-dir :inherit 'mode-line-emphasis :weight 'bold)
(doom-modeline-project-parent-dir :inherit 'mode-line-emphasis :weight 'bold)
(doom-modeline-persp-name :inherit 'mode-line-emphasis :weight 'bold)
(doom-modeline-buffer-file :inherit 'mode-line-emphasis :weight 'bold)
(doom-modeline-buffer-modified :inherit 'mode-line-emphasis :weight 'bold)
(doom-modeline-lsp-success :inherit 'mode-line-emphasis :weight 'bold)
(doom-modeline-buffer-path :inherit 'mode-line-emphasis :weight 'bold)
(doom-modeline-buffer-project-root :inherit 'mode-line-emphasis)
(doom-modeline-evil-insert-state :foreground cyan)
(doom-modeline-evil-visual-state :foreground yellow)
;; org-mode
((org-block &override) :background base2)
((org-block-background &override) :background base2)
((org-block-begin-line &override) :background base2)
;; --- plugin faces -------------------
;; company
(company-tooltip-selection :background region)
;; css-mode / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground blue)
;; dired-k
(dired-k-commited :foreground base4)
(dired-k-modified :foreground vc-modified)
(dired-k-ignored :foreground cyan)
(dired-k-added :foreground vc-added)
;; ivy
(counsel-active-mode :foreground (doom-lighten base6 0.1))
(ivy-minibuffer-match-face-2 :foreground (doom-lighten base6 0.1) :weight 'extra-bold)
;; js2-mode
(js2-jsdoc-tag :foreground magenta)
(js2-object-property :foreground cyan)
(js2-object-property-access :foreground cyan)
(js2-function-param :foreground violet)
(js2-jsdoc-type :foreground base8)
(js2-jsdoc-value :foreground cyan)
;; lsp-mode
(lsp-lens-face :foreground base7 :height 0.8)
;; rainbow-delimiters
(rainbow-delimiters-depth-1-face :foreground magenta)
(rainbow-delimiters-depth-2-face :foreground orange)
(rainbow-delimiters-depth-3-face :foreground green)
(rainbow-delimiters-depth-4-face :foreground cyan)
(rainbow-delimiters-depth-5-face :foreground violet)
(rainbow-delimiters-depth-6-face :foreground yellow)
(rainbow-delimiters-depth-7-face :foreground blue)
(rainbow-delimiters-depth-8-face :foreground teal)
(rainbow-delimiters-depth-9-face :foreground dark-cyan)
;; org-pomodoro
(org-pomodoro-mode-line :inherit 'mode-line-emphasis) ; unreadable otherwise
(org-pomodoro-mode-line-overtime :inherit 'org-pomodoro-mode-line)
(org-pomodoro-mode-line-break :inherit 'org-pomodoro-mode-line)
;; rjsx-mode
(rjsx-tag :foreground blue)
(rjsx-attr :foreground cyan :slant 'italic :weight 'medium)
;; treemacs
(treemacs-root-face :foreground fg :weight 'ultra-bold :height 1.2)
(doom-themes-treemacs-root-face :foreground fg :weight 'ultra-bold :height 1.2)
(doom-themes-treemacs-file-face :foreground fg)
(treemacs-directory-face :foreground fg)
(treemacs-git-modified-face :foreground blue)
;; tooltip
(tooltip :background base2 :foreground fg)))
(provide 'doom-dark+-theme)