update solarized
[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 ;; cscope
303 `(cscope-file-face ((,class (:foreground ,green :weight bold))))
304 `(cscope-function-face ((,class (:foreground ,blue))))
305 `(cscope-line-number-face ((,class (:foreground ,yellow))))
306 `(cscope-line-face ((,class (:foreground ,solarized-fg))))
307 `(cscope-mouse-face ((,class (:background ,blue :foreground ,solarized-fg))))
308
309 ;; ctable
310 `(ctbl:face-cell-select ((,class (:background ,blue :foreground ,solarized-bg))))
311 `(ctbl:face-continue-bar ((,class (:background ,solarized-hl :foreground ,solarized-bg))))
312 `(ctbl:face-row-select ((,class (:background ,cyan :foreground ,solarized-bg))))
313
314 ;; coffee
315 `(coffee-mode-class-name ((,class (:foreground ,yellow :weight bold))))
316 `(coffee-mode-function-param ((,class (:foreground ,violet :slant italic))))
317
318 ;; custom
319 `(custom-variable-tag ((,class (:foreground ,cyan))))
320 `(custom-comment-tag ((,class (:foreground ,solarized-comments))))
321 `(custom-group-tag ((,class (:foreground ,blue))))
322 `(custom-state ((,class (:foreground ,green))))
323
324 ;; diff
325 `(diff-added ((,class (:foreground ,green :background ,solarized-bg))))
326 `(diff-changed ((,class (:foreground ,blue :background ,solarized-bg))))
327 `(diff-removed ((,class (:foreground ,red :background ,solarized-bg))))
328 `(diff-header ((,class (:background ,solarized-bg))))
329 `(diff-file-header
330 ((,class (:background ,solarized-bg :foreground ,solarized-fg :weight bold))))
331 `(diff-refine-added ((,class :foreground ,solarized-bg :background ,green)))
332 `(diff-refine-change ((,class :foreground ,solarized-bg :background ,blue)))
333 `(diff-refine-removed ((,class (:foreground ,solarized-bg :background ,red))))
334
335 ;; ediff
336 `(ediff-fine-diff-A ((,class (:background ,orange-lc))))
337 `(ediff-fine-diff-B ((,class (:background ,green-lc))))
338 `(ediff-even-diff-A ((,class (:background ,solarized-comments :foreground ,solarized-fg-lc ))))
339 `(ediff-odd-diff-A ((,class (:background ,solarized-comments :foreground ,solarized-fg-hc ))))
340 `(ediff-even-diff-B ((,class (:background ,solarized-comments :foreground ,solarized-fg-hc ))))
341 `(ediff-odd-diff-B ((,class (:background ,solarized-comments :foreground ,solarized-fg-lc ))))
342
343 ;; epc
344 `(epc:face-title ((,class (:foreground ,magenta :weight bold))))
345
346 ;; eshell
347 `(eshell-prompt ((,class (:foreground ,yellow :weight bold))))
348 `(eshell-ls-archive ((,class (:foreground ,red :weight bold))))
349 `(eshell-ls-backup ((,class (:inherit font-lock-comment))))
350 `(eshell-ls-clutter ((,class (:inherit font-lock-comment))))
351 `(eshell-ls-directory ((,class (:foreground ,blue :weight bold))))
352 `(eshell-ls-executable ((,class (:foreground ,red :weight bold))))
353 `(eshell-ls-unreadable ((,class (:foreground ,solarized-fg))))
354 `(eshell-ls-missing ((,class (:inherit font-lock-warning))))
355 `(eshell-ls-product ((,class (:inherit font-lock-doc))))
356 `(eshell-ls-special ((,class (:foreground ,yellow :weight bold))))
357 `(eshell-ls-symlink ((,class (:foreground ,cyan :weight bold))))
358
359 ;; fic
360 `(fic-author-face ((,class (:background ,solarized-bg :foreground ,orange :underline t :slant italic))))
361 `(fic-face ((,class (:background ,solarized-bg :foreground ,orange :weight normal :slant italic))))
362
363 ;; flymake
364 `(flymake-errline
365 ((,(append '((supports :underline (:style wave))) class)
366 (:underline (:style wave :color ,red)))
367 (,class (:foreground ,red-hc :background ,red-lc :weight bold :underline t))))
368 `(flymake-infoline
369 ((,(append '((supports :underline (:style wave))) class)
370 (:underline (:style wave :color ,green)))
371 (,class (:foreground ,green-hc :background ,green-lc))))
372 `(flymake-warnline
373 ((,(append '((supports :underline (:style wave))) class)
374 (:underline (:style wave :color ,yellow)))
375 (,class (:foreground ,yellow-hc :background ,yellow-lc :weight bold :underline t))))
376
377 ;; flycheck
378 `(flycheck-error
379 ((,(append '((supports :underline (:style wave))) class)
380 (:underline (:style wave :color ,red)))
381 (,class (:foreground ,red-hc :background ,red-lc :weight bold :underline t))))
382 `(flycheck-warning
383 ((,(append '((supports :underline (:style wave))) class)
384 (:underline (:style wave :color ,yellow)))
385 (,class (:foreground ,yellow-hc :background ,yellow-lc :weight bold :underline t))))
386 `(flycheck-fringe-error
387 ((,class (:foreground ,red-hc :background ,red-lc :weight bold))))
388 `(flycheck-fringe-warning
389 ((,class (:foreground ,yellow-hc :background ,yellow-lc :weight bold))))
390
391 ;; flyspell
392 `(flyspell-duplicate
393 ((,(append '((supports :underline (:style wave))) class)
394 (:underline (:style wave :color ,yellow)))
395 (,class (:foreground ,yellow :weight bold :underline t))))
396 `(flyspell-incorrect
397 ((,(append '((supports :underline (:style wave))) class)
398 (:underline (:style wave :color ,red)))
399 (,class (:foreground ,red :weight bold :underline t))))
400
401 ;; erc
402 `(erc-action-face ((,class (:inherit erc-default-face))))
403 `(erc-bold-face ((,class (:weight bold))))
404 `(erc-current-nick-face ((,class (:foreground ,blue :weight bold))))
405 `(erc-dangerous-host-face ((,class (:inherit font-lock-warning))))
406 `(erc-default-face ((,class (:foreground ,solarized-fg))))
407 `(erc-direct-msg-face ((,class (:inherit erc-default))))
408 `(erc-error-face ((,class (:inherit font-lock-warning))))
409 `(erc-fool-face ((,class (:inherit erc-default))))
410 `(erc-highlight-face ((,class (:inherit hover-highlight))))
411 `(erc-input-face ((,class (:foreground ,yellow))))
412 `(erc-keyword-face ((,class (:foreground ,blue :weight bold))))
413 `(erc-nick-default-face ((,class (:foreground ,yellow :weight bold))))
414 `(erc-my-nick-face ((,class (:foreground ,red :weight bold))))
415 `(erc-nick-msg-face ((,class (:inherit erc-default))))
416 `(erc-notice-face ((,class (:foreground ,green))))
417 `(erc-pal-face ((,class (:foreground ,orange :weight bold))))
418 `(erc-prompt-face ((,class (:foreground ,orange :background ,solarized-bg :weight bold))))
419 `(erc-timestamp-face ((,class (:foreground ,green))))
420 `(erc-underline-face ((t (:underline t))))
421
422 ;; git-gutter
423 `(git-gutter:added ((,class (:background ,green :foreground ,solarized-bg :weight bold))))
424 `(git-gutter:deleted ((,class (:background ,red :foreground ,solarized-bg :weight bold))))
425 `(git-gutter:modified ((,class (:background ,blue :foreground ,solarized-bg :weight bold))))
426 `(git-gutter:unchanged ((,class (:background ,solarized-hl :foreground ,solarized-bg :weight bold))))
427 ;; I use the following git-gutter settings along with those faces
428 ;; (when window-system
429 ;; (let ((symbol "."))
430 ;; (setq git-gutter:added-sign symbol
431 ;; git-gutter:deleted-sign symbol
432 ;; git-gutter:modified-sign symbol
433 ;; git-gutter:unchanged-sign " ")))
434
435 ;; git-gutter-fr
436 `(git-gutter-fr:added ((,class (:foreground ,green :weight bold))))
437 `(git-gutter-fr:deleted ((,class (:foreground ,red :weight bold))))
438 `(git-gutter-fr:modified ((,class (:foreground ,blue :weight bold))))
439
440 ;; guide-key
441 `(guide-key/highlight-command-face ((,class (:foreground ,blue))))
442 `(guide-key/key-face ((,class (:foreground ,solarized-comments))))
443 `(guide-key/prefix-command-face ((,class (:foreground ,green))))
444
445 ;; gnus
446 `(gnus-group-mail-1-face ((,class (:weight bold :inherit gnus-group-mail-1-empty))))
447 `(gnus-group-mail-1-empty-face ((,class (:inherit gnus-group-news-1-empty))))
448 `(gnus-group-mail-2-face ((,class (:weight bold :inherit gnus-group-mail-2-empty))))
449 `(gnus-group-mail-2-empty-face ((,class (:inherit gnus-group-news-2-empty))))
450 `(gnus-group-mail-3-face ((,class (:weight bold :inherit gnus-group-mail-3-empty))))
451 `(gnus-group-mail-3-empty-face ((,class (:inherit gnus-group-news-3-empty))))
452 `(gnus-group-mail-4-face ((,class (:weight bold :inherit gnus-group-mail-4-empty))))
453 `(gnus-group-mail-4-empty-face ((,class (:inherit gnus-group-news-4-empty))))
454 `(gnus-group-mail-5-face ((,class (:weight bold :inherit gnus-group-mail-5-empty))))
455 `(gnus-group-mail-5-empty-face ((,class (:inherit gnus-group-news-5-empty))))
456 `(gnus-group-mail-6-face ((,class (:weight bold :inherit gnus-group-mail-6-empty))))
457 `(gnus-group-mail-6-empty-face ((,class (:inherit gnus-group-news-6-empty))))
458 `(gnus-group-mail-low-face ((,class (:weight bold :inherit gnus-group-mail-low-empty))))
459 `(gnus-group-mail-low-empty-face ((,class (:inherit gnus-group-news-low-empty))))
460 `(gnus-group-news-1-face ((,class (:weight bold :inherit gnus-group-news-1-empty))))
461 `(gnus-group-news-2-face ((,class (:weight bold :inherit gnus-group-news-2-empty))))
462 `(gnus-group-news-3-face ((,class (:weight bold :inherit gnus-group-news-3-empty))))
463 `(gnus-group-news-4-face ((,class (:weight bold :inherit gnus-group-news-4-empty))))
464 `(gnus-group-news-5-face ((,class (:weight bold :inherit gnus-group-news-5-empty))))
465 `(gnus-group-news-6-face ((,class (:weight bold :inherit gnus-group-news-6-empty))))
466 `(gnus-group-news-low-face ((,class (:weight bold :inherit gnus-group-news-low-empty))))
467 `(gnus-header-content-face ((,class (:inherit message-header-other))))
468 `(gnus-header-from-face ((,class (:inherit message-header-from))))
469 `(gnus-header-name-face ((,class (:inherit message-header-name))))
470 `(gnus-header-newsgroups-face ((,class (:inherit message-header-other))))
471 `(gnus-header-subject-face ((,class (:inherit message-header-subject))))
472 `(gnus-summary-cancelled-face ((,class (:foreground ,orange))))
473 `(gnus-summary-high-ancient-face ((,class (:foreground ,blue))))
474 `(gnus-summary-high-read-face ((,class (:foreground ,green :weight bold))))
475 `(gnus-summary-high-ticked-face ((,class (:foreground ,orange :weight bold))))
476 `(gnus-summary-high-unread-face ((,class (:foreground ,solarized-fg :weight bold))))
477 `(gnus-summary-low-ancient-face ((,class (:foreground ,blue))))
478 `(gnus-summary-low-read-face ((t (:foreground ,green))))
479 `(gnus-summary-low-ticked-face ((,class (:foreground ,orange :weight bold))))
480 `(gnus-summary-low-unread-face ((,class (:foreground ,solarized-fg))))
481 `(gnus-summary-normal-ancient-face ((,class (:foreground ,blue))))
482 `(gnus-summary-normal-read-face ((,class (:foreground ,green))))
483 `(gnus-summary-normal-ticked-face ((,class (:foreground ,orange :weight bold))))
484 `(gnus-summary-normal-unread-face ((,class (:foreground ,solarized-fg))))
485 `(gnus-summary-selected-face ((,class (:foreground ,yellow :weight bold))))
486 `(gnus-cite-1-face ((,class (:foreground ,blue))))
487 `(gnus-cite-10-face ((,class (:foreground ,yellow))))
488 `(gnus-cite-11-face ((,class (:foreground ,yellow))))
489 `(gnus-cite-2-face ((,class (:foreground ,blue))))
490 `(gnus-cite-3-face ((,class (:foreground ,blue))))
491 `(gnus-cite-4-face ((,class (:foreground ,green))))
492 `(gnus-cite-5-face ((,class (:foreground ,green))))
493 `(gnus-cite-6-face ((,class (:foreground ,green))))
494 `(gnus-cite-7-face ((,class (:foreground ,red))))
495 `(gnus-cite-8-face ((,class (:foreground ,red))))
496 `(gnus-cite-9-face ((,class (:foreground ,red))))
497 `(gnus-group-news-1-empty-face ((,class (:foreground ,yellow))))
498 `(gnus-group-news-2-empty-face ((,class (:foreground ,green))))
499 `(gnus-group-news-3-empty-face ((,class (:foreground ,green))))
500 `(gnus-group-news-4-empty-face ((,class (:foreground ,blue))))
501 `(gnus-group-news-5-empty-face ((,class (:foreground ,blue))))
502 `(gnus-group-news-6-empty-face ((,class (:foreground ,solarized-bg))))
503 `(gnus-group-news-low-empty-face ((,class (:foreground ,solarized-bg))))
504 `(gnus-signature-face ((,class (:foreground ,yellow))))
505 `(gnus-x-face ((,class (:background ,solarized-fg :foreground ,solarized-bg))))
506
507 ;; helm (these probably needs tweaking)
508 `(helm-apt-deinstalled ((,class (:foreground ,solarized-comments))))
509 `(helm-apt-installed ((,class (:foreground ,green))))
510 `(helm-bookmark-directory ((,class (:inherit helm-ff-directory))))
511 `(helm-bookmark-file ((,class (:foreground ,solarized-fg))))
512 `(helm-bookmark-gnus ((,class (:foreground ,cyan))))
513 `(helm-bookmark-info ((,class (:foreground ,green))))
514 `(helm-bookmark-man ((,class (:foreground ,violet))))
515 `(helm-bookmark-w3m ((,class (:foreground ,yellow))))
516 `(helm-bookmarks-su ((,class (:foreground ,orange))))
517 `(helm-buffer-not-saved ((,class (:foreground ,orange))))
518 `(helm-buffer-saved-out ((,class (:foreground ,red :background ,solarized-bg
519 :inverse-video t))))
520 `(helm-buffer-size ((,class (:foreground ,solarized-comments))))
521 `(helm-candidate-number ((,class (:background ,solarized-hl :foreground ,solarized-emph
522 :bold t))))
523 `(helm-ff-directory ((,class (:background ,solarized-bg :foreground ,blue))))
524 `(helm-ff-executable ((,class (:foreground ,green))))
525 `(helm-ff-file ((,class (:background ,solarized-bg :foreground ,solarized-fg))))
526 `(helm-ff-invalid-symlink ((,class (:background ,solarized-bg :foreground ,orange
527 :slant italic))))
528 `(helm-ff-prefix ((,class (:background ,yellow :foreground ,solarized-bg))))
529 `(helm-ff-symlink ((,class (:foreground ,cyan))))
530 `(helm-grep-file ((,class (:foreground ,cyan :underline t))))
531 `(helm-grep-finish ((,class (:foreground ,green))))
532 `(helm-grep-lineno ((,class (:foreground ,orange))))
533 `(helm-grep-match ((,class (:inherit match))))
534 `(helm-grep-running ((,class (:foreground ,red))))
535 `(helm-header ((,class (:inherit header-line))))
536 `(helm-lisp-completion-info ((,class (:foreground ,solarized-fg))))
537 `(helm-lisp-show-completion ((,class (:foreground ,yellow :background ,solarized-hl
538 :bold t))))
539 `(helm-M-x-key ((,class (:foreground ,orange :underline t))))
540 `(helm-moccur-buffer ((,class (:foreground ,cyan :underline t))))
541 `(helm-match ((,class (:inherit match))))
542 `(helm-selection ((,class (:background ,solarized-hl :underline t))))
543 `(helm-selection-line ((,class (:background ,solarized-hl :foreground ,solarized-emph
544 :underline nil))))
545 `(helm-separator ((,class (:foreground ,red))))
546 `(helm-source-header ((,class (:background ,blue-lc :foreground ,solarized-bg
547 :underline nil))))
548 `(helm-time-zone-current ((,class (:foreground ,green))))
549 `(helm-time-zone-home ((,class (:foreground ,red))))
550 `(helm-visible-mark ((,class (:background ,solarized-bg :foreground ,magenta :bold t))))
551
552 ;; hi-lock-mode
553 `(hi-yellow ((,class (:foreground ,yellow-lc :background ,yellow-hc))))
554 `(hi-pink ((,class (:foreground ,magenta-lc :background ,magenta-hc))))
555 `(hi-green ((,class (:foreground ,green-lc :background ,green-hc))))
556 `(hi-blue ((,class (:foreground ,blue-lc :background ,blue-hc))))
557 `(hi-black-b ((,class (:foreground ,solarized-emph :background ,solarized-bg :weight bold))))
558 `(hi-blue-b ((,class (:foreground ,blue-lc :weight bold))))
559 `(hi-green-b ((,class (:foreground ,green-lc :weight bold))))
560 `(hi-red-b ((,class (:foreground ,red :weight bold))))
561 `(hi-black-hb ((,class (:foreground ,solarized-emph :background ,solarized-bg :weight bold))))
562
563 ;; highlight-changes
564 `(highlight-changes ((,class (:foreground ,orange))))
565 `(highlight-changes-delete ((,class (:foreground ,red :underline t))))
566
567 ;; hl-line-mode
568 `(hl-line ((,class (:background ,solarized-hl))))
569 `(hl-line-face ((,class (:background ,solarized-hl))))
570
571 ;; ido-mode
572 `(ido-first-match ((,class (:foreground ,green :weight bold))))
573 `(ido-only-match ((,class (:foreground ,solarized-bg :background ,green :weight bold))))
574 `(ido-subdir ((,class (:foreground ,blue))))
575 `(ido-incomplete-regexp ((,class (:foreground ,red :weight bold ))))
576 `(ido-indicator ((,class (:background ,red :foreground ,solarized-bg :width condensed))))
577 `(ido-virtual ((,class (:foreground ,cyan))))
578
579 `(jabber-activity-face ((,class (:weight bold :foreground ,red))))
580 `(jabber-activity-personal-face ((,class (:weight bold :foreground ,blue))))
581 `(jabber-chat-error ((,class (:weight bold :foreground ,red))))
582 `(jabber-chat-prompt-foreign ((,class (:weight bold :foreground ,red))))
583 `(jabber-chat-prompt-local ((,class (:weight bold :foreground ,blue))))
584 `(jabber-chat-prompt-system ((,class (:weight bold :foreground ,green))))
585 `(jabber-chat-text-foreign ((,class (:foreground ,base1))))
586 `(jabber-chat-text-local ((,class (:foreground ,base0))))
587 `(jabber-chat-rare-time-face ((,class (:underline t :foreground ,green))))
588 `(jabber-roster-user-away ((,class (:slant italic :foreground ,green))))
589 `(jabber-roster-user-chatty ((,class (:weight bold :foreground ,orange))))
590 `(jabber-roster-user-dnd ((,class (:slant italic :foreground ,red))))
591 `(jabber-roster-user-error ((,class (:weight light :slant italic :foreground ,red))))
592 `(jabber-roster-user-offline ((,class (:foreground ,base01))))
593 `(jabber-roster-user-online ((,class (:weight bold :foreground ,blue))))
594 `(jabber-roster-user-xa ((,class (:slant italic :foreground ,magenta))))
595
596 ;; js2-mode colors
597 `(js2-error ((,class (:foreground ,red))))
598 `(js2-external-variable ((,class (:foreground ,orange))))
599 `(js2-function-param ((,class (:foreground ,green))))
600 `(js2-instance-member ((,class (:foreground ,magenta))))
601 `(js2-jsdoc-html-tag-delimiter ((,class (:foreground ,cyan))))
602 `(js2-jsdoc-html-tag-name ((,class (:foreground ,orange))))
603 `(js2-jsdoc-tag ((,class (:foreground ,cyan))))
604 `(js2-jsdoc-type ((,class (:foreground ,blue))))
605 `(js2-jsdoc-value ((,class (:foreground ,violet))))
606 `(js2-magic-paren ((,class (:underline t))))
607 `(js2-private-function-call ((,class (:foreground ,yellow))))
608 `(js2-private-member ((,class (:foreground ,blue))))
609 `(js2-warning ((,class (:underline ,orange))))
610
611 ;; jedi
612 `(jedi:highlight-function-argument ((,class (:inherit bold))))
613
614 ;; linum-mode
615 `(linum ((,class (:foreground ,solarized-fg :background ,solarized-bg))))
616
617 ;; lusty-explorer
618 `(lusty-directory-face ((,class (:inherit dired-directory))))
619 `(lusty-file-face ((,class nil)))
620 `(lusty-match-face ((,class (:inherit ido-first-match))))
621 `(lusty-slash-face ((,class (:foreground ,cyan :weight bold))))
622
623 ;; magit
624 `(magit-section-title ((,class (:foreground ,yellow :weight bold))))
625 `(magit-branch ((,class (:foreground ,orange :weight bold))))
626 `(magit-item-highlight ((,class (:background ,solarized-hl))))
627 `(magit-log-author ((,class (:foreground ,cyan))))
628 `(magit-log-graph ((,class (:foreground ,solarized-comments))))
629 `(magit-log-head-label-bisect-bad ((,class (:background ,red-hc :foreground ,red-lc :box 1))))
630 `(magit-log-head-label-bisect-good ((,class (:background ,green-hc :foreground ,green-lc
631 :box 1))))
632 `(magit-log-head-label-default ((,class (:background ,solarized-hl :box 1))))
633 `(magit-log-head-label-local ((,class (:background ,blue-lc :foreground ,blue-hc :box 1))))
634 `(magit-log-head-label-patches ((,class (:background ,red-lc :foreground ,red-hc :box 1))))
635 `(magit-log-head-label-remote ((,class (:background ,green-lc :foreground ,green-hc :box 1))))
636 `(magit-log-head-label-tags ((,class (:background ,yellow-lc :foreground ,yellow-hc :box 1))))
637 `(magit-log-sha1 ((,class (:foreground ,yellow))))
638
639 ;; message-mode
640 `(message-cited-text ((,class (:foreground ,solarized-comments))))
641 `(message-header-name ((,class (:foreground ,green))))
642 `(message-header-other ((,class (:foreground ,green))))
643 `(message-header-to ((,class (:foreground ,yellow :weight bold))))
644 `(message-header-cc ((,class (:foreground ,orange :weight bold))))
645 `(message-header-newsgroups ((,class (:foreground ,yellow :weight bold))))
646 `(message-header-subject ((,class (:foreground ,orange))))
647 `(message-header-xheader ((,class (:foreground ,cyan))))
648 `(message-mml ((,class (:foreground ,yellow :weight bold))))
649 `(message-separator ((,class (:foreground ,solarized-comments :slant italic))))
650
651 ;; mew
652 `(mew-face-header-subject ((,class (:foreground ,orange))))
653 `(mew-face-header-from ((,class (:foreground ,yellow))))
654 `(mew-face-header-date ((,class (:foreground ,green))))
655 `(mew-face-header-to ((,class (:foreground ,red))))
656 `(mew-face-header-key ((,class (:foreground ,green))))
657 `(mew-face-header-private ((,class (:foreground ,green))))
658 `(mew-face-header-important ((,class (:foreground ,blue))))
659 `(mew-face-header-marginal ((,class (:foreground ,solarized-fg :weight bold))))
660 `(mew-face-header-warning ((,class (:foreground ,red))))
661 `(mew-face-header-xmew ((,class (:foreground ,green))))
662 `(mew-face-header-xmew-bad ((,class (:foreground ,red))))
663 `(mew-face-body-url ((,class (:foreground ,orange))))
664 `(mew-face-body-comment ((,class (:foreground ,solarized-fg :slant italic))))
665 `(mew-face-body-cite1 ((,class (:foreground ,green))))
666 `(mew-face-body-cite2 ((,class (:foreground ,blue))))
667 `(mew-face-body-cite3 ((,class (:foreground ,orange))))
668 `(mew-face-body-cite4 ((,class (:foreground ,yellow))))
669 `(mew-face-body-cite5 ((,class (:foreground ,red))))
670 `(mew-face-mark-review ((,class (:foreground ,blue))))
671 `(mew-face-mark-escape ((,class (:foreground ,green))))
672 `(mew-face-mark-delete ((,class (:foreground ,red))))
673 `(mew-face-mark-unlink ((,class (:foreground ,yellow))))
674 `(mew-face-mark-refile ((,class (:foreground ,green))))
675 `(mew-face-mark-unread ((,class (:foreground ,red))))
676 `(mew-face-eof-message ((,class (:foreground ,green))))
677 `(mew-face-eof-part ((,class (:foreground ,yellow))))
678
679 ;; mingus
680 `(mingus-directory-face ((,class (:foreground ,blue))))
681 `(mingus-pausing-face ((,class (:foreground ,magenta))))
682 `(mingus-playing-face ((,class (:foreground ,cyan))))
683 `(mingus-playlist-face ((,class (:foreground ,cyan ))))
684 `(mingus-song-file-face ((,class (:foreground ,yellow))))
685 `(mingus-stopped-face ((,class (:foreground ,red))))
686
687 ;; moccur
688 `(moccur-current-line-face ((,class (:underline t))))
689 `(moccur-edit-done-face ((,class
690 (:foreground ,solarized-comments
691 :background ,solarized-bg
692 :slant italic))))
693 `(moccur-edit-face
694 ((,class (:background ,yellow :foreground ,solarized-bg))))
695 `(moccur-edit-file-face ((,class (:background ,solarized-hl))))
696 `(moccur-edit-reject-face ((,class (:foreground ,red))))
697 `(moccur-face ((,class (:background ,solarized-hl :foreground ,solarized-emph
698 :weight bold))))
699 `(search-buffers-face ((,class (:background ,solarized-hl :foreground ,solarized-emph
700 :weight bold))))
701 `(search-buffers-header-face ((,class (:background ,solarized-hl :foreground ,yellow
702 :weight bold))))
703
704 ;; mu4e
705 `(mu4e-cited-1-face ((,class (:foreground ,green :slant italic :weight normal))))
706 `(mu4e-cited-2-face ((,class (:foreground ,blue :slant italic :weight normal))))
707 `(mu4e-cited-3-face ((,class (:foreground ,orange :slant italic :weight normal))))
708 `(mu4e-cited-4-face ((,class (:foreground ,yellow :slant italic :weight normal))))
709 `(mu4e-cited-5-face ((,class (:foreground ,cyan :slant italic :weight normal))))
710 `(mu4e-cited-6-face ((,class (:foreground ,green :slant italic :weight normal))))
711 `(mu4e-cited-7-face ((,class (:foreground ,blue :slant italic :weight normal))))
712 `(mu4e-flagged-face ((,class (:foreground ,magenta :weight bold))))
713 `(mu4e-view-url-number-face ((,class (:foreground ,orange :weight bold))))
714 `(mu4e-warning-face ((,class (:foreground ,red :slant normal :weight bold))))
715
716 ;; mumamo
717 `(mumamo-background-chunk-submode1 ((,class (:background ,solarized-hl))))
718
719 ;; nav
720 `(nav-face-heading ((,class (:foreground ,yellow))))
721 `(nav-face-button-num ((,class (:foreground ,cyan))))
722 `(nav-face-dir ((,class (:foreground ,green))))
723 `(nav-face-hdir ((,class (:foreground ,red))))
724 `(nav-face-file ((,class (:foreground ,solarized-fg))))
725 `(nav-face-hfile ((,class (:foreground ,red))))
726
727 ;; nav-flash
728 `(nav-flash-face ((,class (:background ,solarized-hl))))
729
730 ;; org-mode
731 `(org-agenda-structure
732 ((,class (:inherit font-lock-comment-face :foreground ,magenta :inverse-video t))))
733 `(org-agenda-date
734 ((,class (:foreground ,solarized-fg :background ,solarized-hl :weight bold
735 :box (:line-width 4 :color ,solarized-hl) ))) t)
736 `(org-agenda-date-weekend ((,class (:inherit org-agenda-date :slant italic))) t)
737 `(org-agenda-date-today
738 ((,class (:inherit org-agenda-date :slant italic underline: t))) t)
739 `(org-agenda-done ((,class (:foreground ,green))) t)
740 `(org-archived ((,class (:foreground ,solarized-comments :weight normal))))
741 `(org-block ((,class (:foreground ,solarized-comments))))
742 `(org-block-begin-line ((,class (:foreground ,solarized-comments :slant italic))))
743 `(org-checkbox ((,class (:background ,solarized-bg :foreground ,solarized-fg
744 :box (:line-width 1 :style released-button)))))
745 `(org-code ((,class (:foreground ,solarized-comments))))
746 `(org-date ((,class (:foreground ,blue :underline t))))
747 `(org-done ((,class (:weight bold :foreground ,green))))
748 `(org-ellipsis ((,class (:foreground ,solarized-comments))))
749 `(org-formula ((,class (:foreground ,yellow))))
750 `(org-headline-done ((,class (:foreground ,green))))
751 `(org-hide ((,class (:foreground ,solarized-bg))))
752 `(org-level-1 ((,class (:foreground ,orange))))
753 `(org-level-2 ((,class (:foreground ,green))))
754 `(org-level-3 ((,class (:foreground ,blue))))
755 `(org-level-4 ((,class (:foreground ,yellow))))
756 `(org-level-5 ((,class (:foreground ,cyan))))
757 `(org-level-6 ((,class (:foreground ,green))))
758 `(org-level-7 ((,class (:foreground ,red))))
759 `(org-level-8 ((,class (:foreground ,blue))))
760 `(org-link ((,class (:foreground ,yellow :underline t))))
761 `(org-sexp-date ((,class (:foreground ,violet))))
762 `(org-scheduled ((,class (:foreground ,green))))
763 `(org-scheduled-previously ((,class (:foreground ,yellow))))
764 `(org-scheduled-today ((,class (:foreground ,blue :weight normal))))
765 `(org-special-keyword ((,class (:foreground ,solarized-comments :weight bold))))
766 `(org-table ((,class (:foreground ,green))))
767 `(org-tag ((,class (:weight bold))))
768 `(org-time-grid ((,class (:foreground ,cyan))))
769 `(org-todo ((,class (:foreground ,red :weight bold))))
770 `(org-upcoming-deadline ((,class (:foreground ,yellow :weight normal :underline nil))))
771 `(org-warning ((,class (:foreground ,orange :weight normal :underline nil))))
772 ;; org-habit (clear=blue, ready=green, alert=yellow, overdue=red. future=lower contrast)
773 `(org-habit-clear-face ((,class (:background ,blue-lc :foreground ,blue-hc))))
774 `(org-habit-clear-future-face ((,class (:background ,blue-lc))))
775 `(org-habit-ready-face ((,class (:background ,green-lc :foreground ,green))))
776 `(org-habit-ready-future-face ((,class (:background ,green-lc))))
777 `(org-habit-alert-face ((,class (:background ,yellow :foreground ,yellow-lc))))
778 `(org-habit-alert-future-face ((,class (:background ,yellow-lc))))
779 `(org-habit-overdue-face ((,class (:background ,red :foreground ,red-lc))))
780 `(org-habit-overdue-future-face ((,class (:background ,red-lc))))
781 ;; latest additions
782 `(org-agenda-dimmed-todo-face ((,class (:foreground ,solarized-comments))))
783 `(org-agenda-restriction-lock ((,class (:background ,yellow))))
784 `(org-clock-overlay ((,class (:background ,yellow))))
785 `(org-column ((,class (:background ,solarized-hl :strike-through nil
786 :underline nil :slant normal :weight normal))))
787 `(org-column-title ((,class (:background ,solarized-hl :underline t :weight bold))))
788 `(org-date-selected ((,class (:foreground ,red :inverse-video t))))
789 `(org-document-info ((,class (:foreground ,solarized-fg))))
790 `(org-document-title ((,class (:foreground ,solarized-emph :weight bold :height 1.44))))
791 `(org-drawer ((,class (:foreground ,cyan))))
792 `(org-footnote ((,class (:foreground ,magenta :underline t))))
793 `(org-latex-and-export-specials ((,class (:foreground ,orange))))
794 `(org-mode-line-clock-overrun ((,class (:inherit modeline :background ,red))))
795
796 ;; outline
797 `(outline-1 ((,class (:inherit org-level-1))))
798 `(outline-2 ((,class (:inherit org-level-2))))
799 `(outline-3 ((,class (:inherit org-level-3))))
800 `(outline-4 ((,class (:inherit org-level-4))))
801 `(outline-5 ((,class (:inherit org-level-5))))
802 `(outline-6 ((,class (:inherit org-level-6))))
803 `(outline-7 ((,class (:inherit org-level-7))))
804 `(outline-8 ((,class (:inherit org-level-8))))
805
806 ;; pretty-mode
807 `(pretty-mode-symbol-face ((,class (:foreground ,green))))
808
809 ;; popup
810 `(popup-face ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
811 `(popup-isearch-match ((,class (:background ,yellow :foreground ,solarized-bg))))
812 `(popup-menu-face ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
813 `(popup-menu-mouse-face ((,class (:background ,blue :foreground ,solarized-fg))))
814 `(popup-menu-selection-face ((,class (:background ,magenta :foreground ,solarized-bg))))
815 `(popup-scroll-bar-background-face ((,class (:background ,solarized-comments))))
816 `(popup-scroll-bar-foreground-face ((,class (:background ,solarized-emph))))
817 `(popup-tip-face ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
818
819 ;; rainbow-delimiters
820 `(rainbow-delimiters-depth-1-face ((,class (:foreground ,cyan))))
821 `(rainbow-delimiters-depth-2-face ((,class (:foreground ,yellow))))
822 `(rainbow-delimiters-depth-3-face ((,class (:foreground ,blue))))
823 `(rainbow-delimiters-depth-4-face ((,class (:foreground ,orange))))
824 `(rainbow-delimiters-depth-5-face ((,class (:foreground ,green))))
825 `(rainbow-delimiters-depth-6-face ((,class (:foreground ,yellow))))
826 `(rainbow-delimiters-depth-7-face ((,class (:foreground ,blue))))
827 `(rainbow-delimiters-depth-8-face ((,class (:foreground ,orange))))
828 `(rainbow-delimiters-depth-9-face ((,class (:foreground ,green))))
829 `(rainbow-delimiters-depth-10-face ((,class (:foreground ,yellow))))
830 `(rainbow-delimiters-depth-11-face ((,class (:foreground ,blue))))
831 `(rainbow-delimiters-depth-12-face ((,class (:foreground ,orange))))
832 `(rainbow-delimiters-unmatched-face
833 ((,class (:foreground ,solarized-fg :background ,solarized-bg :inverse-video t))))
834
835 ;; rst-mode
836 `(rst-level-1-face ((,class (:background ,yellow :foreground ,solarized-bg))))
837 `(rst-level-2-face ((,class (:background ,cyan :foreground ,solarized-bg))))
838 `(rst-level-3-face ((,class (:background ,blue :foreground ,solarized-bg))))
839 `(rst-level-4-face ((,class (:background ,violet :foreground ,solarized-bg))))
840 `(rst-level-5-face ((,class (:background ,magenta :foreground ,solarized-bg))))
841 `(rst-level-6-face ((,class (:background ,red :foreground ,solarized-bg))))
842
843 ;; rpm-mode
844 `(rpm-spec-dir-face ((,class (:foreground ,green))))
845 `(rpm-spec-doc-face ((,class (:foreground ,green))))
846 `(rpm-spec-ghost-face ((,class (:foreground ,red))))
847 `(rpm-spec-macro-face ((,class (:foreground ,yellow))))
848 `(rpm-spec-obsolete-tag-face ((,class (:foreground ,red))))
849 `(rpm-spec-package-face ((,class (:foreground ,red))))
850 `(rpm-spec-section-face ((,class (:foreground ,yellow))))
851 `(rpm-spec-tag-face ((,class (:foreground ,blue))))
852 `(rpm-spec-var-face ((,class (:foreground ,red))))
853
854 ;; sh-mode
855 `(sh-quoted-exec ((,class (:foreground ,violet :weight bold))))
856 `(sh-escaped-newline ((,class (:foreground ,yellow :weight bold))))
857 `(sh-heredoc ((,class (:foreground ,yellow :weight bold))))
858
859 ;; smartparens
860 `(sp-pair-overlay-face ((,class (:background ,solarized-hl))))
861 `(sp-wrap-overlay-face ((,class (:background ,solarized-hl))))
862 `(sp-wrap-tag-overlay-face ((,class (:background ,solarized-hl))))
863 `(sp-show-pair-enclosing ((,class (:inherit highlight))))
864 `(sp-show-pair-match-face
865 ((,class (:foreground ,cyan :background ,solarized-bg :weight normal :inverse-video t))))
866 `(sp-show-pair-mismatch-face
867 ((,class (:foreground ,red :background ,solarized-bg :weight normal :inverse-video t))))
868
869 ;; show-paren
870 `(show-paren-match
871 ((,class (:foreground ,cyan :background ,solarized-bg :weight normal :inverse-video t))))
872 `(show-paren-mismatch
873 ((,class (:foreground ,red :background ,solarized-bg :weight normal :inverse-video t))))
874
875 ;; mic-paren
876 `(paren-face-match
877 ((,class (:foreground ,cyan :background ,solarized-bg :weight normal :inverse-video t))))
878 `(paren-face-mismatch
879 ((,class (:foreground ,red :background ,solarized-bg :weight normal :inverse-video t))))
880 `(paren-face-no-match
881 ((,class (:foreground ,red :background ,solarized-bg :weight normal :inverse-video t))))
882
883 ;; SLIME
884 `(slime-repl-inputed-output-face ((,class (:foreground ,red))))
885
886 ;; speedbar
887 `(speedbar-button-face ((,class (:inherit variable-pitch :foreground ,solarized-comments))))
888 `(speedbar-directory-face ((,class (:inherit variable-pitch :foreground ,blue))))
889 `(speedbar-file-face ((,class (:inherit variable-pitch :foreground ,solarized-fg))))
890 `(speedbar-highlight-face ((,class (:inherit variable-pitch :background ,solarized-hl))))
891 `(speedbar-selected-face ((,class (:inherit variable-pitch :foreground ,yellow :underline t))))
892 `(speedbar-separator-face ((,class (:inherit variable-pitch
893 :background ,blue :foreground ,solarized-bg
894 :overline ,cyan-lc))))
895 `(speedbar-tag-face ((,class (:inherit variable-pitch :foreground ,green))))
896
897 ;; sunrise commander headings
898 `(sr-active-path-face ((,class (:background ,blue :foreground ,solarized-bg
899 :height 100 :weight bold))))
900 `(sr-editing-path-face ((,class (:background ,yellow :foreground ,solarized-bg
901 :weight bold :height 100))))
902 `(sr-highlight-path-face ((,class (:background ,green :foreground ,solarized-bg
903 :weight bold :height 100))))
904 `(sr-passive-path-face ((,class (:background ,solarized-comments :foreground ,solarized-bg
905 :weight bold :height 100))))
906 ;; sunrise commander marked
907 `(sr-marked-dir-face ((,class (:inherit dired-marked))))
908 `(sr-marked-file-face ((,class (:inherit dired-marked))))
909 `(sr-alt-marked-dir-face ((,class (:background ,magenta :foreground ,solarized-bg
910 :weight bold))))
911 `(sr-alt-marked-file-face ((,class (:background ,magenta :foreground ,solarized-bg
912 :weight bold))))
913 ;; sunrise commander fstat
914 `(sr-directory-face ((,class (:inherit dired-directory :weight normal))))
915 `(sr-symlink-directory-face ((,class (:inherit dired-directory :slant italic :weight normal))))
916 `(sr-symlink-face ((,class (:inherit dired-symlink :slant italic :weight normal))))
917 `(sr-broken-link-face ((,class (:inherit dired-warning :slant italic :weight normal))))
918 ;; sunrise commander file types
919 `(sr-compressed-face ((,class (:foreground ,solarized-fg))))
920 `(sr-encrypted-face ((,class (:foreground ,solarized-fg))))
921 `(sr-log-face ((,class (:foreground ,solarized-fg))))
922 `(sr-packaged-face ((,class (:foreground ,solarized-fg))))
923 `(sr-html-face ((,class (:foreground ,solarized-fg))))
924 `(sr-xml-face ((,class (:foreground ,solarized-fg))))
925 ;; sunrise commander misc
926 `(sr-clex-hotchar-face ((,class (:background ,red :foreground ,solarized-bg :weight bold))))
927
928 ;; table
929 `(table-cell ((,class (:foreground ,solarized-fg :background ,solarized-hl))))
930
931 ;; term
932 `(term-color-black ((t (:foreground ,base03
933 :background ,base02))))
934 `(term-color-red ((t (:foreground ,red
935 :background ,red-d))))
936 `(term-color-green ((t (:foreground ,green
937 :background ,green-d))))
938 `(term-color-yellow ((t (:foreground ,yellow
939 :background ,yellow-d))))
940 `(term-color-blue ((t (:foreground ,blue
941 :background ,blue-d))))
942 `(term-color-magenta ((t (:foreground ,magenta
943 :background ,magenta-d))))
944 `(term-color-cyan ((t (:foreground ,cyan
945 :background ,cyan-d))))
946 `(term-color-white ((t (:foreground ,base00
947 :background ,base0))))
948 '(term-default-fg-color ((t (:inherit term-color-white))))
949 '(term-default-bg-color ((t (:inherit term-color-black))))
950
951
952 ;; tooltip. (NOTE: This setting has no effect on the os widgets for me
953 ;; zencoding uses this)
954 `(tooltip ((,class (:background ,yellow-lc :foreground ,yellow-hc
955 :inherit variable-pitch))))
956
957 ;; tuareg
958 `(tuareg-font-lock-governing-face ((,class (:foreground ,magenta :weight bold))))
959 `(tuareg-font-lock-multistage-face ((,class (:foreground ,blue :background ,solarized-hl :weight bold))))
960 `(tuareg-font-lock-operator-face ((,class (:foreground ,solarized-emph))))
961 `(tuareg-font-lock-error-face ((,class (:foreground ,yellow :background ,red :weight bold))))
962 `(tuareg-font-lock-interactive-output-face ((,class (:foreground ,cyan))))
963 `(tuareg-font-lock-interactive-error-face ((,class (:foreground ,red))))
964
965 ;; undo-tree
966 `(undo-tree-visualizer-default-face
967 ((,class (:foreground ,solarized-comments :background ,solarized-bg))))
968 `(undo-tree-visualizer-unmodified-face ((,class (:foreground ,green))))
969 `(undo-tree-visualizer-current-face ((,class (:foreground ,blue :inverse-video t))))
970 `(undo-tree-visualizer-active-branch-face
971 ((,class (:foreground ,solarized-emph :background ,solarized-bg :weight bold))))
972 `(undo-tree-visualizer-register-face ((,class (:foreground ,yellow))))
973
974 ;; volatile highlights
975 `(vhl/default-face ((,class (:background ,green-lc :foreground ,green-hc))))
976
977 ;; w3m
978 `(w3m-anchor ((,class (:inherit link))))
979 `(w3m-arrived-anchor ((,class (:inherit link-visited))))
980 `(w3m-form ((,class (:background ,solarized-bg :foreground ,solarized-fg))))
981 `(w3m-header-line-location-title ((,class (:background ,solarized-hl :foreground ,yellow))))
982 `(w3m-header-line-location-content ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
983 `(w3m-bold ((,class (:foreground ,solarized-emph :weight bold))))
984 `(w3m-image-anchor ((,class (:background ,solarized-bg :foreground ,cyan :inherit link))))
985 `(w3m-image ((,class (:background ,solarized-bg :foreground ,cyan))))
986 `(w3m-lnum-minibuffer-prompt ((,class (:foreground ,solarized-emph))))
987 `(w3m-lnum-match ((,class (:background ,solarized-hl))))
988 `(w3m-lnum ((,class (:underline nil :bold nil :foreground ,red))))
989 `(w3m-session-select ((,class (:foreground ,solarized-fg))))
990 `(w3m-session-selected ((,class (:foreground ,solarized-emph :bold t :underline t))))
991 `(w3m-tab-background ((,class (:background ,solarized-bg :foreground ,solarized-fg))))
992 `(w3m-tab-selected-background ((,class (:background ,solarized-bg :foreground ,solarized-fg))))
993 `(w3m-tab-mouse ((,class (:background ,solarized-hl :foreground ,yellow))))
994 `(w3m-tab-selected ((,class (:background ,solarized-hl :foreground ,solarized-emph :bold t))))
995 `(w3m-tab-unselected ((,class (:background ,solarized-hl :foreground ,solarized-fg))))
996 `(w3m-tab-selected-retrieving ((,class (:background ,solarized-hl :foreground ,red))))
997 `(w3m-tab-unselected-retrieving ((,class (:background ,solarized-hl :foreground ,orange))))
998 `(w3m-tab-unselected-unseen ((,class (:background ,solarized-hl :foreground ,violet))))
999
1000 ;; web-mode
1001 `(web-mode-builtin-face ((,class (:foreground ,red))))
1002 `(web-mode-comment-face ((,class (:foreground ,solarized-comments))))
1003 `(web-mode-constant-face ((,class (:foreground ,blue :weight bold))))
1004 `(web-mode-css-at-rule-face ((,class (:foreground ,violet :slant italic))))
1005 `(web-mode-css-prop-face ((,class (:foreground ,violet))))
1006 `(web-mode-css-pseudo-class-face ((,class (:foreground ,green :slant italic))))
1007 `(web-mode-css-rule-face ((,class (:foreground ,blue))))
1008 `(web-mode-doctype-face ((,class (:foreground ,solarized-comments
1009 :slant italic :weight bold))))
1010 `(web-mode-folded-face ((,class (:underline t))))
1011 `(web-mode-function-name-face ((,class (:foreground ,blue))))
1012 `(web-mode-html-attr-name-face ((,class (:foreground ,blue :slant normal))))
1013 `(web-mode-html-attr-value-face ((,class (:foreground ,cyan :slant italic))))
1014 `(web-mode-html-tag-face ((,class (:foreground ,green))))
1015 `(web-mode-keyword-face ((,class (:foreground ,yellow :weight bold))))
1016 `(web-mode-preprocessor-face ((,class (:foreground ,yellow :slant italic :weight bold))))
1017 `(web-mode-string-face ((,class (:foreground ,cyan))))
1018 `(web-mode-type-face ((,class (:foreground ,yellow))))
1019 `(web-mode-variable-name-face ((,class (:foreground ,blue))))
1020
1021 ;; whitespace-mode
1022 `(whitespace-space ((,class (:background ,solarized-bg :foreground ,yellow-lc
1023 :inverse-video t))))
1024 `(whitespace-hspace ((,class (:background ,solarized-bg :foreground ,red-lc
1025 :inverse-video t))))
1026 `(whitespace-tab ((,class (:background ,solarized-bg :foreground ,orange-lc
1027 :inverse-video t))))
1028 `(whitespace-newline ((,class (:foreground ,solarized-comments))))
1029 `(whitespace-trailing ((,class (:foreground ,blue-lc :background ,solarized-bg
1030 :inverse-video t))))
1031 ; removing inverse video on this
1032 `(whitespace-line ((,class (:background ,solarized-bg :foreground ,magenta
1033 :inverse-video nil))))
1034 `(whitespace-space-before-tab ((,class (:background ,solarized-bg :foreground ,green-lc
1035 :inverse-video t))))
1036 `(whitespace-indentation ((,class (:background ,solarized-bg :foreground ,magenta-lc
1037 :inverse-video t))))
1038 `(whitespace-empty ((,class (:background ,solarized-fg :foreground ,red-lc :inverse-video t))))
1039 `(whitespace-space-after-tab ((,class (:background ,solarized-bg :foreground ,violet-lc
1040 :inverse-video t))))
1041
1042 ;; wanderlust
1043 `(wl-highlight-folder-few-face ((,class (:foreground ,red))))
1044 `(wl-highlight-folder-many-face ((,class (:foreground ,red))))
1045 `(wl-highlight-folder-path-face ((,class (:foreground ,orange))))
1046 `(wl-highlight-folder-unread-face ((,class (:foreground ,blue))))
1047 `(wl-highlight-folder-zero-face ((,class (:foreground ,solarized-fg))))
1048 `(wl-highlight-folder-unknown-face ((,class (:foreground ,blue))))
1049 `(wl-highlight-message-citation-header ((,class (:foreground ,red))))
1050 `(wl-highlight-message-cited-text-1 ((,class (:foreground ,red))))
1051 `(wl-highlight-message-cited-text-2 ((,class (:foreground ,green))))
1052 `(wl-highlight-message-cited-text-3 ((,class (:foreground ,blue))))
1053 `(wl-highlight-message-cited-text-4 ((,class (:foreground ,blue))))
1054 `(wl-highlight-message-header-contents-face ((,class (:foreground ,green))))
1055 `(wl-highlight-message-headers-face ((,class (:foreground ,red))))
1056 `(wl-highlight-message-important-header-contents ((,class (:foreground ,green))))
1057 `(wl-highlight-message-header-contents ((,class (:foreground ,green))))
1058 `(wl-highlight-message-important-header-contents2 ((,class (:foreground ,green))))
1059 `(wl-highlight-message-signature ((,class (:foreground ,green))))
1060 `(wl-highlight-message-unimportant-header-contents ((,class (:foreground ,solarized-fg))))
1061 `(wl-highlight-summary-answered-face ((,class (:foreground ,blue))))
1062 `(wl-highlight-summary-disposed-face ((,class (:foreground ,solarized-fg
1063 :slant italic))))
1064 `(wl-highlight-summary-new-face ((,class (:foreground ,blue))))
1065 `(wl-highlight-summary-normal-face ((,class (:foreground ,solarized-fg))))
1066 `(wl-highlight-summary-thread-top-face ((,class (:foreground ,yellow))))
1067 `(wl-highlight-thread-indent-face ((,class (:foreground ,magenta))))
1068 `(wl-highlight-summary-refiled-face ((,class (:foreground ,solarized-fg))))
1069 `(wl-highlight-summary-displaying-face ((,class (:underline t :weight bold))))
1070
1071 ;; which-func-mode
1072 `(which-func ((,class (:foreground ,green))))
1073
1074 ;; window-number-mode
1075 `(window-number-face ((,class (:foreground ,green))))
1076
1077 ;; yascroll
1078 `(yascroll:thumb-text-area
1079 ((,class (:foreground ,solarized-comments :background ,solarized-comments))))
1080 `(yascroll:thumb-fringe
1081 ((,class (:foreground ,solarized-comments :background ,solarized-comments))))
1082
1083 ;; zencoding
1084 `(zencoding-preview-input ((,class (:background ,solarized-hl :box ,solarized-emph)))))
1085
1086
1087 (custom-theme-set-variables
1088 theme-name
1089 `(ansi-color-names-vector [,solarized-bg ,red ,green ,yellow
1090 ,blue ,magenta ,cyan ,solarized-fg])
1091 ;; fill-column-indicator
1092 `(fci-rule-color ,solarized-hl)
1093
1094 ;; highlight-changes
1095 `(highlight-changes-colors '(,magenta ,violet))
1096
1097 ;; highlight-tail
1098 `(highlight-tail-colors
1099 '((,solarized-hl . 0)(,green-lc . 20)(,cyan-lc . 30)(,blue-lc . 50)
1100 (,yellow-lc . 60)(,orange-lc . 70)(,magenta-lc . 85)(,solarized-hl . 100)))
1101
1102 `(vc-annotate-color-map
1103 '((20 . ,red)
1104 (40 . "#CF4F1F")
1105 (60 . "#C26C0F")
1106 (80 . ,yellow)
1107 (100 . "#AB8C00")
1108 (120 . "#A18F00")
1109 (140 . "#989200")
1110 (160 . "#8E9500")
1111 (180 . ,green)
1112 (200 . "#729A1E")
1113 (220 . "#609C3C")
1114 (240 . "#4E9D5B")
1115 (260 . "#3C9F79")
1116 (280 . ,cyan)
1117 (300 . "#299BA6")
1118 (320 . "#2896B5")
1119 (340 . "#2790C3")
1120 (360 . ,blue)))
1121 `(vc-annotate-very-old-color nil)
1122 `(vc-annotate-background nil))
1123
1124 ;; call chained theme function
1125 (when childtheme (funcall childtheme))))
1126
1127 ;;;###autoload
1128 (when (and (boundp 'custom-theme-load-path) load-file-name)
1129 (add-to-list 'custom-theme-load-path
1130 (file-name-as-directory (file-name-directory load-file-name))))
1131
1132 ;; Local Variables:
1133 ;; no-byte-compile: t
1134 ;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode 1))
1135 ;; End:
1136
1137 (provide 'solarized)
1138
1139 ;;; solarized.el ends here