;;; yoshi-theme.el --- Theme named after my cat

;; Copyright (C) 2012  Tom Willemsen

;; Author: Tom Willemsen <tom@ryuslash.org>
;; Keywords: faces
;; Version: 5.4.0

;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <http://www.gnu.org/licenses/>.

;;; Commentary:

;; Just a theme named after my cat.  He doesn't actually look like
;; this.

;;; Code:

(deftheme yoshi
  "Created 2012-09-24")

(let ((lblack     "#eeeeec") (dblack     "#111113")
      (lwhite     "#a5a5a4") (dwhite     "#222224")
      (lred       "#bf7d7d") (dred       "#734a4a")
      (lorange    "#bfa47d") (dorange    "#73634a")
      (lyellow    "#b2bf7d") (dyellow    "#6b734a")
      (lgreen     "#8abf6d") (dgreen     "#52734a")
      (lturquoise "#7dbf97") (dturquoise "#4a735b")
      (lcyan      "#7dbfbf") (dcyan      "#4a7373")
      (lblue      "#6d97bf") (dblue      "#4a5b73")
      (lpurple    "#8a7dbf") (dpurple    "#524a73")
      (lmagenta   "#b27dbf") (dmagenta   "#6b4a73")
      (lpink      "#bf6da4") (dpink      "#734a63"))
  (custom-theme-set-faces
   'yoshi

   `(default ((t (:background ,dblack :foreground ,lblack))))
   `(diff-added ((t (:background ,dgreen :inherit unspecified))))
   `(diff-changed ((t (:background ,dyellow))))
   `(diff-file-header ((t (:foreground ,lblue :background unspecified :weight bold))))
   `(diff-function ((t (:slant italic :inherit unspecified :foreground ,lpurple))))
   `(diff-header ((t (:background unspecified :foreground ,lcyan))))
   `(diff-hl-change ((t (:foreground ,lyellow :background unspecified :inherit diff-changed))))
   `(diff-hl-delete ((t (:foreground ,lred :inherit diff-removed))))
   `(diff-hl-insert ((t (:foreground ,lgreen :inherit diff-added))))
   `(diff-hunk-header ((t (:foreground ,lturquoise :inherit unspecified :weight bold))))
   `(diff-indicator-added ((t (:foreground ,lgreen :weight bold :inherit unspecified))))
   `(diff-indicator-changed ((t (:foreground ,lyellow :weight bold :inherit unspecified ))))
   `(diff-indicator-removed ((t (:foreground ,lred :weight bold :inherit unspecified))))
   `(diff-refine-added ((t (:foreground ,lgreen :inherit unspecified))))
   `(diff-refine-change ((t (:foreground ,lyellow :background unspecified))))
   `(diff-refine-removed ((t (:foreground ,lred :inherit unspecified))))
   `(diff-removed ((t (:background ,dred :inherit unspecified))))
   `(error ((t (:foreground ,lred :weight unspecified))))
   `(flycheck-error-face ((t (:inherit unspecified :underline (:color ,lred :style wave)))))
   `(flycheck-warning-face ((t (:inherit unspecified :underline (:color ,lorange :style wave)))))
   `(flymake-errline ((t (:background unspecified :underline (:color ,lred :style wave)))))
   `(flymake-infoline ((t (:background unspecified :underline (:color ,lblue :style wave)))))
   `(flymake-warnline ((t (:background unspecified :underline (:color ,lorange :style wave)))))
   `(flyspell-duplicate ((t (:inherit unspecified :underline (:color ,lorange :style wave)))))
   `(flyspell-incorrect ((t (:inherit unspecified :underline (:color ,lred :style wave)))))
   `(font-lock-builtin-face ((t (:foreground ,lcyan))))
   `(font-lock-comment-delimiter-face ((t (:foreground ,lwhite :weight bold :inherit unspecified))))
   `(font-lock-comment-face ((t (:foreground ,lwhite :slant italic))))
   `(font-lock-constant-face ((t (:foreground ,lred))))
   `(font-lock-doc-face ((t (:foreground ,lgreen :inherit unspecified))))
   `(font-lock-function-name-face ((t (:foreground ,lpurple))))
   `(font-lock-keyword-face ((t (:foreground ,lyellow))))
   `(font-lock-negation-char-face ((t (:foreground ,lred))))
   `(font-lock-regexp-grouping-backslash ((t (:foreground ,lred))))
   `(font-lock-regexp-grouping-construct ((t (:foreground ,lpink))))
   `(font-lock-string-face ((t (:foreground ,lturquoise))))
   `(font-lock-type-face ((t (:foreground ,lorange))))
   `(font-lock-variable-name-face ((t (:foreground ,lblue))))
   `(font-lock-warning-face ((t (:underline (:color ,lorange) :inherit unspecified))))
   `(gnus-button ((t (:foreground ,lorange :box (:line-width 2 :color ,lwhite :style released-button)))))
   `(gnus-cite-1 ((t (:foreground ,lred))))
   `(gnus-cite-10 ((t (:foreground ,lpink))))
   `(gnus-cite-11 ((t (:foreground ,lwhite))))
   `(gnus-cite-2 ((t (:foreground ,lorange))))
   `(gnus-cite-3 ((t (:foreground ,lyellow))))
   `(gnus-cite-4 ((t (:foreground ,lgreen))))
   `(gnus-cite-5 ((t (:foreground ,lturquoise))))
   `(gnus-cite-6 ((t (:foreground ,lcyan))))
   `(gnus-cite-7 ((t (:foreground ,lblue))))
   `(gnus-cite-8 ((t (:foreground ,lpurple))))
   `(gnus-cite-9 ((t (:foreground ,lmagenta))))
   `(gnus-emphasis-highlight-words ((t (:foreground ,lblack :background ,dyellow))))
   `(gnus-group-mail-1 ((t (:foreground ,lblack :weight bold))))
   `(gnus-group-mail-1-empty ((t (:foreground ,lblack))))
   `(gnus-group-mail-2 ((t (:foreground ,lblack :weight bold))))
   `(gnus-group-mail-2-empty ((t (:foreground ,lblack))))
   `(gnus-group-mail-3 ((t (:foreground ,lblack :weight bold))))
   `(gnus-group-mail-3-empty ((t (:foreground ,lblack))))
   `(gnus-group-mail-low ((t (:foreground ,lblack :weight bold))))
   `(gnus-group-mail-low-empty ((t (:foreground ,lblack))))
   `(gnus-group-news-1 ((t (:foreground ,lwhite :weight bold))))
   `(gnus-group-news-1-empty ((t (:foreground ,lwhite))))
   `(gnus-group-news-2 ((t (:foreground ,lwhite :weight bold))))
   `(gnus-group-news-2-empty ((t (:foreground ,lwhite))))
   `(gnus-group-news-3 ((t (:foreground ,lwhite :weight bold))))
   `(gnus-group-news-3-empty ((t (:foreground ,lwhite))))
   `(gnus-group-news-4 ((t (:foreground ,lwhite :weight bold))))
   `(gnus-group-news-4-empty ((t (:foreground ,lwhite))))
   `(gnus-group-news-5 ((t (:foreground ,lwhite :weight bold))))
   `(gnus-group-news-5-empty ((t (:foreground ,lwhite))))
   `(gnus-group-news-6 ((t (:foreground ,lwhite :weight bold))))
   `(gnus-group-news-6-empty ((t (:foreground ,lwhite))))
   `(gnus-group-news-low ((t (:foreground ,lwhite :weight bold))))
   `(gnus-group-news-low-empty ((t (:foreground ,lwhite))))
   `(gnus-header-content ((t (:foreground ,lblack :slant italic))))
   `(gnus-header-name ((t (:foreground ,lpurple))))
   `(gnus-header-subject ((t (:foreground ,lred))))
   `(gnus-signature ((t (:foreground ,lwhite :slant normal))))
   `(gnus-splash ((t (:foreground ,lblack))))
   `(gnus-summary-cancelled ((t (:foreground ,lwhite :background unspecified :strike-through "#eeeeec"))))
   `(gnus-summary-high-ancient ((t (:foreground ,lyellow :weight bold))))
   `(gnus-summary-high-read ((t (:foreground ,lwhite :weight bold))))
   `(gnus-summary-high-ticked ((t (:foreground ,lblue :weight bold))))
   `(gnus-summary-high-undownloaded ((t (:foreground ,lred :weight bold))))
   `(gnus-summary-high-unread ((t (:foreground ,lblack :weight bold))))
   `(gnus-summary-low-ancient ((t (:foreground ,lyellow :slant italic))))
   `(gnus-summary-low-read ((t (:foreground ,lwhite :slant italic))))
   `(gnus-summary-low-ticked ((t (:foreground ,lblue :slant italic))))
   `(gnus-summary-low-undownloaded ((t (:foreground ,lred :slant italic))))
   `(gnus-summary-low-unread ((t (:foreground ,lblack :slant italic))))
   `(gnus-summary-normal-ancient ((t (:foreground ,lyellow))))
   `(gnus-summary-normal-read ((t (:foreground ,lwhite))))
   `(gnus-summary-normal-ticked ((t (:foreground ,lblue))))
   `(gnus-summary-normal-undownloaded ((t (:foreground ,lred))))
   `(gnus-summary-normal-unread ((t (:foreground ,lblack))))
   `(gnus-summary-selected ((t (:background ,dblue :weight bold))))
   `(highlight ((t (:background ,dwhite ))))
   `(highlight-80+ ((t (:underline (:color ,lred :style wave) :background unspecified))))
   `(identica-stripe-face ((t (:background ,dwhite))))
   `(identica-uri-face ((t (:foreground ,lorange :underline t))))
   `(identica-username-face ((t (:foreground ,lblue :weight bold :underline unspecified))))
   `(ido-subdir ((t (:foreground ,lred))))
   `(italic ((t (:slant italic))))
   `(jabber-chat-prompt-foreign ((t (:foreground ,lred :slant italic))))
   `(jabber-chat-prompt-local ((t (:foreground ,lblue :slant italic))))
   `(jabber-chat-prompt-system ((t (:foreground ,lgreen :slant italic))))
   `(jabber-rare-time-face ((t (:foreground ,lblack :underline t))))
   `(jabber-roster-user-away ((t (:foreground ,lgreen :slant italic))))
   `(jabber-roster-user-error ((t (:foreground ,lred :slant italic))))
   `(jabber-roster-user-offline ((t (:foreground ,lwhite :slant italic))))
   `(jabber-roster-user-online ((t (:foreground ,lblue))))
   `(link ((t (:foreground ,lorange :underline t))))
   `(link-visited ((t (:foreground ,lmagenta :underline t))))
   `(magit-branch ((t (:foreground ,lpink :weight bold :inherit unspecified))))
   `(magit-item-highlight ((t (:slant italic  :inherit unspecified))))
   `(magit-section-title ((t (:foreground ,lturquoise :inherit unspecified))))
   `(markdown-header-face-1 ((t (:inherit org-level-1))))
   `(markdown-header-face-2 ((t (:inherit org-level-2))))
   `(markdown-header-face-3 ((t (:inherit org-level-3))))
   `(markdown-header-face-4 ((t (:inherit org-level-4))))
   `(markdown-header-face-5 ((t (:inherit org-level-5))))
   `(markdown-header-face-6 ((t (:inherit org-level-6))))
   `(minibuffer-prompt ((t (:foreground ,lblue))))
   `(mode-line ((t (:background ,dwhite :foreground ,lblack :box (:color ,dwhite :line-width 1 :style nil)))))
   `(mode-line-buffer-id ((t (:foreground ,lpurple :weight bold))))
   `(mode-line-inactive ((t (:weight normal :background ,dblack :foreground ,lwhite :box (:color ,dwhite :line-width 1 :style nil) :inherit unspecified))))
   `(org-agenda-calendar-sexp ((t (:foreground ,lyellow))))
   `(org-agenda-current-time ((t (:foreground ,lorange :weight bold))))
   `(org-agenda-date ((t (:foreground ,dcyan))))
   `(org-agenda-date-today ((t (:foreground ,lcyan :slant italic))))
   `(org-agenda-date-weekend ((t (:foreground ,lcyan))))
   `(org-agenda-structure ((t (:foreground ,lblue))))
   `(org-checkbox-statistics-done ((t (:foreground ,dcyan))))
   `(org-checkbox-statistics-todo ((t (:foreground ,lcyan))))
   `(org-document-title ((t (:foreground ,lorange :height 1.5))))
   `(org-headline-done ((t (:foreground ,lwhite :strike-through t))))
   `(org-level-1 ((t (:foreground ,lred))))
   `(org-level-2 ((t (:foreground ,lorange))))
   `(org-level-3 ((t (:foreground ,lyellow))))
   `(org-level-4 ((t (:foreground ,lgreen))))
   `(org-level-5 ((t (:foreground ,lturquoise))))
   `(org-level-6 ((t (:foreground ,lcyan))))
   `(org-level-7 ((t (:foreground ,lblue))))
   `(org-level-8 ((t (:foreground ,lpurple))))
   `(org-scheduled ((t (:foreground ,dorange))))
   `(org-scheduled-previously ((t (:foreground ,lred :bold t))))
   `(org-scheduled-today ((t (:foreground ,lorange :slant italic))))
   `(org-time-grid ((t (:foreground ,lorange))))
   `(outline-1 ((t (:inherit org-level-1))))
   `(outline-2 ((t (:inherit org-level-2))))
   `(outline-3 ((t (:inherit org-level-3))))
   `(outline-4 ((t (:inherit org-level-4))))
   `(outline-5 ((t (:inherit org-level-5))))
   `(outline-6 ((t (:inherit org-level-6))))
   `(outline-7 ((t (:inherit org-level-7))))
   `(outline-8 ((t (:inherit org-level-8))))
   `(pp^L-highlight ((t (:box unspecified :foreground ,lwhite))))
   `(rainbow-delimiters-depth-1-face ((t (:foreground ,lred))))
   `(rainbow-delimiters-depth-10-face ((t (:foreground ,lpink))))
   `(rainbow-delimiters-depth-2-face ((t (:foreground ,lorange))))
   `(rainbow-delimiters-depth-3-face ((t (:foreground ,lyellow))))
   `(rainbow-delimiters-depth-4-face ((t (:foreground ,lgreen))))
   `(rainbow-delimiters-depth-5-face ((t (:foreground ,lturquoise))))
   `(rainbow-delimiters-depth-6-face ((t (:foreground ,lcyan))))
   `(rainbow-delimiters-depth-7-face ((t (:foreground ,lblue))))
   `(rainbow-delimiters-depth-8-face ((t (:foreground ,lpurple))))
   `(rainbow-delimiters-depth-9-face ((t (:foreground ,lmagenta))))
   `(rainbow-delimiters-unmatched-face ((t (:background ,dred :foreground unspecified))))
   `(region ((t (:background ,dblue))))
   `(rst-level-1 ((t (:background unspecified))))
   `(rst-level-2 ((t (:background unspecified))))
   `(rst-level-3 ((t (:background unspecified))))
   `(rst-level-4 ((t (:background unspecified))))
   `(rst-level-5 ((t (:background unspecified))))
   `(rst-level-6 ((t (:background unspecified))))
   `(sh-heredoc ((t (:foreground ,lorange))))
   `(shadow ((t (:foreground ,lwhite))))
   `(show-paren-match ((t (:background ,dwhite :weight bold))))
   `(show-paren-mismatch ((t (:background unspecified :foreground ,lred))))
   `(slime-repl-input-face ((t (:foreground ,lwhite))))
   `(slime-repl-inputed-output-face ((t (:foreground ,lwhite))))
   `(slime-repl-output-face ((t (:foreground ,lblack))))
   `(slime-repl-prompt-face ((t (:foreground ,lblue))))
   `(term-color-black ((t (:background ,dblack :foreground ,lwhite))))
   `(term-color-blue ((t (:background ,dblue :foreground ,lblue))))
   `(term-color-cyan ((t (:background ,dcyan :foreground ,lcyan))))
   `(term-color-green ((t (:background ,dgreen :foreground ,lgreen))))
   `(term-color-magenta ((t (:background ,dmagenta :foreground ,lmagenta))))
   `(term-color-red ((t (:background ,dred :foreground ,lred))))
   `(term-color-white ((t (:background ,dwhite :foreground ,lblack))))
   `(term-color-yellow ((t (:background ,dyellow :foreground ,lyellow))))
   `(texinfo-heading ((t (:foreground ,lpink :inherit unspecified :height 1.3))))
   `(which-func ((t (:foreground ,lblue))))

   )

  (custom-theme-set-variables
   'yoshi
   '(rainbow-delimiters-max-face-count 10)
   `(fci-rule-color ,dred)))

;;;###autoload
(and load-file-name
     (boundp 'custom-theme-load-path)
     (add-to-list 'custom-theme-load-path
                  (file-name-as-directory
                   (file-name-directory load-file-name))))

(provide-theme 'yoshi)
;;; yoshi-theme.el ends here

;; Local Variables:
;; eval: (rainbow-mode 1)
;; End: