From cfa6d87355499aceed2789b32140f11aefa4b1f0 Mon Sep 17 00:00:00 2001 From: Greg Pfeil Date: Wed, 2 Nov 2011 10:30:50 -0600 Subject: [PATCH] Add the solarized-contrast custom variable. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As requested in issue #32. I hadn’t added it previously, due to the description attached to it: “Stick with normal! It's been carefully tested. Setting this option to high or low does use the same Solarized palette but simply shifts some values up or down in order to expand or compress the tonal range displayed.” --- solarized-definitions.el | 431 +++++++++++++++++++++------------------ 1 file changed, 230 insertions(+), 201 deletions(-) diff --git a/solarized-definitions.el b/solarized-definitions.el index 67c4076..b48f34e 100644 --- a/solarized-definitions.el +++ b/solarized-definitions.el @@ -6,8 +6,8 @@ Ported to Emacs by Greg Pfeil, http://ethanschoonover.com/solarized.") (defcustom solarized-degrade nil - "For test purposes only; when in GUI mode, forces Solarized to use the 256 degraded color mode -to test the approximate color values for accuracy." + "For test purposes only; when in GUI mode, forces Solarized to use the 256 +degraded color mode to test the approximate color values for accuracy." :type 'boolean :group 'solarized) @@ -28,11 +28,20 @@ to test the approximate color values for accuracy." (defcustom solarized-termcolors 16 "This setting applies to emacs in terminal (non-GUI) mode. -If set to 16, emacs will use the terminal emulator's colorscheme -(best option as long as you've set your emulator's colors to the Solarized palette). -If set to 256 and your terminal is capable of displaying 256 colors, emacs -will use the 256 degraded color mode." +If set to 16, emacs will use the terminal emulator's colorscheme (best option as +long as you've set your emulator's colors to the Solarized palette). If set to +256 and your terminal is capable of displaying 256 colors, emacs will use the +256 degraded color mode." :type 'integer + :options '(16 256) + :group 'solarized) + +(defcustom solarized-contrast 'normal + "Stick with normal! It's been carefully tested. Setting this option to high or +low does use the same Solarized palette but simply shifts some values up or down +in order to expand or compress the tonal range displayed." + :type 'symbol + :options '(high normal low) :group 'solarized) ;; FIXME: The Generic RGB colors will actually vary from device to device, but @@ -88,207 +97,227 @@ will use the 256 degraded color mode." (green (find-color 'green)) (bold (if solarized-bold 'bold 'normal)) (underline (if solarized-underline t nil)) + (opt-under nil) (italic (if solarized-italic 'italic 'normal))) (when (eq 'light mode) (rotatef base03 base3) (rotatef base02 base2) (rotatef base01 base1) (rotatef base00 base0)) - `((;; basic - (default ((t (:foreground ,base0 ,:background ,base03)))) - (cursor - ((t (:foreground ,base0 :background ,base03 :inverse-video t)))) - (escape-glyph-face ((t (:foreground ,red)))) - (fringe ((t (:foreground ,base01 :background ,base02)))) - (linum ((t (:foreground ,base01 :background ,base02)))) - (header-line ((t (:foreground ,base0 :background ,base2)))) - (highlight ((t (:background ,base02)))) - (hl-line ((t (:background ,base02)))) - (isearch ((t (:foreground ,yellow :inverse-video t)))) - (lazy-highlight ((t (:background ,base2 :foreground ,base00)))) - (link ((t (:foreground ,violet :underline ,underline)))) - (link-visited ((t (:foreground ,magenta :underline ,underline)))) - (menu ((t (:foreground ,base0 :background ,base02)))) - (minibuffer-prompt ((t (:foreground ,blue)))) - (mode-line - ((t (:foreground ,base1 :background ,base02 - :box (:line-width 1 :color ,base1))))) - (mode-line-buffer-id ((t (:foreground ,base1)))) - (mode-line-inactive - ((t (:foreground ,base0 :background ,base02 - :box (:line-width 1 :color ,base02))))) - (region ((t (:background ,base02)))) - (secondary-selection ((t (:background ,base02)))) - (trailing-whitespace ((t (:foreground ,red :inverse-video t)))) - (vertical-border ((t (:foreground ,base0)))) - ;; comint - (comint-highlight-prompt ((t (:foreground ,blue)))) - ;; compilation - (compilation-info ((t (:foreground ,green :weight ,bold)))) - (compilation-warning ((t (:foreground ,orange :weight ,bold)))) - ;; customize - (custom-button - ((t (:background ,base02 - :box (:line-width 2 :style released-button))))) - (custom-button-mouse ((t (:inherit custom-button :foreground ,base1)))) - (custom-button-pressed - ((t (:inherit custom-button-mouse - :box (:line-width 2 :style pressed-button))))) - (custom-comment-tag ((t (:background ,base02)))) - (custom-comment-tag ((t (:background ,base02)))) - (custom-documentation ((t (:inherit default)))) - (custom-group-tag ((t (:foreground ,orange :weight ,bold)))) - (custom-link ((t (:foreground ,violet)))) - (custom-state ((t (:foreground ,green)))) - (custom-variable-tag ((t (:foreground ,orange :weight ,bold)))) - ;; diff - (diff-added ((t (:foreground ,green :inverse-video t)))) - (diff-changed ((t (:foreground ,yellow :inverse-video t)))) - (diff-removed ((t (:foreground ,red :inverse-video t)))) - (diff-header ((t (:background ,base01)))) - (diff-file-header - ((t (:background ,base1 :foreground ,base01 :weight ,bold)))) - (diff-refine-change ((t (:background ,base1)))) - ;; IDO - (ido-only-match ((t (:foreground ,green)))) - (ido-subdir ((t (:foreground ,blue)))) - (ido-first-match ((t (:foreground ,green :weight ,bold)))) - ;; emacs-wiki - (emacs-wiki-bad-link-face - ((t (:foreground ,red :underline ,underline)))) - (emacs-wiki-link-face ((t (:foreground ,blue :underline ,underline)))) - (emacs-wiki-verbatim-face - ((t (:foreground ,base00 :underline ,underline)))) - ;; font-lock - (font-lock-builtin-face ((t (:foreground ,green)))) - (font-lock-comment-face ((t (:foreground ,base01 :slant ,italic)))) - (font-lock-constant-face ((t (:foreground ,cyan)))) - (font-lock-function-name-face ((t (:foreground ,blue)))) - (font-lock-keyword-face ((t (:foreground ,green)))) - (font-lock-string-face ((t (:foreground ,cyan)))) - (font-lock-type-face ((t (:foreground ,yellow)))) - (font-lock-variable-name-face ((t (:foreground ,blue)))) - (font-lock-warning-face ((t (:foreground ,red :weight ,bold)))) - (font-lock-doc-face ((t (:foreground ,cyan :slant ,italic)))) - (font-lock-color-constant-face ((t (:foreground ,green)))) - (font-lock-comment-delimiter-face - ((t (:foreground ,base01 :weight ,bold)))) - (font-lock-doc-string-face ((t (:foreground ,green)))) - (font-lock-preprocessor-face ((t (:foreground ,orange)))) - (font-lock-reference-face ((t (:foreground ,cyan)))) - (font-lock-negation-char-face ((t (:foreground ,red)))) - (font-lock-other-type-face ((t (:foreground ,blue :slant ,italic)))) - (font-lock-regexp-grouping-construct ((t (:foreground ,orange)))) - (font-lock-special-keyword-face ((t (:foreground ,magenta)))) - (font-lock-exit-face ((t (:foreground ,red)))) - (font-lock-other-emphasized-face - ((t (:foreground ,violet :weight ,bold :slant ,italic)))) - (font-lock-regexp-grouping-backslash ((t (:foreground ,yellow)))) - ;; info - (info-xref ((t (:foreground ,blue :underline ,underline)))) - (info-xref-visited ((t (:inherit info-xref :foreground ,magenta)))) - ;; org - (org-hide ((t (:foreground ,base03)))) - (org-todo ((t (:foreground ,base03 :background ,red :weight ,bold)))) - (org-done ((t (:foreground ,green :weight ,bold)))) - (org-todo-kwd-face ((t (:foreground ,red :background ,base03)))) - (org-done-kwd-face ((t (:foreground ,green :background ,base03)))) - (org-project-kwd-face ((t (:foreground ,violet :background ,base03)))) - (org-waiting-kwd-face ((t (:foreground ,orange :background ,base03)))) - (org-someday-kwd-face ((t (:foreground ,blue :background ,base03)))) - (org-started-kwd-face ((t (:foreground ,yellow :background ,base03)))) - (org-cancelled-kwd-face ((t (:foreground ,green :background ,base03)))) - (org-delegated-kwd-face ((t (:foreground ,cyan :background ,base03)))) - ;; show-paren - (show-paren-match-face ((t (:background ,cyan :foreground ,base3)))) - (show-paren-mismatch-face ((t (:background ,red :foreground ,base3)))) - ;; widgets - (widget-field - ((t (:box (:line-width 1 :color ,base00) :inherit default)))) - (widget-single-line-field ((t (:inherit widget-field)))) - ;; extra modules - ;; ------------- - ;; gnus - (gnus-cite-1 ((t (:foreground ,magenta)))) - (gnus-cite-2 ((t (:foreground ,base2)))) - (gnus-cite-3 ((t (:foreground ,base3)))) - (gnus-cite-4 ((t (:foreground ,base1)))) - (gnus-cite-5 ((t (:foreground ,magenta)))) - (gnus-cite-6 ((t (:foreground ,base2)))) - (gnus-cite-7 ((t (:foreground ,base3)))) - (gnus-cite-8 ((t (:foreground ,base1)))) - (gnus-cite-9 ((t (:foreground ,base2)))) - (gnus-cite-10 ((t (:foreground ,base3)))) - (gnus-cite-11 ((t (:foreground ,blue)))) - (gnus-group-mail-1 ((t (:foreground ,base3 :weight ,bold)))) - (gnus-group-mail-1-empty ((t (:foreground ,base3)))) - (gnus-group-mail-2 ((t (:foreground ,base2 :weight ,bold)))) - (gnus-group-mail-2-empty ((t (:foreground ,base2)))) - (gnus-group-mail-3 ((t (:foreground ,magenta :weight ,bold)))) - (gnus-group-mail-3-empty ((t (:foreground ,magenta)))) - (gnus-group-mail-low ((t (:foreground ,base00 :weight ,bold)))) - (gnus-group-mail-low-empty ((t (:foreground ,base00)))) - (gnus-group-news-1 ((t (:foreground ,base1 :weight ,bold)))) - (gnus-group-news-1-empty ((t (:foreground ,base1)))) - (gnus-group-news-2 ((t (:foreground ,blue :weight ,bold)))) - (gnus-group-news-2-empty ((t (:foreground ,blue)))) - (gnus-group-news-low ((t (:foreground ,violet :weight ,bold)))) - (gnus-group-news-low-empty ((t (:foreground ,violet)))) - (gnus-header-content ((t (:foreground ,cyan :slant ,italic)))) - (gnus-header-from ((t (:foreground ,base2)))) - (gnus-header-name ((t (:foreground ,blue)))) - (gnus-header-newsgroups ((t (:foreground ,green :slant ,italic)))) - (gnus-header-subject ((t (:foreground ,base1)))) - (gnus-server-agent ((t (:foreground ,base3 :weight ,bold)))) - (gnus-server-closed ((t (:foreground ,base1 :slant ,italic)))) - (gnus-server-denied ((t (:foreground ,base2 :weight ,bold)))) - (gnus-server-offline ((t (:foreground ,green :weight ,bold)))) - (gnus-server-opened ((t (:foreground ,cyan :weight ,bold)))) - (gnus-splash ((t (:foreground ,base2)))) - (gnus-summary-high-ancient ((t (:foreground ,magenta :weight ,bold)))) - (gnus-summary-high-read ((t (:foreground ,base1 :weight ,bold)))) - (gnus-summary-high-ticked ((t (:foreground ,base3 :weight ,bold)))) - (gnus-summary-high-undownloaded - ((t (:foreground ,base2 :weight ,bold)))) - (gnus-summary-low-ancient ((t (:foreground ,magenta :slant ,italic)))) - (gnus-summary-low-read ((t (:foreground ,base1 :slant ,italic)))) - (gnus-summary-low-ticked ((t (:foreground ,base3 :slant ,italic)))) - (gnus-summary-low-undownloaded - ((t (:foreground ,base2 :slant ,italic)))) - (gnus-summary-normal-ancient ((t (:foreground ,magenta)))) - (gnus-summary-normal-read ((t (:foreground ,base1)))) - (gnus-summary-normal-ticked ((t (:foreground ,base3)))) - (gnus-summary-normal-undownloaded ((t (:foreground ,base2)))) - ;; Flymake - (flymake-errline ((t (:background ,orange)))) - (flymake-warnline ((t (:background ,violet)))) - ;; whitespace - (whitespace-empty ((t (:foreground ,red)))) - (whitespace-hspace ((t (:foreground ,orange)))) - (whitespace-indentation ((t (:foreground ,base02)))) - (whitespace-space ((t (:foreground ,base02)))) - (whitespace-space-after-tab ((t (:foreground ,cyan)))) - (whitespace-space-before-tab ((t (:foreground ,red :weight ,bold)))) - (whitespace-tab ((t (:foreground ,base02)))) - (whitespace-trailing - ((t (:background ,base02 :foreground ,red :weight ,bold)))) - (whitespace-highlight-face ((t (:background ,blue :foreground ,red)))) - ;; Message - (message-mml ((t (:foreground ,blue)))) - (message-cited-text ((t (:foreground ,base2)))) - (message-separator ((t (:foreground ,base3)))) - (message-header-xheader ((t (:foreground ,violet)))) - (message-header-name ((t (:foreground ,cyan)))) - (message-header-other ((t (:foreground ,red)))) - (message-header-newsgroups - ((t (:foreground ,yellow :weight ,bold :slant ,italic)))) - (message-header-subject ((t (:foreground ,base00)))) - (message-header-cc ((t (:foreground ,green :weight ,bold)))) - (message-header-to ((t (:foreground ,base1 :weight ,bold))))) - ((foreground-color . ,base0) - (background-color . ,base03) - (background-mode . ,mode) - (cursor-color . ,base0)))))) + (let ((back base03)) + (cond ((eq 'high solarized-contrast) + (let ((orig-base3 base3)) + (rotatef base01 base00 base0 base1 base2 base3) + (setf base3 orig-base3))) + ((eq 'low solarized-contrast) + (setf back base02 + opt-under t))) + `((;; basic + (default ((t (:foreground ,base0 ,:background ,back)))) + (cursor + ((t (:foreground ,base0 :background ,base03 :inverse-video t)))) + (escape-glyph-face ((t (:foreground ,red)))) + (fringe ((t (:foreground ,base01 :background ,base02)))) + (linum ((t (:foreground ,base01 :background ,base02)))) + (header-line ((t (:foreground ,base0 :background ,base2)))) + (highlight ((t (:background ,base02)))) + (hl-line ((t (:background ,base02)))) + (isearch ((t (:foreground ,yellow :inverse-video t)))) + (lazy-highlight ((t (:background ,base2 :foreground ,base00)))) + (link ((t (:foreground ,violet :underline ,underline)))) + (link-visited ((t (:foreground ,magenta :underline ,underline)))) + (menu ((t (:foreground ,base0 :background ,base02)))) + (minibuffer-prompt ((t (:foreground ,blue)))) + (mode-line + ((t (:foreground ,base1 :background ,base02 + :box (:line-width 1 :color ,base1))))) + (mode-line-buffer-id ((t (:foreground ,base1)))) + (mode-line-inactive + ((t (:foreground ,base0 :background ,base02 + :box (:line-width 1 :color ,base02))))) + (region ((t (:background ,base02)))) + (secondary-selection ((t (:background ,base02)))) + (trailing-whitespace ((t (:foreground ,red :inverse-video t)))) + (vertical-border ((t (:foreground ,base0)))) + ;; comint + (comint-highlight-prompt ((t (:foreground ,blue)))) + ;; compilation + (compilation-info ((t (:foreground ,green :weight ,bold)))) + (compilation-warning ((t (:foreground ,orange :weight ,bold)))) + ;; customize + (custom-button + ((t (:background ,base02 + :box (:line-width 2 :style released-button))))) + (custom-button-mouse + ((t (:inherit custom-button :foreground ,base1)))) + (custom-button-pressed + ((t (:inherit custom-button-mouse + :box (:line-width 2 :style pressed-button))))) + (custom-comment-tag ((t (:background ,base02)))) + (custom-comment-tag ((t (:background ,base02)))) + (custom-documentation ((t (:inherit default)))) + (custom-group-tag ((t (:foreground ,orange :weight ,bold)))) + (custom-link ((t (:foreground ,violet)))) + (custom-state ((t (:foreground ,green)))) + (custom-variable-tag ((t (:foreground ,orange :weight ,bold)))) + ;; diff + (diff-added ((t (:foreground ,green :inverse-video t)))) + (diff-changed ((t (:foreground ,yellow :inverse-video t)))) + (diff-removed ((t (:foreground ,red :inverse-video t)))) + (diff-header ((t (:background ,base01)))) + (diff-file-header + ((t (:background ,base1 :foreground ,base01 :weight ,bold)))) + (diff-refine-change ((t (:background ,base1)))) + ;; IDO + (ido-only-match ((t (:foreground ,green)))) + (ido-subdir ((t (:foreground ,blue)))) + (ido-first-match ((t (:foreground ,green :weight ,bold)))) + ;; emacs-wiki + (emacs-wiki-bad-link-face + ((t (:foreground ,red :underline ,underline)))) + (emacs-wiki-link-face + ((t (:foreground ,blue :underline ,underline)))) + (emacs-wiki-verbatim-face + ((t (:foreground ,base00 :underline ,underline)))) + ;; font-lock + (font-lock-builtin-face ((t (:foreground ,green)))) + (font-lock-comment-face ((t (:foreground ,base01 :slant ,italic)))) + (font-lock-constant-face ((t (:foreground ,cyan)))) + (font-lock-function-name-face ((t (:foreground ,blue)))) + (font-lock-keyword-face ((t (:foreground ,green)))) + (font-lock-string-face ((t (:foreground ,cyan)))) + (font-lock-type-face ((t (:foreground ,yellow)))) + (font-lock-variable-name-face ((t (:foreground ,blue)))) + (font-lock-warning-face ((t (:foreground ,red :weight ,bold)))) + (font-lock-doc-face ((t (:foreground ,cyan :slant ,italic)))) + (font-lock-color-constant-face ((t (:foreground ,green)))) + (font-lock-comment-delimiter-face + ((t (:foreground ,base01 :weight ,bold)))) + (font-lock-doc-string-face ((t (:foreground ,green)))) + (font-lock-preprocessor-face ((t (:foreground ,orange)))) + (font-lock-reference-face ((t (:foreground ,cyan)))) + (font-lock-negation-char-face ((t (:foreground ,red)))) + (font-lock-other-type-face ((t (:foreground ,blue :slant ,italic)))) + (font-lock-regexp-grouping-construct ((t (:foreground ,orange)))) + (font-lock-special-keyword-face ((t (:foreground ,magenta)))) + (font-lock-exit-face ((t (:foreground ,red)))) + (font-lock-other-emphasized-face + ((t (:foreground ,violet :weight ,bold :slant ,italic)))) + (font-lock-regexp-grouping-backslash ((t (:foreground ,yellow)))) + ;; info + (info-xref ((t (:foreground ,blue :underline ,underline)))) + (info-xref-visited ((t (:inherit info-xref :foreground ,magenta)))) + ;; org + (org-hide ((t (:foreground ,base03)))) + (org-todo ((t (:foreground ,base03 :background ,red :weight ,bold)))) + (org-done ((t (:foreground ,green :weight ,bold)))) + (org-todo-kwd-face ((t (:foreground ,red :background ,base03)))) + (org-done-kwd-face ((t (:foreground ,green :background ,base03)))) + (org-project-kwd-face + ((t (:foreground ,violet :background ,base03)))) + (org-waiting-kwd-face + ((t (:foreground ,orange :background ,base03)))) + (org-someday-kwd-face ((t (:foreground ,blue :background ,base03)))) + (org-started-kwd-face + ((t (:foreground ,yellow :background ,base03)))) + (org-cancelled-kwd-face + ((t (:foreground ,green :background ,base03)))) + (org-delegated-kwd-face + ((t (:foreground ,cyan :background ,base03)))) + ;; show-paren + (show-paren-match-face ((t (:background ,cyan :foreground ,base3)))) + (show-paren-mismatch-face + ((t (:background ,red :foreground ,base3)))) + ;; widgets + (widget-field + ((t (:box (:line-width 1 :color ,base00) :inherit default)))) + (widget-single-line-field ((t (:inherit widget-field)))) + ;; extra modules + ;; ------------- + ;; gnus + (gnus-cite-1 ((t (:foreground ,magenta)))) + (gnus-cite-2 ((t (:foreground ,base2)))) + (gnus-cite-3 ((t (:foreground ,base3)))) + (gnus-cite-4 ((t (:foreground ,base1)))) + (gnus-cite-5 ((t (:foreground ,magenta)))) + (gnus-cite-6 ((t (:foreground ,base2)))) + (gnus-cite-7 ((t (:foreground ,base3)))) + (gnus-cite-8 ((t (:foreground ,base1)))) + (gnus-cite-9 ((t (:foreground ,base2)))) + (gnus-cite-10 ((t (:foreground ,base3)))) + (gnus-cite-11 ((t (:foreground ,blue)))) + (gnus-group-mail-1 ((t (:foreground ,base3 :weight ,bold)))) + (gnus-group-mail-1-empty ((t (:foreground ,base3)))) + (gnus-group-mail-2 ((t (:foreground ,base2 :weight ,bold)))) + (gnus-group-mail-2-empty ((t (:foreground ,base2)))) + (gnus-group-mail-3 ((t (:foreground ,magenta :weight ,bold)))) + (gnus-group-mail-3-empty ((t (:foreground ,magenta)))) + (gnus-group-mail-low ((t (:foreground ,base00 :weight ,bold)))) + (gnus-group-mail-low-empty ((t (:foreground ,base00)))) + (gnus-group-news-1 ((t (:foreground ,base1 :weight ,bold)))) + (gnus-group-news-1-empty ((t (:foreground ,base1)))) + (gnus-group-news-2 ((t (:foreground ,blue :weight ,bold)))) + (gnus-group-news-2-empty ((t (:foreground ,blue)))) + (gnus-group-news-low ((t (:foreground ,violet :weight ,bold)))) + (gnus-group-news-low-empty ((t (:foreground ,violet)))) + (gnus-header-content ((t (:foreground ,cyan :slant ,italic)))) + (gnus-header-from ((t (:foreground ,base2)))) + (gnus-header-name ((t (:foreground ,blue)))) + (gnus-header-newsgroups ((t (:foreground ,green :slant ,italic)))) + (gnus-header-subject ((t (:foreground ,base1)))) + (gnus-server-agent ((t (:foreground ,base3 :weight ,bold)))) + (gnus-server-closed ((t (:foreground ,base1 :slant ,italic)))) + (gnus-server-denied ((t (:foreground ,base2 :weight ,bold)))) + (gnus-server-offline ((t (:foreground ,green :weight ,bold)))) + (gnus-server-opened ((t (:foreground ,cyan :weight ,bold)))) + (gnus-splash ((t (:foreground ,base2)))) + (gnus-summary-high-ancient + ((t (:foreground ,magenta :weight ,bold)))) + (gnus-summary-high-read ((t (:foreground ,base1 :weight ,bold)))) + (gnus-summary-high-ticked ((t (:foreground ,base3 :weight ,bold)))) + (gnus-summary-high-undownloaded + ((t (:foreground ,base2 :weight ,bold)))) + (gnus-summary-low-ancient + ((t (:foreground ,magenta :slant ,italic)))) + (gnus-summary-low-read ((t (:foreground ,base1 :slant ,italic)))) + (gnus-summary-low-ticked ((t (:foreground ,base3 :slant ,italic)))) + (gnus-summary-low-undownloaded + ((t (:foreground ,base2 :slant ,italic)))) + (gnus-summary-normal-ancient ((t (:foreground ,magenta)))) + (gnus-summary-normal-read ((t (:foreground ,base1)))) + (gnus-summary-normal-ticked ((t (:foreground ,base3)))) + (gnus-summary-normal-undownloaded ((t (:foreground ,base2)))) + ;; Flymake + (flymake-errline ((t (:background ,orange)))) + (flymake-warnline ((t (:background ,violet)))) + ;; whitespace + (whitespace-empty ((t (:foreground ,red)))) + (whitespace-hspace ((t (:foreground ,orange)))) + (whitespace-indentation ((t (:foreground ,base02)))) + (whitespace-space ((t (:foreground ,base02)))) + (whitespace-space-after-tab ((t (:foreground ,cyan)))) + (whitespace-space-before-tab ((t (:foreground ,red :weight ,bold)))) + (whitespace-tab ((t (:foreground ,base02)))) + (whitespace-trailing + ((t (:background ,base02 :foreground ,red :weight ,bold)))) + (whitespace-highlight-face + ((t (:background ,blue :foreground ,red)))) + ;; Message + (message-mml ((t (:foreground ,blue)))) + (message-cited-text ((t (:foreground ,base2)))) + (message-separator ((t (:foreground ,base3)))) + (message-header-xheader ((t (:foreground ,violet)))) + (message-header-name ((t (:foreground ,cyan)))) + (message-header-other ((t (:foreground ,red)))) + (message-header-newsgroups + ((t (:foreground ,yellow :weight ,bold :slant ,italic)))) + (message-header-subject ((t (:foreground ,base00)))) + (message-header-cc ((t (:foreground ,green :weight ,bold)))) + (message-header-to ((t (:foreground ,base1 :weight ,bold))))) + ((foreground-color . ,base0) + (background-color . ,base03) + (background-mode . ,mode) + (cursor-color . ,base0))))))) (defmacro create-solarized-theme (mode) (let* ((theme-name (intern (concat "solarized-" (symbol-name mode))))