diff options
Diffstat (limited to '.config/emacs-old/mango-light-theme.el')
| -rw-r--r-- | .config/emacs-old/mango-light-theme.el | 347 |
1 files changed, 347 insertions, 0 deletions
diff --git a/.config/emacs-old/mango-light-theme.el b/.config/emacs-old/mango-light-theme.el new file mode 100644 index 0000000..4cbda4f --- /dev/null +++ b/.config/emacs-old/mango-light-theme.el @@ -0,0 +1,347 @@ +;;; mango-light-theme.el --- Just your average light theme -*- lexical-binding: t; -*- + +(deftheme mango-light + "Mildly light, light theme. +Your average not-so-light light theme, because none of the other options +were exactly to my liking. It’s about time I had a theme to call my +own.") + +;; Colors are defined as: (GUI-HEX 256-COLOR 16-COLOR) +(defconst mango-light-theme-colors-alist + '(;; (foreground . ("#3B4252" "color-238" "black")) + ;; (background . ("#ECEFF4" "color-255" "white")) + ;; (background-cool . ("#E5E9F0" "color-254" "white")) + ;; (background-dark . ("#FAFBFC" "color-231" "brightwhite")) + ;; (background-faint . ("#D8DEE9" "color-253" "brightwhite")) + ;; (middleground . ("#C8D0E0" "color-252" "brightwhite")) + (disabled . ("#9BA6B5" "color-247" "brightblack")) + (foreground . ("#000000" "color-0" "black")) + (background . ("#ffffff" "color-0" "black")) + (middleground . ("#c4c4c4" "color-0" "black")) + (background-cool . ("#e0e0e0" "color-0" "black")) + ;; TODO: Rename to foreground-light + (background-dark . ("#595959" "color-0" "black")) + (background-faint . ("#e6e6e6" "color-0" "black")) + + (celestial-blue . ("#1B61CE" "color-26" "blue")) + (dark-red . ("#A12027" "color-124" "red")) + (khaki . ("#8A6C23" "color-94" "yellow")) + (lime . ("#358A2A" "color-28" "green")) + (magenta . ("#9A35B3" "color-127" "magenta")) + (pale-azure . ("#0A74B8" "color-31" "cyan")) + (red . ("#D22129" "color-160" "brightred")) + (salmon . ("#D1570B" "color-166" "brightyellow")) + (violet . ("#7A3B9E" "color-97" "magenta"))) + "The color palette used throughout `mango-light-theme'. +Each color is mapped to a list of colors of the form +(GUI-HEX 256-COLOR 16-COLOR) for use in true-color, 256-color, and +16-color modes.") + +(defsubst mango-light-theme-color (name &optional display) + "Get the color value of NAME for the given DISPLAY. +DISPLAY can be 'gui, '256, or '16." + (let ((colors (alist-get name mango-light-theme-colors-alist))) + (pcase display + ('gui (nth 0 colors)) + ('256 (nth 1 colors)) + ('16 (nth 2 colors)) + (_ (nth 0 colors))))) + +(custom-theme-set-faces + 'mango-light + + ;; Standard Stuff + `(default + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'foreground 'gui) + :background ,(mango-light-theme-color 'background 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'foreground '256) + :background ,(mango-light-theme-color 'background '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'foreground '16) + :background ,(mango-light-theme-color 'background '16))))) + `(fringe + ((t (:inherit default)))) + + ;; Lines + `(hl-line + ((((type graphic tty) (min-colors 16777216)) + (:background ,(mango-light-theme-color 'background-faint 'gui))) + (((type tty) (min-colors 256)) + (:background ,(mango-light-theme-color 'background-faint '256))) + (((type tty)) + (:background ,(mango-light-theme-color 'background-faint '16))))) + `(region + ((((type graphic tty) (min-colors 16777216)) + (:background ,(mango-light-theme-color 'middleground 'gui))) + (((type tty) (min-colors 256)) + (:background ,(mango-light-theme-color 'middleground '256))) + (((type tty)) + (:background ,(mango-light-theme-color 'middleground '16))))) + `(header-line + ((((type graphic tty) (min-colors 16777216)) + (:background ,(mango-light-theme-color 'middleground 'gui))) + (((type tty) (min-colors 256)) + (:background ,(mango-light-theme-color 'middleground '256))) + (((type tty)) + (:background ,(mango-light-theme-color 'middleground '16))))) + `(mode-line-active + ((t ( :box ,(mango-light-theme-color 'celestial-blue 'gui) + :inherit header-line)))) + `(mode-line-inactive + ((((type graphic tty) (min-colors 16777216)) + ( :background ,(mango-light-theme-color 'background-cool 'gui) + :box ,(mango-light-theme-color 'background-faint 'gui) + :weight light)) + (((type tty) (min-colors 256)) + ( :background ,(mango-light-theme-color 'background-cool '256) + :box ,(mango-light-theme-color 'background-faint 'gui) + :weight light)) + (((type tty)) + ( :background ,(mango-light-theme-color 'background-cool '16) + :box ,(mango-light-theme-color 'background-faint 'gui) + :weight light)))) + `(window-divider + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'background-cool 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'background-cool '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'background-cool '16))))) + `(window-divider-first-pixel + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'background-cool 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'background-cool '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'background-cool '16))))) + `(window-divider-last-pixel + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'background-cool 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'background-cool '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'background-cool '16))))) + + ;; Line Numbers + `(line-number + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'disabled 'gui) + :background ,(mango-light-theme-color 'background 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'disabled '256) + :background ,(mango-light-theme-color 'background '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'disabled '16) + :background ,(mango-light-theme-color 'background '16))))) + `(line-number-current-line + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'salmon 'gui) + :background ,(mango-light-theme-color 'background 'gui) :weight bold)) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'salmon '256) + :background ,(mango-light-theme-color 'background '256) :weight bold)) + (((type tty)) + (:foreground ,(mango-light-theme-color 'salmon '16) + :background ,(mango-light-theme-color 'background '16) :weight bold)))) + + ;; Documentation + `(font-lock-comment-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'khaki 'gui) :weight semi-bold)) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'khaki '256) :weight semi-bold)) + (((type tty)) + (:foreground ,(mango-light-theme-color 'khaki '16) :weight semi-bold)))) + `(font-lock-doc-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'disabled 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'disabled '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'disabled '16))))) + + ;; Modeline + `(mm-modeline-overwrite-face ((t (:weight normal)))) + `(mm-modeline-readonly-face ((t (:weight normal)))) + `(mm-modeline-buffer-name-face ((t (:inherit font-lock-constant-face)))) + `(mm-modeline-buffer-modified-face ((t (:inherit shadow)))) + `(mm-modeline-major-mode-name-face ((t (:weight normal)))) + `(mm-modeline-major-mode-symbol-face ((t (:inherit shadow)))) + `(mm-modeline-git-branch-face ((t (:inherit font-lock-constant-face)))) + `(mm-modeline-narrow-face + ((((type graphic tty) (min-colors 16777216)) + (:background ,(mango-light-theme-color 'dark-red 'gui) :foreground ,(mango-light-theme-color 'background-dark 'gui) :box ,(mango-light-theme-color 'dark-red 'gui) :weight normal)) + (((type tty) (min-colors 256)) + (:background ,(mango-light-theme-color 'dark-red '256) :foreground ,(mango-light-theme-color 'background-dark '256) :box ,(mango-light-theme-color 'dark-red '256) :weight normal)) + (((type tty)) + (:background ,(mango-light-theme-color 'dark-red '16) :foreground ,(mango-light-theme-color 'background-dark '16) :box ,(mango-light-theme-color 'dark-red '16) :weight normal)))) + + ;; Core Language + `(font-lock-builtin-face ((t (:inherit font-lock-preprocessor-face)))) + `(font-lock-keyword-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'violet 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'violet '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'violet '16))))) + `(font-lock-type-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'celestial-blue 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'celestial-blue '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'celestial-blue '16))))) + + ;; Function-likes + `(font-lock-function-name-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'khaki 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'khaki '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'khaki '16))))) + `(font-lock-preprocessor-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'magenta 'gui) :weight bold)) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'magenta '256) :weight bold)) + (((type tty)) + (:foreground ,(mango-light-theme-color 'magenta '16) :weight bold)))) + + ;; Variables + `(font-lock-constant-face ((t (:inherit font-lock-variable-name-face :weight bold)))) + `(font-lock-variable-name-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'pale-azure 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'pale-azure '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'pale-azure '16))))) + + ;; Other literals + `(help-key-binding ((t (:inherit font-lock-constant-face)))) + `(font-lock-string-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'salmon 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'salmon '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'salmon '16))))) + `(font-lock-number-face + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'salmon 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'salmon '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'salmon '16))))) + + ;; Org Mode + `(org-quote ((t (:inherit org-block :slant italic)))) + `(org-code + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'salmon 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'salmon '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'salmon '16))))) + `(org-verbatim + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'lime 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'lime '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'lime '16))))) + `(org-block + ((((type graphic tty) (min-colors 16777216)) + (:background ,(mango-light-theme-color 'background-cool 'gui))) + (((type tty) (min-colors 256)) + (:background ,(mango-light-theme-color 'background-cool '256))) + (((type tty)) + (:background ,(mango-light-theme-color 'background-cool '16))))) + `(org-hide + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'background 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'background '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'background '16))))) + + ;; Info Page + `(Info-quoted ((t (:inherit default)))) + + ;; Magit + `(magit-diff-context-highlight ((t (:inherit hl-line)))) + `(magit-section-highlight ((t (:inherit hl-line)))) + `(magit-diff-hunk-heading + ((((type graphic tty) (min-colors 16777216)) + (:background ,(mango-light-theme-color 'background-cool 'gui))) + (((type tty) (min-colors 256)) + (:background ,(mango-light-theme-color 'background-cool '256))) + (((type tty)) + (:background ,(mango-light-theme-color 'background-cool '16))))) + `(magit-diff-hunk-heading-highlight + ((((type graphic tty) (min-colors 16777216)) + (:background ,(mango-light-theme-color 'middleground 'gui))) + (((type tty) (min-colors 256)) + (:background ,(mango-light-theme-color 'middleground '256))) + (((type tty)) + (:background ,(mango-light-theme-color 'middleground '16))))) + `(git-commit-summary + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'khaki 'gui))) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'khaki '256))) + (((type tty)) + (:foreground ,(mango-light-theme-color 'khaki '16))))) + `(git-commit-overlong-summary + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'background-dark 'gui) + :background ,(mango-light-theme-color 'red 'gui) :weight bold)) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'background-dark '256) + :background ,(mango-light-theme-color 'red '256) :weight bold)) + (((type tty)) + (:foreground ,(mango-light-theme-color 'background-dark '16) + :background ,(mango-light-theme-color 'red '16) :weight bold)))) + + ;; Vertico + `(vertico-current ((t (:inherit hl-line)))) + + ;; Marginalia + `(mm-diffstat-counter-added ((t (:foreground "green" :weight bold)))) + `(mm-diffstat-counter-removed ((t (:foreground "red" :weight bold)))) + `(marginalia-documentation + ((((type graphic tty) (min-colors 16777216)) + (:foreground ,(mango-light-theme-color 'disabled 'gui) :underline nil)) + (((type tty) (min-colors 256)) + (:foreground ,(mango-light-theme-color 'disabled '256) :underline nil)) + (((type tty)) + (:foreground ,(mango-light-theme-color 'disabled '16) :underline nil)))) + + ;; Tempel + `(tempel-default + ((((type graphic tty) (min-colors 16777216)) + (:slant italic :background ,(mango-light-theme-color 'middleground 'gui))) + (((type tty) (min-colors 256)) + (:slant italic :background ,(mango-light-theme-color 'middleground '256))) + (((type tty)) + (:slant italic :background ,(mango-light-theme-color 'middleground '16))))) + `(tempel-field + ((((type graphic tty) (min-colors 16777216)) + (:slant italic :background ,(mango-light-theme-color 'middleground 'gui))) + (((type tty) (min-colors 256)) + (:slant italic :background ,(mango-light-theme-color 'middleground '256))) + (((type tty)) + (:slant italic :background ,(mango-light-theme-color 'middleground '16))))) + `(tempel-form + ((((type graphic tty) (min-colors 16777216)) + (:slant italic :background ,(mango-light-theme-color 'middleground 'gui))) + (((type tty) (min-colors 256)) + (:slant italic :background ,(mango-light-theme-color 'middleground '256))) + (((type tty)) + (:slant italic :background ,(mango-light-theme-color 'middleground '16)))))) + +(provide-theme 'mango-light) |