201 lines
12 KiB
EmacsLisp
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
|