# HG changeset patch # User Luke Hoersten # Date 1329158778 21600 # Node ID 3415a60d5fd026eaf93cf4dff1c9583520b9a696 # Parent 2c6b198426dfe0e0a750fa615ab5dc935b9b773e Added solarized color theme. diff -r 2c6b198426df -r 3415a60d5fd0 init.el --- a/init.el Sun Dec 04 12:49:31 2011 -0600 +++ b/init.el Mon Feb 13 12:46:18 2012 -0600 @@ -55,9 +55,9 @@ (tool-bar-mode -1) ; remove tool bar (scroll-bar-mode -1) ; remove scroll bar + (menu-bar-mode -1) ; remove menu bar (visual-line-mode t) ; word wrap break on whitespace - (set-frame-font (get-font))) - (menu-bar-mode -1)) + (set-frame-font (get-font)))) ;;; terminal (global-set-key (kbd "C-c s") 'eshell) ; start shell diff -r 2c6b198426df -r 3415a60d5fd0 thirdparty/color-theme-solarized/LICENSE --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thirdparty/color-theme-solarized/LICENSE Mon Feb 13 12:46:18 2012 -0600 @@ -0,0 +1,20 @@ +Copyright (c) 2011 Ethan Schoonover + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff -r 2c6b198426df -r 3415a60d5fd0 thirdparty/color-theme-solarized/README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thirdparty/color-theme-solarized/README.md Mon Feb 13 12:46:18 2012 -0600 @@ -0,0 +1,163 @@ +Solarized Colorscheme for Emacs +=============================== + +Stolen from Ethan Schoonover by Greg Pfeil + +Visit the [Solarized homepage] +------------------------------ + +See the [Solarized homepage] for screenshots, +details and colorscheme versions for Vim, Mutt, popular terminal emulators and +other applications. + +Screenshots +----------- + +![solarized dark](https://github.com/altercation/solarized/raw/master/img/solarized-vim.png) + +Downloads +--------- + +If you have come across this colorscheme via the [Emacs-only repository] on +github, see the link above to the Solarized homepage or visit the main [Solarized repository]. + +The [Emacs-only repository] is kept in sync with the main [Solarized repository]. Issues, bug reports, changelogs that are not specific to the Emacs implementation should be submitted to the main [Solarized repository]. + +[Solarized homepage]: http://ethanschoonover.com/solarized +[Solarized repository]: https://github.com/altercation/solarized +[Emacs-only repository]: https://github.com/sellout/emacs-color-theme-solarized +[color-theme]: http://www.nongnu.org/color-theme + +Installation & Usage +-------------------- + +### Emacs 24 + +1. Add the `emacs-color-theme-solarized` directory to your Emacs `custom-theme-load-path`. +2. Add `(load-theme solarized-[light|dark] t)` to your Emacs init file. +3. Reload the init file, or restart Emacs. + +### [color-theme] \(pre-Emacs 24\) + +1. Download and install [color-theme]. +2. Add the `emacs-color-theme-solarized` directory to your Emacs `load-path`. +3. Add `(require 'color-theme-solarized)` to your Emacs init file (usually `~/.emacs`). +3. Reload the init file, or restart Emacs. +4. Use the usual [color-theme] mechanism to select one of the Solarized themes, or `M-x color-theme-solarized-[light|dark]`. + +### IMPORTANT NOTE FOR TERMINAL USERS: + +If you are going to use Solarized in Terminal mode (i.e. not in a GUI version +like Cocoa or X11 Emacs), **please please please** consider setting your +terminal emulator's colorscheme to use the Solarized palette. The [Solarized +repository] includes palettes for some popular terminal emulator as well as +Xdefaults; or you can download them from the official [Solarized homepage]. +If you use this emacs color theme *without* having changed your emulator's +palette, you will need to configure Solarized to degrade its colorscheme to +a set compatible with the terminal's default limited 256 color palette +(whereas by using the terminal's 16 ANSI color values, you would +see the correct, specific values for the Solarized palette). + +If you do use the custom terminal colors, i.e. the 16 overridden ANSI color +values, the emacs colorscheme should work out of the box for you. If you are +using a terminal emulator that supports 256 colors and don't want to use +the custom Solarized terminal colors, you will need to use the degraded 256 +colorscheme. To do so, simply customize the `solarized-termcolor` variable to +`256`. + +Again, I recommend just changing your terminal colors to Solarized values +either manually or via one of the many terminal schemes available for import. + +Advanced Configuration +---------------------- + +Solarized will work out of the box with just the instructions specified above +but does include several variables that can be customized. + + variable name default optional + -------------------------------------------- + solarized-termcolors = 16 | 256 + solarized-degrade = nil | t + solarized-bold = t | nil + solarized-underline = t | nil + solarized-italic = t | nil + solarized-contrast = normal| high, low + solarized-visibility = normal| high, low + solarized-broken-srgb= nil | t (see details for Mac behavior) + -------------------------------------------- + +### Option Details + +* solarized-termcolors + + This is set to *16* by default, meaning that Solarized will attempt to use + the standard 16 colors of your terminal emulator, assuming that you've set + these colors to the correct Solarized values either manually or by + importing one of the many colorscheme available for popular terminal + emulators and Xdefaults. + If you don't want to use the Solarized colors via the terminal + emulator's palette, you can set this to *256*, which will use a degraded + version of the Solarized palette by displaying the closest colors in + the terminal's default 256 colors as shown in [Xterm's color + chart](http://en.wikipedia.org/wiki/File:Xterm_color_chart.png). + +* solarized-degrade + + For test purposes only; in GUI mode, this forces Solarized to use the 256 + degraded color mode to test the approximate color values for accuracy. + +* solarized-bold | solarized-underline | solarized-italic + + If you wish to stop Solarized from displaying bold, underlined or + italicized typefaces, simply set the appropriate variable to `nil`. + +* solarized-contrast + + 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-visibility + + Special characters such as trailing whitespace, tabs, newlines, when + displayed using `:set list` can be set to one of three levels depending on + your needs. Default value is `normal` with `high` and `low` options. + +* solarized-broken-srgb + + Emacs [bug #8402](http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8402) + results in incorrect color handling on Macs. If this is `t` (the default + on Macs), Solarized works around it with alternative colors. However, + these colors are not totally portable, so you may be able to edit the + "Gen RGB" column in `solarized-definitions.el` to improve them further. + +Code Notes +---------- + +I have attempted to modularize the creation of Emacs colorschemes in this script and, while it could be refactored further, it should be a good foundation for the creation of any color scheme. By simply changing the values in the `solarized-colors` table in `solarized-definitions.el` and testing in a GUI Emacs, you can rapidly prototype new colorschemes without diving into the weeds of line-item editing each syntax highlight declaration. + +The Values +---------- + +L\*a\*b values are canonical (White D65, Reference D50), other values are +matched in sRGB space. + + SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB + --------- ------- ---- ------- ----------- ---------- ----------- ----------- + base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 + base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 + base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 + base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 + base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 + base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 + base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 + base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 + yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 + orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 + red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 + magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 + violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 + blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 + cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 + green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 + diff -r 2c6b198426df -r 3415a60d5fd0 thirdparty/color-theme-solarized/color-theme-solarized-pkg.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thirdparty/color-theme-solarized/color-theme-solarized-pkg.el Mon Feb 13 12:46:18 2012 -0600 @@ -0,0 +1,1 @@ +(define-package "color-theme-solarized" "%%version%%" "Solarized themes for Emacs" '((color-theme "6.6.1"))) diff -r 2c6b198426df -r 3415a60d5fd0 thirdparty/color-theme-solarized/color-theme-solarized.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thirdparty/color-theme-solarized/color-theme-solarized.el Mon Feb 13 12:46:18 2012 -0600 @@ -0,0 +1,56 @@ +;;; Author: Ethan Schoonover, Solarized; Greg Pfeil, Emacs adaptation +;;; URL: http://ethanschoonover.com/solarized + +;;; This file is not (YET) part of GNU Emacs. + +;;; # Usage + +;;; 1. Install the color-theme package +;;; (http://www.emacswiki.org/cgi-bin/wiki/ColorTheme) +;;; 2. Load this file +;;; 3. M-x color-theme-solarized-[dark|light] + +(require 'solarized-definitions + (let* ((reqname (concat (file-name-directory (or load-file-name + buffer-file-name)) + "solarized-definitions.el")) + (compreqname (concat reqname "c"))) + (if (file-exists-p compreqname) compreqname reqname))) + +(eval-when-compile + (require 'color-theme)) + +;;;###autoload +(defun color-theme-solarized (mode) + "Color theme by Ethan Schoonover, created 2011-03-24. +Ported to Emacs by Greg Pfeil, http://ethanschoonover.com/solarized." + (interactive "Slight or dark? ") + (color-theme-install + (let* ((definitions (solarized-color-definitions mode)) + (faces (first definitions)) + (variables (second definitions))) + (solarized-color-definitions mode) + `(,(intern (concat "color-theme-solarized-" (symbol-name mode))) + ,variables + ,@faces)))) + +;;;###autoload +(defun color-theme-solarized-dark () + (interactive) + (color-theme-solarized 'dark)) + +;;;###autoload +(defun color-theme-solarized-light () + (interactive) + (color-theme-solarized 'light)) + +(add-to-list 'color-themes + `(color-theme-solarized-light + "Solarized Light" + ,solarized-description)) +(add-to-list 'color-themes + `(color-theme-solarized-dark + "Solarized Dark" + ,solarized-description)) + +(provide 'color-theme-solarized) diff -r 2c6b198426df -r 3415a60d5fd0 thirdparty/color-theme-solarized/makepkg.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thirdparty/color-theme-solarized/makepkg.sh Mon Feb 13 12:46:18 2012 -0600 @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +version=$1 + +if [ "$version" = "" ]; then + version=$(date -u '+%Y%m%d') +fi +echo "version = $version" + +dir="color-theme-solarized-${version}" + +mkdir $dir + +cp *.el $dir +sed -i "s/%%version%%/$version/" "$dir/color-theme-solarized-pkg.el" + +tar cf color-theme-solarized-${version}.tar $dir diff -r 2c6b198426df -r 3415a60d5fd0 thirdparty/color-theme-solarized/solarized-dark-theme.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thirdparty/color-theme-solarized/solarized-dark-theme.el Mon Feb 13 12:46:18 2012 -0600 @@ -0,0 +1,5 @@ +(require 'solarized-definitions + (locate-file "solarized-definitions.el" custom-theme-load-path + '("c" ""))) + +(create-solarized-theme dark) diff -r 2c6b198426df -r 3415a60d5fd0 thirdparty/color-theme-solarized/solarized-definitions.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thirdparty/color-theme-solarized/solarized-definitions.el Mon Feb 13 12:46:18 2012 -0600 @@ -0,0 +1,344 @@ +(eval-when-compile + (require 'cl)) + +(defconst solarized-description + "Color theme by Ethan Schoonover, created 2011-03-24. +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." + :type 'boolean + :group 'solarized) + +(defcustom solarized-bold t + "Stops Solarized from displaying bold when nil." + :type 'boolean + :group 'solarized) + +(defcustom solarized-underline t + "Stops Solarized from displaying underlines when nil." + :type 'boolean + :group 'solarized) + +(defcustom solarized-italic t + "Stops Solarized from displaying italics when nil." + :type 'boolean + :group 'solarized) + +(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." + :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) + +(defcustom solarized-broken-srgb (if (eq system-type 'darwin) t nil) + "Emacs bug #8402 results in incorrect color handling on Macs. If this is t +(the default on Macs), Solarized works around it with alternative colors. +However, these colors are not totally portable, so you may be able to edit the +\"Gen RGB\" column in solarized-definitions.el to improve them further." + :type 'boolean + :group 'solarized) + +;; FIXME: The Generic RGB colors will actually vary from device to device, but +;; hopefully these are closer to the intended colors than the sRGB values +;; that Emacs seems to dislike +(defvar solarized-colors + ;; name sRGB Gen RGB degraded ANSI(Solarized terminal) + '((base03 "#002b36" "#042028" "#1c1c1c" "#7f7f7f") + (base02 "#073642" "#0a2832" "#262626" "#000000") + (base01 "#586e75" "#465a61" "#4e4e4e" "#00ff00") + (base00 "#657b83" "#52676f" "#585858" "#ffff00") + (base0 "#839496" "#708183" "#808080" "#5c5cff") + (base1 "#93a1a1" "#81908f" "#8a8a8a" "#00ffff") + (base2 "#eee8d5" "#e9e2cb" "#d7d7af" "#e5e5e5") + (base3 "#fdf6e3" "#fcf4dc" "#ffffd7" "#ffffff") + (yellow "#b58900" "#a57705" "#af8700" "#cdcd00") + (orange "#cb4b16" "#bd3612" "#d75f00" "#ff0000") + (red "#dc322f" "#c60007" "#af0000" "#cd0000") + (magenta "#d33682" "#c61b6e" "#af005f" "#cd00cd") + (violet "#6c71c4" "#5859b7" "#5f5faf" "#ff00ff") + (blue "#268bd2" "#2075c7" "#0087ff" "#0000ee") + (cyan "#2aa198" "#259185" "#00afaf" "#00cdcd") + (green "#859900" "#728a05" "#5f8700" "#00cd00")) + "This is a table of all the colors used by the Solarized color theme. Each + column is a different set, one of which will be chosen based on term + capabilities, etc.") + +(defun solarized-color-definitions (mode) + (flet ((find-color (name) + (let ((index (if window-system + (if solarized-degrade + 3 + (if solarized-broken-srgb 2 1)) + (if (= solarized-termcolors 256) + 3 + 4)))) + (nth index (assoc name solarized-colors))))) + (let ((base03 (find-color 'base03)) + (base02 (find-color 'base02)) + (base01 (find-color 'base01)) + (base00 (find-color 'base00)) + (base0 (find-color 'base0)) + (base1 (find-color 'base1)) + (base2 (find-color 'base2)) + (base3 (find-color 'base3)) + (yellow (find-color 'yellow)) + (orange (find-color 'orange)) + (red (find-color 'red)) + (magenta (find-color 'magenta)) + (violet (find-color 'violet)) + (blue (find-color 'blue)) + (cyan (find-color 'cyan)) + (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)) + (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)))) + ;; eshell + (eshell-prompt ((t (:foreground ,green :weight ,bold)))) + ;; 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)))) + (defs (solarized-color-definitions mode)) + (theme-vars (mapcar (lambda (def) (list (car def) (cdr def))) + (second defs))) + (theme-faces (first defs))) + `(progn + (deftheme ,theme-name ,solarized-description) + (apply 'custom-theme-set-variables ',theme-name ',theme-vars) + (apply 'custom-theme-set-faces ',theme-name ',theme-faces) + (provide-theme ',theme-name)))) + +(provide 'solarized-definitions) diff -r 2c6b198426df -r 3415a60d5fd0 thirdparty/color-theme-solarized/solarized-light-theme.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/thirdparty/color-theme-solarized/solarized-light-theme.el Mon Feb 13 12:46:18 2012 -0600 @@ -0,0 +1,5 @@ +(require 'solarized-definitions + (locate-file "solarized-definitions.el" custom-theme-load-path + '("c" ""))) + +(create-solarized-theme light)