summaryrefslogtreecommitdiff
path: root/.config/emacs-old/mango-light-theme.el
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs-old/mango-light-theme.el')
-rw-r--r--.config/emacs-old/mango-light-theme.el347
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)