312c2e8a273a1ff193770327f2f071fcba8618e4
[emacs.git] / .emacs.d / elisp / local / solarized.el
1 ;;; solarized.el --- Solarized for Emacs.
2
3 ;; Copyright (C) 2011-2013 Bozhidar Batsov
4
5 ;; Author: Bozhidar Batsov <bozhidar@batsov.com>
6 ;; Author: Thomas Frössman <thomasf@jossystem.se>
7 ;; URL: http://github.com/bbatsov/solarized-emacs
8 ;; Version: 1.0.0
9
10 ;; This program is free software; you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation, either version 3 of the License, or
13 ;; (at your option) any later version.
14
15 ;; This program is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;; GNU General Public License for more details.
19
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
22
23 ;;; Commentary:
24 ;;
25 ;; A port of Solarized to Emacs.
26 ;;
27 ;;; Installation:
28 ;;
29 ;; Drop the `solarized-theme.el` somewhere in your `load-path` and
30 ;; the two themes in a folder that is on `custom-theme-load-path'
31 ;; and enjoy!
32 ;;
33 ;; Don't forget that the theme requires Emacs 24.
34 ;;
35 ;;; Bugs
36 ;;
37 ;; None that I'm aware of.
38 ;;
39 ;;; Credits
40 ;;
41 ;; Ethan Schoonover created the original theme for vim on such this port
42 ;; is based.
43 ;;
44 ;;; Code:
45
46 (defun create-solarized-theme (variant theme-name &optional childtheme)
47 (let* ((class '((class color) (min-colors 89)))
48 ;; Solarized palette
49 (base03 "#002b36")
50 (base02 "#073642")
51 ;; emphasized content
52 (base01 "#586e75")
53 ;; primary content
54 (base00 "#657b83")
55 (base0 "#839496")
56 ;; comments
57 (base1 "#93a1a1")
58 ;; background highlight light
59 (base2 "#eee8d5")
60 ;; background light
61 (base3 "#fdf6e3")
62
63 ;; Solarized accented colors
64 (yellow "#b58900")
65 (orange "#cb4b16")
66 (red "#dc322f")
67 (magenta "#d33682")
68 (violet "#6c71c4")
69 (blue "#268bd2")
70 (cyan "#2aa198")
71 (green "#859900")
72
73 ;; Darker and lighter accented colors
74 ;; Only use these in exceptional circumstances!
75 (yellow-d "#7B6000")
76 (yellow-l "#DEB542")
77 (orange-d "#8B2C02")
78 (orange-l "#F2804F")
79 (red-d "#990A1B")
80 (red-l "#FF6E64")
81 (magenta-d "#93115C")
82 (magenta-l "#F771AC")
83 (violet-d "#3F4D91")
84 (violet-l "#9EA0E5")
85 (blue-d "#00629D")
86 (blue-l "#69B7F0")
87 (cyan-d "#00736F")
88 (cyan-l "#69CABF")
89 (green-d "#546E00")
90 (green-l "#B4C342")
91
92 ;; Light/Dark adaptive solarized colors
93 (solarized-fg (if (eq variant 'light) base00 base0))
94 (solarized-bg (if (eq variant 'light) base3 base03))
95 (solarized-hl (if (eq variant 'light) base2 base02))
96 (solarized-emph (if (eq variant 'light) base01 base1))
97 (solarized-comments (if (eq variant 'light) base1 base01))
98
99 ;; Light/Dark adaptive higher/lower contrast accented colors
100 ;; Only use these in exceptional cirmumstances!
101 (solarized-fg-hc (if (eq variant 'light) base3 base03))
102 (solarized-fg-lc (if (eq variant 'light) base03 base3))
103
104 (yellow-hc (if (eq variant 'light) yellow-d yellow-l))
105 (yellow-lc (if (eq variant 'light) yellow-l yellow-d))
106 (orange-hc (if (eq variant 'light) orange-d orange-l))
107 (orange-lc (if (eq variant 'light) orange-l orange-d))
108 (red-hc (if (eq variant 'light) red-d red-l))
109 (red-lc (if (eq variant 'light) red-l red-d))
110 (magenta-hc (if (eq variant 'light) magenta-d magenta-l))
111 (magenta-lc (if (eq variant 'light) magenta-l magenta-d))
112 (violet-hc (if (eq variant 'light) violet-d violet-l))
113 (violet-lc (if (eq variant 'light) violet-l violet-d))
114 (blue-hc (if (eq variant 'light) blue-d blue-l))
115 (blue-lc (if (eq variant 'light) blue-l blue-d))
116 (cyan-hc (if (eq variant 'light) cyan-d cyan-l))
117 (cyan-lc (if (eq variant 'light) cyan-l cyan-d))
118 (green-hc (if (eq variant 'light) green-d green-l))
119 (green-lc (if (eq variant 'light) green-l green-d)))
120 (custom-theme-set-faces
121 theme-name
122 '(button ((t (:underline t))))
123
124 ;; basic coloring
125 `(default ((,class (:foreground ,solarized-fg :background ,solarized-bg))))
126 `(shadow ((,class (:foreground ,solarized-comments))))
127 `(match ((,class (:background ,solarized-hl :foreground ,solarized-emph :weight bold))))
128 `(cursor ((,class (:foreground ,solarized-bg :background ,solarized-fg :inverse-video t))))
129 `(escape-glyph-face ((,class (:foreground ,red))))
130 `(fringe ((,class (:foreground ,solarized-fg :background ,solarized-hl))))
131 `(header-line ((,class (:foreground ,yellow
132 :background ,solarized-hl
133 :box (:line-width -1 :style released-button)))))
134 `(highlight ((,class (:background ,solarized-hl))))
135 `(link ((,class (:foreground ,yellow :underline t :weight bold))))
136 `(link-visited ((,class (:foreground ,yellow :underline t :weight normal))))
137 `(success ((,class (:foreground ,green ))))
138 `(warning ((,class (:foreground ,yellow ))))
139 `(error ((,class (:foreground ,orange))))
140 `(lazy-highlight ((,class (:foreground ,solarized-emph :background ,solarized-hl :bold t))))
141 `(escape-glyph ((,class (:foreground ,violet))))
142
143 ;; compilation
144 `(compilation-column-face ((,class (:foreground ,yellow))))
145 `(compilation-enter-directory-face ((,class (:foreground ,green))))
146 `(compilation-error-face ((,class (:foreground ,red :weight bold :underline t))))
147 `(compilation-face ((,class (:foreground ,solarized-fg))))
148 `(compilation-info-face ((,class (:foreground ,blue))))
149 `(compilation-info ((,class (:foreground ,green :underline t))))
150 `(compilation-leave-directory-face ((,class (:foreground ,green))))
151 `(compilation-line-face ((,class (:foreground ,yellow))))
152 `(compilation-line-number ((,class (:foreground ,yellow))))
153 `(compilation-message-face ((,class (:foreground ,blue))))
154 `(compilation-warning-face ((,class (:foreground ,yellow :weight bold :underline t))))
155
156 `(compilation-mode-line-exit
157 ((,class (:inherit compilation-info :foreground ,green :weight bold))))
158 `(compilation-mode-line-fail
159 ((,class (:inherit compilation-error :foreground ,red :weight bold))))
160 `(compilation-mode-line-run ((,class (:foreground ,orange :weight bold))))
161
162 ;; cua
163 `(cua-global-mark ((,class (:background ,yellow :foreground ,solarized-bg))))
164 `(cua-rectangle ((,class (:inherit region :background ,magenta :foreground ,solarized-bg))))
165 `(cua-rectangle-noselect ((,class (:inherit region :background ,solarized-hl
166 :foreground ,solarized-comments))))
167
168 ;; diary
169 `(diary ((,class (:foreground ,yellow))))
170
171 ;; dired
172 `(dired-directory ((,class (:foreground ,blue :weight normal))))
173 `(dired-flagged ((,class (:foreground ,red))))
174 `(dired-header ((,class (:foreground ,solarized-bg :background ,blue))))
175 `(dired-ignored ((,class (:inherit shadow))))
176 `(dired-mark ((,class (:foreground ,yellow :weight bold))))
177 `(dired-marked ((,class (:foreground ,magenta :weight bold))))
178 `(dired-perm-write ((,class (:foreground ,solarized-fg :underline t))))
179 `(dired-symlink ((,class (:foreground ,cyan :weight normal :slant italic))))
180 `(dired-warning ((,class (:foreground ,orange :underline t))))
181
182 ;; dropdown
183 `(dropdown-list-face ((,class (:background ,solarized-hl :foreground ,cyan))))
184 `(dropdown-list-selection-face ((,class (:background ,cyan-lc :foreground ,cyan-hc))))
185
186 ;; grep
187 `(grep-context-face ((,class (:foreground ,solarized-fg))))
188 `(grep-error-face ((,class (:foreground ,red :weight bold :underline t))))
189 `(grep-hit-face ((,class (:foreground ,blue))))
190 `(grep-match-face ((,class (:foreground ,orange :weight bold))))
191
192 ;; faces used by isearch
193 `(isearch ((,class (:foreground ,yellow :background ,solarized-hl :bold t))))
194 `(isearch-fail ((,class (:foreground ,red :background ,solarized-bg :bold t))))
195
196 ;; man
197 `(Man-overstrike ((,class (:foreground ,blue :weight bold))))
198 `(Man-reverse ((,class (:foreground ,orange))))
199 `(Man-underline ((,class (:foreground ,green :underline t))))
200
201 ;; misc faces
202 `(menu ((,class (:foreground ,solarized-fg :background ,solarized-bg))))
203 `(minibuffer-prompt ((,class (:foreground ,solarized-emph))))
204 `(mode-line
205 ((,class (:foreground ,solarized-fg
206 :background ,solarized-hl
207 :box (:line-width -1 :style released-button)))))
208 `(mode-line-buffer-id ((,class (:foreground ,solarized-emph :weight bold))))
209 `(mode-line-inactive
210 ((,class (:foreground ,solarized-fg
211 :background ,solarized-bg
212 :box (:line-width -1 :style released-button)))))
213 `(region ((,class (:foreground ,solarized-bg :background ,solarized-emph))))
214 `(secondary-selection ((,class (:background ,solarized-hl))))
215
216 `(trailing-whitespace ((,class (:background ,red))))
217 `(vertical-border ((,class (:foreground ,solarized-fg))))
218
219 ;; font lock
220 `(font-lock-builtin-face ((,class (:foreground ,blue :slant italic))))
221 `(font-lock-comment-delimiter-face ((,class (:foreground ,solarized-comments))))
222 `(font-lock-comment-face ((,class (:foreground ,solarized-comments))))
223 `(font-lock-constant-face ((,class (:foreground ,blue :weight bold))))
224 `(font-lock-doc-face ((,class (:foreground ,cyan :slant italic))))
225 `(font-lock-doc-string-face ((,class (:foreground ,blue))))
226 `(font-lock-function-name-face ((,class (:foreground ,blue))))
227 `(font-lock-keyword-face ((,class (:foreground ,green :weight bold))))
228 `(font-lock-negation-char-face ((,class (:foreground ,solarized-fg))))
229 `(font-lock-preprocessor-face ((,class (:foreground ,blue))))
230 `(font-lock-string-face ((,class (:foreground ,cyan))))
231 `(font-lock-type-face ((,class (:foreground ,yellow))))
232 `(font-lock-variable-name-face ((,class (:foreground ,blue))))
233 `(font-lock-warning-face ((,class (:foreground ,orange :weight bold :underline t))))
234
235 `(c-annotation-face ((,class (:inherit font-lock-constant-face))))
236
237 ;;; external
238
239 ;; ace-jump-mode
240 `(ace-jump-face-background
241 ((,class (:foreground ,solarized-comments :background ,solarized-bg :inverse-video nil))))
242 `(ace-jump-face-foreground
243 ((,class (:foreground ,red :background ,solarized-bg :inverse-video nil))))
244
245 ;; auto-complete
246 `(ac-candidate-face ((,class (:background ,solarized-hl :foreground ,cyan))))
247 `(ac-selection-face ((,class (:background ,cyan-lc :foreground ,cyan-hc))))
248 `(ac-candidate-mouse-face ((,class (:background ,cyan-hc :foreground ,cyan-lc))))
249 `(ac-completion-face ((,class (:foreground ,solarized-emph :underline t))))
250 `(ac-gtags-candidate-face ((,class (:background ,solarized-hl :foreground ,blue))))
251 `(ac-gtags-selection-face ((,class (:background ,blue-lc :foreground ,blue-hc))))
252 `(ac-yasnippet-candidate-face ((,class (:background ,solarized-hl :foreground ,yellow))))
253 `(ac-yasnippet-selection-face ((,class (:background ,yellow-lc :foreground ,yellow-hc))))
254
255 ;; auto highlight symbol
256 `(ahs-definition-face ((,class (:foreground ,solarized-bg :background ,blue :underline t))))
257 `(ahs-edit-mode-face ((,class (:foreground ,solarized-bg :background ,yellow))))
258 `(ahs-face ((,class (:foreground ,solarized-bg :background ,blue))))
259 `(ahs-plugin-bod-face ((,class (:foreground ,solarized-bg :background ,blue))))
260 `(ahs-plugin-defalt-face ((,class (:foreground ,solarized-bg :background ,cyan))))
261 `(ahs-plugin-whole-buffer-face ((,class (:foreground ,solarized-bg :background ,green))))
262 `(ahs-warning-face ((,class (:foreground ,red :weight bold))))
263
264 ;; android mode
265 `(android-mode-debug-face ((,class (:foreground ,green))))
266 `(android-mode-error-face ((,class (:foreground ,orange :weight bold))))
267 `(android-mode-info-face ((,class (:foreground ,solarized-fg))))
268 `(android-mode-verbose-face ((,class (:foreground ,solarized-comments))))
269 `(android-mode-warning-face ((,class (:foreground ,yellow))))
270
271 ;; bm
272 `(bm-face ((,class (:background ,yellow-lc :foreground ,solarized-bg))))
273 `(bm-fringe-face ((,class (:background ,yellow-lc :foreground ,solarized-bg))))
274 `(bm-fringe-persistent-face ((,class (:background ,green-lc :foreground ,solarized-bg))))
275 `(bm-persistent-face ((,class (:background ,green-lc :foreground ,solarized-bg))))
276
277 ;; calfw
278 `(cfw:face-day-title ((,class (:background ,solarized-hl))))
279 `(cfw:face-annotation ((,class (:inherit cfw:face-day-title :foreground ,yellow))))
280 `(cfw:face-default-content ((,class (:foreground ,green))))
281 `(cfw:face-default-day ((,class (:inherit cfw:face-day-title :weight bold))))
282 `(cfw:face-disable ((,class (:inherit cfw:face-day-title :foreground ,solarized-comments))))
283 `(cfw:face-grid ((,class (:foreground ,solarized-comments))))
284 `(cfw:face-header ((,class (:foreground ,blue-hc :background ,blue-lc :weight bold))))
285 `(cfw:face-holiday ((,class (:background nil :foreground ,red :weight bold))))
286 `(cfw:face-periods ((,class (:foreground ,magenta))))
287 `(cfw:face-select ((,class (:background ,magenta-lc :foreground ,magenta-hc))))
288 `(cfw:face-saturday ((,class (:foreground ,cyan-hc :background ,cyan-lc))))
289 `(cfw:face-sunday ((,class (:foreground ,red-hc :background ,red-lc :weight bold))))
290 `(cfw:face-title ((,class (:inherit variable-pitch :foreground ,yellow :weight bold :height 2.0))))
291 `(cfw:face-today ((,class (:weight bold :background ,solarized-hl :foreground nil))))
292 `(cfw:face-today-title ((,class (:background ,yellow-lc :foreground ,yellow-hc :weight bold))))
293 `(cfw:face-toolbar ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
294 `(cfw:face-toolbar-button-off ((,class (:background ,yellow-lc :foreground ,yellow-hc :weight bold))))
295 `(cfw:face-toolbar-button-on ((,class (:background ,yellow-hc :foreground ,yellow-lc :weight bold))))
296
297 ;; clojure-test-mode
298 `(clojure-test-failure-face ((t (:foreground ,orange :weight bold :underline t))))
299 `(clojure-test-error-face ((t (:foreground ,red :weight bold :underline t))))
300 `(clojure-test-success-face ((t (:foreground ,green :weight bold :underline t))))
301
302 ;; ctable
303 `(ctbl:face-cell-select ((,class (:background ,blue :foreground ,solarized-bg))))
304 `(ctbl:face-continue-bar ((,class (:background ,solarized-hl :foreground ,solarized-bg))))
305 `(ctbl:face-row-select ((,class (:background ,cyan :foreground ,solarized-bg))))
306
307 ;; coffee
308 `(coffee-mode-class-name ((,class (:foreground ,yellow :weight bold))))
309 `(coffee-mode-function-param ((,class (:foreground ,violet :slant italic))))
310
311 ;; custom
312 `(custom-variable-tag ((,class (:foreground ,cyan))))
313 `(custom-comment-tag ((,class (:foreground ,solarized-comments))))
314 `(custom-group-tag ((,class (:foreground ,blue))))
315 `(custom-state ((,class (:foreground ,green))))
316
317 ;; diff
318 `(diff-added ((,class (:foreground ,green :background ,solarized-bg))))
319 `(diff-changed ((,class (:foreground ,yellow :background ,solarized-bg))))
320 `(diff-removed ((,class (:foreground ,red :background ,solarized-bg))))
321 `(diff-header ((,class (:background ,solarized-bg))))
322 `(diff-file-header
323 ((,class (:background ,solarized-bg :foreground ,solarized-fg :weight bold))))
324
325 ;; ediff
326 `(ediff-fine-diff-A ((,class (:background ,orange-lc))))
327 `(ediff-fine-diff-B ((,class (:background ,green-lc))))
328 `(ediff-even-diff-A ((,class (:background ,solarized-comments :foreground ,solarized-fg-lc ))))
329 `(ediff-odd-diff-A ((,class (:background ,solarized-comments :foreground ,solarized-fg-hc ))))
330 `(ediff-even-diff-B ((,class (:background ,solarized-comments :foreground ,solarized-fg-hc ))))
331 `(ediff-odd-diff-B ((,class (:background ,solarized-comments :foreground ,solarized-fg-lc ))))
332
333 ;; epc
334 `(epc:face-title ((,class (:foreground ,magenta :weight bold))))
335
336 ;; eshell
337 `(eshell-prompt ((,class (:foreground ,yellow :weight bold))))
338 `(eshell-ls-archive ((,class (:foreground ,red :weight bold))))
339 `(eshell-ls-backup ((,class (:inherit font-lock-comment))))
340 `(eshell-ls-clutter ((,class (:inherit font-lock-comment))))
341 `(eshell-ls-directory ((,class (:foreground ,blue :weight bold))))
342 `(eshell-ls-executable ((,class (:foreground ,red :weight bold))))
343 `(eshell-ls-unreadable ((,class (:foreground ,solarized-fg))))
344 `(eshell-ls-missing ((,class (:inherit font-lock-warning))))
345 `(eshell-ls-product ((,class (:inherit font-lock-doc))))
346 `(eshell-ls-special ((,class (:foreground ,yellow :weight bold))))
347 `(eshell-ls-symlink ((,class (:foreground ,cyan :weight bold))))
348
349 ;; fic
350 `(fic-author-face ((,class (:background ,solarized-bg :foreground ,orange :underline t :slant italic))))
351 `(fic-face ((,class (:background ,solarized-bg :foreground ,orange :weight normal :slant italic))))
352
353 ;; flymake
354 `(flymake-errline
355 ((,class (:foreground ,red-hc :background ,red-lc :weight bold :underline t))))
356 `(flymake-infoline ((,class (:foreground ,green-hc :background ,green-lc))))
357 `(flymake-warnline
358 ((,class (:foreground ,yellow-hc :background ,yellow-lc :weight bold :underline t))))
359
360 ;; flycheck
361 `(flycheck-error-face
362 ((,class (:foreground ,red-hc :background ,red-lc :weight bold :underline t))))
363 `(flycheck-warning-face
364 ((,class (:foreground ,yellow-hc :background ,yellow-lc :weight bold :underline t))))
365
366 ;; flyspell
367 `(flyspell-duplicate ((,class (:foreground ,yellow :weight bold :underline t))))
368 `(flyspell-incorrect ((,class (:foreground ,red :weight bold :underline t))))
369
370 ;; erc
371 `(erc-action-face ((,class (:inherit erc-default-face))))
372 `(erc-bold-face ((,class (:weight bold))))
373 `(erc-current-nick-face ((,class (:foreground ,blue :weight bold))))
374 `(erc-dangerous-host-face ((,class (:inherit font-lock-warning))))
375 `(erc-default-face ((,class (:foreground ,solarized-fg))))
376 `(erc-direct-msg-face ((,class (:inherit erc-default))))
377 `(erc-error-face ((,class (:inherit font-lock-warning))))
378 `(erc-fool-face ((,class (:inherit erc-default))))
379 `(erc-highlight-face ((,class (:inherit hover-highlight))))
380 `(erc-input-face ((,class (:foreground ,yellow))))
381 `(erc-keyword-face ((,class (:foreground ,blue :weight bold))))
382 `(erc-nick-default-face ((,class (:foreground ,yellow :weight bold))))
383 `(erc-my-nick-face ((,class (:foreground ,red :weight bold))))
384 `(erc-nick-msg-face ((,class (:inherit erc-default))))
385 `(erc-notice-face ((,class (:foreground ,green))))
386 `(erc-pal-face ((,class (:foreground ,orange :weight bold))))
387 `(erc-prompt-face ((,class (:foreground ,orange :background ,solarized-bg :weight bold))))
388 `(erc-timestamp-face ((,class (:foreground ,green))))
389 `(erc-underline-face ((t (:underline t))))
390
391 ;; git-gutter
392 `(git-gutter:added ((,class (:background ,green :foreground ,solarized-bg :weight bold))))
393 `(git-gutter:deleted ((,class (:background ,red :foreground ,solarized-bg :weight bold))))
394 `(git-gutter:modified ((,class (:background ,blue :foreground ,solarized-bg :weight bold))))
395 `(git-gutter:unchanged ((,class (:background ,solarized-hl :foreground ,solarized-bg :weight bold))))
396 ;; I use the following git-gutter settings along with those faces
397 ;; (when window-system
398 ;; (let ((symbol "."))
399 ;; (setq git-gutter:added-sign symbol
400 ;; git-gutter:deleted-sign symbol
401 ;; git-gutter:modified-sign symbol
402 ;; git-gutter:unchanged-sign " ")))
403
404 ;; git-gutter-fr
405 `(git-gutter-fr:added ((,class (:foreground ,green :weight bold))))
406 `(git-gutter-fr:deleted ((,class (:foreground ,red :weight bold))))
407 `(git-gutter-fr:modified ((,class (:foreground ,blue :weight bold))))
408
409 ;; guide-key
410 `(guide-key/highlight-command-face ((,class (:foreground ,blue))))
411 `(guide-key/key-face ((,class (:foreground ,solarized-comments))))
412 `(guide-key/prefix-command-face ((,class (:foreground ,green))))
413
414 ;; gnus
415 `(gnus-group-mail-1-face ((,class (:weight bold :inherit gnus-group-mail-1-empty))))
416 `(gnus-group-mail-1-empty-face ((,class (:inherit gnus-group-news-1-empty))))
417 `(gnus-group-mail-2-face ((,class (:weight bold :inherit gnus-group-mail-2-empty))))
418 `(gnus-group-mail-2-empty-face ((,class (:inherit gnus-group-news-2-empty))))
419 `(gnus-group-mail-3-face ((,class (:weight bold :inherit gnus-group-mail-3-empty))))
420 `(gnus-group-mail-3-empty-face ((,class (:inherit gnus-group-news-3-empty))))
421 `(gnus-group-mail-4-face ((,class (:weight bold :inherit gnus-group-mail-4-empty))))
422 `(gnus-group-mail-4-empty-face ((,class (:inherit gnus-group-news-4-empty))))
423 `(gnus-group-mail-5-face ((,class (:weight bold :inherit gnus-group-mail-5-empty))))
424 `(gnus-group-mail-5-empty-face ((,class (:inherit gnus-group-news-5-empty))))
425 `(gnus-group-mail-6-face ((,class (:weight bold :inherit gnus-group-mail-6-empty))))
426 `(gnus-group-mail-6-empty-face ((,class (:inherit gnus-group-news-6-empty))))
427 `(gnus-group-mail-low-face ((,class (:weight bold :inherit gnus-group-mail-low-empty))))
428 `(gnus-group-mail-low-empty-face ((,class (:inherit gnus-group-news-low-empty))))
429 `(gnus-group-news-1-face ((,class (:weight bold :inherit gnus-group-news-1-empty))))
430 `(gnus-group-news-2-face ((,class (:weight bold :inherit gnus-group-news-2-empty))))
431 `(gnus-group-news-3-face ((,class (:weight bold :inherit gnus-group-news-3-empty))))
432 `(gnus-group-news-4-face ((,class (:weight bold :inherit gnus-group-news-4-empty))))
433 `(gnus-group-news-5-face ((,class (:weight bold :inherit gnus-group-news-5-empty))))
434 `(gnus-group-news-6-face ((,class (:weight bold :inherit gnus-group-news-6-empty))))
435 `(gnus-group-news-low-face ((,class (:weight bold :inherit gnus-group-news-low-empty))))
436 `(gnus-header-content-face ((,class (:inherit message-header-other))))
437 `(gnus-header-from-face ((,class (:inherit message-header-from))))
438 `(gnus-header-name-face ((,class (:inherit message-header-name))))
439 `(gnus-header-newsgroups-face ((,class (:inherit message-header-other))))
440 `(gnus-header-subject-face ((,class (:inherit message-header-subject))))
441 `(gnus-summary-cancelled-face ((,class (:foreground ,orange))))
442 `(gnus-summary-high-ancient-face ((,class (:foreground ,blue))))
443 `(gnus-summary-high-read-face ((,class (:foreground ,green :weight bold))))
444 `(gnus-summary-high-ticked-face ((,class (:foreground ,orange :weight bold))))
445 `(gnus-summary-high-unread-face ((,class (:foreground ,solarized-fg :weight bold))))
446 `(gnus-summary-low-ancient-face ((,class (:foreground ,blue))))
447 `(gnus-summary-low-read-face ((t (:foreground ,green))))
448 `(gnus-summary-low-ticked-face ((,class (:foreground ,orange :weight bold))))
449 `(gnus-summary-low-unread-face ((,class (:foreground ,solarized-fg))))
450 `(gnus-summary-normal-ancient-face ((,class (:foreground ,blue))))
451 `(gnus-summary-normal-read-face ((,class (:foreground ,green))))
452 `(gnus-summary-normal-ticked-face ((,class (:foreground ,orange :weight bold))))
453 `(gnus-summary-normal-unread-face ((,class (:foreground ,solarized-fg))))
454 `(gnus-summary-selected-face ((,class (:foreground ,yellow :weight bold))))
455 `(gnus-cite-1-face ((,class (:foreground ,blue))))
456 `(gnus-cite-10-face ((,class (:foreground ,yellow))))
457 `(gnus-cite-11-face ((,class (:foreground ,yellow))))
458 `(gnus-cite-2-face ((,class (:foreground ,blue))))
459 `(gnus-cite-3-face ((,class (:foreground ,blue))))
460 `(gnus-cite-4-face ((,class (:foreground ,green))))
461 `(gnus-cite-5-face ((,class (:foreground ,green))))
462 `(gnus-cite-6-face ((,class (:foreground ,green))))
463 `(gnus-cite-7-face ((,class (:foreground ,red))))
464 `(gnus-cite-8-face ((,class (:foreground ,red))))
465 `(gnus-cite-9-face ((,class (:foreground ,red))))
466 `(gnus-group-news-1-empty-face ((,class (:foreground ,yellow))))
467 `(gnus-group-news-2-empty-face ((,class (:foreground ,green))))
468 `(gnus-group-news-3-empty-face ((,class (:foreground ,green))))
469 `(gnus-group-news-4-empty-face ((,class (:foreground ,blue))))
470 `(gnus-group-news-5-empty-face ((,class (:foreground ,blue))))
471 `(gnus-group-news-6-empty-face ((,class (:foreground ,solarized-bg))))
472 `(gnus-group-news-low-empty-face ((,class (:foreground ,solarized-bg))))
473 `(gnus-signature-face ((,class (:foreground ,yellow))))
474 `(gnus-x-face ((,class (:background ,solarized-fg :foreground ,solarized-bg))))
475
476 ;; helm (these probably needs tweaking)
477 `(helm-apt-deinstalled ((,class (:foreground ,solarized-comments))))
478 `(helm-apt-installed ((,class (:foreground ,green))))
479 `(helm-bookmark-directory ((,class (:inherit helm-ff-directory))))
480 `(helm-bookmark-file ((,class (:foreground ,solarized-fg))))
481 `(helm-bookmark-gnus ((,class (:foreground ,cyan))))
482 `(helm-bookmark-info ((,class (:foreground ,green))))
483 `(helm-bookmark-man ((,class (:foreground ,violet))))
484 `(helm-bookmark-w3m ((,class (:foreground ,yellow))))
485 `(helm-bookmarks-su ((,class (:foreground ,orange))))
486 `(helm-buffer-not-saved ((,class (:foreground ,orange))))
487 `(helm-buffer-saved-out ((,class (:foreground ,red :background ,solarized-bg
488 :inverse-video t))))
489 `(helm-buffer-size ((,class (:foreground ,solarized-comments))))
490 `(helm-candidate-number ((,class (:background ,solarized-hl :foreground ,solarized-emph
491 :bold t))))
492 `(helm-ff-directory ((,class (:background ,solarized-bg :foreground ,blue))))
493 `(helm-ff-executable ((,class (:foreground ,green))))
494 `(helm-ff-file ((,class (:background ,solarized-bg :foreground ,solarized-fg))))
495 `(helm-ff-invalid-symlink ((,class (:background ,solarized-bg :foreground ,orange
496 :slant italic))))
497 `(helm-ff-prefix ((,class (:background ,yellow :foreground ,solarized-bg))))
498 `(helm-ff-symlink ((,class (:foreground ,cyan))))
499 `(helm-grep-file ((,class (:foreground ,cyan :underline t))))
500 `(helm-grep-finish ((,class (:foreground ,green))))
501 `(helm-grep-lineno ((,class (:foreground ,orange))))
502 `(helm-grep-match ((,class (:inherit match))))
503 `(helm-grep-running ((,class (:foreground ,red))))
504 `(helm-header ((,class (:inherit header-line))))
505 `(helm-lisp-completion-info ((,class (:foreground ,solarized-fg))))
506 `(helm-lisp-show-completion ((,class (:foreground ,yellow :background ,solarized-hl
507 :bold t))))
508 `(helm-M-x-key ((,class (:foreground ,orange :underline t))))
509 `(helm-moccur-buffer ((,class (:foreground ,cyan :underline t))))
510 `(helm-match ((,class (:inherit match))))
511 `(helm-selection ((,class (:background ,solarized-hl :underline t))))
512 `(helm-selection-line ((,class (:background ,solarized-hl :foreground ,solarized-emph
513 :underline nil))))
514 `(helm-separator ((,class (:foreground ,red))))
515 `(helm-source-header ((,class (:background ,blue-lc :foreground ,solarized-bg
516 :underline nil))))
517 `(helm-time-zone-current ((,class (:foreground ,green))))
518 `(helm-time-zone-home ((,class (:foreground ,red))))
519 `(helm-visible-mark ((,class (:background ,solarized-bg :foreground ,magenta :bold t))))
520
521 ;; hi-lock-mode
522 `(hi-yellow ((,class (:foreground ,yellow-lc :background ,yellow-hc))))
523 `(hi-pink ((,class (:foreground ,magenta-lc :background ,magenta-hc))))
524 `(hi-green ((,class (:foreground ,green-lc :background ,green-hc))))
525 `(hi-blue ((,class (:foreground ,blue-lc :background ,blue-hc))))
526 `(hi-black-b ((,class (:foreground ,solarized-emph :background ,solarized-bg :weight bold))))
527 `(hi-blue-b ((,class (:foreground ,blue-lc :weight bold))))
528 `(hi-green-b ((,class (:foreground ,green-lc :weight bold))))
529 `(hi-red-b ((,class (:foreground ,red :weight bold))))
530 `(hi-black-hb ((,class (:foreground ,solarized-emph :background ,solarized-bg :weight bold))))
531
532 ;; highlight-changes
533 `(highlight-changes ((,class (:foreground ,orange))))
534 `(highlight-changes-delete ((,class (:foreground ,red :underline t))))
535
536 ;; hl-line-mode
537 `(hl-line ((,class (:background ,solarized-hl))))
538 `(hl-line-face ((,class (:background ,solarized-hl))))
539
540 ;; ido-mode
541 `(ido-first-match ((,class (:foreground ,green :weight bold))))
542 `(ido-only-match ((,class (:foreground ,solarized-bg :background ,green :weight bold))))
543 `(ido-subdir ((,class (:foreground ,blue))))
544 `(ido-incomplete-regexp ((,class (:foreground ,red :weight bold ))))
545 `(ido-indicator ((,class (:background ,red :foreground ,solarized-bg :width condensed))))
546 `(ido-virtual ((,class (:foreground ,cyan))))
547
548 `(jabber-activity-face ((,class (:weight bold :foreground ,red))))
549 `(jabber-activity-personal-face ((,class (:weight bold :foreground ,blue))))
550 `(jabber-chat-error ((,class (:weight bold :foreground ,red))))
551 `(jabber-chat-prompt-foreign ((,class (:weight bold :foreground ,red))))
552 `(jabber-chat-prompt-local ((,class (:weight bold :foreground ,blue))))
553 `(jabber-chat-prompt-system ((,class (:weight bold :foreground ,green))))
554 `(jabber-chat-text-foreign ((,class (:foreground ,base1))))
555 `(jabber-chat-text-local ((,class (:foreground ,base0))))
556 `(jabber-chat-rare-time-face ((,class (:underline t :foreground ,green))))
557 `(jabber-roster-user-away ((,class (:slant italic :foreground ,green))))
558 `(jabber-roster-user-chatty ((,class (:weight bold :foreground ,orange))))
559 `(jabber-roster-user-dnd ((,class (:slant italic :foreground ,red))))
560 `(jabber-roster-user-error ((,class (:weight light :slant italic :foreground ,red))))
561 `(jabber-roster-user-offline ((,class (:foreground ,base01))))
562 `(jabber-roster-user-online ((,class (:weight bold :foreground ,blue))))
563 `(jabber-roster-user-xa ((,class (:slant italic :foreground ,magenta))))
564
565 ;; js2-mode colors
566 `(js2-error ((,class (:foreground ,red))))
567 `(js2-external-variable ((,class (:foreground ,orange))))
568 `(js2-function-param ((,class (:foreground ,green))))
569 `(js2-instance-member ((,class (:foreground ,magenta))))
570 `(js2-jsdoc-html-tag-delimiter ((,class (:foreground ,cyan))))
571 `(js2-jsdoc-html-tag-name ((,class (:foreground ,orange))))
572 `(js2-jsdoc-tag ((,class (:foreground ,cyan))))
573 `(js2-jsdoc-type ((,class (:foreground ,blue))))
574 `(js2-jsdoc-value ((,class (:foreground ,violet))))
575 `(js2-magic-paren ((,class (:underline t))))
576 `(js2-private-function-call ((,class (:foreground ,yellow))))
577 `(js2-private-member ((,class (:foreground ,blue))))
578 `(js2-warning ((,class (:underline ,orange))))
579
580 ;; jedi
581 `(jedi:highlight-function-argument ((,class (:inherit bold))))
582
583 ;; linum-mode
584 `(linum ((,class (:foreground ,green-d :background ,solarized-bg))))
585
586 ;; magit
587 `(magit-section-title ((,class (:foreground ,yellow :weight bold))))
588 `(magit-branch ((,class (:foreground ,orange :weight bold))))
589 `(magit-item-highlight ((,class (:background ,solarized-hl))))
590 `(magit-log-author ((,class (:foreground ,cyan))))
591 `(magit-log-graph ((,class (:foreground ,solarized-comments))))
592 `(magit-log-head-label-bisect-bad ((,class (:background ,red-hc :foreground ,red-lc :box 1))))
593 `(magit-log-head-label-bisect-good ((,class (:background ,green-hc :foreground ,green-lc
594 :box 1))))
595 `(magit-log-head-label-default ((,class (:background ,solarized-hl :box 1))))
596 `(magit-log-head-label-local ((,class (:background ,blue-lc :foreground ,blue-hc :box 1))))
597 `(magit-log-head-label-patches ((,class (:background ,red-lc :foreground ,red-hc :box 1))))
598 `(magit-log-head-label-remote ((,class (:background ,green-lc :foreground ,green-hc :box 1))))
599 `(magit-log-head-label-tags ((,class (:background ,yellow-lc :foreground ,yellow-hc :box 1))))
600 `(magit-log-sha1 ((,class (:foreground ,yellow))))
601
602 ;; message-mode
603 `(message-cited-text ((,class (:foreground ,solarized-comments))))
604 `(message-header-name ((,class (:foreground ,green))))
605 `(message-header-other ((,class (:foreground ,green))))
606 `(message-header-to ((,class (:foreground ,yellow :weight bold))))
607 `(message-header-cc ((,class (:foreground ,orange :weight bold))))
608 `(message-header-newsgroups ((,class (:foreground ,yellow :weight bold))))
609 `(message-header-subject ((,class (:foreground ,orange))))
610 `(message-header-xheader ((,class (:foreground ,cyan))))
611 `(message-mml ((,class (:foreground ,yellow :weight bold))))
612 `(message-separator ((,class (:foreground ,solarized-comments :slant italic))))
613
614 ;; mew
615 `(mew-face-header-subject ((,class (:foreground ,orange))))
616 `(mew-face-header-from ((,class (:foreground ,yellow))))
617 `(mew-face-header-date ((,class (:foreground ,green))))
618 `(mew-face-header-to ((,class (:foreground ,red))))
619 `(mew-face-header-key ((,class (:foreground ,green))))
620 `(mew-face-header-private ((,class (:foreground ,green))))
621 `(mew-face-header-important ((,class (:foreground ,blue))))
622 `(mew-face-header-marginal ((,class (:foreground ,solarized-fg :weight bold))))
623 `(mew-face-header-warning ((,class (:foreground ,red))))
624 `(mew-face-header-xmew ((,class (:foreground ,green))))
625 `(mew-face-header-xmew-bad ((,class (:foreground ,red))))
626 `(mew-face-body-url ((,class (:foreground ,orange))))
627 `(mew-face-body-comment ((,class (:foreground ,solarized-fg :slant italic))))
628 `(mew-face-body-cite1 ((,class (:foreground ,green))))
629 `(mew-face-body-cite2 ((,class (:foreground ,blue))))
630 `(mew-face-body-cite3 ((,class (:foreground ,orange))))
631 `(mew-face-body-cite4 ((,class (:foreground ,yellow))))
632 `(mew-face-body-cite5 ((,class (:foreground ,red))))
633 `(mew-face-mark-review ((,class (:foreground ,blue))))
634 `(mew-face-mark-escape ((,class (:foreground ,green))))
635 `(mew-face-mark-delete ((,class (:foreground ,red))))
636 `(mew-face-mark-unlink ((,class (:foreground ,yellow))))
637 `(mew-face-mark-refile ((,class (:foreground ,green))))
638 `(mew-face-mark-unread ((,class (:foreground ,red))))
639 `(mew-face-eof-message ((,class (:foreground ,green))))
640 `(mew-face-eof-part ((,class (:foreground ,yellow))))
641
642 ;; mingus
643 `(mingus-directory-face ((,class (:foreground ,blue))))
644 `(mingus-pausing-face ((,class (:foreground ,magenta))))
645 `(mingus-playing-face ((,class (:foreground ,cyan))))
646 `(mingus-playlist-face ((,class (:foreground ,cyan ))))
647 `(mingus-song-file-face ((,class (:foreground ,yellow))))
648 `(mingus-stopped-face ((,class (:foreground ,red))))
649
650 ;; moccur
651 `(moccur-current-line-face ((,class (:underline t))))
652 `(moccur-edit-done-face ((,class
653 (:foreground ,solarized-comments
654 :background ,solarized-bg
655 :slant italic))))
656 `(moccur-edit-face
657 ((,class (:background ,yellow :foreground ,solarized-bg))))
658 `(moccur-edit-file-face ((,class (:background ,solarized-hl))))
659 `(moccur-edit-reject-face ((,class (:foreground ,red))))
660 `(moccur-face ((,class (:background ,solarized-hl :foreground ,solarized-emph
661 :weight bold))))
662 `(search-buffers-face ((,class (:background ,solarized-hl :foreground ,solarized-emph
663 :weight bold))))
664 `(search-buffers-header-face ((,class (:background ,solarized-hl :foreground ,yellow
665 :weight bold))))
666
667 ;; mu4e
668 `(mu4e-cited-1-face ((,class (:foreground ,green :slant italic :weight normal))))
669 `(mu4e-cited-2-face ((,class (:foreground ,blue :slant italic :weight normal))))
670 `(mu4e-cited-3-face ((,class (:foreground ,orange :slant italic :weight normal))))
671 `(mu4e-cited-4-face ((,class (:foreground ,yellow :slant italic :weight normal))))
672 `(mu4e-cited-5-face ((,class (:foreground ,cyan :slant italic :weight normal))))
673 `(mu4e-cited-6-face ((,class (:foreground ,green :slant italic :weight normal))))
674 `(mu4e-cited-7-face ((,class (:foreground ,blue :slant italic :weight normal))))
675 `(mu4e-flagged-face ((,class (:foreground ,magenta :weight bold))))
676 `(mu4e-view-url-number-face ((,class (:foreground ,orange :weight bold))))
677 `(mu4e-warning-face ((,class (:foreground ,red :slant normal :weight bold))))
678
679 ;; mumamo
680 `(mumamo-background-chunk-submode1 ((,class (:background ,solarized-hl))))
681
682 ;; nav
683 `(nav-face-heading ((,class (:foreground ,yellow))))
684 `(nav-face-button-num ((,class (:foreground ,cyan))))
685 `(nav-face-dir ((,class (:foreground ,green))))
686 `(nav-face-hdir ((,class (:foreground ,red))))
687 `(nav-face-file ((,class (:foreground ,solarized-fg))))
688 `(nav-face-hfile ((,class (:foreground ,red))))
689
690 ;; nav-flash
691 `(nav-flash-face ((,class (:background ,solarized-hl))))
692
693 ;; org-mode
694 `(org-agenda-structure
695 ((,class (:inherit font-lock-comment-face :foreground ,magenta :inverse-video t))))
696 `(org-agenda-date
697 ((,class (:foreground ,solarized-fg :background ,solarized-hl :weight bold
698 :box (:line-width 4 :color ,solarized-hl) ))) t)
699 `(org-agenda-date-weekend ((,class (:inherit org-agenda-date :slant italic))) t)
700 `(org-agenda-date-today
701 ((,class (:inherit org-agenda-date :slant italic underline: t))) t)
702 `(org-agenda-done ((,class (:foreground ,green))) t)
703 `(org-archived ((,class (:foreground ,solarized-comments :weight normal))))
704 `(org-block ((,class (:foreground ,solarized-comments))))
705 `(org-block-begin-line ((,class (:foreground ,solarized-comments :slant italic))))
706 `(org-checkbox ((,class (:background ,solarized-bg :foreground ,solarized-fg
707 :box (:line-width 1 :style released-button)))))
708 `(org-code ((,class (:foreground ,solarized-comments))))
709 `(org-date ((,class (:foreground ,blue :underline t))))
710 `(org-done ((,class (:weight bold :foreground ,green))))
711 `(org-ellipsis ((,class (:foreground ,solarized-comments))))
712 `(org-formula ((,class (:foreground ,yellow))))
713 `(org-headline-done ((,class (:foreground ,green))))
714 `(org-hide ((,class (:foreground ,solarized-bg))))
715 `(org-level-1 ((,class (:foreground ,orange))))
716 `(org-level-2 ((,class (:foreground ,green))))
717 `(org-level-3 ((,class (:foreground ,blue))))
718 `(org-level-4 ((,class (:foreground ,yellow))))
719 `(org-level-5 ((,class (:foreground ,cyan))))
720 `(org-level-6 ((,class (:foreground ,green))))
721 `(org-level-7 ((,class (:foreground ,red))))
722 `(org-level-8 ((,class (:foreground ,blue))))
723 `(org-link ((,class (:foreground ,yellow :underline t))))
724 `(org-sexp-date ((,class (:foreground ,violet))))
725 `(org-scheduled ((,class (:foreground ,green))))
726 `(org-scheduled-previously ((,class (:foreground ,yellow))))
727 `(org-scheduled-today ((,class (:foreground ,blue :weight normal))))
728 `(org-special-keyword ((,class (:foreground ,solarized-comments :weight bold))))
729 `(org-table ((,class (:foreground ,green))))
730 `(org-tag ((,class (:weight bold))))
731 `(org-time-grid ((,class (:foreground ,cyan))))
732 `(org-todo ((,class (:foreground ,red :weight bold))))
733 `(org-upcoming-deadline ((,class (:foreground ,yellow :weight normal :underline nil))))
734 `(org-warning ((,class (:foreground ,orange :weight normal :underline nil))))
735 ;; org-habit (clear=blue, ready=green, alert=yellow, overdue=red. future=lower contrast)
736 `(org-habit-clear-face ((,class (:background ,blue-lc :foreground ,blue-hc))))
737 `(org-habit-clear-future-face ((,class (:background ,blue-lc))))
738 `(org-habit-ready-face ((,class (:background ,green-lc :foreground ,green))))
739 `(org-habit-ready-future-face ((,class (:background ,green-lc))))
740 `(org-habit-alert-face ((,class (:background ,yellow :foreground ,yellow-lc))))
741 `(org-habit-alert-future-face ((,class (:background ,yellow-lc))))
742 `(org-habit-overdue-face ((,class (:background ,red :foreground ,red-lc))))
743 `(org-habit-overdue-future-face ((,class (:background ,red-lc))))
744 ;; latest additions
745 `(org-agenda-dimmed-todo-face ((,class (:foreground ,solarized-comments))))
746 `(org-agenda-restriction-lock ((,class (:background ,yellow))))
747 `(org-clock-overlay ((,class (:background ,yellow))))
748 `(org-column ((,class (:background ,solarized-hl :strike-through nil
749 :underline nil :slant normal :weight normal))))
750 `(org-column-title ((,class (:background ,solarized-hl :underline t :weight bold))))
751 `(org-date-selected ((,class (:foreground ,red :inverse-video t))))
752 `(org-document-info ((,class (:foreground ,solarized-fg))))
753 `(org-document-title ((,class (:foreground ,solarized-emph :weight bold :height 1.44))))
754 `(org-drawer ((,class (:foreground ,cyan))))
755 `(org-footnote ((,class (:foreground ,magenta :underline t))))
756 `(org-latex-and-export-specials ((,class (:foreground ,orange))))
757 `(org-mode-line-clock-overrun ((,class (:inherit modeline :background ,red))))
758
759 ;; outline
760 `(outline-8 ((,class (:inherit default))))
761 `(outline-7 ((,class (:inherit outline-8 :height 1.0))))
762 `(outline-6 ((,class (:inherit outline-7 :height 1.0))))
763 `(outline-5 ((,class (:inherit outline-6 :height 1.0))))
764 `(outline-4 ((,class (:inherit outline-5 :height 1.0))))
765 `(outline-3 ((,class (:inherit outline-4 :height 1.0))))
766 `(outline-2 ((,class (:inherit outline-3 :height 1.0))))
767 `(outline-1 ((,class (:inherit outline-2 :height 1.0))))
768
769 ;; pretty-mode
770 `(pretty-mode-symbol-face ((,class (:foreground ,green))))
771
772 ;; popup
773 `(popup-face ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
774 `(popup-isearch-match ((,class (:background ,yellow :foreground ,solarized-bg))))
775 `(popup-menu-face ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
776 `(popup-menu-mouse-face ((,class (:background ,blue :foreground ,solarized-fg))))
777 `(popup-menu-selection-face ((,class (:background ,magenta :foreground ,solarized-bg))))
778 `(popup-scroll-bar-background-face ((,class (:background ,solarized-comments))))
779 `(popup-scroll-bar-foreground-face ((,class (:background ,solarized-emph))))
780 `(popup-tip-face ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
781
782 ;; rainbow-delimiters
783 `(rainbow-delimiters-depth-1-face ((,class (:foreground ,cyan))))
784 `(rainbow-delimiters-depth-2-face ((,class (:foreground ,yellow))))
785 `(rainbow-delimiters-depth-3-face ((,class (:foreground ,blue))))
786 `(rainbow-delimiters-depth-4-face ((,class (:foreground ,orange))))
787 `(rainbow-delimiters-depth-5-face ((,class (:foreground ,green))))
788 `(rainbow-delimiters-depth-6-face ((,class (:foreground ,yellow))))
789 `(rainbow-delimiters-depth-7-face ((,class (:foreground ,blue))))
790 `(rainbow-delimiters-depth-8-face ((,class (:foreground ,orange))))
791 `(rainbow-delimiters-depth-9-face ((,class (:foreground ,green))))
792 `(rainbow-delimiters-depth-10-face ((,class (:foreground ,yellow))))
793 `(rainbow-delimiters-depth-11-face ((,class (:foreground ,blue))))
794 `(rainbow-delimiters-depth-12-face ((,class (:foreground ,orange))))
795 `(rainbow-delimiters-unmatched-face
796 ((,class (:foreground ,solarized-fg :background ,solarized-bg :inverse-video t))))
797
798 ;; rst-mode
799 `(rst-level-1-face ((,class (:background ,yellow :foreground ,solarized-bg))))
800 `(rst-level-2-face ((,class (:background ,cyan :foreground ,solarized-bg))))
801 `(rst-level-3-face ((,class (:background ,blue :foreground ,solarized-bg))))
802 `(rst-level-4-face ((,class (:background ,violet :foreground ,solarized-bg))))
803 `(rst-level-5-face ((,class (:background ,magenta :foreground ,solarized-bg))))
804 `(rst-level-6-face ((,class (:background ,red :foreground ,solarized-bg))))
805
806 ;; rpm-mode
807 `(rpm-spec-dir-face ((,class (:foreground ,green))))
808 `(rpm-spec-doc-face ((,class (:foreground ,green))))
809 `(rpm-spec-ghost-face ((,class (:foreground ,red))))
810 `(rpm-spec-macro-face ((,class (:foreground ,yellow))))
811 `(rpm-spec-obsolete-tag-face ((,class (:foreground ,red))))
812 `(rpm-spec-package-face ((,class (:foreground ,red))))
813 `(rpm-spec-section-face ((,class (:foreground ,yellow))))
814 `(rpm-spec-tag-face ((,class (:foreground ,blue))))
815 `(rpm-spec-var-face ((,class (:foreground ,red))))
816
817 ;; sh-mode
818 `(sh-quoted-exec ((,class (:foreground ,violet :weight bold))))
819 `(sh-escaped-newline ((,class (:foreground ,yellow :weight bold))))
820 `(sh-heredoc ((,class (:foreground ,yellow :weight bold))))
821
822 ;; smartparens
823 `(sp-pair-overlay-face ((,class (:background ,solarized-hl))))
824 `(sp-wrap-overlay-face ((,class (:background ,solarized-hl))))
825 `(sp-wrap-tag-overlay-face ((,class (:background ,solarized-hl))))
826
827 ;; show-paren
828 `(show-paren-match
829 ((,class (:foreground ,cyan :background ,solarized-bg :weight normal :inverse-video t))))
830 `(show-paren-mismatch
831 ((,class (:foreground ,red :background ,solarized-bg :weight normal :inverse-video t))))
832
833 ;; mic-paren
834 `(paren-face-match
835 ((,class (:foreground ,cyan :background ,solarized-bg :weight normal :inverse-video t))))
836 `(paren-face-mismatch
837 ((,class (:foreground ,red :background ,solarized-bg :weight normal :inverse-video t))))
838 `(paren-face-no-match
839 ((,class (:foreground ,red :background ,solarized-bg :weight normal :inverse-video t))))
840
841 ;; SLIME
842 `(slime-repl-inputed-output-face ((,class (:foreground ,red))))
843
844 ;; speedbar
845 `(speedbar-button-face ((,class (:inherit variable-pitch :foreground ,solarized-comments))))
846 `(speedbar-directory-face ((,class (:inherit variable-pitch :foreground ,blue))))
847 `(speedbar-file-face ((,class (:inherit variable-pitch :foreground ,solarized-fg))))
848 `(speedbar-highlight-face ((,class (:inherit variable-pitch :background ,solarized-hl))))
849 `(speedbar-selected-face ((,class (:inherit variable-pitch :foreground ,yellow :underline t))))
850 `(speedbar-separator-face ((,class (:inherit variable-pitch
851 :background ,blue :foreground ,solarized-bg
852 :overline ,cyan-lc))))
853 `(speedbar-tag-face ((,class (:inherit variable-pitch :foreground ,green))))
854
855 ;; sunrise commander headings
856 `(sr-active-path-face ((,class (:background ,blue :foreground ,solarized-bg
857 :height 100 :weight bold))))
858 `(sr-editing-path-face ((,class (:background ,yellow :foreground ,solarized-bg
859 :weight bold :height 100))))
860 `(sr-highlight-path-face ((,class (:background ,green :foreground ,solarized-bg
861 :weight bold :height 100))))
862 `(sr-passive-path-face ((,class (:background ,solarized-comments :foreground ,solarized-bg
863 :weight bold :height 100))))
864 ;; sunrise commander marked
865 `(sr-marked-dir-face ((,class (:inherit dired-marked))))
866 `(sr-marked-file-face ((,class (:inherit dired-marked))))
867 `(sr-alt-marked-dir-face ((,class (:background ,magenta :foreground ,solarized-bg
868 :weight bold))))
869 `(sr-alt-marked-file-face ((,class (:background ,magenta :foreground ,solarized-bg
870 :weight bold))))
871 ;; sunrise commander fstat
872 `(sr-directory-face ((,class (:inherit dired-directory :weight normal))))
873 `(sr-symlink-directory-face ((,class (:inherit dired-directory :slant italic :weight normal))))
874 `(sr-symlink-face ((,class (:inherit dired-symlink :slant italic :weight normal))))
875 `(sr-broken-link-face ((,class (:inherit dired-warning :slant italic :weight normal))))
876 ;; sunrise commander file types
877 `(sr-compressed-face ((,class (:foreground ,solarized-fg))))
878 `(sr-encrypted-face ((,class (:foreground ,solarized-fg))))
879 `(sr-log-face ((,class (:foreground ,solarized-fg))))
880 `(sr-packaged-face ((,class (:foreground ,solarized-fg))))
881 `(sr-html-face ((,class (:foreground ,solarized-fg))))
882 `(sr-xml-face ((,class (:foreground ,solarized-fg))))
883 ;; sunrise commander misc
884 `(sr-clex-hotchar-face ((,class (:background ,red :foreground ,solarized-bg :weight bold))))
885
886 ;; table
887 `(table-cell ((,class (:foreground ,solarized-fg :background ,solarized-hl))))
888
889 ;; term
890 `(term-color-black ((t (:foreground ,base03
891 :background ,base02))))
892 `(term-color-red ((t (:foreground ,red
893 :background ,red-d))))
894 `(term-color-green ((t (:foreground ,green
895 :background ,green-d))))
896 `(term-color-yellow ((t (:foreground ,yellow
897 :background ,yellow-d))))
898 `(term-color-blue ((t (:foreground ,blue
899 :background ,blue-d))))
900 `(term-color-magenta ((t (:foreground ,magenta
901 :background ,magenta-d))))
902 `(term-color-cyan ((t (:foreground ,cyan
903 :background ,cyan-d))))
904 `(term-color-white ((t (:foreground ,base00
905 :background ,base0))))
906 '(term-default-fg-color ((t (:inherit term-color-white))))
907 '(term-default-bg-color ((t (:inherit term-color-black))))
908
909
910 ;; tooltip. (NOTE: This setting has no effect on the os widgets for me
911 ;; zencoding uses this)
912 `(tooltip ((,class (:background ,yellow-lc :foreground ,yellow-hc
913 :inherit variable-pitch))))
914
915 ;; tuareg
916 `(tuareg-font-lock-governing-face ((,class (:foreground ,magenta :weight bold))))
917 `(tuareg-font-lock-multistage-face ((,class (:foreground ,blue :background ,solarized-hl :weight bold))))
918 `(tuareg-font-lock-operator-face ((,class (:foreground ,solarized-emph))))
919 `(tuareg-font-lock-error-face ((,class (:foreground ,yellow :background ,red :weight bold))))
920 `(tuareg-font-lock-interactive-output-face ((,class (:foreground ,cyan))))
921 `(tuareg-font-lock-interactive-error-face ((,class (:foreground ,red))))
922
923 ;; undo-tree
924 `(undo-tree-visualizer-default-face
925 ((,class (:foreground ,solarized-comments :background ,solarized-bg))))
926 `(undo-tree-visualizer-unmodified-face ((,class (:foreground ,green))))
927 `(undo-tree-visualizer-current-face ((,class (:foreground ,blue :inverse-video t))))
928 `(undo-tree-visualizer-active-branch-face
929 ((,class (:foreground ,solarized-emph :background ,solarized-bg :weight bold))))
930 `(undo-tree-visualizer-register-face ((,class (:foreground ,yellow))))
931
932 ;; volatile highlights
933 `(vhl/default-face ((,class (:background ,green-lc :foreground ,green-hc))))
934
935 ;; w3m
936 `(w3m-anchor ((,class (:inherit link))))
937 `(w3m-arrived-anchor ((,class (:inherit link-visited))))
938 `(w3m-form ((,class (:background ,solarized-bg :foreground ,solarized-fg))))
939 `(w3m-header-line-location-title ((,class (:background ,solarized-hl :foreground ,yellow))))
940 `(w3m-header-line-location-content ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
941 `(w3m-bold ((,class (:foreground ,solarized-emph :weight bold))))
942 `(w3m-image-anchor ((,class (:background ,solarized-bg :foreground ,cyan :inherit link))))
943 `(w3m-image ((,class (:background ,solarized-bg :foreground ,cyan))))
944 `(w3m-lnum-minibuffer-prompt ((,class (:foreground ,solarized-emph))))
945 `(w3m-lnum-match ((,class (:background ,solarized-hl))))
946 `(w3m-lnum ((,class (:underline nil :bold nil :foreground ,red))))
947 `(w3m-session-select ((,class (:foreground ,solarized-fg))))
948 `(w3m-session-selected ((,class (:foreground ,solarized-emph :bold t :underline t))))
949 `(w3m-tab-background ((,class (:background ,solarized-bg :foreground ,solarized-fg))))
950 `(w3m-tab-selected-background ((,class (:background ,solarized-bg :foreground ,solarized-fg))))
951 `(w3m-tab-mouse ((,class (:background ,solarized-hl :foreground ,yellow))))
952 `(w3m-tab-selected ((,class (:background ,solarized-hl :foreground ,solarized-emph :bold t))))
953 `(w3m-tab-unselected ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
954 `(w3m-tab-selected-retrieving ((,class (:background ,solarized-hl :foreground ,red))))
955 `(w3m-tab-unselected-retrieving ((,class (:background ,solarized-hl :foreground ,orange))))
956 `(w3m-tab-unselected-unseen ((,class (:background ,solarized-hl :foreground ,violet))))
957
958 ;; web-mode
959 `(web-mode-builtin-face ((,class (:foreground ,red))))
960 `(web-mode-comment-face ((,class (:foreground ,solarized-comments))))
961 `(web-mode-constant-face ((,class (:foreground ,blue :weight bold))))
962 `(web-mode-css-at-rule-face ((,class (:foreground ,violet :slant italic))))
963 `(web-mode-css-prop-face ((,class (:foreground ,violet))))
964 `(web-mode-css-pseudo-class-face ((,class (:foreground ,green :slant italic))))
965 `(web-mode-css-rule-face ((,class (:foreground ,blue))))
966 `(web-mode-doctype-face ((,class (:foreground ,solarized-comments
967 :slant italic :weight bold))))
968 `(web-mode-folded-face ((,class (:underline t))))
969 `(web-mode-function-name-face ((,class (:foreground ,blue))))
970 `(web-mode-html-attr-name-face ((,class (:foreground ,blue :slant normal))))
971 `(web-mode-html-attr-value-face ((,class (:foreground ,cyan :slant italic))))
972 `(web-mode-html-tag-face ((,class (:foreground ,green))))
973 `(web-mode-keyword-face ((,class (:foreground ,yellow :weight bold))))
974 `(web-mode-preprocessor-face ((,class (:foreground ,yellow :slant italic :weight bold))))
975 `(web-mode-string-face ((,class (:foreground ,cyan))))
976 `(web-mode-type-face ((,class (:foreground ,yellow))))
977 `(web-mode-variable-name-face ((,class (:foreground ,blue))))
978
979 ;; whitespace-mode
980 `(whitespace-space ((,class (:background ,solarized-bg :foreground ,yellow-lc
981 :inverse-video t))))
982 `(whitespace-hspace ((,class (:background ,solarized-bg :foreground ,red-lc
983 :inverse-video t))))
984 `(whitespace-tab ((,class (:background ,solarized-bg :foreground ,orange-lc
985 :inverse-video t))))
986 `(whitespace-newline ((,class (:foreground ,solarized-comments))))
987 `(whitespace-trailing ((,class (:foreground ,blue-lc :background ,solarized-bg
988 :inverse-video t))))
989 ; removing inverse video on this
990 `(whitespace-line ((,class (:background ,solarized-bg :foreground ,magenta
991 :inverse-video nil))))
992 `(whitespace-space-before-tab ((,class (:background ,solarized-bg :foreground ,green-lc
993 :inverse-video t))))
994 `(whitespace-indentation ((,class (:background ,solarized-bg :foreground ,magenta-lc
995 :inverse-video t))))
996 `(whitespace-empty ((,class (:background ,solarized-fg :foreground ,red-lc :inverse-video t))))
997 `(whitespace-space-after-tab ((,class (:background ,solarized-bg :foreground ,violet-lc
998 :inverse-video t))))
999
1000 ;; wanderlust
1001 `(wl-highlight-folder-few-face ((,class (:foreground ,red))))
1002 `(wl-highlight-folder-many-face ((,class (:foreground ,red))))
1003 `(wl-highlight-folder-path-face ((,class (:foreground ,orange))))
1004 `(wl-highlight-folder-unread-face ((,class (:foreground ,blue))))
1005 `(wl-highlight-folder-zero-face ((,class (:foreground ,solarized-fg))))
1006 `(wl-highlight-folder-unknown-face ((,class (:foreground ,blue))))
1007 `(wl-highlight-message-citation-header ((,class (:foreground ,red))))
1008 `(wl-highlight-message-cited-text-1 ((,class (:foreground ,red))))
1009 `(wl-highlight-message-cited-text-2 ((,class (:foreground ,green))))
1010 `(wl-highlight-message-cited-text-3 ((,class (:foreground ,blue))))
1011 `(wl-highlight-message-cited-text-4 ((,class (:foreground ,blue))))
1012 `(wl-highlight-message-header-contents-face ((,class (:foreground ,green))))
1013 `(wl-highlight-message-headers-face ((,class (:foreground ,red))))
1014 `(wl-highlight-message-important-header-contents ((,class (:foreground ,green))))
1015 `(wl-highlight-message-header-contents ((,class (:foreground ,green))))
1016 `(wl-highlight-message-important-header-contents2 ((,class (:foreground ,green))))
1017 `(wl-highlight-message-signature ((,class (:foreground ,green))))
1018 `(wl-highlight-message-unimportant-header-contents ((,class (:foreground ,solarized-fg))))
1019 `(wl-highlight-summary-answered-face ((,class (:foreground ,blue))))
1020 `(wl-highlight-summary-disposed-face ((,class (:foreground ,solarized-fg
1021 :slant italic))))
1022 `(wl-highlight-summary-new-face ((,class (:foreground ,blue))))
1023 `(wl-highlight-summary-normal-face ((,class (:foreground ,solarized-fg))))
1024 `(wl-highlight-summary-thread-top-face ((,class (:foreground ,yellow))))
1025 `(wl-highlight-thread-indent-face ((,class (:foreground ,magenta))))
1026 `(wl-highlight-summary-refiled-face ((,class (:foreground ,solarized-fg))))
1027 `(wl-highlight-summary-displaying-face ((,class (:underline t :weight bold))))
1028
1029 ;; which-func-mode
1030 `(which-func ((,class (:foreground ,green))))
1031
1032 ;; window-number-mode
1033 `(window-number-face ((,class (:foreground ,green))))
1034
1035 ;; yascroll
1036 `(yascroll:thumb-text-area
1037 ((,class (:foreground ,solarized-comments :background ,solarized-comments))))
1038 `(yascroll:thumb-fringe
1039 ((,class (:foreground ,solarized-comments :background ,solarized-comments))))
1040
1041 ;; zencoding
1042 `(zencoding-preview-input ((,class (:background ,solarized-hl :box ,solarized-emph)))))
1043
1044
1045 (custom-theme-set-variables
1046 theme-name
1047 `(ansi-color-names-vector [,solarized-bg ,red ,green ,yellow
1048 ,blue ,magenta ,cyan ,solarized-fg])
1049 ;; fill-column-indicator
1050 `(fci-rule-color ,solarized-hl)
1051
1052 ;; highlight-changes
1053 `(highlight-changes-colors '(,magenta ,violet))
1054
1055 ;; highlight-tail
1056 `(highlight-tail-colors
1057 '((,solarized-hl . 0)(,green-lc . 20)(,cyan-lc . 30)(,blue-lc . 50)
1058 (,yellow-lc . 60)(,orange-lc . 70)(,magenta-lc . 85)(,solarized-hl . 100)))
1059
1060 `(vc-annotate-color-map
1061 '((20 . ,red)
1062 (40 . "#CF4F1F")
1063 (60 . "#C26C0F")
1064 (80 . ,yellow)
1065 (100 . "#AB8C00")
1066 (120 . "#A18F00")
1067 (140 . "#989200")
1068 (160 . "#8E9500")
1069 (180 . ,green)
1070 (200 . "#729A1E")
1071 (220 . "#609C3C")
1072 (240 . "#4E9D5B")
1073 (260 . "#3C9F79")
1074 (280 . ,cyan)
1075 (300 . "#299BA6")
1076 (320 . "#2896B5")
1077 (340 . "#2790C3")
1078 (360 . ,blue)))
1079 `(vc-annotate-very-old-color nil)
1080 `(vc-annotate-background nil))
1081
1082 ;; call chained theme function
1083 (when childtheme (funcall childtheme))))
1084
1085 ;;;###autoload
1086 (when (and (boundp 'custom-theme-load-path) load-file-name)
1087 (add-to-list 'custom-theme-load-path
1088 (file-name-as-directory (file-name-directory load-file-name))))
1089
1090 ;; Local Variables:
1091 ;; no-byte-compile: t
1092 ;; End:
1093
1094 (provide 'solarized)
1095
1096 ;;; solarized.el ends here