branch: externals/aircon-theme commit 0e41199033bd42eb740a2dc7243c997e42d7ad9f Author: Gregory Chamberlain <g...@cosine.blue> Commit: Gregory Chamberlain <g...@cosine.blue>
Major refactoring: use named colours and faces --- aircon-theme.el | 311 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 190 insertions(+), 121 deletions(-) diff --git a/aircon-theme.el b/aircon-theme.el index 3671e3eac1..7629fff3df 100644 --- a/aircon-theme.el +++ b/aircon-theme.el @@ -33,128 +33,197 @@ ;;; Code: -(deftheme aircon - "Cool and legible light theme.") - -(let ((c '((class color) (min-colors 89))) - (error "#8d2934") - (warning "#b88325") - (success "#468b16")) - (custom-theme-set-faces - 'aircon - - `(default ((,c (:background "#ffffff" :foreground "#000000")))) - `(cursor ((,c (:background "#243867")))) - - `(fringe ((,c (:inherit default)))) - - `(mode-line ((,c (:inherit variable-pitch - :background "#49587b" - :foreground "#ffffff" - :box "#010e2c")))) - `(mode-line-inactive ((,c (:inherit mode-line - :background "#e2e3ea" - :foreground "#303645" - :box "#a3a4ae")))) - `(mode-line-highlight ((,c (:inherit mode-line)))) - - `(compilation-mode-line-fail ((,c :foreground ,error :inherit bold))) - `(compilation-error ((,c :foreground ,error :inherit bold))) - - `(shadow ((,c (:foreground "#595959")))) - `(error ((,c (:foreground ,error :inherit bold)))) - `(warning ((,c (:foreground ,warning :inherit bold)))) - `(success ((,c (:foreground ,success :inherit bold)))) - - `(escape-glyph ((,c (:inherit error)))) - `(homoglyph ((,c (:inherit error)))) - - `(highlight ((,c (:background "#c4cbdc")))) - `(region ((,c (:background "#e2e3ea")))) - `(secondary-selection ((,c (:background "#d5cded")))) - `(isearch ((,c (:background "#ffcb63" :foreground "#422c00")))) - `(isearch-fail ((,c (:background "#eea5a7")))) - `(lazy-highlight ((,c (:background "#f7e8ca")))) - `(tooltip ((,c (:inherit lazy-highlight)))) - `(show-paren-match ((,c (:inherit isearch)))) - `(show-paren-mismatch ((,c (:inherit isearch-fail)))) - `(show-paren-match-expression ((,c (:inherit lazy-highlight)))) - - `(font-lock-builtin-face ((,c (:foreground "#243867" :inherit bold)))) - `(font-lock-comment-face ((,c (:foreground "#615855" :inherit italic)))) - `(font-lock-constant-face ((,c (:foreground "#18566e")))) - `(font-lock-function-name-face ((,c (:foreground "#412f7e")))) - `(font-lock-keyword-face ((,c (:foreground "#2e4d98" :inherit bold)))) - `(font-lock-string-face ((,c (:foreground "#327038")))) - `(font-lock-type-face ((,c (:foreground "#9a2d71" :inherit bold)))) - `(font-lock-variable-name-face ((,c (:foreground "#5f4f93")))) - `(font-lock-warning-face ((,c (:inherit error)))) - `(font-lock-doc-face ((,c (:inherit (font-lock-string-face - italic))))) - - `(flyspell-duplicate ((,c (:underline (:style wave :color ,warning))))) - `(flyspell-incorrect ((,c (:underline (:style wave :color ,error))))) - - `(link ((,c (:inherit underline :foreground "#2e4d98")))) - `(link-visited ((,c (:inherit link :foreground "#5f4f93")))) - - `(minibuffer-prompt ((,c (:inherit font-lock-builtin-face)))) - - `(completions-common-part ((,c (:inherit lazy-highlight)))) - `(completions-first-difference ((,c (:inherit isearch)))) - - `(help-key-binding ((,c (:inherit (fixed-pitch mode-line-inactive) - :box (:line-width (1 . -1) :color "#a3a4ae"))))) - - `(diff-header ((,c (:background "#e2e3ea" :foreground "#303645")))) - `(diff-file-header ((,c (:inherit diff-file-header :weight bold)))) - `(diff-added ((,c (:background "#c4face" :foreground "#143c1d")))) - `(diff-refine-added ((,c (:background "#88cd98" :foreground "#0c2912 ")))) - `(diff-removed ((,c (:background "#ffcccc" :foreground "#4b1313")))) - `(diff-refine-removed ((,c (:background "#ef9d9d" :foreground "#3a0a0a ")))) - - `(magit-diff-added ((,c (:inherit diff-added)))) - `(magit-diff-added-highlight ((,c (:inherit diff-refine-added)))) - `(magit-diff-removed ((,c (:inherit diff-removed)))) - `(magit-diff-removed-highlight ((,c (:inherit diff-refine-removed)))) - - `(dired-directory ((,c (:inherit font-lock-builtin-face)))) - `(dired-header ((,c (:inherit font-lock-builtin-face)))) - `(dired-symlink ((,c (:inherit font-lock-constant-face)))) - `(dired-ignored ((,c (:inherit shadow)))) - `(dired-mark ((,c (:inherit isearch :background "#ffffff")))) - `(dired-marked ((,c (:inherit isearch)))) - `(dired-flagged ((,c (:inherit isearch-fail)))) - - `(eshell-ls-archive ((,c (:inherit font-lock-type-face)))) - `(eshell-ls-backup ((,c (:inherit shadow)))) - `(eshell-ls-directory ((,c (:inherit font-lock-builtin-face)))) - `(eshell-ls-executable ((,c (:inherit font-lock-string-face)))) - `(eshell-ls-missing ((,c (:inherit error)))) - `(eshell-ls-readonly ((,c (:inherit font-lock-comment-face)))) - `(eshell-ls-symlink ((,c (:inherit font-lock-constant-face)))) - `(eshell-prompt ((,c (:inherit font-lock-builtin-face)))) - - `(erc-pal-face ((,c (:inherit font-lock-type-face :weight bold)))) - `(erc-button ((,c (:inherit button)))) - `(erc-keyword-face ((,c (:inherit font-lock-keyword-face)))) - `(erc-current-nick-face ((,c (:inherit font-lock-keyword-face)))) - `(erc-dangerous-host-face ((,c (:inherit warning)))) - `(erc-direct-msg-face ((,c (:inherit font-lock-builtin-face :weight normal)))) - `(erc-error-face ((,c (:inherit error)))) - `(erc-input-face ((,c (:inherit font-lock-variable-name-face)))) - `(erc-nick-default-face ((,c (:inherit font-lock-keyword-face :weight bold)))) - `(erc-nick-msg-face ((,c (:inherit font-lock-keyword-face :weight bold)))) - `(erc-notice-face ((,c (:inherit font-lock-comment-face)))) - `(erc-prompt-face ((,c (:inherit minibuffer-prompt)))) - `(erc-timestamp-face ((,c (:inherit font-lock-constant-face)))) - - )) - -(custom-theme-set-variables +(deftheme aircon "Cool and legible light theme.") + +(defconst aircon-brick "#8d2934") +(defconst aircon-marigold "#b88325") +(defconst aircon-hibiscus "#9a2d71") +(defconst aircon-sapphire "#2e4d98") +(defconst aircon-cello "#243867") +(defconst aircon-eden "#18566e") +(defconst aircon-lilac "#5f4f93") +(defconst aircon-goblin "#327038") +(defconst aircon-sandstone "#615855") +(defconst aircon-midnight "#010e2c") +(defconst aircon-shark "#303645") +(defconst aircon-ghost "#a3a4ae") + +(defface aircon-scorpion + '((((class color) (min-colors 89)) (:foreground "#595959"))) + "Aircon scorpion.") +(defface aircon-brick + `((((class color) (min-colors 89)) (:foreground ,aircon-brick))) + "Aircon brick.") +(defface aircon-marigold + `((((class color) (min-colors 89)) (:foreground ,aircon-marigold))) + "Aircon marigold.") +(defface aircon-hibiscus + `((((class color) (min-colors 89)) (:foreground ,aircon-hibiscus))) + "Aircon hibiscus.") +(defface aircon-sapphire + `((((class color) (min-colors 89)) (:foreground ,aircon-sapphire))) + "Aircon sapphire.") +(defface aircon-cello + `((((class color) (min-colors 89)) (:foreground ,aircon-cello))) + "Aircon cello.") +(defface aircon-eden + `((((class color) (min-colors 89)) (:foreground ,aircon-eden))) + "Aircon eden.") +(defface aircon-grape + '((((class color) (min-colors 89)) (:foreground "#412f7e"))) + "Aircon grape.") +(defface aircon-lilac + `((((class color) (min-colors 89)) (:foreground ,aircon-lilac))) + "Aircon lilac.") +(defface aircon-goblin + `((((class color) (min-colors 89)) (:foreground ,aircon-goblin))) + "Aircon goblin.") +(defface aircon-sandstone + `((((class color) (min-colors 89)) (:foreground ,aircon-sandstone))) + "Aircon sandstone.") +(defface aircon-haze + '((((class color) (min-colors 89)) (:background "#c4cbdc"))) + "Aircon haze.") +(defface aircon-blush + '((((class color) (min-colors 89)) (:background "#eea5a7"))) + "Aircon blush.") +(defface aircon-prelude + '((((class color) (min-colors 89)) (:background "#d5cded"))) + "Aircon prelude.") +(defface aircon-fjord + '((((class color) (min-colors 89)) (:background "#49587b"))) + "Aircon fjord.") +(defface aircon-athens + '((((class color) (min-colors 89)) (:background "#e2e3ea"))) + "Aircon athens.") +(defface aircon-linen + '((((class color) (min-colors 89)) (:background "#f7e8ca"))) + "Aircon linen.") +(defface aircon-mango + '((((class color) (min-colors 89)) + (:background "#ffcb63" :foreground "#422c00"))) + "Aircon mango.") +(defface aircon-header + `((nil (:inherit (aircon-athens) :foreground ,aircon-shark))) + "Aircon header.") + +(custom-theme-set-faces 'aircon - '(ansi-color-names-vector ["#ffffff" "#9a2d71" "#327038" "#18566e" - "#2e4d98" "#5f4f93" "#533a09" "#243867"])) + + `(ansi-color-black ((nil (:foreground "#000000")))) + `(ansi-color-white ((nil (:foreground "#ffffff")))) + `(ansi-color-blue ((nil (:foreground ,aircon-sapphire)))) + `(ansi-color-cyan ((nil (:foreground ,aircon-eden)))) + `(ansi-color-green ((nil (:foreground ,aircon-goblin)))) + `(ansi-color-magenta ((nil (:foreground ,aircon-hibiscus)))) + `(ansi-color-red ((nil (:foreground ,aircon-brick)))) + `(ansi-color-yellow ((nil (:foreground ,aircon-marigold)))) + + '(default ((nil (:background "#ffffff" :foreground "#000000")))) + `(cursor ((nil (:background ,aircon-cello)))) + '(fringe ((nil (:inherit (default))))) + + `(mode-line ((nil (:inherit (variable-pitch aircon-fjord) + :foreground "#ffffff" + :box ,aircon-midnight)))) + `(mode-line-inactive ((nil (:inherit (aircon-header mode-line) + :box ,aircon-ghost)))) + '(mode-line-highlight ((nil (:inherit (mode-line))))) + + '(compilation-mode-line-fail ((nil (:inherit (bold aircon-brick))))) + '(compilation-error ((nil (:inherit (bold aircon-brick))))) + + + `(help-key-binding ((nil (:inherit (aircon-header) + :box (:color ,aircon-ghost :line-width (1 . -1)))))) + + '(shadow ((nil (:inherit (aircon-scorpion))))) + '(error ((nil (:inherit (bold aircon-brick))))) + '(warning ((nil (:inherit (bold aircon-marigold))))) + '(success ((nil (:inherit (bold aircon-goblin))))) + + '(escape-glyph ((nil (:inherit (aircon-brick))))) + '(homoglyph ((nil (:inherit (aircon-brick))))) + + '(highlight ((nil (:inherit (aircon-haze))))) + '(region ((nil (:inherit (aircon-athens))))) + '(secondary-selection ((nil (:inherit (aircon-prelude))))) + '(isearch ((nil (:inherit (aircon-mango))))) + '(isearch-fail ((nil (:inherit (aircon-blush))))) + '(lazy-highlight ((nil (:inherit (aircon-linen))))) + '(tooltip ((nil (:inherit (aircon-linen))))) + '(show-paren-match ((nil (:inherit (aircon-mango))))) + '(show-paren-mismatch ((nil (:inherit (aircon-blush))))) + '(show-paren-match-expression ((nil (:inherit (aircon-linen))))) + + '(font-lock-builtin-face ((nil (:inherit (aircon-cello bold))))) + '(font-lock-comment-face ((nil (:inherit (aircon-sandstone italic))))) + '(font-lock-constant-face ((nil (:inherit (aircon-eden))))) + '(font-lock-function-name-face ((nil (:inherit (aircon-grape))))) + '(font-lock-keyword-face ((nil (:inherit (aircon-sapphire bold))))) + '(font-lock-string-face ((nil (:inherit (aircon-goblin))))) + '(font-lock-type-face ((nil (:inherit (aircon-hibiscus bold))))) + '(font-lock-variable-name-face ((nil (:inherit (aircon-lilac))))) + '(font-lock-warning-face ((nil (:inherit (aircon-brick))))) + '(font-lock-doc-face ((nil (:inherit (italic aircon-goblin))))) + + '(link ((nil (:inherit (aircon-sapphire underline))))) + '(link-visited ((nil (:inherit (aircon-lilac link))))) + + '(minibuffer-prompt ((nil (:inherit (aircon-cello bold))))) + + '(completions-common-part ((nil (:inherit (aircon-linen))))) + '(completions-first-difference ((nil (:inherit (aircon-mango))))) + + `(flyspell-duplicate ((nil (:underline (:color ,aircon-marigold :style wave))))) + `(flyspell-incorrect ((nil (:underline (:color ,aircon-brick :style wave))))) + + '(diff-header ((nil (:inherit (aircon-header))))) + '(diff-file-header ((nil (:inherit (diff-header) :weight bold)))) + '(diff-added ((nil (:background "#c4face" :foreground "#143c1d")))) + '(diff-refine-added ((nil (:background "#88cd98" :foreground "#0c2912 ")))) + '(diff-removed ((nil (:background "#ffcccc" :foreground "#4b1313")))) + '(diff-refine-removed ((nil (:background "#ef9d9d" :foreground "#3a0a0a ")))) + + '(magit-diff-added ((nil (:inherit diff-added)))) + '(magit-diff-added-highlight ((nil (:inherit diff-refine-added)))) + '(magit-diff-removed ((nil (:inherit diff-removed)))) + '(magit-diff-removed-highlight ((nil (:inherit diff-refine-removed)))) + `(magit-diff-whitespace-warning ((nil (:background ,aircon-hibiscus)))) + + '(dired-directory ((nil (:inherit (aircon-cello bold))))) + '(dired-header ((nil (:inherit (dired-directory))))) + '(dired-symlink ((nil (:inherit (aircon-eden))))) + '(dired-broken-symlink ((nil (:inherit (aircon-brick))))) + '(dired-ignored ((nil (:inherit (shadow))))) + '(dired-mark ((nil (:inherit (aircon-mango) :background "#ffffff")))) + '(dired-marked ((nil (:inherit (aircon-mango))))) + '(dired-flagged ((nil (:inherit (aircon-blush))))) + + '(eshell-ls-archive ((nil (:inherit aircon-hibiscus)))) + '(eshell-ls-backup ((nil (:inherit shadow)))) + '(eshell-ls-directory ((nil (:inherit aircon-cello)))) + '(eshell-ls-executable ((nil (:inherit aircon-goblin)))) + '(eshell-ls-missing ((nil (:inherit error)))) + '(eshell-ls-readonly ((nil (:inherit aircon-sandstone)))) + '(eshell-ls-symlink ((nil (:inherit aircon-eden)))) + '(eshell-prompt ((nil (:inherit aircon-cello)))) + + '(erc-pal-face ((nil (:inherit aircon-hibiscus :weight bold)))) + '(erc-button ((nil (:inherit button)))) + '(erc-keyword-face ((nil (:inherit aircon-sapphire)))) + '(erc-current-nick-face ((nil (:inherit aircon-sapphire)))) + '(erc-dangerous-host-face ((nil (:inherit warning)))) + '(erc-direct-msg-face ((nil (:inherit aircon-cello :weight normal)))) + '(erc-error-face ((nil (:inherit error)))) + '(erc-input-face ((nil (:inherit aircon-lilac)))) + '(erc-nick-default-face ((nil (:inherit aircon-sapphire :weight bold)))) + '(erc-nick-msg-face ((nil (:inherit aircon-sapphire :weight bold)))) + '(erc-notice-face ((nil (:inherit aircon-sandstone)))) + '(erc-prompt-face ((nil (:inherit minibuffer-prompt)))) + '(erc-timestamp-face ((nil (:inherit aircon-eden)))) + + ) ;;;###autoload (when load-file-name