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

;; Copyright (C) 2012,2013  Tom Willemsen

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

;; 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 ((gray1 "#111111")
      (gray2 "#3d3d3d")
      (gray3 "#696969")
      (gray4 "#969696")
      (gray5 "#c2c2c2")
      (gray6 "#ededed")
      (red1 "#543f3f")
      (red2 "#542a2a")
      (red3 "#541515")
      (red4 "#a87e7e")
      (red5 "#a85454")
      (red6 "#a82a2a")
      (orange1 "#544c3f")
      (orange2 "#54432a")
      (orange3 "#543a15")
      (orange4 "#a8977e")
      (orange5 "#a88654")
      (orange6 "#a8742a")
      (yellow1 "#50543f")
      (yellow2 "#4c542a")
      (yellow3 "#485415")
      (yellow4 "#a0a87e")
      (yellow5 "#97a854")
      (yellow6 "#bfa82a")
      (green1 "#43543f")
      (green2 "#32542a")
      (green3 "#225415")
      (green4 "#87a87e")
      (green5 "#65a854")
      (green6 "#43a82a")
      (turquoise1 "#3f5447")
      (turquoise2 "#2a543a")
      (turquoise3 "#15542e")
      (turquoise4 "#7ea88f")
      (turquoise5 "#54a875")
      (turquoise6 "#2aa85b")
      (cyan1 "#3f5454")
      (cyan2 "#2a5454")
      (cyan3 "#155454")
      (cyan4 "#7ea8a8")
      (cyan5 "#54a8a8")
      (cyan6 "#2aa8a8")
      (blue1 "#3f4854")
      (blue2 "#2a3b54")
      (blue3 "#152e54")
      (blue4 "#7e8fa8")
      (blue5 "#5476a8")
      (blue6 "#2a5da8")
      (purple1 "#433f54")
      (purple2 "#322a54")
      (purple3 "#221554")
      (purple4 "#877ea8")
      (purple5 "#6554a8")
      (purple6 "#432aa8")
      (magenta1 "#503f54")
      (magenta2 "#4c2a54")
      (magenta3 "#481554")
      (magenta4 "#a07ea8")
      (magenta5 "#9754a8")
      (magenta6 "#8f2aa8")
      (pink1 "#543f4c")
      (pink2 "#542a43")
      (pink3 "#54153b")
      (pink4 "#a87e97")
      (pink5 "#a85487")
      (pink6 "#a82a76"))
  (custom-theme-set-faces
   'yoshi

   `(compilation-info ((t (:foreground ,blue5 :inherit unspecified))))
   `(cursor ((t (:background ,gray4))))
   `(default ((t (:background ,gray1 :foreground ,gray5))))
   `(diff-added ((t (:background ,green2 :inherit unspecified))))
   `(diff-changed ((t (:background ,orange2))))
   `(diff-file-header ((t (:foreground ,gray6 :background unspecified))))
   `(diff-function ((t (:inherit unspecified :foreground ,orange5))))
   `(diff-header ((t (:background ,gray2))))
   `(diff-hl-change ((t (:foreground ,yellow5 :background unspecified :inherit diff-changed))))
   `(diff-hl-delete ((t (:foreground ,red5 :inherit diff-removed))))
   `(diff-hl-insert ((t (:foreground ,green5 :inherit diff-added))))
   `(diff-hunk-header ((t (:inherit unspecified :weight bold))))
   `(diff-indicator-added ((t (:foreground ,green5 :weight bold :inherit unspecified))))
   `(diff-indicator-changed ((t (:foreground ,yellow5 :weight bold :inherit unspecified ))))
   `(diff-indicator-removed ((t (:foreground ,red5 :weight bold :inherit unspecified))))
   `(diff-refine-added ((t (:foreground ,green5 :background unspecified :inherit unspecified))))
   `(diff-refine-change ((t (:foreground ,yellow5 :background unspecified))))
   `(diff-refine-removed ((t (:foreground ,red5 :background unspecified :inherit unspecified))))
   `(diff-removed ((t (:background ,red2 :inherit unspecified))))
   `(erc-current-nick-face ((t (:foreground ,red5 :weight bold))))
   `(erc-input-face ((t (:inherit shadow))))
   `(erc-my-nick-face ((t (:inherit erc-current-nick-face))))
   `(erc-notice-face ((t (:foreground ,blue5 :weight normal))))
   `(erc-prompt-face ((t (:foreground ,gray6 :weight bold))))
   `(erc-timestamp-face ((t (:foreground ,gray4 :weight normal))))
   `(error ((t (:foreground ,red5 :weight unspecified))))
   `(flycheck-error-face ((t (:inherit unspecified :underline (:color ,red6 :style wave)))))
   `(flycheck-warning-face ((t (:inherit unspecified :underline (:color ,orange6 :style wave)))))
   `(flymake-errline ((t (:background unspecified :underline (:color ,red6 :style wave)))))
   `(flymake-infoline ((t (:background unspecified :underline (:color ,blue6 :style wave)))))
   `(flymake-warnline ((t (:background unspecified :underline (:color ,orange6 :style wave)))))
   `(flyspell-duplicate ((t (:inherit unspecified :underline (:color ,orange6 :style wave)))))
   `(flyspell-incorrect ((t (:inherit unspecified :underline (:color ,red6 :style wave)))))
   `(font-lock-builtin-face ((t (:foreground ,cyan5))))
   `(font-lock-comment-delimiter-face ((t (:foreground ,gray4 :weight bold :inherit unspecified))))
   `(font-lock-comment-face ((t (:foreground ,gray4 :slant italic))))
   `(font-lock-constant-face ((t (:foreground ,red5))))
   `(font-lock-doc-face ((t (:foreground ,gray4 :inherit unspecified))))
   `(font-lock-function-name-face ((t (:foreground ,blue5))))
   `(font-lock-keyword-face ((t (:foreground ,orange5))))
   `(font-lock-negation-char-face ((t (:foreground ,red5))))
   `(font-lock-regexp-grouping-backslash ((t (:foreground ,red5))))
   `(font-lock-regexp-grouping-construct ((t (:foreground ,pink5))))
   `(font-lock-string-face ((t (:foreground ,turquoise5))))
   `(font-lock-type-face ((t (:foreground ,purple5))))
   `(font-lock-variable-name-face ((t (:foreground ,yellow5))))
   `(font-lock-warning-face ((t (:underline (:color ,orange5) :inherit unspecified))))
   `(fringe ((t (:background unspecified :inherit default))))
   `(gnus-button ((t (:weight bold))))
   `(gnus-cite-1 ((t (:foreground ,red5))))
   `(gnus-cite-10 ((t (:foreground ,pink5))))
   `(gnus-cite-11 ((t (:foreground ,gray6))))
   `(gnus-cite-2 ((t (:foreground ,orange5))))
   `(gnus-cite-3 ((t (:foreground ,yellow5))))
   `(gnus-cite-4 ((t (:foreground ,green5))))
   `(gnus-cite-5 ((t (:foreground ,turquoise5))))
   `(gnus-cite-6 ((t (:foreground ,cyan5))))
   `(gnus-cite-7 ((t (:foreground ,blue5))))
   `(gnus-cite-8 ((t (:foreground ,purple5))))
   `(gnus-cite-9 ((t (:foreground ,magenta5))))
   `(gnus-group-mail-3 ((t (:foreground ,cyan6 :weight bold))))
   `(gnus-group-mail-3-empty ((t (:foreground ,cyan4))))
   `(gnus-group-news-3 ((t (:foreground ,red6 :weight bold))))
   `(gnus-group-news-3-empty ((t (:foreground ,red4))))
   `(gnus-header-content ((t (:foreground ,gray4 :slant italic))))
   `(gnus-header-from ((t (:weight bold))))
   `(gnus-header-name ((t (:foreground ,blue5 :weight bold))))
   `(gnus-header-newsgroups ((t (:foreground ,gray6 :weight bold))))
   `(gnus-header-subject ((t (:foreground ,yellow5))))
   `(gnus-signature ((t (:foreground ,gray3 :slant italic))))
   `(gnus-splash ((t (:foreground ,gray5))))
   `(gnus-summary-cancelled ((t (:foreground ,yellow5 :background ,gray2))))
   `(gnus-summary-high-ancient ((t (:inherit gnus-summary-normal-ancient :weight bold))))
   `(gnus-summary-high-read ((t (:inherit gnus-summary-normal-read :weight bold))))
   `(gnus-summary-high-ticked ((t (:inherit gnus-summary-normal-ticked :weight bold))))
   `(gnus-summary-high-unread ((t (:inherit gnus-summary-normal-unread :weight bold))))
   `(gnus-summary-low-ancient ((t (:inherit gnus-summary-normal-ancient :slant italic))))
   `(gnus-summary-low-read ((t (:inherit gnus-summary-normal-read :slant italic))))
   `(gnus-summary-low-ticked ((t (:inherit gnus-summary-normal-ticked :slant italic))))
   `(gnus-summary-low-unread ((t (:inherit gnus-summary-normal-unread :slant italic))))
   `(gnus-summary-normal-ancient ((t (:foreground ,cyan5))))
   `(gnus-summary-normal-read ((t (:foreground ,green5))))
   `(gnus-summary-normal-ticked ((t (:foreground ,red5))))
   `(gnus-summary-normal-unread ((t (:foreground ,gray6))))
   `(gnus-summary-selected ((t (:background ,blue2 :weight bold))))
   `(highlight ((t (:background ,gray2 ))))
   `(highlight-80+ ((t (:underline (:color ,red5 :style wave) :background unspecified))))
   `(identica-stripe-face ((t (:background ,gray2))))
   `(identica-uri-face ((t (:foreground ,orange5 :underline t))))
   `(identica-username-face ((t (:foreground ,blue5 :weight bold :underline unspecified))))
   `(ido-subdir ((t (:foreground ,red5))))
   `(isearch ((t (:background ,yellow2 :foreground unspecified))))
   `(isearch-fail ((t (:background ,red2))))
   `(italic ((t (:slant italic))))
   `(jabber-activity-face ((t (:foreground ,red5 :weight unspecified))))
   `(jabber-activity-personal-face ((t (:foreground ,blue5 :weight unspecified))))
   `(jabber-chat-error ((t (:foreground ,red5 :weight bold))))
   `(jabber-chat-prompt-foreign ((t (:foreground ,red5 :slant italic))))
   `(jabber-chat-prompt-local ((t (:foreground ,blue5 :slant italic))))
   `(jabber-chat-prompt-system ((t (:foreground ,green5 :slant italic))))
   `(jabber-rare-time-face ((t (:foreground ,gray5 :underline t))))
   `(jabber-roster-user-away ((t (:foreground ,green5 :slant italic))))
   `(jabber-roster-user-chatty ((t (:foreground ,pink5))))
   `(jabber-roster-user-dnd ((t (:foreground ,red5 :weight unspecified :slant unspecified))))
   `(jabber-roster-user-error ((t (:foreground ,red5 :slant unspecified :weight bold))))
   `(jabber-roster-user-offline ((t (:foreground ,gray4 :slant italic))))
   `(jabber-roster-user-online ((t (:foreground ,blue5))))
   `(jabber-roster-user-xa ((t (:foreground ,magenta5))))
   `(js2-external-variable ((t (:foreground ,magenta5))))
   `(link ((t (:foreground ,orange5 :underline t))))
   `(link-visited ((t (:foreground ,magenta5 :underline t))))
   `(magit-branch ((t (:foreground ,pink5 :weight bold :inherit unspecified))))
   `(magit-item-highlight ((t (:slant italic  :inherit unspecified))))
   `(magit-log-head-label-local ((t (:foreground ,gray5 :background ,magenta3 :box (:color ,magenta3 :line-width 2 :style nil)))))
   `(magit-log-head-label-remote ((t (:foreground ,gray5 :background ,green3 :box (:color ,green3 :line-width 2 :style nil)))))
   `(magit-log-head-label-tags ((t (:foreground ,gray5 :background ,orange3 :box (:color ,orange3 :line-width 2 :style nil)))))
   `(magit-log-sha1 ((t (:foreground ,gray5 :background ,blue3 :box (:color ,blue3 :line-width 2 :style nil)))))
   `(magit-section-title ((t (:foreground ,turquoise5 :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))))
   `(message-header-cc ((t (:foreground ,gray4))))
   `(message-header-name ((t (:inherit gnus-header-name))))
   `(message-header-newsgroups ((t (:foreground ,gray4 :weight bold))))
   `(message-header-other ((t (:inherit gnus-header-content))))
   `(message-header-subject ((t (:inherit gnus-header-subject))))
   `(message-header-to ((t (:foreground ,gray4 :weight bold))))
   `(message-header-xheader ((t (:foreground ,gray3))))
   `(message-mml ((t (:foreground ,green5))))
   `(message-separator ((t (:foreground ,blue5))))
   `(minibuffer-prompt ((t (:foreground ,blue5))))
   `(mode-line ((t (:background ,blue3 :foreground ,gray6 :box (:color ,blue3 :line-width 2 :style nil)))))
   `(mode-line-buffer-id ((t (:foreground ,orange6 :weight bold))))
   `(mode-line-inactive ((t (:weight normal :background ,gray2 :foreground ,gray5 :box (:color ,gray2 :line-width 2 :style nil) :inherit unspecified))))
   `(org-agenda-calendar-sexp ((t (:foreground ,yellow5))))
   `(org-agenda-current-time ((t (:foreground ,orange5 :weight bold))))
   `(org-agenda-date ((t (:foreground ,cyan2))))
   `(org-agenda-date-today ((t (:foreground ,cyan5 :slant italic))))
   `(org-agenda-date-weekend ((t (:foreground ,cyan5))))
   `(org-agenda-structure ((t (:foreground ,blue5))))
   `(org-block-background ((t (:background "#222222"))))
   `(org-block-begin-line ((t (:foreground ,gray5 :background "#333333" :slant unspecified :underline ,gray3))))
   `(org-block-end-line ((t (:foreground ,gray5 :background "#333333" :slant unspecified :overline ,gray3))))
   `(org-checkbox-statistics-done ((t (:foreground ,cyan2))))
   `(org-checkbox-statistics-todo ((t (:foreground ,cyan5))))
   `(org-date ((t (:foreground ,pink5 :underline unspecified))))
   `(org-document-title ((t (:foreground ,orange5 :height 1.5))))
   `(org-headline-done ((t (:foreground ,gray6 :strike-through t))))
   `(org-level-1 ((t (:foreground ,red5 :height 1.4))))
   `(org-level-2 ((t (:foreground ,orange5 :height 1.2))))
   `(org-level-3 ((t (:foreground ,yellow5 :height 1.1))))
   `(org-level-4 ((t (:foreground ,green5))))
   `(org-level-5 ((t (:foreground ,turquoise5))))
   `(org-level-6 ((t (:foreground ,cyan5))))
   `(org-level-7 ((t (:foreground ,blue5))))
   `(org-level-8 ((t (:foreground ,purple5))))
   `(org-scheduled ((t (:foreground ,orange2))))
   `(org-scheduled-previously ((t (:foreground ,red5 :bold t))))
   `(org-scheduled-today ((t (:foreground ,orange5 :slant italic))))
   `(org-time-grid ((t (:foreground ,orange5))))
   `(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 ,gray6))))
   `(rainbow-delimiters-depth-1-face ((t (:foreground ,red4))))
   `(rainbow-delimiters-depth-10-face ((t (:foreground ,pink4))))
   `(rainbow-delimiters-depth-2-face ((t (:foreground ,orange4))))
   `(rainbow-delimiters-depth-3-face ((t (:foreground ,yellow4))))
   `(rainbow-delimiters-depth-4-face ((t (:foreground ,green4))))
   `(rainbow-delimiters-depth-4-face ((t (:foreground ,turquoise4))))
   `(rainbow-delimiters-depth-6-face ((t (:foreground ,cyan4))))
   `(rainbow-delimiters-depth-7-face ((t (:foreground ,blue4))))
   `(rainbow-delimiters-depth-8-face ((t (:foreground ,purple4))))
   `(rainbow-delimiters-depth-9-face ((t (:foreground ,magenta4))))
   `(rainbow-delimiters-unmatched-face ((t (:background ,red3 :foreground unspecified))))
   `(rebase-mode-description-face ((t (:foreground ,gray6))))
   `(region ((t (:background ,blue2))))
   `(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 ,orange5))))
   `(shadow ((t (:foreground ,gray4))))
   `(show-paren-match ((t (:background ,gray2 :weight bold))))
   `(show-paren-mismatch ((t (:background unspecified :foreground ,red5))))
   `(slime-repl-input-face ((t (:foreground ,gray6))))
   `(slime-repl-inputed-output-face ((t (:foreground ,gray6))))
   `(slime-repl-output-face ((t (:foreground ,gray5))))
   `(slime-repl-prompt-face ((t (:foreground ,blue5))))
   `(success ((t (:foreground ,green5 :weight bold))))
   `(term-color-black ((t (:background ,gray1 :foreground ,gray6))))
   `(term-color-blue ((t (:background ,blue2 :foreground ,blue5))))
   `(term-color-cyan ((t (:background ,cyan2 :foreground ,cyan5))))
   `(term-color-green ((t (:background ,green2 :foreground ,green5))))
   `(term-color-magenta ((t (:background ,magenta2 :foreground ,magenta5))))
   `(term-color-red ((t (:background ,red2 :foreground ,red5))))
   `(term-color-white ((t (:background ,gray2 :foreground ,gray5))))
   `(term-color-yellow ((t (:background ,yellow2 :foreground ,yellow5))))
   `(texinfo-heading ((t (:foreground ,pink5 :inherit unspecified :height 1.3))))
   `(which-func ((t (:foreground ,blue5))))

   )

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

;;;###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: