Files
.emacs.d/themes/nothing-rhymes-with-orange-theme.el
2016-09-21 13:25:53 +02:00

201 lines
12 KiB
EmacsLisp

(eval-when-compile
(require 'cl-lib))
(unless (>= emacs-major-version 24)
(error "Requires Emacs 24 or later"))
(defcustom nrwo-contrast 'medium
"Contrast level for the theme background."
:options '(soft medium hard))
(deftheme nothing-rhymes-with-orange "Test")
(let* ((nrwo-dark0_hard (if (display-graphic-p) "#181818" "color-234"))
(nrwo-dark0 (if (display-graphic-p) "#282828" "color-235"))
(nrwo-dark0_soft (if (display-graphic-p) "#32302f" "color-236"))
(nrwo-dark1 (if (display-graphic-p) "#3c3836" "color-237"))
(nrwo-dark2 (if (display-graphic-p) "#504945" "color-239"))
(nrwo-dark3 (if (display-graphic-p) "#665c54" "color-241"))
(nrwo-dark4 (if (display-graphic-p) "#7c6f64" "color-243"))
(nrwo-medium (if (display-graphic-p) "#928374" "color-245")) ;; or 244
(nrwo-light0_hard (if (display-graphic-p) "#ffffc8" "color-230"))
(nrwo-light0 (if (display-graphic-p) "#ede4b1" "color-229"))
(nrwo-light0_soft (if (display-graphic-p) "#f4e8ba" "color-228"))
(nrwo-light1 (if (display-graphic-p) "#ebdbb2" "color-223"))
(nrwo-light2 (if (display-graphic-p) "#d5c4a1" "color-250"))
(nrwo-light3 (if (display-graphic-p) "#bdae93" "color-248"))
(nrwo-light4 (if (display-graphic-p) "#a89984" "color-246"))
(nrwo-color0 (if (display-graphic-p) "#262322" "color-0"))
(nrwo-color1 (if (display-graphic-p) "#665752" "color-1"))
(nrwo-color2 (if (display-graphic-p) "#75645e" "color-2"))
(nrwo-color3 (if (display-graphic-p) "#85716a" "color-3"))
(nrwo-color4 (if (display-graphic-p) "#947e76" "color-4"))
(nrwo-color5 (if (display-graphic-p) "#a38b83" "color-5"))
(nrwo-color6 (if (display-graphic-p) "#b89c93" "color-6"))
(nrwo-color7 (if (display-graphic-p) "#ede4b1" "color-7"))
(nrwo-color8 (if (display-graphic-p) "#524b49" "color-8"))
(nrwo-color9 (if (display-graphic-p) "#ff6633" "color-9"))
(nrwo-color10 (if (display-graphic-p) "#bf4c26" "color-10"))
(nrwo-color11 (if (display-graphic-p) "#803319" "color-11"))
(nrwo-color12 (if (display-graphic-p) "#80ecff" "color-12"))
(nrwo-color13 (if (display-graphic-p) "#60b4bf" "color-13"))
(nrwo-color14 (if (display-graphic-p) "#406d80" "color-14"))
(nrwo-color15 (if (display-graphic-p) "#e8d7d1" "color-15"))
(nrwo-delimiter-one (if (display-graphic-p) "#458588" "color-30"))
(nrwo-delimiter-two (if (display-graphic-p) "#b16286" "color-168"))
(nrwo-delimiter-three (if (display-graphic-p) "#8ec07c" "color-108"))
(nrwo-delimiter-four (if (display-graphic-p) "#d65d0e" "color-166"))
(nrwo-white (if (display-graphic-p) "#FFFFFF" "white"))
(nrwo-black (if (display-graphic-p) "#000000" "black"))
(nrwo-sienna (if (display-graphic-p) "#DD6F48" "sienna"))
(nrwo-darkslategray4 (if (display-graphic-p) "#528B8B" "DarkSlateGray4"))
(nrwo-lightblue4 (if (display-graphic-p) "#66999D" "LightBlue4"))
(nrwo-burlywood4 (if (display-graphic-p) "#BBAA97" "burlywood4"))
(nrwo-aquamarine4 (if (display-graphic-p) "#83A598" "aquamarine4"))
(nrwo-turquoise4 (if (display-graphic-p) "#61ACBB" "turquoise4"))
(nrwo-bg nrwo-dark0_hard))
(custom-theme-set-faces
'nothing-rhymes-with-orange
;; UI
`(default ((t (:background ,nrwo-bg :foreground ,nrwo-light0))))
`(cursor ((t (:background ,nrwo-light0))))
`(mode-line ((t (:box nil :background ,nrwo-dark0 :foreground "ivory" :font "Iosevka Term-10"))))
`(mode-line-inactive ((t (:box nil :background ,nrwo-dark1 :foreground ,nrwo-light4 :font "Iosevka Term-10"))))
`(fringe ((t (:background ,nrwo-bg))))
`(linum ((t (:background ,nrwo-bg :foreground ,nrwo-dark4))))
`(hl-line ((t (:background ,nrwo-color0))))
`(region ((t (:background ,nrwo-dark2)))) ;;selection
`(secondary-selection ((t (:background ,nrwo-dark1))))
`(minibuffer-prompt ((t (:background ,nrwo-bg :foreground ,nrwo-color4 t))))
`(vertical-border ((t (:foreground ,nrwo-dark2))))
`(link ((t (:foreground ,nrwo-color7 :underline t))))
`(shadow ((t (:foreground ,nrwo-dark4))))
;; Built-in syntax
`(font-lock-builtin-face ((t (:foreground ,nrwo-color9 t))))
`(font-lock-constant-face ((t (:foreground ,nrwo-color10 t))))
`(font-lock-comment-face ((t (:foreground ,nrwo-dark4))))
`(font-lock-function-name-face ((t (:foreground ,nrwo-color15 ))))
`(font-lock-keyword-face ((t (:foreground ,nrwo-color10))))
`(font-lock-string-face ((t (:foreground ,nrwo-color5))))
`(font-lock-variable-name-face ((t (:foreground ,nrwo-color9))))
`(font-lock-type-face ((t (:foreground ,nrwo-color12))))
`(font-lock-warning-face ((t (:foreground ,nrwo-color15 t))))
`(neo-dir-link-face ((t (:foreground ,nrwo-color10))))
`(neo-root-dir-face ((t (:foreground ,nrwo-dark4))))
;; whitespace-mode
`(whitespace-space ((t (:background ,nrwo-bg :foreground ,nrwo-dark4))))
`(whitespace-hspace ((t (:background ,nrwo-bg :foreground ,nrwo-dark4))))
`(whitespace-tab ((t (:background ,nrwo-bg :foreground ,nrwo-dark4))))
`(whitespace-newline ((t (:background ,nrwo-bg :foreground ,nrwo-dark4))))
`(whitespace-trailing ((t (:background ,nrwo-dark1 :foreground ,nrwo-color3))))
`(whitespace-line ((t (:background ,nrwo-dark1 :foreground ,nrwo-color3))))
`(whitespace-space-before-tab ((t (:background ,nrwo-bg :foreground ,nrwo-dark4))))
`(whitespace-indentation ((t (:background ,nrwo-bg :foreground ,nrwo-dark4))))
`(whitespace-empty ((t (:background nil :foreground nil))))
`(whitespace-space-after-tab ((t (:background ,nrwo-bg :foreground ,nrwo-dark4))))
;; RainbowDelimiters
`(rainbow-delimiters-depth-1-face ((t (:foreground ,nrwo-delimiter-one))))
`(rainbow-delimiters-depth-2-face ((t (:foreground ,nrwo-delimiter-two))))
`(rainbow-delimiters-depth-3-face ((t (:foreground ,nrwo-delimiter-three))))
`(rainbow-delimiters-depth-4-face ((t (:foreground ,nrwo-delimiter-four))))
`(rainbow-delimiters-depth-5-face ((t (:foreground ,nrwo-delimiter-one))))
`(rainbow-delimiters-depth-6-face ((t (:foreground ,nrwo-delimiter-two))))
`(rainbow-delimiters-depth-7-face ((t (:foreground ,nrwo-delimiter-three))))
`(rainbow-delimiters-depth-8-face ((t (:foreground ,nrwo-delimiter-four))))
`(rainbow-delimiters-depth-9-face ((t (:foreground ,nrwo-delimiter-one))))
`(rainbow-delimiters-depth-10-face ((t (:foreground ,nrwo-delimiter-two))))
`(rainbow-delimiters-depth-11-face ((t (:foreground ,nrwo-delimiter-three))))
`(rainbow-delimiters-depth-12-face ((t (:foreground ,nrwo-delimiter-four))))
`(rainbow-delimiters-unmatched-face ((t (:background nil :foreground ,nrwo-light0))))
;; linum-relative
`(linum-relative-current-face ((t (:background ,nrwo-dark1 :foreground ,nrwo-light4))))
;; Highlight indentation mode
`(highlight-indentation-current-column-face ((t (:background ,nrwo-dark2 ))))
`(highlight-indentation-face ((t (:background ,nrwo-dark1 ))))
;; Smartparens
`(sp-pair-overlay-face ((t (:background ,nrwo-dark2))))
;`(sp-wrap-overlay-face ((t (:inherit sp-wrap-overlay-face))))
;`(sp-wrap-tag-overlay-face ((t (:inherit sp-wrap-overlay-face))))
`(sp-show-pair-match-face ((t (:background ,nrwo-dark2)))) ;; Pair tags highlight
`(sp-show-pair-mismatch-face ((t (:background ,nrwo-color15)))) ;; Highlight for bracket without pair
;; elscreen
`(elscreen-tab-background-face ((t (:box nil :background ,nrwo-bg)))) ;; Tab bar, not the tabs
`(elscreen-tab-control-face ((t (:box nil :background ,nrwo-dark2 :foreground ,nrwo-color15 :underline nil)))) ;; The controls
`(elscreen-tab-current-screen-face ((t (:box nil :background ,nrwo-dark4 :foreground ,nrwo-dark0)))) ;; Current tab
`(elscreen-tab-other-screen-face ((t (:box nil :background ,nrwo-dark2 :foreground ,nrwo-light4 :underline nil)))) ;; Inactive tab
;; ag (The Silver Searcher)
`(ag-hit-face ((t (:foreground ,nrwo-color14))))
`(ag-match-face ((t (:foreground ,nrwo-color15))))
;; Diffs
`(diff-changed ((t (:background ,nrwo-color0 :foreground ,nrwo-light1))))
`(diff-added ((t (:background nil :foreground ,nrwo-color12))))
`(diff-removed ((t (:background nil :foreground ,nrwo-color9))))
`(diff-indicator-changed ((t (:inherit diff-changed))))
`(diff-indicator-added ((t (:inherit diff-added))))
`(diff-indicator-removed ((t (:inherit diff-removed))))
`(js2-warning ((t (:underline (:color ,nrwo-color9 :style wave)))))
`(js2-error ((t (:underline (:color ,nrwo-color15 :style wave)))))
`(js2-external-variable ((t (:underline (:color ,nrwo-color10 :style wave)))))
`(js2-jsdoc-tag ((t (:background nil :foreground ,nrwo-medium ))))
`(js2-jsdoc-type ((t (:background nil :foreground ,nrwo-light4 ))))
`(js2-jsdoc-value ((t (:background nil :foreground ,nrwo-light3 ))))
`(js2-function-param ((t (:background nil :foreground ,nrwo-color12 ))))
`(js2-function-call ((t (:background nil :foreground ,nrwo-color10 ))))
`(js2-instance-member ((t (:background nil :foreground ,nrwo-color9 ))))
`(js2-private-member ((t (:background nil :foreground ,nrwo-color11 ))))
`(js2-private-function-call ((t (:background nil :foreground ,nrwo-color14 ))))
`(js2-jsdoc-html-tag-name ((t (:background nil :foreground ,nrwo-light4 ))))
`(js2-jsdoc-html-tag-delimiter ((t (:background nil :foreground ,nrwo-light3 ))))
;; popup
`(popup-face ((t (:foreground ,nrwo-light1 :background ,nrwo-dark1))))
`(popup-menu-mouse-face ((t (:foreground ,nrwo-light0 :background ,nrwo-color2))))
`(popup-menu-selection-face ((t (:foreground ,nrwo-light0 :background ,nrwo-color2))))
`(popup-tip-face ((t (:foreground ,nrwo-light2 :background ,nrwo-dark2))))
;; message-mode
`(message-header-to ((t (:inherit font-lock-variable-name-face))))
`(message-header-cc ((t (:inherit font-lock-variable-name-face))))
`(message-header-subject ((t (:foreground ,nrwo-color10 ))))
`(message-header-newsgroups ((t (:foreground ,nrwo-color9 ))))
`(message-header-other ((t (:inherit font-lock-variable-name-face))))
`(message-header-name ((t (:inherit font-lock-keyword-face))))
`(message-header-xheader ((t (:foreground ,nrwo-color12))))
`(message-separator ((t (:inherit font-lock-comment-face))))
`(message-cited-text ((t (:inherit font-lock-comment-face))))
`(message-mml ((t (:foreground ,nrwo-color1 ))))
)
)
;;;###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 'nothing-rhymes-with-orange)
;; Local Variables:
;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode +1))
;; End:
;;; nrwo-theme.el ends here