boo-bee-macs/elpa/doom-themes-20210322.1750/doom-material-theme.el

165 lines
5.7 KiB
EmacsLisp

;;; doom-material-theme.el --- inspired by Material Theme by equinusocio -*- no-byte-compile: t; -*-
(require 'doom-themes)
;;
(defgroup doom-material-theme nil
"Options for doom-themes"
:group 'doom-themes)
(defcustom doom-material-padded-modeline doom-themes-padded-modeline
"If non-nil, adds a 4px padding to the mode-line.
Can be an integer to determine the exact padding."
:group 'doom-material-theme
:type '(choice integer boolean))
;;
(def-doom-theme doom-material
"A dark theme inspired by Material Theme by equinusocio"
;; name default 256 16
((bg '("#263238" nil nil))
(bg-alt '("#1C262B" nil nil))
(base0 '("#171F24" "black" "black"))
(base1 '("#1C262B" "#262626" "brightblack"))
(base2 '("#222D32" "#303030" "brightblack"))
(base3 '("#171F24" "#3a3a3a" "brightblack"))
(base4 '("#314048" "#444444" "brightblack"))
(base5 '("#37474F" "#585858" "brightblack"))
(base6 '("#556369" "#626262" "brightblack"))
(base7 '("#737E84" "#767676" "brightblack"))
(base8 '("#9BA3A7" "#a8a8a8" "white"))
(fg '("#EEFFFF" "#e4e4e4" "brightwhite"))
(fg-alt '("#BFC7D5" "#bcbcbc" "white"))
(grey base5)
(red '("#ff5370" "#ff0000" "red"))
(orange '("#f78c6c" "#ff5f00" "brightred"))
(green '("#c3e88d" "#afff00" "green"))
(teal '("#44b9b1" "#00d7af" "brightgreen"))
(yellow '("#ffcb6b" "#ffd700" "brightyellow"))
(blue '("#82aaff" "#5fafff" "brightblue"))
(dark-blue '("#7986E7" "#d7ffff" "blue"))
(magenta '("#c792ea" "#d787d7" "brightmagenta"))
(violet '("#bb80b3" "#d787af" "magenta"))
(cyan '("#89DDFF" "#5fd7ff" "brightcyan"))
(dark-cyan '("#80cbc4" "#00d7af" "cyan"))
;; face categories -- required for all themes
(highlight magenta)
(vertical-bar base2)
(selection base4)
(builtin blue)
(comments base6)
(doc-comments base6)
(constants orange)
(functions blue)
(keywords cyan)
(methods blue)
(operators cyan)
(type magenta)
(strings green)
(variables yellow)
(numbers orange)
(region base3)
(error red)
(warning yellow)
(success green)
(vc-modified blue)
(vc-added green)
(vc-deleted red)
;; custom categories
(modeline-bg base2)
(modeline-bg-alt (doom-darken bg 0.01))
(modeline-fg base8)
(modeline-fg-alt comments)
(-modeline-pad
(when doom-material-padded-modeline
(if (integerp doom-material-padded-modeline) doom-material-padded-modeline 4))))
;; --- base faces ------------------------
(((lazy-highlight &override) :background base4 :foreground fg :distant-foreground fg :bold bold)
(doom-modeline-buffer-path :foreground green :weight 'bold)
(doom-modeline-buffer-major-mode :inherit 'doom-modeline-buffer-path)
;; highlight-thing highlight-symbol
(highlight-symbol-face :background region :distant-foreground fg-alt)
;; highlight-thing
(highlight-thing :background region :distant-foreground fg-alt)
(mode-line
:background modeline-bg :foreground modeline-fg
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
(mode-line-inactive
:background modeline-bg-alt :foreground modeline-fg-alt
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt)))
(solaire-mode-line-face
:background modeline-bg :foreground modeline-fg
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg)))
(solaire-mode-line-inactive-face
:background modeline-bg-alt :foreground modeline-fg-alt
:box (if -modeline-pad `(:line-width ,-modeline-pad :color ,modeline-bg-alt)))
(fringe :background base2)
;; --- major-mode faces ------------------------
;; man-mode
(Man-overstrike :inherit 'bold :foreground magenta)
(Man-underline :inherit 'underline :foreground blue)
;; org-mode
((org-block &override) :background base2)
((org-block-background &override) :background base2)
((org-block-begin-line &override) :background base2)
;; --- plugin faces -------------------
;; css-mode / scss-mode
(css-proprietary-property :foreground orange)
(css-property :foreground green)
(css-selector :foreground blue)
;; dired-k
(dired-k-commited :foreground base4)
(dired-k-modified :foreground vc-modified)
(dired-k-ignored :foreground cyan)
(dired-k-added :foreground vc-added)
;; ivy
(ivy-current-match :background base5)
;; js2-mode
(js2-jsdoc-tag :foreground magenta)
(js2-object-property :foreground yellow)
(js2-object-property-access :foreground cyan)
(js2-function-param :foreground violet)
(js2-jsdoc-type :foreground base8)
(js2-jsdoc-value :foreground cyan)
;; lsp
(lsp-headerline-breadcrumb-symbols-face :foreground base7)
;; rainbow-delimiters
(rainbow-delimiters-depth-1-face :foreground magenta)
(rainbow-delimiters-depth-2-face :foreground orange)
(rainbow-delimiters-depth-3-face :foreground green)
(rainbow-delimiters-depth-4-face :foreground cyan)
(rainbow-delimiters-depth-5-face :foreground violet)
(rainbow-delimiters-depth-6-face :foreground yellow)
(rainbow-delimiters-depth-7-face :foreground blue)
(rainbow-delimiters-depth-8-face :foreground teal)
(rainbow-delimiters-depth-9-face :foreground dark-cyan)
;; rjsx-mode
(rjsx-tag :foreground red)
(rjsx-attr :foreground yellow :slant 'italic :weight 'medium)
;; tooltip
(tooltip :background (doom-darken bg-alt 0.2) :foreground fg)))
(provide 'doom-material-theme)