diff options
-rw-r--r-- | Cask | 1 | ||||
-rw-r--r-- | init.el | 1 | ||||
-rw-r--r-- | lisp/stekene-light-theme.el | 101 | ||||
-rw-r--r-- | lisp/stekene-theme-common.el | 141 |
4 files changed, 243 insertions, 1 deletions
@@ -48,7 +48,6 @@ (depends-on "s") (depends-on "stan-mode") (depends-on "stan-snippets") -(depends-on "stekene-theme") (depends-on "subr+") (depends-on "use-package") (depends-on "use-package-chords") @@ -42,6 +42,7 @@ (defvar km/init-lisp-dir (expand-file-name "lisp/" user-emacs-directory)) (add-to-list 'load-path km/init-lisp-dir) +(add-to-list 'custom-theme-load-path km/init-lisp-dir) (require 'km-util) (require 'km-emacs-autoloads nil t) diff --git a/lisp/stekene-light-theme.el b/lisp/stekene-light-theme.el new file mode 100644 index 0000000..eee54c7 --- /dev/null +++ b/lisp/stekene-light-theme.el @@ -0,0 +1,101 @@ +;;; stekene-light-theme.el --- Light version of the stekene theme -*- lexical-binding: t -*- + +;; Author: Fanael Linithien <fanael4@gmail.com> +;; URL: https://github.com/Fanael/stekene-theme + +;; This file is NOT part of GNU Emacs. + +;; Copyright (c) 2014, Fanael Linithien +;; All rights reserved. +;; +;; Redistribution and use in source and binary forms, with or without +;; modification, are permitted provided that the following conditions are +;; met: +;; +;; * Redistributions of source code must retain the above copyright +;; notice, this list of conditions and the following disclaimer. +;; * Redistributions in binary form must reproduce the above copyright +;; notice, this list of conditions and the following disclaimer in the +;; documentation and/or other materials provided with the distribution. +;; +;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +;;; Code: + +(eval-when-compile (require 'stekene-theme-common)) + +(deftheme stekene-light "The light version of the stekene theme.") + +(stekene-theme--set-faces + stekene-light + ((foreground "#242424") + (background "#f8f8f8") + (region "#bbbbbb") + (helmselection "#cccccc") + (hlline "#dddddd") + (highlight "#aaccaa") + (modelinebg "#dddddd") + (gray1 "#919191") + (gray2 "#666666") + (dullgreen "#557755") + (dullred "#775555") + (dullyellow "#777755") + (red "#ba2727") + (orange1 "#ba4727") + (orange2 "#b86833") + (yellow1 "#777722") + (yellow2 "#777722") + (blue1 "#336688") + (blue2 "#666699") + (blue3 "#555588") + (fringebg "#dddddd") + (whitespaceline "#fac9c0") + (whitespacetrailing "#fa8980") + (symbol1 "#934748") + (symbol2 "#8b4e34") + (symbol3 "#7d5626") + (symbol4 "#695e22") + (symbol5 "#51642a") + (symbol6 "#35693b") + (symbol7 "#006b51") + (symbol8 "#006c69") + (symbol9 "#006b7f") + (symbol10 "#00688f") + (symbol11 "#0d6396") + (symbol12 "#4c5b94") + (symbol13 "#6f5288") + (symbol14 "#854976") + (symbol15 "#91455f") + (delim1 "#7c544a") + (delim2 "#6e5b3e") + (delim3 "#586241") + (delim4 "#3f6652") + (delim5 "#2a6768") + (delim6 "#32647a") + (delim7 "#505d7e") + (delim8 "#6d5673") + (delim9 "#7d525e") + (identifierlightness 25) + (identifiersaturation 40) + (block1 "#f8f0f0") + (block2 "#f0f8f0") + (block3 "#f0f0f8") + (block4 "#f8f8f0") + (block5 "#f0f8f8") + (block6 "#f8f0f8") + (block7 "#efe5e5") + (block8 "#e5efe5") + (block9 "#e5e5ef"))) + +(provide-theme 'stekene-light) +;;; stekene-light-theme.el ends here diff --git a/lisp/stekene-theme-common.el b/lisp/stekene-theme-common.el new file mode 100644 index 0000000..109ce45 --- /dev/null +++ b/lisp/stekene-theme-common.el @@ -0,0 +1,141 @@ +;;; stekene-theme-common.el --- Common stuff for the stekene themes -*- lexical-binding: t -*- + +;; Author: Fanael Linithien <fanael4@gmail.com> +;; URL: https://github.com/Fanael/stekene-theme + +;; This file is NOT part of GNU Emacs. + +;; Copyright (c) 2014, Fanael Linithien +;; All rights reserved. +;; +;; Redistribution and use in source and binary forms, with or without +;; modification, are permitted provided that the following conditions are +;; met: +;; +;; * Redistributions of source code must retain the above copyright +;; notice, this list of conditions and the following disclaimer. +;; * Redistributions in binary form must reproduce the above copyright +;; notice, this list of conditions and the following disclaimer in the +;; documentation and/or other materials provided with the distribution. +;; +;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +;;; Code: + +(defmacro stekene-theme--set-faces (name palette) + `(let ,(cons '(class '((class color) (min-colors 89))) palette) + (custom-theme-set-faces + ',name + `(default ((,class (:background ,background :foreground ,foreground)))) + `(cursor ((,class (:background ,foreground)))) + `(region ((,class (:background ,region)))) + `(highlight ((,class (:background ,highlight)))) + `(font-lock-builtin-face ((,class (:foreground ,blue3)))) + `(font-lock-preprocessor-face ((,class (:foreground ,dullred)))) + `(font-lock-comment-face ((,class (:foreground ,gray1)))) + `(font-lock-constant-face ((,class (:foreground ,dullyellow)))) + `(font-lock-function-name-face ((,class (:foreground ,blue1)))) + `(font-lock-keyword-face ((,class (:foreground ,gray2)))) + `(font-lock-string-face ((,class (:foreground ,red)))) + `(font-lock-regexp-grouping-backslash ((,class (:foreground ,orange2)))) + `(font-lock-regexp-grouping-construct ((,class (:foreground ,yellow2)))) + `(font-lock-doc-face ((,class (:foreground ,orange1)))) + `(font-lock-type-face ((,class (:foreground ,dullgreen)))) + `(font-lock-variable-name-face ((,class (:foreground ,blue2)))) + `(font-lock-negation-char-face ((,class (:foreground ,orange2)))) + + `(hl-line ((,class (:background ,hlline)))) + `(show-paren-match-face ((,class (:background ,region)))) + + `(whitespace-line ((,class (:background ,whitespaceline :foreground nil)))) + `(whitespace-trailing ((,class (:background ,whitespacetrailing :foreground nil)))) + + `(fringe ((,class (:background ,fringebg)))) + `(linum ((,class (:background ,background :foreground ,gray1)))) + + `(mode-line ((,class + (:background ,modelinebg :foreground ,foreground :box nil)))) + + `(minibuffer-prompt ((,class (:foreground ,orange1)))) + + `(ido-subdir ((,class (:foreground ,yellow1)))) + `(ido-only-match ((,class (:foreground ,blue2)))) + + `(evil-ex-info ((,class (:foreground ,red :weight bold)))) + `(evil-ex-substitute-replacement ((,class + (:foreground ,red :weight bold :underline t)))) + + `(highlight-quoted-quote ((,class (:foreground ,orange2)))) + `(highlight-quoted-symbol ((,class (:foreground ,dullyellow)))) + + `(helm-source-header ((,class (:background ,modelinebg :foreground ,blue2)))) + `(helm-selection ((,class (:background ,helmselection)))) + `(helm-prefarg ((,class (:foreground ,dullred)))) + `(helm-match ((,class (:foreground ,blue2)))) + `(helm-M-x-key ((,class (:foreground ,blue1)))) + `(helm-ff-file ((,class (:foreground ,foreground)))) + `(helm-ff-directory ((,class (:foreground ,blue1)))) + `(helm-ff-executable ((,class (:foreground ,dullgreen)))) + `(helm-ff-symlink ((,class (:foreground ,dullyellow)))) + `(helm-ff-invalid-symlink ((,class (:foreground ,red)))) + `(helm-history-deleted ((,class (:foreground ,red)))) + `(helm-history-remote ((,class (:foreground ,blue1)))) + `(helm-lisp-show-completion ((,class (:background ,highlight)))) + + `(rainbow-identifiers-identifier-1 ((,class (:foreground ,symbol1)))) + `(rainbow-identifiers-identifier-2 ((,class (:foreground ,symbol2)))) + `(rainbow-identifiers-identifier-3 ((,class (:foreground ,symbol3)))) + `(rainbow-identifiers-identifier-4 ((,class (:foreground ,symbol4)))) + `(rainbow-identifiers-identifier-5 ((,class (:foreground ,symbol5)))) + `(rainbow-identifiers-identifier-6 ((,class (:foreground ,symbol6)))) + `(rainbow-identifiers-identifier-7 ((,class (:foreground ,symbol7)))) + `(rainbow-identifiers-identifier-8 ((,class (:foreground ,symbol8)))) + `(rainbow-identifiers-identifier-9 ((,class (:foreground ,symbol9)))) + `(rainbow-identifiers-identifier-10 ((,class (:foreground ,symbol10)))) + `(rainbow-identifiers-identifier-11 ((,class (:foreground ,symbol11)))) + `(rainbow-identifiers-identifier-12 ((,class (:foreground ,symbol12)))) + `(rainbow-identifiers-identifier-13 ((,class (:foreground ,symbol13)))) + `(rainbow-identifiers-identifier-14 ((,class (:foreground ,symbol14)))) + `(rainbow-identifiers-identifier-15 ((,class (:foreground ,symbol15)))) + + `(rainbow-delimiters-depth-1-face ((,class (:foreground ,delim1)))) + `(rainbow-delimiters-depth-2-face ((,class (:foreground ,delim2)))) + `(rainbow-delimiters-depth-3-face ((,class (:foreground ,delim3)))) + `(rainbow-delimiters-depth-4-face ((,class (:foreground ,delim4)))) + `(rainbow-delimiters-depth-5-face ((,class (:foreground ,delim5)))) + `(rainbow-delimiters-depth-6-face ((,class (:foreground ,delim6)))) + `(rainbow-delimiters-depth-7-face ((,class (:foreground ,delim7)))) + `(rainbow-delimiters-depth-8-face ((,class (:foreground ,delim8)))) + `(rainbow-delimiters-depth-9-face ((,class (:foreground ,delim9)))) + + `(highlight-blocks-depth-1-face ((,class (:background ,block1)))) + `(highlight-blocks-depth-2-face ((,class (:background ,block2)))) + `(highlight-blocks-depth-3-face ((,class (:background ,block3)))) + `(highlight-blocks-depth-4-face ((,class (:background ,block4)))) + `(highlight-blocks-depth-5-face ((,class (:background ,block5)))) + `(highlight-blocks-depth-6-face ((,class (:background ,block6)))) + `(highlight-blocks-depth-7-face ((,class (:background ,block7)))) + `(highlight-blocks-depth-8-face ((,class (:background ,block8)))) + `(highlight-blocks-depth-9-face ((,class (:background ,block9))))) + (custom-theme-set-variables + ',name + `(rainbow-identifiers-cie-l*a*b*-lightness ,identifierlightness) + `(rainbow-identifiers-cie-l*a*b*-saturation ,identifiersaturation)))) + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide 'stekene-theme-common) +;;; stekene-theme-common.el ends here |