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)

Reply via email to