aboutsummaryrefslogtreecommitdiff
path: root/extra-themes/evergarden-common.el
diff options
context:
space:
mode:
authorMagdalena Szweda <hi@roughlynamed.net>2026-09-23 19:38:14 +0200
committerMagdalena Szweda <hi@roughlynamed.net>2026-09-25 19:09:39 +0200
commit01f226abb9775c5e33458b634e7793fa8f443c60 (patch)
treebadeee4e3e88e5e6f423442964b364ce4c318962 /extra-themes/evergarden-common.el
parentcbfbc8d090478d7fd040174aaf68189cfb95029e (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.el89
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-")))))