diff options
| author | Magdalena Szweda <hi@roughlynamed.net> | 2026-09-23 19:38:14 +0200 |
|---|---|---|
| committer | Magdalena Szweda <hi@roughlynamed.net> | 2026-09-25 19:09:39 +0200 |
| commit | 01f226abb9775c5e33458b634e7793fa8f443c60 (patch) | |
| tree | badeee4e3e88e5e6f423442964b364ce4c318962 /extra-themes/evergarden-common.el | |
| parent | cbfbc8d090478d7fd040174aaf68189cfb95029e (diff) | |
fuckton of shit, mainly switch from helm + company -> vertico + corfu/cape
Diffstat (limited to 'extra-themes/evergarden-common.el')
| -rw-r--r-- | extra-themes/evergarden-common.el | 89 |
1 files changed, 33 insertions, 56 deletions
diff --git a/extra-themes/evergarden-common.el b/extra-themes/evergarden-common.el index 749bcda..30f0e60 100644 --- a/extra-themes/evergarden-common.el +++ b/extra-themes/evergarden-common.el @@ -6,8 +6,7 @@ ;; Keywords: faces, theme ;;; Commentary: -;; this is NOT a theme in itself - +;; NOT a theme by itself. shared engine for evergarden themes ;;; Code: (require 'modus-themes) @@ -19,8 +18,7 @@ :group 'ef-themes :prefix "evergarden-") -(defconst evergarden-theme-family 'evergarden-theme - "Shared theme family symbol for every evergarden flavor.") +(defconst evergarden-theme-family 'evergarden-theme) (defconst evergarden--term-mappings-dark '((bg-term-black bg-main) @@ -30,10 +28,7 @@ (bg-term-white fg-dim) (fg-term-white fg-dim) (bg-term-white-bright fg-main) - (fg-term-white-bright fg-main)) - "ANSI black/white terminal mapping for dark-background flavors. -Anchors \"black\" to the darkest neutrals and \"white\" to the lightest, -the same relationship a light theme uses just inverted.") + (fg-term-white-bright fg-main))) (defconst evergarden--term-mappings-light '((bg-term-black fg-main) @@ -43,9 +38,7 @@ the same relationship a light theme uses just inverted.") (bg-term-white border) (fg-term-white border) (bg-term-white-bright bg-main) - (fg-term-white-bright bg-main)) - "ANSI black/white terminal mapping for the light-background flavor (summer). -Matches fortune-gold-theme.el's light-theme convention.") + (fg-term-white-bright bg-main))) (defconst evergarden--term-mappings-color '((bg-term-red red) (fg-term-red red) @@ -59,19 +52,16 @@ Matches fortune-gold-theme.el's light-theme convention.") (bg-term-magenta magenta) (fg-term-magenta magenta) (bg-term-magenta-bright magenta-warmer) (fg-term-magenta-bright magenta-warmer) (bg-term-cyan cyan) (fg-term-cyan cyan) - (bg-term-cyan-bright cyan-warmer) (fg-term-cyan-bright cyan-warmer)) - "ANSI colored-slot terminal mapping, identical for every flavor. -Left as true family colors (not the green signature) since ANSI red should -stay red, ANSI blue should stay blue, etc., regardless of flavor.") + (bg-term-cyan-bright cyan-warmer) (fg-term-cyan-bright cyan-warmer))) (defconst evergarden-palette-mappings-partial (append '( (err red) - (warning orange) + (warning yellow) (info cyan) (underline-err red) - (underline-warning orange) + (underline-warning yellow) (underline-note cyan) (modeline-err red) (modeline-warning yellow) @@ -94,25 +84,25 @@ stay red, ANSI blue should stay blue, etc., regardless of flavor.") (name cyan) (keybind green) (identifier fg-main) - (fg-prompt green) + (fg-prompt pink) (bg-prompt unspecified) (builtin cyan-cooler) - (comment fg-dim) - (constant magenta-cooler) - (fnname cyan) - (fnname-call cyan-warmer) + (comment overlay2) + (constant pink) + (fnname green) + (fnname-call green-warmer) (keyword red) - (preprocessor green) - (property fg-main) - (docstring fg-dim) - (docmarkup green-cooler) - (string green-warmer) + (preprocessor cherry) + (property cyan-cooler) + (docstring cyan-cooler) + (docmarkup cyan) + (string lime) (type yellow) - (variable blue) - (variable-use blue) - (rx-backslash orange) - (rx-construct magenta) + (variable fg-main) + (variable-use fg-main) + (rx-backslash yellow) + (rx-construct cyan) (accent-0 green) (accent-1 cyan) @@ -126,8 +116,8 @@ stay red, ANSI blue should stay blue, etc., regardless of flavor.") (fg-region fg-main) (bg-mark-delete bg-red-subtle) (fg-mark-delete red) - (bg-mark-select bg-green-subtle) - (fg-mark-select green) + (bg-mark-select bg-yellow-subtle) + (fg-mark-select yellow) (bg-mark-other bg-cyan-subtle) (fg-mark-other cyan) @@ -152,7 +142,7 @@ stay red, ANSI blue should stay blue, etc., regardless of flavor.") (prose-table fg-alt) (prose-table-formula cyan) (prose-tag yellow-faint) - (prose-todo red) + (prose-todo cyan) (fg-prose-verbatim magenta-warmer) (mail-cite-0 green) @@ -165,8 +155,8 @@ stay red, ANSI blue should stay blue, etc., regardless of flavor.") (mail-other fg-alt) (bg-search-static bg-cyan-subtle) - (bg-search-current bg-green-intense) - (bg-search-lazy bg-green-subtle) + (bg-search-current bg-blue-intense) + (bg-search-lazy bg-blue-subtle) (bg-search-replace bg-red-intense) (bg-search-rx-group-0 bg-green-intense) @@ -179,14 +169,14 @@ stay red, ANSI blue should stay blue, etc., regardless of flavor.") (fg-space border) (fringe bg-main) - (fg-line-number-active green) - (fg-line-number-inactive overlay1) + (fg-line-number-active overlay1) + (fg-line-number-inactive surface1) (bg-line-number-active bg-hl-line) (bg-line-number-inactive bg-main) - (bg-tab-bar bg-dim) + (bg-tab-bar overlay1) (bg-tab-current bg-main) - (bg-tab-other bg-dim) + (bg-tab-other surface2) (bg-prominent-err bg-err) (fg-prominent-err err) @@ -252,10 +242,8 @@ stay red, ANSI blue should stay blue, etc., regardless of flavor.") (overline-heading-6 red) (overline-heading-7 unspecified) (overline-heading-8 unspecified)) - evergarden--term-mappings-color) - "Semantic color mappings shared by every evergarden flavor. -Only references palette symbol names, never literal hex, so the exact same -list works whether the active flavor's palette is dark or light.") + evergarden--term-mappings-color)) + (defconst evergarden-custom-faces '(`(corfu-default ((,c :inherit modus-themes-fixed-pitch :background ,bg-dim @@ -270,24 +258,13 @@ list works whether the active flavor's palette is dark or light.") `(corfu-bar ((,c :background ,green))) `(corfu-popupinfo ((,c :background ,bg-dim :foreground ,fg-main))))) -(defun evergarden--ensure-modus-theme-metadata (name family description mode palette-sym overrides-sym) - "Declare NAME as a Modus-derived theme when reloading in-session. -FAMILY, DESCRIPTION, MODE, PALETTE-SYM and OVERRIDES-SYM are forwarded to -`modus-themes-declare', matching what `modus-themes-theme' expects to find -if the theme object already exists in the current session." +(defun evergarden--ensure-modus-theme-metadata (name family description mode palette-sym overrides-sym) (unless (plist-get (get name 'theme-properties) :modus-core-palette) (modus-themes-declare name family description mode palette-sym nil overrides-sym) (modus-themes-register name))) (defun evergarden-build-theme (flavor-name palette-partial mode) - "Register and define one evergarden flavor. - -FLAVOR-NAME is a symbol like `evergarden-fall'. PALETTE-PARTIAL is that -flavor's base palette (its own analogue of one spring.lua/summer.lua/ -fall.lua/winter.lua table, plus the warmer/cooler/faint/intense/subtle/ -nuanced variants Modus needs). MODE is `dark' or `light' and selects which -of `evergarden--term-mappings-dark'/`-light' gets appended." (let* ((flavor-str (symbol-name flavor-name)) (description (format "Cozy evergarden dark theme, %s flavor." (capitalize (substring flavor-str (length "evergarden-"))))) |
