Emacs config utilizing prelude as a base
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

462 lines
23 KiB

  1. ;;; solarized-core.el --- Solarized for Emacs.
  2. ;; Copyright (C) 2011 Bozhidar Batsov
  3. ;; Author: Bozhidar Batsov <bozhidar.batsov@gmail.com>
  4. ;; URL: http://github.com/bbatsov/solarized-emacs
  5. ;; Version: 0.1
  6. ;; This program is free software; you can redistribute it and/or modify
  7. ;; it under the terms of the GNU General Public License as published by
  8. ;; the Free Software Foundation, either version 3 of the License, or
  9. ;; (at your option) any later version.
  10. ;; This program is distributed in the hope that it will be useful,
  11. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ;; GNU General Public License for more details.
  14. ;; You should have received a copy of the GNU General Public License
  15. ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. ;;; Commentary:
  17. ;;
  18. ;; A port of Solarized to Emacs.
  19. ;;
  20. ;;; Installation:
  21. ;;
  22. ;; Drop the theme in a folder that is on `custom-theme-load-path'
  23. ;; and enjoy!
  24. ;;
  25. ;; Don't forget that the theme requires Emacs 24.
  26. ;;
  27. ;;; Bugs
  28. ;;
  29. ;; None that I'm aware of.
  30. ;;
  31. ;;; Credits
  32. ;;
  33. ;; Ethan Schoonover created the original theme for vim on such this port
  34. ;; is based.
  35. ;;
  36. ;;; Code
  37. (defun create-solarized-theme (variant)
  38. (let* ((class '((class color) (min-colors 89)))
  39. ;; Solarized palette
  40. ;; colors with +x are lighter, colors with -x are darker
  41. (base03 "#002b36")
  42. (base02 "#073642")
  43. ;; emphasized content
  44. (base01 "#586e75")
  45. ;; primary content
  46. (base00 "#657b83")
  47. (base0 "#839496")
  48. ;; comments
  49. (base1 "#93a1a1")
  50. ;; background highlight light
  51. (base2 "#eee8d5")
  52. ;; background light
  53. (base3 "#fdf6e3")
  54. (yellow "#b58900")
  55. (orange "#cb4b16")
  56. (red "#dc322f")
  57. (magenta "#d33682")
  58. (violet "#6c71c4")
  59. (blue "#268bd2")
  60. (cyan "#2aa198")
  61. (green "#859900")
  62. (solarized-fg (if (eq variant 'light) base00 base0))
  63. (solarized-bg (if (eq variant 'light) base3 base03))
  64. (solarized-hl (if (eq variant 'light) base2 base02))
  65. (solarized-emph (if (eq variant 'light) base01 base1))
  66. (solarized-comments (if (eq variant 'light) base1 base01)))
  67. (custom-theme-set-faces
  68. (if (eq variant 'light) 'solarized-light 'solarized-dark)
  69. '(button ((t (:underline t))))
  70. `(link ((,class (:foreground ,yellow :underline t :weight bold))))
  71. `(link-visited ((,class (:foreground ,yellow :underline t :weight normal))))
  72. ;;; basic coloring
  73. `(default ((,class (:foreground ,solarized-fg :background ,solarized-bg))))
  74. `(cursor ((,class (:foreground ,solarized-fg))))
  75. `(escape-glyph-face ((,class (:foreground ,red))))
  76. `(fringe ((,class (:foreground ,solarized-fg :background ,solarized-bg))))
  77. `(header-line ((,class (:foreground ,yellow
  78. :background ,solarized-hl
  79. :box (:line-width -1 :style released-button)))))
  80. `(highlight ((,class (:background ,solarized-hl))))
  81. ;;; compilation
  82. `(compilation-column-face ((,class (:foreground ,yellow))))
  83. `(compilation-enter-directory-face ((,class (:foreground ,green))))
  84. `(compilation-error-face ((,class (:foreground ,red :weight bold :underline t))))
  85. `(compilation-face ((,class (:foreground ,solarized-fg))))
  86. `(compilation-info-face ((,class (:foreground ,blue))))
  87. `(compilation-info ((,class (:foreground ,green :underline t))))
  88. `(compilation-leave-directory-face ((,class (:foreground ,green))))
  89. `(compilation-line-face ((,class (:foreground ,yellow))))
  90. `(compilation-line-number ((,class (:foreground ,yellow))))
  91. `(compilation-message-face ((,class (:foreground ,blue))))
  92. `(compilation-warning-face ((,class (:foreground ,yellow :weight bold :underline t))))
  93. ;;; grep
  94. `(grep-context-face ((,class (:foreground ,solarized-fg))))
  95. `(grep-error-face ((,class (:foreground ,red :weight bold :underline t))))
  96. `(grep-hit-face ((,class (:foreground ,blue))))
  97. `(grep-match-face ((,class (:foreground ,orange :weight bold))))
  98. `(match ((,class (:background ,solarized-hl :foreground ,orange :weight bold))))
  99. ;; faces used by isearch
  100. `(isearch ((,class (:foreground ,yellow :background ,solarized-hl))))
  101. `(isearch-fail ((,class (:foreground ,solarized-fg :background ,red))))
  102. `(lazy-highlight ((,class (:foreground ,yellow :background ,solarized-hl))))
  103. `(menu ((,class (:foreground ,solarized-fg :background ,solarized-bg))))
  104. `(minibuffer-prompt ((,class (:foreground ,yellow))))
  105. `(mode-line
  106. ((,class (:foreground ,green
  107. :background ,solarized-hl
  108. :box (:line-width -1 :style released-button)))))
  109. `(mode-line-buffer-id ((,class (:foreground ,yellow :weight bold))))
  110. `(mode-line-inactive
  111. ((,class (:foreground ,green
  112. :background ,solarized-bg
  113. :box (:line-width -1 :style released-button)))))
  114. `(region ((,class (:background ,solarized-hl))))
  115. `(secondary-selection ((,class (:background ,solarized-bg))))
  116. `(trailing-whitespace ((,class (:background ,red))))
  117. `(vertical-border ((,class (:foreground ,solarized-fg))))
  118. ;;; font lock
  119. `(font-lock-builtin-face ((,class (:foreground ,blue))))
  120. `(font-lock-comment-face ((,class (:foreground ,solarized-comments))))
  121. `(font-lock-comment-delimiter-face ((,class (:foreground ,solarized-comments))))
  122. `(font-lock-constant-face ((,class (:foreground ,green))))
  123. `(font-lock-doc-face ((,class (:foreground ,green))))
  124. `(font-lock-doc-string-face ((,class (:foreground ,blue))))
  125. `(font-lock-function-name-face ((,class (:foreground ,blue))))
  126. `(font-lock-keyword-face ((,class (:foreground ,yellow :weight bold))))
  127. `(font-lock-negation-char-face ((,class (:foreground ,solarized-fg))))
  128. `(font-lock-preprocessor-face ((,class (:foreground ,blue))))
  129. `(font-lock-string-face ((,class (:foreground ,red))))
  130. `(font-lock-type-face ((,class (:foreground ,blue))))
  131. `(font-lock-variable-name-face ((,class (:foreground ,orange))))
  132. `(font-lock-warning-face ((,class (:foreground ,yellow :weight bold :underline t))))
  133. `(c-annotation-face ((,class (:inherit font-lock-constant-face))))
  134. ;;; external
  135. ;; diff
  136. `(diff-added ((,class (:foreground ,green))))
  137. `(diff-changed ((,class (:foreground ,yellow))))
  138. `(diff-removed ((,class (:foreground ,red))))
  139. `(diff-header ((,class (:background ,solarized-bg))))
  140. `(diff-file-header
  141. ((,class (:background ,solarized-bg :foreground ,solarized-fg :bold t))))
  142. ;; eshell
  143. `(eshell-prompt ((,class (:foreground ,yellow :weight bold))))
  144. `(eshell-ls-archive ((,class (:foreground ,red :weight bold))))
  145. `(eshell-ls-backup ((,class (:inherit font-lock-comment))))
  146. `(eshell-ls-clutter ((,class (:inherit font-lock-comment))))
  147. `(eshell-ls-directory ((,class (:foreground ,blue :weight bold))))
  148. `(eshell-ls-executable ((,class (:foreground ,red :weight bold))))
  149. `(eshell-ls-unreadable ((,class (:foreground ,solarized-fg))))
  150. `(eshell-ls-missing ((,class (:inherit font-lock-warning))))
  151. `(eshell-ls-product ((,class (:inherit font-lock-doc))))
  152. `(eshell-ls-special ((,class (:foreground ,yellow :weight bold))))
  153. `(eshell-ls-symlink ((,class (:foreground ,cyan :weight bold))))
  154. ;; flymake
  155. `(flymake-errline ((,class (:foreground ,red :weight bold :underline t))))
  156. `(flymake-warnline ((,class (:foreground ,yellow :weight bold :underline t))))
  157. ;; flyspell
  158. `(flyspell-duplicate ((,class (:foreground ,yellow :weight bold :underline t))))
  159. `(flyspell-incorrect ((,class (:foreground ,red :weight bold :underline t))))
  160. ;; erc
  161. `(erc-action-face ((,class (:inherit erc-default-face))))
  162. `(erc-bold-face ((,class (:weight bold))))
  163. `(erc-current-nick-face ((,class (:foreground ,blue :weight bold))))
  164. `(erc-dangerous-host-face ((,class (:inherit font-lock-warning))))
  165. `(erc-default-face ((,class (:foreground ,solarized-fg))))
  166. `(erc-direct-msg-face ((,class (:inherit erc-default))))
  167. `(erc-error-face ((,class (:inherit font-lock-warning))))
  168. `(erc-fool-face ((,class (:inherit erc-default))))
  169. `(erc-highlight-face ((,class (:inherit hover-highlight))))
  170. `(erc-input-face ((,class (:foreground ,yellow))))
  171. `(erc-keyword-face ((,class (:foreground ,blue :weight bold))))
  172. `(erc-nick-default-face ((,class (:foreground ,yellow :weight bold))))
  173. `(erc-my-nick-face ((,class (:foreground ,red :weigth bold))))
  174. `(erc-nick-msg-face ((,class (:inherit erc-default))))
  175. `(erc-notice-face ((,class (:foreground ,green))))
  176. `(erc-pal-face ((,class (:foreground ,orange :weight bold))))
  177. `(erc-prompt-face ((,class (:foreground ,orange :background ,solarized-bg :weight bold))))
  178. `(erc-timestamp-face ((,class (:foreground ,green))))
  179. `(erc-underline-face ((t (:underline t))))
  180. ;; gnus
  181. `(gnus-group-mail-1-face ((,class (:bold t :inherit gnus-group-mail-1-empty))))
  182. `(gnus-group-mail-1-empty-face ((,class (:inherit gnus-group-news-1-empty))))
  183. `(gnus-group-mail-2-face ((,class (:bold t :inherit gnus-group-mail-2-empty))))
  184. `(gnus-group-mail-2-empty-face ((,class (:inherit gnus-group-news-2-empty))))
  185. `(gnus-group-mail-3-face ((,class (:bold t :inherit gnus-group-mail-3-empty))))
  186. `(gnus-group-mail-3-empty-face ((,class (:inherit gnus-group-news-3-empty))))
  187. `(gnus-group-mail-4-face ((,class (:bold t :inherit gnus-group-mail-4-empty))))
  188. `(gnus-group-mail-4-empty-face ((,class (:inherit gnus-group-news-4-empty))))
  189. `(gnus-group-mail-5-face ((,class (:bold t :inherit gnus-group-mail-5-empty))))
  190. `(gnus-group-mail-5-empty-face ((,class (:inherit gnus-group-news-5-empty))))
  191. `(gnus-group-mail-6-face ((,class (:bold t :inherit gnus-group-mail-6-empty))))
  192. `(gnus-group-mail-6-empty-face ((,class (:inherit gnus-group-news-6-empty))))
  193. `(gnus-group-mail-low-face ((,class (:bold t :inherit gnus-group-mail-low-empty))))
  194. `(gnus-group-mail-low-empty-face ((,class (:inherit gnus-group-news-low-empty))))
  195. `(gnus-group-news-1-face ((,class (:bold t :inherit gnus-group-news-1-empty))))
  196. `(gnus-group-news-2-face ((,class (:bold t :inherit gnus-group-news-2-empty))))
  197. `(gnus-group-news-3-face ((,class (:bold t :inherit gnus-group-news-3-empty))))
  198. `(gnus-group-news-4-face ((,class (:bold t :inherit gnus-group-news-4-empty))))
  199. `(gnus-group-news-5-face ((,class (:bold t :inherit gnus-group-news-5-empty))))
  200. `(gnus-group-news-6-face ((,class (:bold t :inherit gnus-group-news-6-empty))))
  201. `(gnus-group-news-low-face ((,class (:bold t :inherit gnus-group-news-low-empty))))
  202. `(gnus-header-content-face ((,class (:inherit message-header-other))))
  203. `(gnus-header-from-face ((,class (:inherit message-header-from))))
  204. `(gnus-header-name-face ((,class (:inherit message-header-name))))
  205. `(gnus-header-newsgroups-face ((,class (:inherit message-header-other))))
  206. `(gnus-header-subject-face ((,class (:inherit message-header-subject))))
  207. `(gnus-summary-cancelled-face ((,class (:foreground ,orange))))
  208. `(gnus-summary-high-ancient-face ((,class (:foreground ,blue))))
  209. `(gnus-summary-high-read-face ((,class (:foreground ,green :weight bold))))
  210. `(gnus-summary-high-ticked-face ((,class (:foreground ,orange :weight bold))))
  211. `(gnus-summary-high-unread-face ((,class (:foreground ,solarized-fg :weight bold))))
  212. `(gnus-summary-low-ancient-face ((,class (:foreground ,blue))))
  213. `(gnus-summary-low-read-face ((t (:foreground ,green))))
  214. `(gnus-summary-low-ticked-face ((,class (:foreground ,orange :weight bold))))
  215. `(gnus-summary-low-unread-face ((,class (:foreground ,solarized-fg))))
  216. `(gnus-summary-normal-ancient-face ((,class (:foreground ,blue))))
  217. `(gnus-summary-normal-read-face ((,class (:foreground ,green))))
  218. `(gnus-summary-normal-ticked-face ((,class (:foreground ,orange :weight bold))))
  219. `(gnus-summary-normal-unread-face ((,class (:foreground ,solarized-fg))))
  220. `(gnus-summary-selected-face ((,class (:foreground ,yellow :weight bold))))
  221. `(gnus-cite-1-face ((,class (:foreground ,blue))))
  222. `(gnus-cite-10-face ((,class (:foreground ,yellow))))
  223. `(gnus-cite-11-face ((,class (:foreground ,yellow))))
  224. `(gnus-cite-2-face ((,class (:foreground ,blue))))
  225. `(gnus-cite-3-face ((,class (:foreground ,blue))))
  226. `(gnus-cite-4-face ((,class (:foreground ,green))))
  227. `(gnus-cite-5-face ((,class (:foreground ,green))))
  228. `(gnus-cite-6-face ((,class (:foreground ,green))))
  229. `(gnus-cite-7-face ((,class (:foreground ,red))))
  230. `(gnus-cite-8-face ((,class (:foreground ,red))))
  231. `(gnus-cite-9-face ((,class (:foreground ,red))))
  232. `(gnus-group-news-1-empty-face ((,class (:foreground ,yellow))))
  233. `(gnus-group-news-2-empty-face ((,class (:foreground ,green))))
  234. `(gnus-group-news-3-empty-face ((,class (:foreground ,green))))
  235. `(gnus-group-news-4-empty-face ((,class (:foreground ,blue))))
  236. `(gnus-group-news-5-empty-face ((,class (:foreground ,blue))))
  237. `(gnus-group-news-6-empty-face ((,class (:foreground ,solarized-bg))))
  238. `(gnus-group-news-low-empty-face ((,class (:foreground ,solarized-bg))))
  239. `(gnus-signature-face ((,class (:foreground ,yellow))))
  240. `(gnus-x-face ((,class (:background ,solarized-fg :foreground ,solarized-bg))))
  241. ;; hl-line-mode
  242. `(hl-line-face ((,class (:background ,solarized-bg))))
  243. ;; ido-mode
  244. `(ido-first-match ((,class (:foreground ,yellow :weight bold))))
  245. `(ido-only-match ((,class (:foreground ,orange :weight bold))))
  246. `(ido-subdir ((,class (:foreground ,yellow))))
  247. ;; linum-mode
  248. `(linum ((,class (:foreground ,solarized-fg :background ,solarized-bg))))
  249. ;; magit
  250. `(magit-section-title ((,class (:foreground ,yellow :weight bold))))
  251. `(magit-branch ((,class (:foreground ,orange :weight bold))))
  252. ;; message-mode
  253. `(message-cited-text-face ((,class (:inherit font-lock-comment))))
  254. `(message-header-name-face ((,class (:foreground ,green))))
  255. `(message-header-other-face ((,class (:foreground ,green))))
  256. `(message-header-to-face ((,class (:foreground ,yellow :weight bold))))
  257. `(message-header-from-face ((,class (:foreground ,yellow :weight bold))))
  258. `(message-header-cc-face ((,class (:foreground ,yellow :weight bold))))
  259. `(message-header-newsgroups-face ((,class (:foreground ,yellow :weight bold))))
  260. `(message-header-subject-face ((,class (:foreground ,orange :weight bold))))
  261. `(message-header-xheader-face ((,class (:foreground ,green))))
  262. `(message-mml-face ((,class (:foreground ,yellow :weight bold))))
  263. `(message-separator-face ((,class (:inherit font-lock-comment))))
  264. ;; mew
  265. `(mew-face-header-subject ((,class (:foreground ,orange))))
  266. `(mew-face-header-from ((,class (:foreground ,yellow))))
  267. `(mew-face-header-date ((,class (:foreground ,green))))
  268. `(mew-face-header-to ((,class (:foreground ,red))))
  269. `(mew-face-header-key ((,class (:foreground ,green))))
  270. `(mew-face-header-private ((,class (:foreground ,green))))
  271. `(mew-face-header-important ((,class (:foreground ,blue))))
  272. `(mew-face-header-marginal ((,class (:foreground ,solarized-fg :weight bold))))
  273. `(mew-face-header-warning ((,class (:foreground ,red))))
  274. `(mew-face-header-xmew ((,class (:foreground ,green))))
  275. `(mew-face-header-xmew-bad ((,class (:foreground ,red))))
  276. `(mew-face-body-url ((,class (:foreground ,orange))))
  277. `(mew-face-body-comment ((,class (:foreground ,solarized-fg :slant italic))))
  278. `(mew-face-body-cite1 ((,class (:foreground ,green))))
  279. `(mew-face-body-cite2 ((,class (:foreground ,blue))))
  280. `(mew-face-body-cite3 ((,class (:foreground ,orange))))
  281. `(mew-face-body-cite4 ((,class (:foreground ,yellow))))
  282. `(mew-face-body-cite5 ((,class (:foreground ,red))))
  283. `(mew-face-mark-review ((,class (:foreground ,blue))))
  284. `(mew-face-mark-escape ((,class (:foreground ,green))))
  285. `(mew-face-mark-delete ((,class (:foreground ,red))))
  286. `(mew-face-mark-unlink ((,class (:foreground ,yellow))))
  287. `(mew-face-mark-refile ((,class (:foreground ,green))))
  288. `(mew-face-mark-unread ((,class (:foreground ,red))))
  289. `(mew-face-eof-message ((,class (:foreground ,green))))
  290. `(mew-face-eof-part ((,class (:foreground ,yellow))))
  291. ;; nav
  292. `(nav-face-heading ((,class (:foreground ,yellow))))
  293. `(nav-face-button-num ((,class (:foreground ,cyan))))
  294. `(nav-face-dir ((,class (:foreground ,green))))
  295. `(nav-face-hdir ((,class (:foreground ,red))))
  296. `(nav-face-file ((,class (:foreground ,solarized-fg))))
  297. `(nav-face-hfile ((,class (:foreground ,red))))
  298. ;; org-mode
  299. `(org-agenda-date-today
  300. ((,class (:foreground "white" :slant italic :weight bold))) t)
  301. `(org-agenda-structure
  302. ((,class (:inherit font-lock-comment-face))))
  303. `(org-archived ((,class (:foreground ,solarized-fg :weight bold))))
  304. `(org-checkbox ((,class (:background ,solarized-bg :foreground "white"
  305. :box (:line-width 1 :style released-button)))))
  306. `(org-date ((,class (:foreground ,blue :underline t))))
  307. `(org-deadline-announce ((,class (:foreground ,red))))
  308. `(org-done ((,class (:bold t :weight bold :foreground ,green))))
  309. `(org-formula ((,class (:foreground ,yellow))))
  310. `(org-headline-done ((,class (:foreground ,green))))
  311. `(org-hide ((,class (:foreground ,solarized-bg))))
  312. `(org-level-1 ((,class (:foreground ,orange))))
  313. `(org-level-2 ((,class (:foreground ,green))))
  314. `(org-level-3 ((,class (:foreground ,blue))))
  315. `(org-level-4 ((,class (:foreground ,yellow))))
  316. `(org-level-5 ((,class (:foreground ,cyan))))
  317. `(org-level-6 ((,class (:foreground ,green))))
  318. `(org-level-7 ((,class (:foreground ,red))))
  319. `(org-level-8 ((,class (:foreground ,blue))))
  320. `(org-link ((,class (:foreground ,yellow :underline t))))
  321. `(org-scheduled ((,class (:foreground ,green))))
  322. `(org-scheduled-previously ((,class (:foreground ,red))))
  323. `(org-scheduled-today ((,class (:foreground ,blue))))
  324. `(org-special-keyword ((,class (:foreground ,yellow))))
  325. `(org-table ((,class (:foreground ,green))))
  326. `(org-tag ((,class (:bold t :weight bold))))
  327. `(org-time-grid ((,class (:foreground ,orange))))
  328. `(org-todo ((,class (:bold t :foreground ,red :weight bold))))
  329. `(org-upcoming-deadline ((,class (:inherit font-lock-keyword-face))))
  330. `(org-warning ((,class (:bold t :foreground ,red :weight bold))))
  331. ;; outline
  332. `(outline-8 ((,class (:inherit default))))
  333. `(outline-7 ((,class (:inherit outline-8 :height 1.0))))
  334. `(outline-6 ((,class (:inherit outline-7 :height 1.0))))
  335. `(outline-5 ((,class (:inherit outline-6 :height 1.0))))
  336. `(outline-4 ((,class (:inherit outline-5 :height 1.0))))
  337. `(outline-3 ((,class (:inherit outline-4 :height 1.0))))
  338. `(outline-2 ((,class (:inherit outline-3 :height 1.0))))
  339. `(outline-1 ((,class (:inherit outline-2 :height 1.0))))
  340. ;; rainbow-delimiters
  341. `(rainbow-delimiters-depth-1-face ((,class (:foreground ,cyan))))
  342. `(rainbow-delimiters-depth-2-face ((,class (:foreground ,yellow))))
  343. `(rainbow-delimiters-depth-3-face ((,class (:foreground ,blue))))
  344. `(rainbow-delimiters-depth-4-face ((,class (:foreground ,red))))
  345. `(rainbow-delimiters-depth-5-face ((,class (:foreground ,orange))))
  346. `(rainbow-delimiters-depth-6-face ((,class (:foreground ,blue))))
  347. `(rainbow-delimiters-depth-7-face ((,class (:foreground ,green))))
  348. `(rainbow-delimiters-depth-8-face ((,class (:foreground ,red))))
  349. `(rainbow-delimiters-depth-9-face ((,class (:foreground ,yellow))))
  350. `(rainbow-delimiters-depth-10-face ((,class (:foreground ,green))))
  351. `(rainbow-delimiters-depth-11-face ((,class (:foreground ,blue))))
  352. `(rainbow-delimiters-depth-12-face ((,class (:foreground ,red))))
  353. ;; rpm-mode
  354. `(rpm-spec-dir-face ((,class (:foreground ,green))))
  355. `(rpm-spec-doc-face ((,class (:foreground ,green))))
  356. `(rpm-spec-ghost-face ((,class (:foreground ,red))))
  357. `(rpm-spec-macro-face ((,class (:foreground ,yellow))))
  358. `(rpm-spec-obsolete-tag-face ((,class (:foreground ,red))))
  359. `(rpm-spec-package-face ((,class (:foreground ,red))))
  360. `(rpm-spec-section-face ((,class (:foreground ,yellow))))
  361. `(rpm-spec-tag-face ((,class (:foreground ,blue))))
  362. `(rpm-spec-var-face ((,class (:foreground ,red))))
  363. ;; show-paren
  364. `(show-paren-mismatch ((,class (:foreground ,red :background ,solarized-bg :weight bold))))
  365. `(show-paren-match ((,class (:foreground ,blue :background ,solarized-bg :weight bold))))
  366. ;; SLIME
  367. `(slime-repl-inputed-output-face ((,class (:foreground ,red))))
  368. ;; whitespace-mode
  369. `(whitespace-space ((,class (:background ,solarized-bg :foreground ,solarized-comments))))
  370. `(whitespace-hspace ((,class (:background ,solarized-bg :foreground ,solarized-bg))))
  371. `(whitespace-tab ((,class (:background ,solarized-bg :foreground ,red))))
  372. `(whitespace-newline ((,class (:foreground ,solarized-bg))))
  373. `(whitespace-trailing ((,class (:foreground ,red :background ,solarized-bg))))
  374. `(whitespace-line ((,class (:background ,solarized-bg :foreground ,magenta))))
  375. `(whitespace-space-before-tab ((,class (:background ,orange :foreground ,orange))))
  376. `(whitespace-indentation ((,class (:background ,yellow, :foreground ,red))))
  377. `(whitespace-empty ((,class (:background ,yellow :foreground ,red))))
  378. `(whitespace-space-after-tab ((,class (:background ,yellow :foreground ,red))))
  379. ;; wanderlust
  380. `(wl-highlight-folder-few-face ((,class (:foreground ,red))))
  381. `(wl-highlight-folder-many-face ((,class (:foreground ,red))))
  382. `(wl-highlight-folder-path-face ((,class (:foreground ,orange))))
  383. `(wl-highlight-folder-unread-face ((,class (:foreground ,blue))))
  384. `(wl-highlight-folder-zero-face ((,class (:foreground ,solarized-fg))))
  385. `(wl-highlight-folder-unknown-face ((,class (:foreground ,blue))))
  386. `(wl-highlight-message-citation-header ((,class (:foreground ,red))))
  387. `(wl-highlight-message-cited-text-1 ((,class (:foreground ,red))))
  388. `(wl-highlight-message-cited-text-2 ((,class (:foreground ,green))))
  389. `(wl-highlight-message-cited-text-3 ((,class (:foreground ,blue))))
  390. `(wl-highlight-message-cited-text-4 ((,class (:foreground ,blue))))
  391. `(wl-highlight-message-header-contents-face ((,class (:foreground ,green))))
  392. `(wl-highlight-message-headers-face ((,class (:foreground ,red))))
  393. `(wl-highlight-message-important-header-contents ((,class (:foreground ,green))))
  394. `(wl-highlight-message-header-contents ((,class (:foreground ,green))))
  395. `(wl-highlight-message-important-header-contents2 ((,class (:foreground ,green))))
  396. `(wl-highlight-message-signature ((,class (:foreground ,green))))
  397. `(wl-highlight-message-unimportant-header-contents ((,class (:foreground ,solarized-fg))))
  398. `(wl-highlight-summary-answered-face ((,class (:foreground ,blue))))
  399. `(wl-highlight-summary-disposed-face ((,class (:foreground ,solarized-fg
  400. :slant italic))))
  401. `(wl-highlight-summary-new-face ((,class (:foreground ,blue))))
  402. `(wl-highlight-summary-normal-face ((,class (:foreground ,solarized-fg))))
  403. `(wl-highlight-summary-thread-top-face ((,class (:foreground ,yellow))))
  404. `(wl-highlight-thread-indent-face ((,class (:foreground ,magenta))))
  405. `(wl-highlight-summary-refiled-face ((,class (:foreground ,solarized-fg))))
  406. `(wl-highlight-summary-displaying-face ((,class (:underline t :weight bold))))
  407. ;; which-func-mode
  408. `(which-func ((,class (:foreground ,green))))))
  409. ;; some theme variables
  410. (custom-theme-set-variables
  411. (if (eq variant 'light) 'solarized-light 'solarized-dark)
  412. '(ansi-color-names-vector [solarized-bg red green yellow
  413. blue magenta cyan solarized-fg])))
  414. ;; Local Variables:
  415. ;; no-byte-compile: t
  416. ;; End:
  417. (provide 'solarized-core)
  418. ;;; solarized-core.el ends here.