branch: externals/ef-themes
commit 45c4014328d8857c5d85a07124b65e354f2b80bb
Author: Protesilaos Stavrou <[email protected]>
Commit: Protesilaos Stavrou <[email protected]>
Add ef-orange and ef-fig themes
---
contrast-ratios.org | 106 +++++++++++++++++++++++
ef-fig-theme.el | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++
ef-orange-theme.el | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++
ef-themes.el | 4 +
4 files changed, 582 insertions(+)
diff --git a/contrast-ratios.org b/contrast-ratios.org
index c4cf5e7f9d..2f7b42dddf 100644
--- a/contrast-ratios.org
+++ b/contrast-ratios.org
@@ -844,6 +844,59 @@ overall design of the project.
| #d0d7ca | 7297 | 1.32 |
#+TBLFM: $2='(Δ $1 @1$1) :: $3='(Λ $1 @1$1);%.2f
+* ef-fig
+:PROPERTIES:
+:CUSTOM_ID: h:419187ef-8fc5-4a7b-b1fd-e7b397a0e8b7
+:END:
+
+** Base colours
+:PROPERTIES:
+:CUSTOM_ID: h:92ad50c8-2bb8-4400-9192-503bec4c0e7e
+:END:
+
+| Name | | #3b2043 | #432e4e | #4a385e | #4a384e |
+|----------------+---------+---------+---------+---------+---------|
+| fg-main | #e4d3e1 | 9.98 | 8.45 | 7.28 | 7.48 |
+| fg-dim | #9d9d9d | 5.25 | 4.45 | 3.84 | 3.94 |
+| fg-alt | #c6a4cf | 6.52 | 5.53 | 4.76 | 4.89 |
+| red | #ff707f | 5.34 | 4.53 | 3.90 | 4.00 |
+| red-warmer | #ff7f5f | 5.74 | 4.86 | 4.19 | 4.30 |
+| red-cooler | #e088af | 5.64 | 4.78 | 4.12 | 4.23 |
+| red-faint | #e89f84 | 6.60 | 5.59 | 4.82 | 4.94 |
+| green | #7fbb3f | 6.16 | 5.22 | 4.50 | 4.62 |
+| green-warmer | #aad05a | 8.06 | 6.83 | 5.89 | 6.04 |
+| green-cooler | #79d081 | 7.57 | 6.41 | 5.53 | 5.67 |
+| green-faint | #a2b799 | 6.63 | 5.62 | 4.84 | 4.97 |
+| yellow | #e4c53f | 8.39 | 7.10 | 6.12 | 6.28 |
+| yellow-warmer | #f2a85f | 7.15 | 6.06 | 5.22 | 5.36 |
+| yellow-cooler | #eec27f | 8.59 | 7.28 | 6.27 | 6.44 |
+| yellow-faint | #d8c09f | 8.12 | 6.88 | 5.93 | 6.08 |
+| blue | #57aff6 | 6.02 | 5.10 | 4.39 | 4.51 |
+| blue-warmer | #78b2ff | 6.52 | 5.53 | 4.76 | 4.89 |
+| blue-cooler | #62cff7 | 8.00 | 6.78 | 5.84 | 5.99 |
+| blue-faint | #9fbfdf | 7.46 | 6.32 | 5.45 | 5.59 |
+| magenta | #ffb2d6 | 8.54 | 7.24 | 6.24 | 6.40 |
+| magenta-warmer | #f28fdf | 6.63 | 5.62 | 4.84 | 4.97 |
+| magenta-cooler | #afb1ff | 7.16 | 6.07 | 5.23 | 5.37 |
+| magenta-faint | #c59fcf | 6.27 | 5.31 | 4.57 | 4.69 |
+| cyan | #5fc0dc | 6.83 | 5.78 | 4.98 | 5.11 |
+| cyan-warmer | #7fc5df | 7.43 | 6.30 | 5.43 | 5.57 |
+| cyan-cooler | #80dfbf | 8.97 | 7.60 | 6.55 | 6.72 |
+| cyan-faint | #99bfcf | 7.27 | 6.16 | 5.30 | 5.44 |
+#+TBLFM: $3='(Λ $2 @1$3);%.2f :: $4='(Λ $2 @1$4);%.2f :: $5='(Λ $2 @1$5);%.2f
:: $6='(Λ $2 @1$6);%.2f
+
+** Distance and contrast between main backgrounds
+:PROPERTIES:
+:CUSTOM_ID: h:7f0abd62-1d81-4ad0-b3da-62da02578e53
+:END:
+
+# bg-main / bg-dim, bg-main / bg-alt
+| #3b2043 | distance | contrast |
+|---------+----------+----------|
+| #432e4e | 1270 | 1.18 |
+| #4a385e | 4847 | 1.37 |
+#+TBLFM: $2='(Δ $1 @1$1) :: $3='(Λ $1 @1$1);%.2f
+
* ef-frost
:PROPERTIES:
:CUSTOM_ID: h:3e0fd298-d1b7-4b31-84e9-73f2493944a1
@@ -1268,6 +1321,59 @@ overall design of the project.
| #242e39 | 10245 | 1.42 |
#+TBLFM: $2='(Δ $1 @1$1) :: $3='(Λ $1 @1$1);%.2f
+* ef-orange
+:PROPERTIES:
+:CUSTOM_ID: h:51d32541-7a8e-41e7-9e0c-9a27da52aa5e
+:END:
+
+** Base colours
+:PROPERTIES:
+:CUSTOM_ID: h:74fddb93-fb8b-47ee-865b-70ac3e798332
+:END:
+
+| Name | | #ffedc9 | #f7e5b6 | #e9d0a8 | #efdbac |
+|----------------+---------+---------+---------+---------+---------|
+| fg-main | #6c4631 | 7.12 | 6.58 | 5.49 | 6.02 |
+| fg-dim | #6f6750 | 4.88 | 4.51 | 3.77 | 4.13 |
+| fg-alt | #8f5f4a | 4.66 | 4.31 | 3.60 | 3.94 |
+| red | #ba2d2f | 5.20 | 4.81 | 4.01 | 4.39 |
+| red-warmer | #c13f00 | 4.58 | 4.23 | 3.53 | 3.87 |
+| red-cooler | #cf2030 | 4.67 | 4.31 | 3.60 | 3.95 |
+| red-faint | #b04340 | 4.89 | 4.52 | 3.77 | 4.14 |
+| green | #007a0a | 4.81 | 4.44 | 3.71 | 4.06 |
+| green-warmer | #5f7200 | 4.68 | 4.32 | 3.61 | 3.95 |
+| green-cooler | #2f783f | 4.69 | 4.34 | 3.62 | 3.97 |
+| green-faint | #527545 | 4.56 | 4.22 | 3.52 | 3.86 |
+| yellow | #a05a22 | 4.57 | 4.23 | 3.53 | 3.87 |
+| yellow-warmer | #b05115 | 4.51 | 4.17 | 3.48 | 3.82 |
+| yellow-cooler | #aa4f30 | 4.70 | 4.35 | 3.63 | 3.98 |
+| yellow-faint | #93604a | 4.54 | 4.20 | 3.50 | 3.84 |
+| blue | #375cc6 | 5.19 | 4.80 | 4.00 | 4.39 |
+| blue-warmer | #5f50df | 4.92 | 4.55 | 3.80 | 4.16 |
+| blue-cooler | #265fbf | 5.25 | 4.85 | 4.05 | 4.44 |
+| blue-faint | #4a659f | 4.98 | 4.61 | 3.85 | 4.21 |
+| magenta | #ba3e54 | 4.66 | 4.31 | 3.60 | 3.94 |
+| magenta-warmer | #c32f80 | 4.51 | 4.17 | 3.48 | 3.81 |
+| magenta-cooler | #8448aa | 5.22 | 4.83 | 4.03 | 4.41 |
+| magenta-faint | #a04450 | 5.30 | 4.90 | 4.09 | 4.48 |
+| cyan | #467080 | 4.68 | 4.33 | 3.61 | 3.96 |
+| cyan-warmer | #3f6fa2 | 4.54 | 4.20 | 3.51 | 3.84 |
+| cyan-cooler | #0f738f | 4.71 | 4.35 | 3.63 | 3.98 |
+| cyan-faint | #4f6f8f | 4.55 | 4.21 | 3.51 | 3.85 |
+#+TBLFM: $3='(Λ $2 @1$3);%.2f :: $4='(Λ $2 @1$4);%.2f :: $5='(Λ $2 @1$5);%.2f
:: $6='(Λ $2 @1$6);%.2f
+
+** Distance and contrast between main backgrounds
+:PROPERTIES:
+:CUSTOM_ID: h:5093ce39-b5e2-4b95-827b-98d1f6b1f713
+:END:
+
+# bg-main / bg-dim, bg-main / bg-alt
+| #ffedc9 | distance | contrast |
+|---------+----------+----------|
+| #f7e5b6 | 1183 | 1.08 |
+| #e9d0a8 | 7075 | 1.30 |
+#+TBLFM: $2='(Δ $1 @1$1) :: $3='(Λ $1 @1$1);%.2f
+
* ef-owl
:PROPERTIES:
:CUSTOM_ID: h:1593749c-d874-4252-ac78-7345b67bc16f
diff --git a/ef-fig-theme.el b/ef-fig-theme.el
new file mode 100644
index 0000000000..474b241c2d
--- /dev/null
+++ b/ef-fig-theme.el
@@ -0,0 +1,236 @@
+;;; ef-fig-theme.el --- Legible dark theme with warm green, yellow, and
magenta colors -*- lexical-binding:t -*-
+
+;; Copyright (C) 2022-2026 Free Software Foundation, Inc.
+
+;; Author: Protesilaos Stavrou <[email protected]>
+;; Maintainer: Protesilaos Stavrou <[email protected]>
+;; URL: https://github.com/protesilaos/ef-themes
+;; Keywords: faces, theme, accessibility
+
+;; This file is NOT part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; The `ef-themes' are a collection of light and dark themes for GNU
+;; Emacs whose goal is to provide colorful ("pretty") yet legible
+;; options for users who want something with a bit more flair than the
+;; `modus-themes' (also designed by me).
+
+;;; Code:
+
+
+
+(require 'ef-themes)
+
+(defconst ef-fig-palette-partial
+ '((cursor "#cad45a")
+ (bg-main "#3b2043")
+ (bg-dim "#432e4e")
+ (bg-alt "#4a385e")
+ (fg-main "#e4d3e1")
+ (fg-dim "#9d9d9d")
+ (fg-alt "#c6a4cf")
+ (bg-active "#6a586e")
+ (bg-inactive "#4a384e")
+ (border "#796f6e")
+
+ (red "#ff707f")
+ (red-warmer "#ff7f5f")
+ (red-cooler "#e088af")
+ (red-faint "#e89f84")
+ (green "#7fbb3f")
+ (green-warmer "#aad05a")
+ (green-cooler "#79d081")
+ (green-faint "#a2b799")
+ (yellow "#e4c53f")
+ (yellow-warmer "#f2a85f")
+ (yellow-cooler "#eec27f")
+ (yellow-faint "#d8c09f")
+ (blue "#57aff6")
+ (blue-warmer "#78b2ff")
+ (blue-cooler "#62cff7")
+ (blue-faint "#9fbfdf")
+ (magenta "#ffb2d6")
+ (magenta-warmer "#f28fdf")
+ (magenta-cooler "#afb1ff")
+ (magenta-faint "#c59fcf")
+ (cyan "#5fc0dc")
+ (cyan-warmer "#7fc5df")
+ (cyan-cooler "#80dfbf")
+ (cyan-faint "#99bfcf")
+
+ (bg-red-intense "#b23f30")
+ (bg-green-intense "#506430")
+ (bg-yellow-intense "#847020")
+ (bg-blue-intense "#2f5f9f")
+ (bg-magenta-intense "#704fbf")
+ (bg-cyan-intense "#028099")
+
+ (bg-red-subtle "#772c2a")
+ (bg-green-subtle "#3f512f")
+ (bg-yellow-subtle "#634627")
+ (bg-blue-subtle "#424075")
+ (bg-magenta-subtle "#6b3c52")
+ (bg-cyan-subtle "#3f4e72")
+
+ (bg-added "#3a472f")
+ (bg-added-faint "#37382f")
+ (bg-added-refine "#3d6014")
+ (fg-added "#a0e0a0")
+
+ (bg-changed "#51512f")
+ (bg-changed-faint "#40332f")
+ (bg-changed-refine "#65641f")
+ (fg-changed "#dada90")
+
+ (bg-removed "#5f2f2f")
+ (bg-removed-faint "#4f283a")
+ (bg-removed-refine "#7e3635")
+ (fg-removed "#ffbfbf")
+
+ (bg-mode-line-active "#57602e")
+ (fg-mode-line-active "#c8c597")
+ (bg-completion "#604e3f")
+ (bg-hover "#7f5a60")
+ (bg-hover-secondary "#6a4f6f")
+ (bg-hl-line "#413f2f")
+ (bg-paren-match "#7e3f84")
+ (bg-err "#552407") ; check with err
+ (bg-warning "#55421e") ; check with warning
+ (bg-info "#3e4200") ; check with info
+ (bg-region "#64523e")))
+
+(defconst ef-fig-palette-mappings-partial
+ '((err red)
+ (warning yellow)
+ (info green)
+
+ (fg-link magenta)
+ (fg-link-visited magenta-cooler)
+ (name green-warmer)
+ (keybind green)
+ (identifier magenta-faint)
+ (fg-prompt cyan-cooler)
+
+ (builtin magenta)
+ (comment yellow-faint)
+ (constant magenta-cooler)
+ (fnname yellow-cooler)
+ (fnname-call red-faint)
+ (keyword green-warmer)
+ (preprocessor red-cooler)
+ (docstring magenta-faint)
+ (string green)
+ (type red-cooler)
+ (variable yellow-warmer)
+ (variable-use yellow-faint)
+ (rx-backslash magenta-cooler) ; compare with `string'
+ (rx-construct magenta-warmer)
+
+ (accent-0 green-warmer)
+ (accent-1 magenta-warmer)
+ (accent-2 yellow-warmer)
+ (accent-3 red)
+
+ (date-common yellow-faint)
+ (date-deadline magenta-warmer)
+ (date-deadline-subtle red-faint)
+ (date-event fg-alt)
+ (date-holiday red-warmer)
+ (date-now fg-main)
+ (date-range fg-alt)
+ (date-scheduled yellow-warmer)
+ (date-scheduled-subtle yellow-faint)
+ (date-weekday yellow-cooler)
+ (date-weekend red-cooler)
+
+ (fg-prose-code green)
+ (prose-done green)
+ (fg-prose-macro red-cooler)
+ (prose-metadata fg-dim)
+ (prose-metadata-value fg-alt)
+ (prose-table fg-alt)
+ (prose-table-formula info)
+ (prose-tag green-faint)
+ (prose-todo red)
+ (fg-prose-verbatim yellow-warmer)
+
+ (mail-cite-0 yellow-cooler)
+ (mail-cite-1 green-cooler)
+ (mail-cite-2 magenta-cooler)
+ (mail-cite-3 magenta-warmer)
+ (mail-part yellow-warmer)
+ (mail-recipient magenta)
+ (mail-subject green-warmer)
+ (mail-other red-cooler)
+
+ (bg-search-static bg-warning)
+ (bg-search-current bg-magenta-intense)
+ (bg-search-lazy bg-green-subtle)
+ (bg-search-replace bg-red-intense)
+
+ (bg-search-rx-group-0 bg-cyan-intense)
+ (bg-search-rx-group-1 bg-yellow-intense)
+ (bg-search-rx-group-2 bg-red-subtle)
+ (bg-search-rx-group-3 bg-cyan-subtle)
+
+ (bg-space-err bg-red-intense)
+
+ (rainbow-0 magenta)
+ (rainbow-1 green-warmer)
+ (rainbow-2 yellow-cooler)
+ (rainbow-3 magenta-cooler)
+ (rainbow-4 green-cooler)
+ (rainbow-5 red-cooler)
+ (rainbow-6 cyan-cooler)
+ (rainbow-7 yellow-warmer)
+ (rainbow-8 magenta-warmer)))
+
+(defcustom ef-fig-palette-overrides nil
+ "Overrides for `ef-fig-palette'.
+
+Mirror the elements of the aforementioned palette, overriding
+their value.
+
+For overrides that are shared across all of the Ef themes,
+refer to `ef-themes-common-palette-overrides'.
+
+To preview the palette entries, use `ef-themes-preview-colors' or
+`ef-themes-preview-colors-current' (read the documentation for
+further details)."
+ :group 'ef-themes
+ :package-version '(ef-themes . "1.0.0")
+ :type '(repeat (list symbol (choice symbol string)))
+ :link '(info-link "(ef-themes) Palette overrides"))
+
+(defconst ef-fig-palette
+ (modus-themes-generate-palette
+ ef-fig-palette-partial
+ nil
+ nil
+ (append ef-fig-palette-mappings-partial ef-themes-palette-common)))
+
+(modus-themes-theme
+ 'ef-fig
+ 'ef-themes
+ "Legible dark theme with warm green, yellow, and magenta colors."
+ 'dark
+ 'ef-fig-palette
+ nil
+ 'ef-fig-palette-overrides
+ 'ef-themes-custom-faces)
+
+;;; ef-fig-theme.el ends here
diff --git a/ef-orange-theme.el b/ef-orange-theme.el
new file mode 100644
index 0000000000..34e68d47a1
--- /dev/null
+++ b/ef-orange-theme.el
@@ -0,0 +1,236 @@
+;;; ef-orange-theme.el --- Legible light theme with orange, yellow, and green
colors -*- lexical-binding:t -*-
+
+;; Copyright (C) 2022-2025 Free Software Foundation, Inc.
+
+;; Author: Protesilaos Stavrou <[email protected]>
+;; Maintainer: Protesilaos Stavrou <[email protected]>
+;; URL: https://github.com/protesilaos/ef-themes
+;; Keywords: faces, theme, accessibility
+
+;; This file is NOT part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; The `ef-themes' are a collection of light and dark themes for GNU
+;; Emacs whose goal is to provide colorful ("pretty") yet legible
+;; options for users who want something with a bit more flair than the
+;; `modus-themes' (also designed by me).
+
+;;; Code:
+
+
+
+(require 'ef-themes)
+
+(defconst ef-orange-palette-partial
+ '((cursor "#cf5f00")
+ (bg-main "#ffedc9")
+ (bg-dim "#f7e5b6")
+ (bg-alt "#e9d0a8")
+ (fg-main "#6c4631")
+ (fg-dim "#6f6750")
+ (fg-alt "#8f5f4a")
+ (bg-active "#c9b088")
+ (bg-inactive "#efdbac")
+ (border "#cfbe9b")
+
+ (red "#ba2d2f")
+ (red-warmer "#c13f00")
+ (red-cooler "#cf2030")
+ (red-faint "#b04340")
+ (green "#007a0a")
+ (green-warmer "#5f7200")
+ (green-cooler "#2f783f")
+ (green-faint "#527545")
+ (yellow "#a05a22")
+ (yellow-warmer "#b05115")
+ (yellow-cooler "#aa4f30")
+ (yellow-faint "#93604a")
+ (blue "#375cc6")
+ (blue-warmer "#5f50df")
+ (blue-cooler "#265fbf")
+ (blue-faint "#4a659f")
+ (magenta "#ba3e54")
+ (magenta-warmer "#c32f80")
+ (magenta-cooler "#8448aa")
+ (magenta-faint "#a04450")
+ (cyan "#467080")
+ (cyan-warmer "#3f6fa2")
+ (cyan-cooler "#0f738f")
+ (cyan-faint "#4f6f8f")
+
+ (bg-red-intense "#f3a058")
+ (bg-green-intense "#a6df70")
+ (bg-yellow-intense "#efcf00")
+ (bg-blue-intense "#90b5e0")
+ (bg-magenta-intense "#ef9fbf")
+ (bg-cyan-intense "#98cfc0")
+
+ (bg-red-subtle "#f2c3b0")
+ (bg-green-subtle "#cbe08f")
+ (bg-yellow-subtle "#f0e76e")
+ (bg-blue-subtle "#c6deeb")
+ (bg-magenta-subtle "#eac7cf")
+ (bg-cyan-subtle "#bfe2d0")
+
+ (bg-added "#d7e890")
+ (bg-added-faint "#e2eba6")
+ (bg-added-refine "#c9da80")
+ (fg-added "#2f6500")
+
+ (bg-changed "#f5e690")
+ (bg-changed-faint "#f5edaf")
+ (bg-changed-refine "#edd482")
+ (fg-changed "#553d00")
+
+ (bg-removed "#ffd090")
+ (bg-removed-faint "#f5de9f")
+ (bg-removed-refine "#f0b972")
+ (fg-removed "#9f2f00")
+
+ (bg-mode-line-active "#ffc255")
+ (fg-mode-line-active "#742f18")
+ (bg-completion "#fbdf8f")
+ (bg-hover "#c0e47f")
+ (bg-hover-secondary "#ebdc8f")
+ (bg-hl-line "#ffdaa6")
+ (bg-paren-match "#8fcf7f")
+ (bg-err "#ffcc95") ; check with err
+ (bg-warning "#ecdc7a") ; check with warning
+ (bg-info "#dde58c") ; check with info
+ (bg-region "#eeb48f")))
+
+(defconst ef-orange-palette-mappings-partial
+ '((err red-warmer)
+ (warning yellow)
+ (info green)
+
+ (fg-link green-warmer)
+ (fg-link-visited red-faint)
+ (name yellow)
+ (keybind red-warmer)
+ (identifier yellow-faint)
+ (fg-prompt yellow)
+
+ (builtin red)
+ (comment yellow-faint)
+ (constant yellow)
+ (fnname red-cooler)
+ (fnname-call magenta-faint)
+ (keyword red-warmer)
+ (preprocessor cyan-warmer)
+ (docstring green-faint)
+ (string green-warmer)
+ (type yellow-cooler)
+ (variable green-cooler)
+ (variable-use cyan-faint)
+ (rx-backslash green-cooler) ; compare with `string'
+ (rx-construct red-warmer)
+
+ (accent-0 red-warmer)
+ (accent-1 green-cooler)
+ (accent-2 yellow)
+ (accent-3 green-warmer)
+
+ (date-common green-faint)
+ (date-deadline red)
+ (date-deadline-subtle red-faint)
+ (date-event fg-alt)
+ (date-holiday red-warmer)
+ (date-now fg-main)
+ (date-range fg-alt)
+ (date-scheduled yellow)
+ (date-scheduled-subtle yellow-faint)
+ (date-weekday green-warmer)
+ (date-weekend red-faint)
+
+ (fg-prose-code green-cooler)
+ (prose-done green)
+ (fg-prose-macro yellow)
+ (prose-metadata fg-dim)
+ (prose-metadata-value fg-alt)
+ (prose-table fg-alt)
+ (prose-table-formula info)
+ (prose-tag yellow-faint)
+ (prose-todo red-warmer)
+ (fg-prose-verbatim red)
+
+ (mail-cite-0 yellow-cooler)
+ (mail-cite-1 green-faint)
+ (mail-cite-2 red-cooler)
+ (mail-cite-3 fg-alt)
+ (mail-part red-faint)
+ (mail-recipient red-warmer)
+ (mail-subject yellow)
+ (mail-other green-warmer)
+
+ (bg-search-static bg-warning)
+ (bg-search-current bg-yellow-intense)
+ (bg-search-lazy bg-green-intense)
+ (bg-search-replace bg-red-intense)
+
+ (bg-search-rx-group-0 bg-magenta-intense)
+ (bg-search-rx-group-1 bg-green-intense)
+ (bg-search-rx-group-2 bg-red-subtle)
+ (bg-search-rx-group-3 bg-cyan-subtle)
+
+ (bg-space-err bg-yellow-intense)
+
+ (rainbow-0 red-warmer)
+ (rainbow-1 yellow-warmer)
+ (rainbow-2 green-warmer)
+ (rainbow-3 yellow-cooler)
+ (rainbow-4 green-cooler)
+ (rainbow-5 yellow)
+ (rainbow-6 red-faint)
+ (rainbow-7 green-faint)
+ (rainbow-8 red-faint)))
+
+(defcustom ef-orange-palette-overrides nil
+ "Overrides for `ef-orange-palette'.
+
+Mirror the elements of the aforementioned palette, overriding
+their value.
+
+For overrides that are shared across all of the Ef themes,
+refer to `ef-themes-common-palette-overrides'.
+
+To preview the palette entries, use `ef-themes-preview-colors' or
+`ef-themes-preview-colors-current' (read the documentation for
+further details)."
+ :group 'ef-themes
+ :package-version '(ef-themes . "1.0.0")
+ :type '(repeat (list symbol (choice symbol string)))
+ :link '(info-link "(ef-themes) Palette overrides"))
+
+(defconst ef-orange-palette
+ (modus-themes-generate-palette
+ ef-orange-palette-partial
+ nil
+ nil
+ (append ef-orange-palette-mappings-partial ef-themes-palette-common)))
+
+(modus-themes-theme
+ 'ef-orange
+ 'ef-themes
+ "Legible light theme with orange, yellow, and green colors."
+ 'light
+ 'ef-orange-palette
+ nil
+ 'ef-orange-palette-overrides
+ 'ef-themes-custom-faces)
+
+;;; ef-orange-theme.el ends here
diff --git a/ef-themes.el b/ef-themes.el
index 990cb2873c..9f48c0c6be 100644
--- a/ef-themes.el
+++ b/ef-themes.el
@@ -74,6 +74,7 @@ and Modus into a single group, enable
`modus-themes-include-derivatives-mode'."
ef-light
ef-maris-light
ef-melissa-light
+ ef-orange
ef-reverie
ef-spring
ef-summer
@@ -90,6 +91,7 @@ and Modus into a single group, enable
`modus-themes-include-derivatives-mode'."
ef-dream
ef-duo-dark
ef-elea-dark
+ ef-fig
ef-maris-dark
ef-melissa-dark
ef-night
@@ -129,6 +131,7 @@ and Modus into a single group, enable
`modus-themes-include-derivatives-mode'."
(ef-eagle ef-themes "Legible light beige theme with brown, red, and
desatured colors." light ef-eagle-palette nil ef-eagle-palette-overrides)
(ef-elea-dark ef-themes "Legible dark green theme with brown, magenta, and
green colors." dark ef-elea-dark-palette nil ef-elea-dark-palette-overrides)
(ef-elea-light ef-themes "Legible light green theme with brown, magenta,
and green colors." light ef-elea-light-palette nil
ef-elea-light-palette-overrides)
+ (ef-fig ef-themes "Legible dark theme with warm green, yellow, and magenta
colors." light ef-fig-palette nil ef-fig-palette-overrides)
(ef-frost ef-themes "Legible light cool theme with blue, cyan, teal,
purple colors." light ef-frost-palette nil ef-frost-palette-overrides)
(ef-kassio ef-themes "Legible light grey theme with blue, red, magenta,
and earthly colors." light ef-kassio-palette nil ef-kassio-palette-overrides)
(ef-light ef-themes "Legible light theme with blue, magenta, cyan, purple
colors." light ef-light-palette nil ef-light-palette-overrides)
@@ -137,6 +140,7 @@ and Modus into a single group, enable
`modus-themes-include-derivatives-mode'."
(ef-melissa-dark ef-themes "Legible dark honeybee theme with warm colors
(yellow, red, green, cyan)." dark ef-melissa-dark-palette nil
ef-melissa-dark-palette-overrides)
(ef-melissa-light ef-themes "Legible light honeybee theme with warm colors
(yellow, red, green, cyan)." light ef-melissa-light-palette nil
ef-melissa-light-palette-overrides)
(ef-night ef-themes "Legible dark sky blue theme with mostly green, blue,
purple colors." dark ef-night-palette nil ef-night-palette-overrides)
+ (ef-orange ef-themes "Legible light theme with orange, yellow, and green
colors." light ef-orange-palette nil ef-orange-palette-overrides)
(ef-owl ef-themes "Legible dark grey theme with blue, cyan, magenta and
desaturated colors." dark ef-owl-palette nil ef-owl-palette-overrides)
(ef-reverie ef-themes "Legible light cream theme with gold and nuanced
colors." light ef-reverie-palette nil ef-reverie-palette-overrides)
(ef-rosa ef-themes "Legible dark rosewood theme with magenta and green
colors." dark ef-rosa-palette nil ef-rosa-palette-overrides)