1
0
Fork 0
mirror of https://git.sr.ht/~ryuslash/yoshi-theme synced 2025-02-07 13:35:50 +01:00

Revert "Rewrite"

This reverts commit 14cad88fbc.

Conflicts:
	yoshi-theme.el
This commit is contained in:
Tom Willemsen 2013-01-10 04:15:01 +01:00
parent 8f2bbe7e08
commit 69cb2c89b6

View file

@ -4,7 +4,7 @@
;; Author: Tom Willemsen <tom@ryuslash.org> ;; Author: Tom Willemsen <tom@ryuslash.org>
;; Keywords: faces ;; Keywords: faces
;; Version: 2.1.0 ;; Version: 1.1.0
;; This program is free software; you can redistribute it and/or modify ;; 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 ;; it under the terms of the GNU General Public License as published by
@ -26,149 +26,96 @@
;;; Code: ;;; Code:
(require 'color)
(deftheme yoshi (deftheme yoshi
"Created 2012-09-24") "Created 2012-09-24")
(defun yoshi-fmt-color (rgb)
(format "#%02x%02x%02x" (car rgb) (cadr rgb) (caddr rgb)))
(defun yoshi-inclusive-color-gradient (start stop step-number)
(let ((start-rgb (color-name-to-rgb start))
(stop-rgb (color-name-to-rgb stop)))
`(,start
,@(mapcar (lambda (color) (apply 'color-rgb-to-hex color))
(color-gradient start-rgb stop-rgb (- step-number 2)))
,stop)))
(defun yoshi-make-color-variations (name base-rgb)
(let* ((split-rgb (yoshi-split-rgb base-rgb))
(colors
(yoshi-inclusive-color-gradient
(yoshi-fmt-color split-rgb)
(yoshi-fmt-color (mapcar (lambda (c) (round (* c 0.548))) split-rgb)) 4))
(idx 0))
(mapcar
(lambda (color)
(list (intern (concat (symbol-name name) "-"
(number-to-string (setq idx (1+ idx)))))
color))
colors)))
(defun yoshi-make-colors (&rest list)
(apply 'nconc
(mapcar (lambda (i)
(yoshi-make-color-variations (car i) (cadr i)))
list)))
(defun yoshi-split-rgb (rgb)
(list
(/ (logand #xff0000 rgb) #x10000)
(/ (logand #x00ff00 rgb) #x100)
(logand #x0000ff rgb)))
(defmacro with-yoshi-colors (&rest body)
`(let ,(yoshi-make-colors
'(black #x222224)
'(white #xeeeeec)
'(blue #x78a2c1)
'(cyan #x75bdbd)
'(green #x4ac94f)
'(magenta #xc68ac6)
'(red #xff837d)
'(yellow #xa7a721)
'(orange #xff9800))
,@body))
(with-yoshi-colors
(custom-theme-set-faces (custom-theme-set-faces
'yoshi 'yoshi
`(default ((t (:background "#111113" :foreground ,white-1)))) '(default ((t (:background "#111113" :foreground "#eeeeec"))))
`(flycheck-error-face ((t (:foreground nil :underline (:color ,red-2 :style wave))))) '(flycheck-error-face ((t (:foreground nil :underline (:color "#ff756e" :style wave)))))
`(flycheck-warning-face ((t (:foreground nil :underline (:color ,orange-2 :style wave))))) '(flycheck-warning-face ((t (:foreground nil :underline (:color "#ffbb56" :style wave)))))
`(flymake-errline ((t (:background nil :underline (:color ,red-2 :style wave))))) '(flymake-errline ((t (:background nil :underline (:color "#ff756e" :style wave)))))
`(flymake-infoline ((t (:background nil :underline (:color ,blue-2 :style wave))))) '(flymake-infoline ((t (:background nil :underline (:color "#78a2c1" :style wave)))))
`(flymake-warnline ((t (:background nil :underline (:color ,orange-2 :style wave))))) '(flymake-warnline ((t (:background nil :underline (:color "#ffbb56" :style wave)))))
`(flyspell-duplicate ((t (:foreground nil :underline (:color ,orange-2 :style wave))))) '(flyspell-duplicate ((t (:foreground nil :underline (:color "#ffbb56" :style wave)))))
`(flyspell-incorrect ((t (:foreground nil :underline (:color ,red-2 :style wave))))) '(flyspell-incorrect ((t (:foreground nil :underline (:color "#ff756e" :style wave)))))
`(font-lock-comment-delimiter-face ((t (:foreground ,white-4 :slant italic :weight bold)))) '(font-lock-comment-delimiter-face ((t (:foreground "#999999" :slant italic :weight bold))))
`(font-lock-comment-face ((t (:foreground ,white-3 :slant italic)))) '(font-lock-comment-face ((t (:foreground "#a9a9a9" :slant italic))))
`(font-lock-constant-face ((t (:foreground ,cyan-1)))) '(font-lock-constant-face ((t (:foreground "#93d8d8"))))
`(font-lock-doc-face ((t (:foreground ,green-1)))) '(font-lock-doc-face ((t (:foreground "#9ad870"))))
`(font-lock-function-name-face ((t (:foreground ,magenta-1)))) '(font-lock-function-name-face ((t (:foreground "#c39cc3"))))
`(font-lock-keyword-face ((t (:foreground ,yellow-1)))) '(font-lock-keyword-face ((t (:foreground "#cfce29"))))
`(font-lock-string-face ((t (:foreground ,orange-2)))) '(font-lock-string-face ((t (:foreground "#ffbd5c"))))
`(font-lock-type-face ((t (:foreground ,blue-2 :weight bold)))) '(font-lock-type-face ((t (:foreground "#78a2c1" :weight bold))))
`(font-lock-variable-name-face ((t (:foreground ,red-2)))) '(font-lock-variable-name-face ((t (:foreground "#ff756e"))))
`(font-lock-warning-face ((t (:foreground ,orange-2 :weight bold)))) '(font-lock-warning-face ((t (:foreground "#ff756e" :weight bold))))
`(highlight ((t (:background ,black-1)))) '(highlight ((t (:background "#171719"))))
`(highlight-80+ ((t (:underline (:color ,red-3 :style wave) :background nil)))) '(highlight-80+ ((t (:underline (:color "#ff756e" :style wave) :background nil))))
`(ido-subdir ((t (:foreground ,red-2)))) '(ido-subdir ((t (:foreground "#ff756e"))))
`(italic ((t (:slant italic :underline nil)))) '(italic ((t (:slant italic))))
`(jabber-chat-prompt-foreign ((t (:foreground ,blue-1)))) '(jabber-chat-prompt-foreign ((t (:foreground "#ff756e"))))
`(jabber-chat-prompt-local ((t (:foreground ,cyan-3)))) '(jabber-chat-prompt-local ((t (:foreground "#78a2c1"))))
`(jabber-chat-prompt-system ((t (:foreground ,yellow-1)))) '(jabber-chat-prompt-system ((t (:foreground "#cfce29"))))
`(jabber-rare-time-face ((t (:foreground ,cyan-2 :weight bold)))) '(jabber-rare-time-face ((t (:foreground "#63a0a0" :weight bold))))
`(jabber-roster-user-online ((t (:foreground ,blue-1)))) '(jabber-roster-user-online ((t (:foreground "#769ff2"))))
`(link ((t (:foreground ,orange-1 :underline t)))) '(link ((t (:foreground "#ffbb56" :underline t))))
`(link-visited ((t (:foreground ,orange-2 :underline t)))) '(link-visited ((t (:foreground "#ff9800" :underline t))))
`(magit-item-highlight ((t (:weight bold :background nil)))) '(magit-item-highlight ((t (:weight bold))))
`(markdown-header-face-1 ((t (:foreground ,blue-1)))) '(markdown-header-face-1 ((t (:foreground "#78a2c1"))))
`(markdown-header-face-2 ((t (:foreground ,cyan-1)))) '(markdown-header-face-2 ((t (:foreground "#93d8d8"))))
`(markdown-header-face-3 ((t (:foreground ,green-1)))) '(markdown-header-face-3 ((t (:foreground "#9ad870"))))
`(markdown-header-face-4 ((t (:foreground ,magenta-1)))) '(markdown-header-face-4 ((t (:foreground "#c39cc3"))))
`(markdown-header-face-5 ((t (:foreground ,red-1)))) '(markdown-header-face-5 ((t (:foreground "#ff756e"))))
`(markdown-header-face-6 ((t (:foreground ,white-3)))) '(markdown-header-face-6 ((t (:foreground "#a9a9a9"))))
`(minibuffer-prompt ((t (:foreground ,blue-1)))) '(minibuffer-prompt ((t (:foreground "#78a2c1"))))
`(mode-line ((t (:background ,black-1 :foreground ,white-1 :box nil)))) '(mode-line ((t (:background "#222224" :foreground "#eeeeec" :box nil))))
`(mode-line-inactive ((t (:background ,black-4 :foreground ,white-4 :box nil)))) '(mode-line-inactive ((t (:background "#171719" :foreground "#999999" :box nil))))
`(org-agenda-calendar-sexp ((t (:foreground ,yellow-1)))) '(org-agenda-calendar-sexp ((t (:foreground "#cfce29"))))
`(org-agenda-current-time ((t (:foreground ,orange-2 :weight bold)))) '(org-agenda-current-time ((t (:foreground "#ff9800" :weight bold))))
`(org-agenda-date ((t (:foreground ,cyan-2)))) '(org-agenda-date ((t (:foreground "#63a0a0"))))
`(org-agenda-date-today ((t (:foreground ,cyan-1 :underline t)))) '(org-agenda-date-today ((t (:foreground "#93d8d8" :underline t))))
`(org-agenda-date-weekend ((t (:foreground ,cyan-3)))) '(org-agenda-date-weekend ((t (:foreground "#518484"))))
`(org-agenda-structure ((t (:foreground ,blue-1)))) '(org-agenda-structure ((t (:foreground "#78a2c1"))))
`(org-checkbox-statistics-done ((t (:foreground ,cyan-4)))) '(org-checkbox-statistics-done ((t (:foreground "#406868"))))
`(org-checkbox-statistics-todo ((t (:foreground ,cyan-3)))) '(org-checkbox-statistics-todo ((t (:foreground "#518484"))))
`(org-document-title ((t (:foreground ,orange-2 :height 1.5)))) '(org-document-title ((t (:foreground "#ffbb56" :height 1.5))))
`(org-headline-done ((t (:foreground ,white-3 :strike-through t)))) '(org-headline-done ((t (:foreground "#a9a9a9" :strike-through t))))
`(org-level-1 ((t (:foreground ,blue-1)))) '(org-level-1 ((t (:foreground "#78a2c1"))))
`(org-level-2 ((t (:foreground ,cyan-1)))) '(org-level-2 ((t (:foreground "#93d8d8"))))
`(org-level-3 ((t (:foreground ,green-1)))) '(org-level-3 ((t (:foreground "#9ad870"))))
`(org-level-4 ((t (:foreground ,magenta-1)))) '(org-level-4 ((t (:foreground "#c39cc3"))))
`(org-level-5 ((t (:foreground ,red-1)))) '(org-level-5 ((t (:foreground "#ff756e"))))
`(org-level-6 ((t (:foreground ,yellow-1)))) '(org-level-6 ((t (:foreground "#a9a9a9"))))
`(org-level-7 ((t (:foreground ,orange-1)))) '(org-level-7 ((t (:foreground "#ffbb56"))))
`(org-level-8 ((t (:foreground ,magenta-2)))) '(org-level-8 ((t (:foreground "#999999"))))
`(org-scheduled ((t (:foreground ,orange-3)))) '(org-scheduled ((t (:foreground "#b26900"))))
`(org-scheduled-previously ((t (:foreground ,red-1 :bold t)))) '(org-scheduled-previously ((t (:foreground "#ff756e" :bold t))))
`(org-scheduled-today ((t (:foreground ,orange-1 :underline t)))) '(org-scheduled-today ((t (:foreground "#ffbb56" :underline t))))
`(org-time-grid ((t (:foreground ,orange-1)))) '(org-time-grid ((t (:foreground "#ffbb56"))))
`(pp^L-highlight ((t (:box nil :foreground ,white-4)))) '(pp^L-highlight ((t (:box nil :foreground "#555557"))))
`(region ((t (:background ,blue-4)))) '(region ((t (:background "#2729b6"))))
`(rst-level-1 ((t (:background nil :foreground ,blue-1)))) '(rst-level-1 ((t (:background nil))))
`(rst-level-2 ((t (:background nil :foreground ,cyan-1)))) '(rst-level-2 ((t (:background nil))))
`(rst-level-3 ((t (:background nil :foreground ,green-1)))) '(rst-level-3 ((t (:background nil))))
`(rst-level-4 ((t (:background nil :foreground ,magenta-1)))) '(rst-level-4 ((t (:background nil))))
`(rst-level-5 ((t (:background nil :foreground ,red-1)))) '(rst-level-5 ((t (:background nil))))
`(rst-level-6 ((t (:background nil :foreground ,yellow-1)))) '(rst-level-6 ((t (:background nil))))
`(sh-heredoc ((t (:foreground ,orange-1)))) '(sh-heredoc ((t (:foreground "#ffbb56"))))
`(slime-repl-input-face ((t (:foreground ,white-4)))) '(slime-repl-input-face ((t (:foreground "#828281"))))
`(slime-repl-inputed-output-face ((t (:foreground ,white-3)))) '(slime-repl-inputed-output-face ((t (:foreground "#a5a5a4"))))
`(slime-repl-output-face ((t (:foreground ,white-1)))) '(slime-repl-output-face ((t (:foreground "#eeeeec"))))
`(slime-repl-prompt-face ((t (:foreground ,blue-1)))) '(slime-repl-prompt-face ((t (:foreground "#78a2c1"))))
`(term-color-black ((t (:background ,black-4 :foreground ,black-1)))) '(term-color-black ((t (:background "#171719" :foreground "#999999"))))
`(term-color-blue ((t (:background ,blue-4 :foreground ,blue-1)))) '(term-color-blue ((t (:background "#2729b6" :foreground "#78a2c1"))))
`(term-color-cyan ((t (:background ,cyan-4 :foreground ,cyan-1)))) '(term-color-cyan ((t (:background "#208181" :foreground "#93d8d8"))))
`(term-color-green ((t (:background ,green-4 :foreground ,green-1)))) '(term-color-green ((t (:background "#405c2e" :foreground "#9ad870"))))
`(term-color-magenta ((t (:background ,magenta-4 :foreground ,magenta-1)))) '(term-color-magenta ((t (:background "#5e325d" :foreground "#c39cc3"))))
`(term-color-red ((t (:background ,red-4 :foreground ,red-1)))) '(term-color-red ((t (:background "#973732" :foreground "#ff756e"))))
`(term-color-white ((t (:background ,white-4 :foreground ,white-1)))) '(term-color-white ((t (:background "#222224" :foreground "#a9a9a9"))))
`(term-color-yellow ((t (:background ,yellow-4 :foreground ,yellow-1)))) '(term-color-yellow ((t (:background "#835c0e" :foreground "#ffbb56"))))
)) )
(provide-theme 'yoshi) (provide-theme 'yoshi)
;;; yoshi-theme.el ends here ;;; yoshi-theme.el ends here