diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2011-04-13 23:20:15 -0400 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2011-04-13 23:20:15 -0400 |
commit | f7464fdd2e33e5dc6c159a4adc8f53902e6d4511 (patch) | |
tree | b1d65db982af54cc2088de3228174c4ea710c2f4 /.emacs.d/color-theme-solarized.el |
Initial commit of Luke Shumaker's "dot-files".
Diffstat (limited to '.emacs.d/color-theme-solarized.el')
-rw-r--r-- | .emacs.d/color-theme-solarized.el | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/.emacs.d/color-theme-solarized.el b/.emacs.d/color-theme-solarized.el new file mode 100644 index 0000000..02b8ad8 --- /dev/null +++ b/.emacs.d/color-theme-solarized.el @@ -0,0 +1,139 @@ +;;; 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] + +(eval-when-compile + (require 'color-theme)) + +;; `((normal (:foreground ,base0 :background ,base03)) +;; (comment (:foreground ,base01 :italic t)) +;; ((constant string character number boolean float) (:foreground ,cyan)) +;; ((identifier function directory) (:foreground ,blue)) +;; ((statement conditional repeat label operator keyword exception) +;; (:foreground ,green)) +;; ((pre-proc include define macro pre-condit) (:foreground orange)) +;; ((type storage-class structure typedef (:foreground yellow))) +;; ((special special-char tag delimiter special-comment debug) +;; (:foreground ,red)) +;; (underlined (:foreground ,violet)) +;; (error (:foreground ,red :bold t)) +;; (todo (:foreground ,magenta :bold t)) +;; (special-key (:foreground ,base02)) +;; (non-text (:foreground ,base02 :bold t)) +;; ()) + +(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? ") + (let ((base03 "#002b36") + (base02 "#073642") + (base01 "#586e75") + (base00 "#657b83") + (base0 "#839496") + (base1 "#93a1a1") + (base2 "#eee8d5") + (base3 "#fdf6e3") + (yellow "#b58900") + (orange "#cb4b16") + (red "#dc322f") + (magenta "#d33682") + (violet "#6c71c4") + (blue "#268bd2") + (cyan "#2aa198") + (green "#859900")) + (when (eq 'light mode) + (rotatef base03 base3) + (rotatef base02 base2) + (rotatef base01 base1) + (rotatef base00 base0)) + (color-theme-install + `(color-theme-solarized + ((foreground-color . ,base0) + (background-color . ,base03) + (background-mode . ,mode) + (cursor-color . ,base0)) + ;; basic + (default ((t (:foreground ,base0)))) + (cursor ((t (:foreground ,base0 :background ,base03 :inverse-video t)))) + (escape-glyph-face ((t (:foreground ,red)))) + (fringe ((t (:foreground ,base01 :background ,base02)))) + (header-line ((t (:foreground ,base0 :background ,base2)))) + (highlight ((t (:background ,base02)))) + (isearch ((t (:foreground ,yellow :inverse-video t)))) + (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)))) + ;; compilation + (compilation-info ((t (:forground ,green :bold t)))) + (compilation-warning ((t (:foreground ,orange :bold t)))) + ;; 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 :bold t)))) + (custom-link ((t (:foreground ,violet)))) + (custom-state ((t (:foreground ,green)))) + (custom-variable-tag ((t (:foreground ,orange :bold t)))) + ;; 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)))) + ;; emacs-wiki + (emacs-wiki-bad-link-face ((t (:foreground ,red :underline t)))) + (emacs-wiki-link-face ((t (:foreground ,blue :underline t)))) + (emacs-wiki-verbatim-face ((t (:foreground ,base00 :underline t)))) + ;; font-lock + (font-lock-builtin-face ((t (:foreground ,green)))) + (font-lock-comment-face ((t (:foreground ,base01 :italic t)))) + (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 :bold t)))) + ;; info + (info-xref ((t (:foreground ,blue :underline t)))) + (info-xref-visited ((t (:inherit info-xref :foreground ,magenta)))) + ;; org + (org-hide ((t (:foreground ,base03)))) + (org-todo ((t (:foreground ,red :bold t)))) + (org-done ((t (:foreground ,green :bold t)))) + ;; show-paren + (show-paren-match-face ((t (:background ,cyan :foreground ,base3)))) + (show-paren-mismatch-face ((t (:background ,red :foreground ,base3)))))))) + +(defun color-theme-solarized-dark () + (interactive) + (color-theme-solarized 'dark)) + +(defun color-theme-solarized-light () + (interactive) + (color-theme-solarized 'light)) + +(provide 'color-theme-solarized) |