aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md16
-rw-r--r--evergarden-common.el341
-rw-r--r--evergarden-fall-theme.el156
-rw-r--r--evergarden-spring-theme.el154
-rw-r--r--evergarden-summer-theme.el155
l---------evergarden-theme.el1
-rw-r--r--evergarden-winter-theme.el155
-rw-r--r--evergarden.tera477
8 files changed, 963 insertions, 492 deletions
diff --git a/README.md b/README.md
index a658150..25eba37 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,9 @@
<h3 align="center">
<img src="https://codeberg.org/evergarden/.profile/raw/branch/main/assets/logo-circle.png" width="100" alt="Logo"/><br/>
- Evergarden for <a href="https://codeberg.org/roughlynamed/emacs-evergarden">Emacs</a>
+ Evergarden for <a href="https://www.gnu.org/software/emacs/emacs.html">Emacs</a>
</h3>
<p align="center">
- <a href="https://codeberg.org/evergarden/template/stars">
- <img src="https://img.shields.io/gitea/stars/evergarden/template?gitea_url=https%3A%2F%2Fcodeberg.org&style=for-the-badge&colorA=2B3337&colorB=F5D098">
- </a>
- <a href="https://codeberg.org/evergarden/template/issues">
- <img src="https://img.shields.io/gitea/issues/open/evergarden/template?gitea_url=https%3A%2F%2Fcodeberg.org&style=for-the-badge&colorA=2B3337&colorB=F7A182">
- </a>
- <a href="https://codeberg.org/evergarden/template/activity/contributors">
- <img src="https://img.shields.io/github/contributors/evergardentheme/template?style=for-the-badge&colorA=2B3337&colorB=B3E6DB">
- </a>
-</p>
-
-<p align="center">
<img src="assets/previews/preview.webp"/>
</p>
@@ -40,7 +28,7 @@
<!-- TODO: get to MELPA soon -->
### Usage
-1. Download the theme file
+1. Download the theme files
2. Add the directory with the theme file to your `custom-theme-load-path` and load the theme
``` emacs-lisp
diff --git a/evergarden-common.el b/evergarden-common.el
new file mode 100644
index 0000000..c897de4
--- /dev/null
+++ b/evergarden-common.el
@@ -0,0 +1,341 @@
+;;; evergarden-common.el --- Shared engine for the evergarden theme family -*- lexical-binding: t; -*-
+
+;; Author: expansion of the original evergarden theme by @koi.rip
+;; Version: 0.2.0
+;; Package-Requires: ((emacs "28.1") (modus-themes "5.0.0") (ef-themes "2.0.0"))
+;; Keywords: faces, theme
+
+;;; Commentary:
+;; this is NOT a theme in itself
+
+;;; Code:
+
+(require 'modus-themes)
+(require 'ef-themes)
+
+(defgroup evergarden-theme nil
+ "Cozy evergarden theme family built on Modus and Ef."
+ :group 'faces
+ :group 'ef-themes
+ :prefix "evergarden-")
+
+(defconst evergarden-theme-family 'evergarden-theme
+ "Shared theme family symbol for every evergarden flavor.")
+
+(defconst evergarden--term-mappings-dark
+ '((bg-term-black bg-main)
+ (fg-term-black bg-main)
+ (bg-term-black-bright overlay0)
+ (fg-term-black-bright overlay0)
+ (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.")
+
+(defconst evergarden--term-mappings-light
+ '((bg-term-black fg-main)
+ (fg-term-black fg-main)
+ (bg-term-black-bright fg-dim)
+ (fg-term-black-bright fg-dim)
+ (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.")
+
+(defconst evergarden--term-mappings-color
+ '((bg-term-red red) (fg-term-red red)
+ (bg-term-red-bright red-warmer) (fg-term-red-bright red-warmer)
+ (bg-term-green green) (fg-term-green green)
+ (bg-term-green-bright green-warmer) (fg-term-green-bright green-warmer)
+ (bg-term-yellow yellow) (fg-term-yellow yellow)
+ (bg-term-yellow-bright yellow-warmer) (fg-term-yellow-bright yellow-warmer)
+ (bg-term-blue blue) (fg-term-blue blue)
+ (bg-term-blue-bright blue-warmer) (fg-term-blue-bright blue-warmer)
+ (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.")
+
+(defconst evergarden-palette-mappings-partial
+ (append
+ '(
+ (err red)
+ (warning orange)
+ (info cyan)
+ (underline-err red)
+ (underline-warning orange)
+ (underline-note cyan)
+ (modeline-err red)
+ (modeline-warning yellow)
+ (modeline-info cyan)
+ (bg-prominent-warning bg-warning)
+ (fg-prominent-warning fg-main)
+ (bg-prominent-note bg-info)
+ (fg-prominent-note fg-main)
+
+ (fg-link blue)
+ (fg-link-visited magenta)
+ (fg-link-symbolic cyan)
+ (bg-link unspecified)
+ (bg-link-symbolic unspecified)
+ (bg-link-visited unspecified)
+ (underline-link blue)
+ (underline-link-visited magenta)
+ (underline-link-symbolic cyan)
+
+ (name cyan)
+ (keybind green)
+ (identifier fg-main)
+ (fg-prompt green)
+ (bg-prompt unspecified)
+
+ (builtin cyan-cooler)
+ (comment fg-dim)
+ (constant magenta-cooler)
+ (fnname cyan)
+ (fnname-call cyan-warmer)
+ (keyword red)
+ (preprocessor green)
+ (property fg-main)
+ (docstring fg-dim)
+ (docmarkup green-cooler)
+ (string green-warmer)
+ (type yellow)
+ (variable blue)
+ (variable-use blue)
+ (rx-backslash orange)
+ (rx-construct magenta)
+
+ (accent-0 green)
+ (accent-1 cyan)
+ (accent-2 magenta-warmer)
+ (accent-3 orange)
+
+ (fg-button-active fg-main)
+ (fg-button-inactive fg-dim)
+ (bg-button-active bg-main)
+ (bg-button-inactive bg-dim)
+ (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-other bg-cyan-subtle)
+ (fg-mark-other cyan)
+
+ (date-common cyan)
+ (date-deadline red)
+ (date-deadline-subtle red-faint)
+ (date-event fg-alt)
+ (date-holiday red-warmer)
+ (date-holiday-other magenta-warmer)
+ (date-now fg-main)
+ (date-range fg-alt)
+ (date-scheduled green)
+ (date-scheduled-subtle green-faint)
+ (date-weekday blue)
+ (date-weekend red-faint)
+
+ (fg-prose-code green-cooler)
+ (prose-done green)
+ (fg-prose-macro green)
+ (prose-metadata fg-dim)
+ (prose-metadata-value fg-alt)
+ (prose-table fg-alt)
+ (prose-table-formula cyan)
+ (prose-tag yellow-faint)
+ (prose-todo red)
+ (fg-prose-verbatim magenta-warmer)
+
+ (mail-cite-0 green)
+ (mail-cite-1 cyan)
+ (mail-cite-2 magenta-warmer)
+ (mail-cite-3 red-warmer)
+ (mail-part cyan)
+ (mail-recipient blue)
+ (mail-subject green)
+ (mail-other fg-alt)
+
+ (bg-search-static bg-cyan-subtle)
+ (bg-search-current bg-green-intense)
+ (bg-search-lazy bg-green-subtle)
+ (bg-search-replace bg-red-intense)
+
+ (bg-search-rx-group-0 bg-green-intense)
+ (bg-search-rx-group-1 bg-magenta-intense)
+ (bg-search-rx-group-2 bg-cyan-intense)
+ (bg-search-rx-group-3 bg-red-intense)
+
+ (bg-space-err bg-red-intense)
+ (bg-space bg-main)
+ (fg-space border)
+
+ (fringe bg-main)
+ (fg-line-number-active green)
+ (fg-line-number-inactive overlay1)
+ (bg-line-number-active bg-hl-line)
+ (bg-line-number-inactive bg-main)
+
+ (bg-tab-bar bg-dim)
+ (bg-tab-current bg-main)
+ (bg-tab-other bg-dim)
+
+ (bg-prominent-err bg-err)
+ (fg-prominent-err err)
+ (fg-paren-match fg-main)
+ (underline-paren-match unspecified)
+ (bg-active-argument bg-active)
+ (fg-active-argument green)
+ (bg-active-value bg-green-subtle)
+ (fg-active-value green)
+
+ (bg-prose-block-delimiter bg-prose-block)
+ (fg-prose-block-delimiter fg-dim)
+ (bg-prose-block-contents bg-prose-block)
+ (bg-prose-code unspecified)
+ (bg-prose-macro unspecified)
+ (bg-prose-verbatim unspecified)
+
+ (fg-completion-match-0 green)
+ (fg-completion-match-1 cyan)
+ (fg-completion-match-2 magenta-warmer)
+ (fg-completion-match-3 orange)
+ (bg-completion-match-0 unspecified)
+ (bg-completion-match-1 unspecified)
+ (bg-completion-match-2 unspecified)
+ (bg-completion-match-3 unspecified)
+ (bg-completion bg-dim)
+ (fg-search-current fg-main)
+
+ (rainbow-0 green)
+ (rainbow-1 cyan)
+ (rainbow-2 magenta)
+ (rainbow-3 blue)
+ (rainbow-4 orange)
+ (rainbow-5 red)
+ (rainbow-6 yellow)
+ (rainbow-7 fg-alt)
+ (rainbow-8 fg-dim)
+
+ (fg-heading-0 green)
+ (fg-heading-1 green)
+ (fg-heading-2 cyan)
+ (fg-heading-3 magenta)
+ (fg-heading-4 blue)
+ (fg-heading-5 orange)
+ (fg-heading-6 red)
+ (fg-heading-7 fg-alt)
+ (fg-heading-8 fg-dim)
+ (bg-heading-0 unspecified)
+ (bg-heading-1 bg-green-nuanced)
+ (bg-heading-2 unspecified)
+ (bg-heading-3 bg-magenta-nuanced)
+ (bg-heading-4 bg-blue-nuanced)
+ (bg-heading-5 unspecified)
+ (bg-heading-6 bg-red-nuanced)
+ (bg-heading-7 unspecified)
+ (bg-heading-8 unspecified)
+ (overline-heading-0 green)
+ (overline-heading-1 green)
+ (overline-heading-2 cyan)
+ (overline-heading-3 magenta)
+ (overline-heading-4 blue)
+ (overline-heading-5 orange)
+ (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.")
+
+(defconst evergarden-custom-faces
+ '(`(corfu-default ((,c :inherit modus-themes-fixed-pitch
+ :background ,bg-dim
+ :foreground ,fg-main)))
+ `(corfu-current ((,c :background ,bg-green-intense
+ :foreground ,fg-main
+ :extend t
+ :box (:line-width -1 :color ,green)
+ :weight semi-bold)))
+ `(corfu-border ((,c :background ,border
+ :foreground ,border)))
+ `(corfu-bar ((,c :background ,green)))
+ `(corfu-popupinfo ((,c :background ,bg-dim
+ :foreground ,fg-main))))
+ "Additional face overrides shared by every evergarden flavor.")
+
+(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."
+ (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-")))))
+ (palette-sym (intern (concat flavor-str "-palette")))
+ (overrides-sym (intern (concat flavor-str "-palette-overrides")))
+ (term-mappings (if (eq mode 'dark)
+ evergarden--term-mappings-dark
+ evergarden--term-mappings-light)))
+ (eval
+ `(progn
+ (defcustom ,overrides-sym nil
+ ,(format "Overrides for `%s'.
+
+Each element should have the form (NAME VALUE), where NAME is a palette
+entry from `%s' and VALUE is either another palette symbol or a color
+string."
+ palette-sym palette-sym)
+ :group 'evergarden-theme
+ :package-version '(evergarden-theme . "0.2.0")
+ :type '(repeat (list symbol (choice symbol string))))
+
+ (defconst ,palette-sym
+ (modus-themes-generate-palette
+ ',palette-partial
+ ',(if (eq mode 'dark) 'cool 'warm)
+ nil
+ (append evergarden-palette-mappings-partial
+ ',term-mappings
+ ef-themes-palette-common))
+ ,(format "Full palette for `%s'." flavor-name))
+
+ (evergarden--ensure-modus-theme-metadata
+ ',flavor-name 'evergarden-theme ,description ',mode ',palette-sym ',overrides-sym)
+
+ (modus-themes-theme
+ ',flavor-name 'evergarden-theme ,description ',mode
+ ',palette-sym nil ',overrides-sym 'evergarden-custom-faces))
+ t)))
+
+;;;###autoload
+(when load-file-name
+ (add-to-list 'custom-theme-load-path
+ (file-name-as-directory
+ (file-name-directory load-file-name))))
+
+(provide 'evergarden-common)
+
+;;; evergarden-common.el ends here
diff --git a/evergarden-fall-theme.el b/evergarden-fall-theme.el
new file mode 100644
index 0000000..300ccc3
--- /dev/null
+++ b/evergarden-fall-theme.el
@@ -0,0 +1,156 @@
+;;; evergarden-fall-theme.el --- Evergarden, Fall flavor -*- lexical-binding: t; -*-
+
+;; Author: expansion of the original evergarden theme by @koi.rip
+;; Version: 0.2.0
+;; Package-Requires: ((emacs "28.1") (modus-themes "5.0.0") (ef-themes "2.0.0"))
+;; Keywords: faces, theme
+
+;;; Commentary:
+;;
+;; The Fall flavor of evergarden
+
+;;; Code:
+
+(let ((dir (file-name-directory (or load-file-name buffer-file-name))))
+ (add-to-list 'load-path dir)
+ (require 'evergarden-common))
+
+(defconst evergarden-fall-palette-partial
+ '(
+ (cursor "#fae6ef")
+ (bg-main "#232a2e")
+ (bg-dim "#2b3337")
+ (bg-alt "#374145")
+ (fg-main "#f8f9e8")
+ (fg-dim "#adc9bc")
+ (fg-alt "#96b4aa")
+ (bg-active "#4a585c")
+ (bg-inactive "#2b3337")
+ (border "#58686d")
+
+ (bg-hl "#4a585c")
+ (bg-prose-block "#2A3237")
+ (red "#f57f82")
+ (orange "#f7a182")
+ (yellow "#f5d098")
+ (lime "#dbe6af")
+ (green "#cbe3b3")
+ (aqua "#b3e3ca")
+ (skye "#b3e6db")
+ (snow "#afd9e6")
+ (blue "#b2caed")
+ (purple "#d2bdf3")
+ (pink "#f3c0e5")
+ (cherry "#fae6ef")
+ (subtext1 "#adc9bc")
+ (subtext0 "#96b4aa")
+ (overlay2 "#839e9a")
+ (overlay1 "#6f8788")
+ (overlay0 "#58686d")
+ (surface2 "#4a585c")
+ (surface1 "#374145")
+ (surface0 "#2b3337")
+ (mantle "#1c2225")
+ (crust "#171c1f")
+
+ (red-warmer "#F6798F")
+ (red-cooler "#F68F74")
+ (red-faint "#CD7476")
+
+ (green-warmer "#dbe6af")
+ (green-cooler "#C1E4B7")
+ (green-faint "#B2C99A")
+
+ (yellow-warmer "#F6C497")
+ (yellow-cooler "#F3DF9F")
+ (yellow-faint "#D2B588")
+
+ (blue-warmer "#afd9e6")
+ (blue-cooler "#B6C0EE")
+ (blue-faint "#97AED0")
+
+ (magenta "#d2bdf3")
+ (magenta-warmer "#f3c0e5")
+ (magenta-cooler "#E1C1F4")
+ (magenta-faint "#B6A0D8")
+
+ (cyan "#b3e3ca")
+ (cyan-warmer "#B3E3BF")
+ (cyan-cooler "#b3e6db")
+ (cyan-faint "#97C7AE")
+
+ (bg-red-intense "#6D2C2E")
+ (bg-red-subtle "#482A2B")
+ (bg-red-nuanced "#372828")
+ (bg-green-intense "#4D6D2C")
+ (bg-green-subtle "#39482A")
+ (bg-green-nuanced "#2F3728")
+ (bg-yellow-intense "#6D532C")
+ (bg-yellow-subtle "#483C2A")
+ (bg-yellow-nuanced "#373128")
+ (bg-blue-intense "#2C476D")
+ (bg-blue-subtle "#2A3748")
+ (bg-blue-nuanced "#282E37")
+ (bg-magenta-intense "#452C6D")
+ (bg-magenta-subtle "#362A48")
+ (bg-magenta-nuanced "#2D2837")
+ (bg-cyan-intense "#2C6D4B")
+ (bg-cyan-subtle "#2A4839")
+ (bg-cyan-nuanced "#28372F")
+
+ (bg-graph-red-0 "#A63033")
+ (bg-graph-red-1 "#6B2E2F")
+ (bg-graph-green-0 "#6BA630")
+ (bg-graph-green-1 "#4D6B2E")
+ (bg-graph-yellow-0 "#A67730")
+ (bg-graph-yellow-1 "#6B532E")
+ (bg-graph-blue-0 "#3060A6")
+ (bg-graph-blue-1 "#2E476B")
+ (bg-graph-magenta-0 "#5E30A6")
+ (bg-graph-magenta-1 "#462E6B")
+ (bg-graph-cyan-0 "#30A669")
+ (bg-graph-cyan-1 "#2E6B4B")
+
+ (bg-added "#4D6D2C")
+ (bg-added-faint "#39482A")
+ (bg-added-refine "#435B2B")
+ (bg-added-fringe "#6BA630")
+ (fg-added "#cbe3b3")
+ (fg-added-intense "#8BCC4A")
+ (bg-changed "#6D532C")
+ (bg-changed-faint "#483C2A")
+ (bg-changed-refine "#5B482B")
+ (bg-changed-fringe "#A67730")
+ (fg-changed "#F3DF9F")
+ (fg-changed-intense "#F1BF22")
+ (bg-removed "#6D2C2E")
+ (bg-removed-faint "#482A2B")
+ (bg-removed-refine "#5B2B2C")
+ (bg-removed-fringe "#A63033")
+ (fg-removed "#f57f82")
+ (fg-removed-intense "#EF050B")
+ (bg-diff-context "#4a585c")
+
+ (bg-mode-line-active "#435054")
+ (fg-mode-line-active "#f8f9e8")
+ (bg-mode-line-inactive "#2b3337")
+ (fg-mode-line-inactive "#adc9bc")
+ (border-mode-line-active "#cbe3b3")
+ (border-mode-line-inactive "#58686d")
+ (bg-completion "#2b3337")
+ (bg-hover "#4a585c")
+ (bg-hover-secondary "#2A3748")
+ (bg-hl-line "#4a585c")
+ (bg-paren-match "#6D532C")
+ (bg-err "#6D2C2E")
+ (bg-warning "#6D532C")
+ (bg-info "#2C6D4B")
+ (bg-region "#4D6D2C")
+ (bg-prose-block "#2A3237"))
+ "Base palette entries for `evergarden-fall'.")
+
+(evergarden-build-theme 'evergarden-fall evergarden-fall-palette-partial 'dark)
+
+(provide 'evergarden-fall-theme)
+
+;;; evergarden-fall-theme.el ends here
diff --git a/evergarden-spring-theme.el b/evergarden-spring-theme.el
new file mode 100644
index 0000000..d63d94c
--- /dev/null
+++ b/evergarden-spring-theme.el
@@ -0,0 +1,154 @@
+;;; evergarden-spring-theme.el --- Evergarden, Spring flavor -*- lexical-binding: t; -*-
+
+;; Author: expansion of the original evergarden theme by @koi.rip
+;; Version: 0.2.0
+;; Package-Requires: ((emacs "28.1") (modus-themes "5.0.0") (ef-themes "2.0.0"))
+;; Keywords: faces, theme
+
+;;; Commentary:
+;; the spring flavour of evergarden
+;;; Code:
+
+(let ((dir (file-name-directory (or load-file-name buffer-file-name))))
+ (add-to-list 'load-path dir)
+ (require 'evergarden-common))
+
+(defconst evergarden-spring-palette-partial
+ '(
+ (cursor "#fae6ef")
+ (bg-main "#2b3438")
+ (bg-dim "#343e43")
+ (bg-alt "#3e4a4f")
+ (fg-main "#f8f9e8")
+ (fg-dim "#adc9bc")
+ (fg-alt "#96b4aa")
+ (bg-active "#4a585c")
+ (bg-inactive "#343e43")
+ (border "#58686d")
+
+ (bg-hl "#4a585c")
+ (bg-prose-block "#323C41")
+ (red "#f57f82")
+ (orange "#f7a182")
+ (yellow "#f5d098")
+ (lime "#dbe6af")
+ (green "#cbe3b3")
+ (aqua "#b3e3ca")
+ (skye "#b3e6db")
+ (snow "#afd9e6")
+ (blue "#b2caed")
+ (purple "#d2bdf3")
+ (pink "#f3c0e5")
+ (cherry "#fae6ef")
+ (subtext1 "#adc9bc")
+ (subtext0 "#96b4aa")
+ (overlay2 "#839e9a")
+ (overlay1 "#6f8788")
+ (overlay0 "#58686d")
+ (surface2 "#4a585c")
+ (surface1 "#3e4a4f")
+ (surface0 "#343e43")
+ (mantle "#232a2e")
+ (crust "#1c2225")
+
+ (red-warmer "#F6798F")
+ (red-cooler "#F68F74")
+ (red-faint "#CD7476")
+
+ (green-warmer "#dbe6af")
+ (green-cooler "#C1E4B7")
+ (green-faint "#B2C99A")
+
+ (yellow-warmer "#F6C497")
+ (yellow-cooler "#F3DF9F")
+ (yellow-faint "#D2B588")
+
+ (blue-warmer "#afd9e6")
+ (blue-cooler "#B6C0EE")
+ (blue-faint "#97AED0")
+
+ (magenta "#d2bdf3")
+ (magenta-warmer "#f3c0e5")
+ (magenta-cooler "#E1C1F4")
+ (magenta-faint "#B6A0D8")
+
+ (cyan "#b3e3ca")
+ (cyan-warmer "#B3E3BF")
+ (cyan-cooler "#b3e6db")
+ (cyan-faint "#97C7AE")
+
+ (bg-red-intense "#6D2C2E")
+ (bg-red-subtle "#482A2B")
+ (bg-red-nuanced "#372828")
+ (bg-green-intense "#4D6D2C")
+ (bg-green-subtle "#39482A")
+ (bg-green-nuanced "#2F3728")
+ (bg-yellow-intense "#6D532C")
+ (bg-yellow-subtle "#483C2A")
+ (bg-yellow-nuanced "#373128")
+ (bg-blue-intense "#2C476D")
+ (bg-blue-subtle "#2A3748")
+ (bg-blue-nuanced "#282E37")
+ (bg-magenta-intense "#452C6D")
+ (bg-magenta-subtle "#362A48")
+ (bg-magenta-nuanced "#2D2837")
+ (bg-cyan-intense "#2C6D4B")
+ (bg-cyan-subtle "#2A4839")
+ (bg-cyan-nuanced "#28372F")
+
+ (bg-graph-red-0 "#A63033")
+ (bg-graph-red-1 "#6B2E2F")
+ (bg-graph-green-0 "#6BA630")
+ (bg-graph-green-1 "#4D6B2E")
+ (bg-graph-yellow-0 "#A67730")
+ (bg-graph-yellow-1 "#6B532E")
+ (bg-graph-blue-0 "#3060A6")
+ (bg-graph-blue-1 "#2E476B")
+ (bg-graph-magenta-0 "#5E30A6")
+ (bg-graph-magenta-1 "#462E6B")
+ (bg-graph-cyan-0 "#30A669")
+ (bg-graph-cyan-1 "#2E6B4B")
+
+ (bg-added "#4D6D2C")
+ (bg-added-faint "#39482A")
+ (bg-added-refine "#435B2B")
+ (bg-added-fringe "#6BA630")
+ (fg-added "#cbe3b3")
+ (fg-added-intense "#8BCC4A")
+ (bg-changed "#6D532C")
+ (bg-changed-faint "#483C2A")
+ (bg-changed-refine "#5B482B")
+ (bg-changed-fringe "#A67730")
+ (fg-changed "#F3DF9F")
+ (fg-changed-intense "#F1BF22")
+ (bg-removed "#6D2C2E")
+ (bg-removed-faint "#482A2B")
+ (bg-removed-refine "#5B2B2C")
+ (bg-removed-fringe "#A63033")
+ (fg-removed "#f57f82")
+ (fg-removed-intense "#EF050B")
+ (bg-diff-context "#4a585c")
+
+ (bg-mode-line-active "#435054")
+ (fg-mode-line-active "#f8f9e8")
+ (bg-mode-line-inactive "#343e43")
+ (fg-mode-line-inactive "#adc9bc")
+ (border-mode-line-active "#cbe3b3")
+ (border-mode-line-inactive "#58686d")
+ (bg-completion "#343e43")
+ (bg-hover "#4a585c")
+ (bg-hover-secondary "#2A3748")
+ (bg-hl-line "#4a585c")
+ (bg-paren-match "#6D532C")
+ (bg-err "#6D2C2E")
+ (bg-warning "#6D532C")
+ (bg-info "#2C6D4B")
+ (bg-region "#4D6D2C")
+ (bg-prose-block "#323C41"))
+ "Base palette entries for `evergarden-spring'")
+
+(evergarden-build-theme 'evergarden-spring evergarden-spring-palette-partial 'dark)
+
+(provide 'evergarden-spring-theme)
+
+;;; evergarden-spring-theme.el ends here
diff --git a/evergarden-summer-theme.el b/evergarden-summer-theme.el
new file mode 100644
index 0000000..807aaca
--- /dev/null
+++ b/evergarden-summer-theme.el
@@ -0,0 +1,155 @@
+;;; evergarden-spring-theme.el --- Evergarden, Spring flavor -*- lexical-binding: t; -*-
+
+;; Author: expansion of the original evergarden theme by @koi.rip
+;; Version: 0.2.0
+;; Package-Requires: ((emacs "28.1") (modus-themes "5.0.0") (ef-themes "2.0.0"))
+;; Keywords: faces, theme
+
+;;; Commentary:
+;; summer flavour of evergarden
+
+;;; Code:
+
+(let ((dir (file-name-directory (or load-file-name buffer-file-name))))
+ (add-to-list 'load-path dir)
+ (require 'evergarden-common))
+
+(defconst evergarden-spring-palette-partial
+ '(
+ (cursor "#fae6ef")
+ (bg-main "#2b3438")
+ (bg-dim "#343e43")
+ (bg-alt "#3e4a4f")
+ (fg-main "#f8f9e8")
+ (fg-dim "#adc9bc")
+ (fg-alt "#96b4aa")
+ (bg-active "#4a585c")
+ (bg-inactive "#343e43")
+ (border "#58686d")
+
+ (bg-hl "#4a585c")
+ (bg-prose-block "#323C41")
+ (red "#f57f82")
+ (orange "#f7a182")
+ (yellow "#f5d098")
+ (lime "#dbe6af")
+ (green "#cbe3b3")
+ (aqua "#b3e3ca")
+ (skye "#b3e6db")
+ (snow "#afd9e6")
+ (blue "#b2caed")
+ (purple "#d2bdf3")
+ (pink "#f3c0e5")
+ (cherry "#fae6ef")
+ (subtext1 "#adc9bc")
+ (subtext0 "#96b4aa")
+ (overlay2 "#839e9a")
+ (overlay1 "#6f8788")
+ (overlay0 "#58686d")
+ (surface2 "#4a585c")
+ (surface1 "#3e4a4f")
+ (surface0 "#343e43")
+ (mantle "#232a2e")
+ (crust "#1c2225")
+
+ (red-warmer "#F6798F")
+ (red-cooler "#F68F74")
+ (red-faint "#CD7476")
+
+ (green-warmer "#dbe6af")
+ (green-cooler "#C1E4B7")
+ (green-faint "#B2C99A")
+
+ (yellow-warmer "#F6C497")
+ (yellow-cooler "#F3DF9F")
+ (yellow-faint "#D2B588")
+
+ (blue-warmer "#afd9e6")
+ (blue-cooler "#B6C0EE")
+ (blue-faint "#97AED0")
+
+ (magenta "#d2bdf3")
+ (magenta-warmer "#f3c0e5")
+ (magenta-cooler "#E1C1F4")
+ (magenta-faint "#B6A0D8")
+
+ (cyan "#b3e3ca")
+ (cyan-warmer "#B3E3BF")
+ (cyan-cooler "#b3e6db")
+ (cyan-faint "#97C7AE")
+
+ (bg-red-intense "#6D2C2E")
+ (bg-red-subtle "#482A2B")
+ (bg-red-nuanced "#372828")
+ (bg-green-intense "#4D6D2C")
+ (bg-green-subtle "#39482A")
+ (bg-green-nuanced "#2F3728")
+ (bg-yellow-intense "#6D532C")
+ (bg-yellow-subtle "#483C2A")
+ (bg-yellow-nuanced "#373128")
+ (bg-blue-intense "#2C476D")
+ (bg-blue-subtle "#2A3748")
+ (bg-blue-nuanced "#282E37")
+ (bg-magenta-intense "#452C6D")
+ (bg-magenta-subtle "#362A48")
+ (bg-magenta-nuanced "#2D2837")
+ (bg-cyan-intense "#2C6D4B")
+ (bg-cyan-subtle "#2A4839")
+ (bg-cyan-nuanced "#28372F")
+
+ (bg-graph-red-0 "#A63033")
+ (bg-graph-red-1 "#6B2E2F")
+ (bg-graph-green-0 "#6BA630")
+ (bg-graph-green-1 "#4D6B2E")
+ (bg-graph-yellow-0 "#A67730")
+ (bg-graph-yellow-1 "#6B532E")
+ (bg-graph-blue-0 "#3060A6")
+ (bg-graph-blue-1 "#2E476B")
+ (bg-graph-magenta-0 "#5E30A6")
+ (bg-graph-magenta-1 "#462E6B")
+ (bg-graph-cyan-0 "#30A669")
+ (bg-graph-cyan-1 "#2E6B4B")
+
+ (bg-added "#4D6D2C")
+ (bg-added-faint "#39482A")
+ (bg-added-refine "#435B2B")
+ (bg-added-fringe "#6BA630")
+ (fg-added "#cbe3b3")
+ (fg-added-intense "#8BCC4A")
+ (bg-changed "#6D532C")
+ (bg-changed-faint "#483C2A")
+ (bg-changed-refine "#5B482B")
+ (bg-changed-fringe "#A67730")
+ (fg-changed "#F3DF9F")
+ (fg-changed-intense "#F1BF22")
+ (bg-removed "#6D2C2E")
+ (bg-removed-faint "#482A2B")
+ (bg-removed-refine "#5B2B2C")
+ (bg-removed-fringe "#A63033")
+ (fg-removed "#f57f82")
+ (fg-removed-intense "#EF050B")
+ (bg-diff-context "#4a585c")
+
+ (bg-mode-line-active "#435054")
+ (fg-mode-line-active "#f8f9e8")
+ (bg-mode-line-inactive "#343e43")
+ (fg-mode-line-inactive "#adc9bc")
+ (border-mode-line-active "#cbe3b3")
+ (border-mode-line-inactive "#58686d")
+ (bg-completion "#343e43")
+ (bg-hover "#4a585c")
+ (bg-hover-secondary "#2A3748")
+ (bg-hl-line "#4a585c")
+ (bg-paren-match "#6D532C")
+ (bg-err "#6D2C2E")
+ (bg-warning "#6D532C")
+ (bg-info "#2C6D4B")
+ (bg-region "#4D6D2C")
+ (bg-prose-block "#323C41"))
+ "Base palette entries for `evergarden-spring'")
+
+(evergarden-build-theme 'evergarden-spring evergarden-spring-palette-partial 'dark)
+
+(provide 'evergarden-spring-theme)
+
+;;; evergarden-spring-theme.el ends here
diff --git a/evergarden-theme.el b/evergarden-theme.el
deleted file mode 120000
index 15bf1ba..0000000
--- a/evergarden-theme.el
+++ /dev/null
@@ -1 +0,0 @@
-/home/sophie/stow/doom/.config/doom/extra-themes/evergarden-theme.el \ No newline at end of file
diff --git a/evergarden-winter-theme.el b/evergarden-winter-theme.el
new file mode 100644
index 0000000..99067b8
--- /dev/null
+++ b/evergarden-winter-theme.el
@@ -0,0 +1,155 @@
+;;; evergarden-winter-theme.el --- Evergarden, Winter flavor -*- lexical-binding: t; -*-
+
+;; Author: expansion of the original evergarden theme by @koi.rip
+;; Version: 0.2.0
+;; Package-Requires: ((emacs "28.1") (modus-themes "5.0.0") (ef-themes "2.0.0"))
+;; Keywords: faces, theme
+
+;;; Commentary:
+;;
+;; the winter flavour of evergarden
+;;; Code:
+
+(let ((dir (file-name-directory (or load-file-name buffer-file-name))))
+ (add-to-list 'load-path dir)
+ (require 'evergarden-common))
+
+(defconst evergarden-winter-palette-partial
+ '(
+ (cursor "#fae6ef")
+ (bg-main "#1e2528")
+ (bg-dim "#262f33")
+ (bg-alt "#374145")
+ (fg-main "#f8f9e8")
+ (fg-dim "#adc9bc")
+ (fg-alt "#96b4aa")
+ (bg-active "#4a585c")
+ (bg-inactive "#262f33")
+ (border "#58686d")
+
+ (bg-hl "#4a585c")
+ (bg-prose-block "#252D31")
+ (red "#f57f82")
+ (orange "#f7a182")
+ (yellow "#f5d098")
+ (lime "#dbe6af")
+ (green "#cbe3b3")
+ (aqua "#b3e3ca")
+ (skye "#b3e6db")
+ (snow "#afd9e6")
+ (blue "#b2caed")
+ (purple "#d2bdf3")
+ (pink "#f3c0e5")
+ (cherry "#fae6ef")
+ (subtext1 "#adc9bc")
+ (subtext0 "#96b4aa")
+ (overlay2 "#839e9a")
+ (overlay1 "#6f8788")
+ (overlay0 "#58686d")
+ (surface2 "#4a585c")
+ (surface1 "#374145")
+ (surface0 "#262f33")
+ (mantle "#191e21")
+ (crust "#171c1f")
+
+ (red-warmer "#F6798F")
+ (red-cooler "#F68F74")
+ (red-faint "#CD7476")
+
+ (green-warmer "#dbe6af")
+ (green-cooler "#C1E4B7")
+ (green-faint "#B2C99A")
+
+ (yellow-warmer "#F6C497")
+ (yellow-cooler "#F3DF9F")
+ (yellow-faint "#D2B588")
+
+ (blue-warmer "#afd9e6")
+ (blue-cooler "#B6C0EE")
+ (blue-faint "#97AED0")
+
+ (magenta "#d2bdf3")
+ (magenta-warmer "#f3c0e5")
+ (magenta-cooler "#E1C1F4")
+ (magenta-faint "#B6A0D8")
+
+ (cyan "#b3e3ca")
+ (cyan-warmer "#B3E3BF")
+ (cyan-cooler "#b3e6db")
+ (cyan-faint "#97C7AE")
+
+ (bg-red-intense "#6D2C2E")
+ (bg-red-subtle "#482A2B")
+ (bg-red-nuanced "#372828")
+ (bg-green-intense "#4D6D2C")
+ (bg-green-subtle "#39482A")
+ (bg-green-nuanced "#2F3728")
+ (bg-yellow-intense "#6D532C")
+ (bg-yellow-subtle "#483C2A")
+ (bg-yellow-nuanced "#373128")
+ (bg-blue-intense "#2C476D")
+ (bg-blue-subtle "#2A3748")
+ (bg-blue-nuanced "#282E37")
+ (bg-magenta-intense "#452C6D")
+ (bg-magenta-subtle "#362A48")
+ (bg-magenta-nuanced "#2D2837")
+ (bg-cyan-intense "#2C6D4B")
+ (bg-cyan-subtle "#2A4839")
+ (bg-cyan-nuanced "#28372F")
+
+ (bg-graph-red-0 "#A63033")
+ (bg-graph-red-1 "#6B2E2F")
+ (bg-graph-green-0 "#6BA630")
+ (bg-graph-green-1 "#4D6B2E")
+ (bg-graph-yellow-0 "#A67730")
+ (bg-graph-yellow-1 "#6B532E")
+ (bg-graph-blue-0 "#3060A6")
+ (bg-graph-blue-1 "#2E476B")
+ (bg-graph-magenta-0 "#5E30A6")
+ (bg-graph-magenta-1 "#462E6B")
+ (bg-graph-cyan-0 "#30A669")
+ (bg-graph-cyan-1 "#2E6B4B")
+
+ (bg-added "#4D6D2C")
+ (bg-added-faint "#39482A")
+ (bg-added-refine "#435B2B")
+ (bg-added-fringe "#6BA630")
+ (fg-added "#cbe3b3")
+ (fg-added-intense "#8BCC4A")
+ (bg-changed "#6D532C")
+ (bg-changed-faint "#483C2A")
+ (bg-changed-refine "#5B482B")
+ (bg-changed-fringe "#A67730")
+ (fg-changed "#F3DF9F")
+ (fg-changed-intense "#F1BF22")
+ (bg-removed "#6D2C2E")
+ (bg-removed-faint "#482A2B")
+ (bg-removed-refine "#5B2B2C")
+ (bg-removed-fringe "#A63033")
+ (fg-removed "#f57f82")
+ (fg-removed-intense "#EF050B")
+ (bg-diff-context "#4a585c")
+
+ (bg-mode-line-active "#435054")
+ (fg-mode-line-active "#f8f9e8")
+ (bg-mode-line-inactive "#262f33")
+ (fg-mode-line-inactive "#adc9bc")
+ (border-mode-line-active "#cbe3b3")
+ (border-mode-line-inactive "#58686d")
+ (bg-completion "#262f33")
+ (bg-hover "#4a585c")
+ (bg-hover-secondary "#2A3748")
+ (bg-hl-line "#4a585c")
+ (bg-paren-match "#6D532C")
+ (bg-err "#6D2C2E")
+ (bg-warning "#6D532C")
+ (bg-info "#2C6D4B")
+ (bg-region "#4D6D2C")
+ (bg-prose-block "#252D31"))
+ "Base palette entries for `evergarden-winter'")
+
+(evergarden-build-theme 'evergarden-winter evergarden-winter-palette-partial 'dark)
+
+(provide 'evergarden-winter-theme)
+
+;;; evergarden-winter-theme.el ends here
diff --git a/evergarden.tera b/evergarden.tera
deleted file mode 100644
index c6ca17e..0000000
--- a/evergarden.tera
+++ /dev/null
@@ -1,477 +0,0 @@
----
-whiskers:
- version: "^2.9.0"
- matrix:
- - flavor: ["fall", "winter", "spring", "summer"]
- filename: "evergarden-{{ flavor }}.el"
----
-{% set red = flavor.colors.red %}
-{% set orange = flavor.colors.orange %}
-{% set yellow = flavor.colors.yellow %}
-{% set lime = flavor.colors.lime %}
-{% set green = flavor.colors.green %}
-{% set aqua = flavor.colors.aqua %}
-{% set skye = flavor.colors.skye %}
-{% set snow = flavor.colors.snow %}
-{% set blue = flavor.colors.blue %}
-{% set purple = flavor.colors.purple %}
-{% set pink = flavor.colors.pink %}
-{% set cherry = flavor.colors.cherry %}
-{% set text = flavor.colors.text %}
-{% set subtext1 = flavor.colors.subtext1 %}
-{% set subtext0 = flavor.colors.subtext0 %}
-{% set overlay2 = flavor.colors.overlay2 %}
-{% set overlay1 = flavor.colors.overlay1 %}
-{% set overlay0 = flavor.colors.overlay0 %}
-{% set surface2 = flavor.colors.surface2 %}
-{% set surface1 = flavor.colors.surface1 %}
-{% set surface0 = flavor.colors.surface0 %}
-{% set base = flavor.colors.base %}
-{% set mantle = flavor.colors.mantle %}
-{% set crust = flavor.colors.crust %}
-
-;;; evergarden-theme.el --- Cozy evergarden dark theme -*- lexical-binding: t; -*-
-
-;; Author: expansion of the original evergarden theme by @koi.rip
-;; Version: 0.1.0
-;; Package-Requires: ((emacs "28.1") (modus-themes "5.0.0") (ef-themes "2.0.0"))
-;; Keywords: faces, theme
-
-;;; Commentary:
-;; The evergarden theme (https://evergarden.moe), ported to Emacs and based on ef/modus themes
-
-;;; Code:
-
-(require 'modus-themes)
-(require 'ef-themes)
-
-(defgroup evergarden-theme nil
- "Cozy evergarden dark theme built on Modus and Ef."
- :group 'faces
- :group 'ef-themes
- :prefix "evergarden-")
-
-(defconst evergarden-theme-description
- "Cozy evergarden dark theme with forest-green accents."
- "Documentation string for the `evergarden' theme.")
-
-(defconst evergarden-theme-name 'evergarden
- "Theme symbol for `evergarden'.")
-
-(defconst evergarden-theme-family 'evergarden-theme
- "Theme family symbol for `evergarden'.")
-
-(defconst evergarden-theme-background-mode 'dark
- "Background mode for `evergarden'.")
-
-(defconst evergarden-palette-partial
- '(
- (cursor "{{ cherry.hex }}")
- (bg-main "{{ base.hex }}")
- (bg-dim "{{ surface0.hex }}")
- (bg-alt "{{ surface1.hex }}")
- (fg-main "{{ text.hex }}")
- (fg-dim "{{ subtext1.hex }}")
- (fg-alt "{{ subtext0.hex }}")
- (bg-active "{{ surface2.hex }}")
- (bg-inactive "{{ surface0.hex }}")
- (border "{{ overlay0.hex }}")
-
- (bg-hl "{{ surface2.hex }}")
- (bg-prose-block "#2A3237")
- (red "{{ red.hex }}")
- (orange "{{ orange.hex }}")
- (yellow "{{ yellow.hex }}")
- (lime "{{ lime.hex }}")
- (green "{{ green.hex }}")
- (aqua "{{ aqua.hex }}")
- (skye "{{ skye.hex }}")
- (snow "{{ snow.hex }}")
- (blue "{{ blue.hex }}")
- (purple "{{ purple.hex }}")
- (pink "{{ pink.hex }}")
- (cherry "{{ cherry.hex }}")
- (subtext1 "{{ subtext1.hex }}")
- (subtext0 "{{ subtext0.hex }}")
- (overlay2 "{{ overlay2.hex }}")
- (overlay1 "{{ overlay1.hex }}")
- (overlay0 "{{ overlay0.hex }}")
- (surface2 "{{ surface2.hex }}")
- (surface1 "{{ surface1.hex }}")
- (surface0 "{{ surface0.hex }}")
- (mantle "{{ mantle.hex }}")
- (crust "{{ crust.hex }}")
-
- (red-warmer "#F6798F")
- (red-cooler "#F68F74")
- (red-faint "#D07173")
-
- (green-warmer "#DBE6AF")
- (green-cooler "#BBE2AF")
- (green-faint "#B2C49F")
-
- (yellow-warmer "#F6C497")
- (yellow-cooler "#F2DC96")
- (yellow-faint "#D4B586")
-
- (blue-warmer "#AFD9E6")
- (blue-cooler "#AEB9EC")
- (blue-faint "#9AAFCD")
-
- (magenta "#D2BDF3")
- (magenta-warmer "#F3C0E5")
- (magenta-cooler "#DCB9F2")
- (magenta-faint "#B6A0D8")
-
- (cyan "#B3E3CA")
- (cyan-warmer "#B3E3BF")
- (cyan-cooler "#B3E6DB")
- (cyan-faint "#9DC1AE")
-
- (bg-red-intense "#6D2C2E")
- (bg-green-intense "#4D6D2C")
- (bg-yellow-intense "#6D532C")
- (bg-blue-intense "#2C476D")
- (bg-magenta-intense "#452C6D")
- (bg-cyan-intense "#2C6D4B")
-
- (bg-red-subtle "#482A2B")
- (bg-green-subtle "#39482A")
- (bg-yellow-subtle "#483C2A")
- (bg-blue-subtle "#2A3748")
- (bg-magenta-subtle "#362A48")
- (bg-cyan-subtle "#2A4839")
-
- (bg-red-nuanced "#372828")
- (bg-green-nuanced "#2F3728")
- (bg-yellow-nuanced "#373128")
- (bg-blue-nuanced "#282E37")
- (bg-magenta-nuanced "#2D2837")
- (bg-cyan-nuanced "#28372F")
-
- (bg-graph-red-0 "#A63033")
- (bg-graph-red-1 "#6B2E2F")
- (bg-graph-green-0 "#6BA630")
- (bg-graph-green-1 "#4D6B2E")
- (bg-graph-yellow-0 "#A67730")
- (bg-graph-yellow-1 "#6B532E")
- (bg-graph-blue-0 "#3060A6")
- (bg-graph-blue-1 "#2E476B")
- (bg-graph-magenta-0 "#5E30A6")
- (bg-graph-magenta-1 "#462E6B")
- (bg-graph-cyan-0 "#30A669")
- (bg-graph-cyan-1 "#2E6B4B")
- (bg-added "#4D6D2C")
- (bg-added-faint "#39482A")
- (bg-added-refine "#577B32")
- (bg-added-fringe "#4D6B2E")
- (fg-added "#CBE3B3")
- (fg-added-intense "#8BCC4A")
- (bg-changed "#6D532C")
- (bg-changed-faint "#483C2A")
- (bg-changed-refine "#7B5E32")
- (bg-changed-fringe "#6B532E")
- (fg-changed "#F2DC96")
- (fg-changed-intense "#F69D18")
- (bg-removed "#6D2C2E")
- (bg-removed-faint "#482A2B")
- (bg-removed-refine "#7B3234")
- (bg-removed-fringe "#6B2E2F")
- (fg-removed "#F57F82")
- (fg-removed-intense "#F41A20")
- (bg-diff-context "#4A585C")
- (bg-mode-line-active "#455356")
- (fg-mode-line-active "#F8F9E8")
- (bg-mode-line-inactive "#2B3337")
- (fg-mode-line-inactive "#ADC9BC")
- (border-mode-line-active "#CBE3B3")
- (border-mode-line-inactive "#58686D")
- (bg-completion "#374145")
- (bg-hover "#4A585C")
- (bg-hover-secondary "#2B3646")
- (bg-hl-line "#4A585C")
- (bg-paren-match "#604D2E")
- (bg-err "#6D2C2E")
- (bg-warning "#6D532C")
- (bg-info "#2C6D4B")
- (bg-region "#4A585C"))
- "Base palette entries for `evergarden'.")
-
-(defconst evergarden-palette-mappings-partial
- '(
- (err red)
- (warning orange)
- (info cyan)
- (underline-err red)
- (underline-warning orange)
- (underline-note cyan)
- (modeline-err red)
- (modeline-warning yellow)
- (modeline-info cyan)
- (bg-prominent-warning bg-warning)
- (fg-prominent-warning fg-main)
- (bg-prominent-note bg-info)
- (fg-prominent-note fg-main)
- (fg-link blue)
- (fg-link-visited magenta)
- (fg-link-symbolic cyan)
- (bg-link unspecified)
- (bg-link-symbolic unspecified)
- (bg-link-visited unspecified)
- (underline-link blue)
- (underline-link-visited magenta)
- (underline-link-symbolic cyan)
- (name cyan)
- (keybind green)
- (identifier fg-main)
- (fg-prompt green)
- (bg-prompt unspecified)
- (builtin cyan-cooler)
- (comment fg-dim)
- (constant magenta-cooler)
- (fnname cyan)
- (fnname-call cyan-warmer)
- (keyword red)
- (preprocessor green)
- (property fg-main)
- (docstring fg-dim)
- (docmarkup green-cooler)
- (string green-warmer)
- (type yellow)
- (variable blue)
- (variable-use blue)
- (rx-backslash orange)
- (rx-construct magenta)
- (accent-0 green)
- (accent-1 cyan)
- (accent-2 magenta-warmer)
- (accent-3 orange)
- (fg-button-active fg-main)
- (fg-button-inactive fg-dim)
- (bg-button-active bg-main)
- (bg-button-inactive bg-dim)
- (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-other bg-cyan-subtle)
- (fg-mark-other cyan)
- (date-common cyan)
- (date-deadline red)
- (date-deadline-subtle red-faint)
- (date-event fg-alt)
- (date-holiday red-warmer)
- (date-holiday-other magenta-warmer)
- (date-now fg-main)
- (date-range fg-alt)
- (date-scheduled green)
- (date-scheduled-subtle green-faint)
- (date-weekday blue)
- (date-weekend red-faint)
- (fg-prose-code green-cooler)
- (prose-done green)
- (fg-prose-macro green)
- (prose-metadata fg-dim)
- (prose-metadata-value fg-alt)
- (prose-table fg-alt)
- (prose-table-formula cyan)
- (prose-tag yellow-faint)
- (prose-todo red)
- (fg-prose-verbatim magenta-warmer)
- (mail-cite-0 green)
- (mail-cite-1 cyan)
- (mail-cite-2 magenta-warmer)
- (mail-cite-3 red-warmer)
- (mail-part cyan)
- (mail-recipient blue)
- (mail-subject green)
- (mail-other fg-alt)
- (bg-search-static bg-cyan-subtle)
- (bg-search-current bg-green-intense)
- (bg-search-lazy bg-green-subtle)
- (bg-search-replace bg-red-intense)
- (bg-search-rx-group-0 bg-green-intense)
- (bg-search-rx-group-1 bg-magenta-intense)
- (bg-search-rx-group-2 bg-cyan-intense)
- (bg-search-rx-group-3 bg-red-intense)
- (bg-space-err bg-red-intense)
- (bg-space bg-main)
- (fg-space border)
- (fringe bg-main)
- (fg-line-number-active green)
- (fg-line-number-inactive overlay1)
- (bg-line-number-active bg-hl-line)
- (bg-line-number-inactive bg-main)
- (bg-tab-bar bg-dim)
- (bg-tab-current bg-main)
- (bg-tab-other bg-dim)
- (bg-prominent-err bg-err)
- (fg-prominent-err err)
- (fg-paren-match fg-main)
- (underline-paren-match unspecified)
- (bg-active-argument bg-active)
- (fg-active-argument green)
- (bg-active-value bg-green-subtle)
- (fg-active-value green)
- (bg-prose-block-delimiter bg-prose-block)
- (fg-prose-block-delimiter fg-dim)
- (bg-prose-block-contents bg-prose-block)
- (bg-prose-code unspecified)
- (bg-prose-macro unspecified)
- (bg-prose-verbatim unspecified)
- (fg-completion-match-0 green)
- (fg-completion-match-1 cyan)
- (fg-completion-match-2 magenta-warmer)
- (fg-completion-match-3 orange)
- (bg-completion-match-0 unspecified)
- (bg-completion-match-1 unspecified)
- (bg-completion-match-2 unspecified)
- (bg-completion-match-3 unspecified)
- (bg-completion bg-dim)
- (fg-search-current fg-main)
- (bg-term-black bg-main)
- (fg-term-black bg-main)
- (bg-term-black-bright overlay0)
- (fg-term-black-bright overlay0)
- (bg-term-red red)
- (fg-term-red red)
- (bg-term-red-bright red-warmer)
- (fg-term-red-bright red-warmer)
- (bg-term-green green)
- (fg-term-green green)
- (bg-term-green-bright green-warmer)
- (fg-term-green-bright green-warmer)
- (bg-term-yellow yellow)
- (fg-term-yellow yellow)
- (bg-term-yellow-bright yellow-warmer)
- (fg-term-yellow-bright yellow-warmer)
- (bg-term-blue blue)
- (fg-term-blue blue)
- (bg-term-blue-bright blue-warmer)
- (fg-term-blue-bright blue-warmer)
- (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)
- (bg-term-white fg-dim)
- (fg-term-white fg-dim)
- (bg-term-white-bright fg-main)
- (fg-term-white-bright fg-main)
- (rainbow-0 green)
- (rainbow-1 cyan)
- (rainbow-2 magenta)
- (rainbow-3 blue)
- (rainbow-4 orange)
- (rainbow-5 red)
- (rainbow-6 yellow)
- (rainbow-7 fg-alt)
- (rainbow-8 fg-dim)
- (fg-heading-0 green)
- (fg-heading-1 green)
- (fg-heading-2 cyan)
- (fg-heading-3 magenta)
- (fg-heading-4 blue)
- (fg-heading-5 orange)
- (fg-heading-6 red)
- (fg-heading-7 fg-alt)
- (fg-heading-8 fg-dim)
- (bg-heading-0 unspecified)
- (bg-heading-1 bg-green-nuanced)
- (bg-heading-2 unspecified)
- (bg-heading-3 bg-magenta-nuanced)
- (bg-heading-4 bg-blue-nuanced)
- (bg-heading-5 unspecified)
- (bg-heading-6 bg-red-nuanced)
- (bg-heading-7 unspecified)
- (bg-heading-8 unspecified)
- (overline-heading-0 green)
- (overline-heading-1 green)
- (overline-heading-2 cyan)
- (overline-heading-3 magenta)
- (overline-heading-4 blue)
- (overline-heading-5 orange)
- (overline-heading-6 red)
- (overline-heading-7 unspecified)
- (overline-heading-8 unspecified))
- "Semantic color mappings for `evergarden'.")
-
-(defcustom evergarden-palette-overrides nil
- "Overrides for `evergarden-palette'.
-
-Each element should have the form (NAME VALUE), where NAME is a palette
-entry from `evergarden-palette' and VALUE is either another palette symbol
-or a color string."
- :group 'evergarden-theme
- :package-version '(evergarden-theme . "0.1.0")
- :type '(repeat (list symbol (choice symbol string))))
-
-(defconst evergarden-palette
- (modus-themes-generate-palette
- evergarden-palette-partial
- 'cool
- nil
- (append evergarden-palette-mappings-partial ef-themes-palette-common))
- "Full palette for `evergarden'.")
-
-(defconst evergarden-custom-faces
- '(`(corfu-default ((,c :inherit modus-themes-fixed-pitch
- :background ,bg-dim
- :foreground ,fg-main)))
- `(corfu-current ((,c :background ,bg-green-intense
- :foreground ,fg-main
- :extend t
- :box (:line-width -1 :color ,green)
- :weight semi-bold)))
- `(corfu-border ((,c :background ,border
- :foreground ,border)))
- `(corfu-bar ((,c :background ,green)))
- `(corfu-popupinfo ((,c :background ,bg-dim
- :foreground ,fg-main))))
- "Additional face overrides for `evergarden'.
-
-Prefer palette entries and semantic mappings first.
-Use direct face overrides only for targeted package cases where the
-inherited mapping does not provide enough contrast.")
-
-(defun evergarden--ensure-modus-theme-metadata ()
- "Declare `evergarden' as a Modus-derived theme when reloading in-session.
-
-If an `evergarden' theme object already exists in the session, ensure it
-still has the theme properties that `modus-themes-theme' expects."
- (unless (plist-get (get evergarden-theme-name 'theme-properties) :modus-core-palette)
- (modus-themes-declare
- evergarden-theme-name
- evergarden-theme-family
- evergarden-theme-description
- evergarden-theme-background-mode
- 'evergarden-palette
- nil
- 'evergarden-palette-overrides)
- (modus-themes-register evergarden-theme-name)))
-
-(evergarden--ensure-modus-theme-metadata)
-
-(modus-themes-theme
- evergarden-theme-name
- evergarden-theme-family
- evergarden-theme-description
- evergarden-theme-background-mode
- 'evergarden-palette
- nil
- 'evergarden-palette-overrides
- 'evergarden-custom-faces)
-
-;;;###autoload
-(when load-file-name
- (add-to-list 'custom-theme-load-path
- (file-name-as-directory
- (file-name-directory load-file-name))))
-
-(provide 'evergarden-theme)
-
-;;; evergarden-theme.el ends here