summaryrefslogtreecommitdiff
path: root/etc/themes/modus-themes.el
diff options
context:
space:
mode:
Diffstat (limited to 'etc/themes/modus-themes.el')
-rw-r--r--etc/themes/modus-themes.el10120
1 files changed, 3353 insertions, 6767 deletions
diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el
index 1f97d9d08f0..b776f12671e 100644
--- a/etc/themes/modus-themes.el
+++ b/etc/themes/modus-themes.el
@@ -1,12 +1,11 @@
;;; modus-themes.el --- Elegant, highly legible and customizable themes -*- lexical-binding:t -*-
-;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com>
-;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht>
-;; URL: https://git.sr.ht/~protesilaos/modus-themes
-;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
-;; Version: 3.0.0
+;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
+;; URL: https://github.com/protesilaos/modus-themes
+;; Version: 4.4.0
;; Package-Requires: ((emacs "27.1"))
;; Keywords: faces, theme, accessibility
@@ -27,1215 +26,173 @@
;;; Commentary:
;;
-;; The Modus themes conform with the highest standard for color-contrast
-;; accessibility between background and foreground values (WCAG AAA).
-;; This file contains all customization variables, helper functions,
-;; interactive commands, and face specifications. Please refer to the
-;; official Info manual for further documentation (distributed with the
-;; themes, or available at: <https://protesilaos.com/emacs/modus-themes>).
-;;
-;; The themes share the following customization variables:
-;;
-;; modus-themes-completions (alist)
-;; modus-themes-headings (alist)
-;; modus-themes-org-agenda (alist)
-;; modus-themes-bold-constructs (boolean)
-;; modus-themes-deuteranopia (boolean)
-;; modus-themes-inhibit-reload (boolean)
-;; modus-themes-intense-mouseovers (boolean)
-;; modus-themes-italic-constructs (boolean)
-;; modus-themes-mixed-fonts (boolean)
-;; modus-themes-subtle-line-numbers (boolean)
-;; modus-themes-variable-pitch-ui (boolean)
-;; modus-themes-box-buttons (choice)
-;; modus-themes-diffs (choice)
-;; modus-themes-fringes (choice)
-;; modus-themes-hl-line (choice)
-;; modus-themes-lang-checkers (choice)
-;; modus-themes-links (choice)
-;; modus-themes-mail-citations (choice)
-;; modus-themes-markup (choice)
-;; modus-themes-mode-line (choice)
-;; modus-themes-org-blocks (choice)
-;; modus-themes-paren-match (choice)
-;; modus-themes-prompts (choice)
-;; modus-themes-region (choice)
-;; modus-themes-syntax (choice)
-;;
-;; There also exist two unique customization variables for overriding
-;; color palette values. The specifics are documented in the manual.
-;; The symbols are:
-;;
-;; modus-themes-operandi-color-overrides (alist)
-;; modus-themes-vivendi-color-overrides (alist)
-;;
-;; Check the manual for all supported packages (there are hundreds of
-;; them).
-;;
-;; For a complete view of the project, also refer to the following files
-;; (should be distributed in the same repository/directory as the
-;; current item):
-;;
-;; - modus-operandi-theme.el (Light theme)
-;; - modus-vivendi-theme.el (Dark theme)
+;; The Modus themes conform with the highest standard for
+;; color-contrast accessibility between background and foreground
+;; values (WCAG AAA). Please refer to the official Info manual for
+;; further documentation (distributed with the themes, or available
+;; at: <https://protesilaos.com/emacs/modus-themes>).
;;; Code:
-(eval-when-compile
- (require 'cl-lib)
- (require 'subr-x))
+(eval-when-compile (require 'subr-x))
(defgroup modus-themes ()
- "Options for `modus-operandi', `modus-vivendi' themes.
+ "User options for the Modus themes.
The Modus themes conform with the WCAG AAA standard for color
contrast between background and foreground combinations (a
-minimum contrast of 7:1---the highest standard of its kind). The
-themes also strive to empower users with red-green color
-deficiency: this is achieved through customization variables that
-replace all relevant instances of green with blue, as well as the
-overall design of the themes which relies mostly on colors that
-cover the blue-cyan-magenta side of the spectrum."
+minimum contrast of 7:1---the highest standard of its kind).
+
+The Modus themes collection includes themes that are optimized
+for people with red-green or blue-yellow color
+deficiency (deuteranopia or tritanopia, respectively)."
:group 'faces
:link '(info-link "(modus-themes) Top")
+ :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/modus-themes")
+ :link '(url-link :tag "Sample pictures" "https://protesilaos.com/emacs/modus-themes-pictures")
:prefix "modus-themes-"
:tag "Modus Themes")
(defgroup modus-themes-faces ()
- "Faces defined by `modus-operandi' and `modus-vivendi' themes."
+ "Faces defined by the Modus themes."
:group 'modus-themes
:link '(info-link "(modus-themes) Top")
+ :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/modus-themes")
+ :link '(url-link :tag "Sample pictures" "https://protesilaos.com/emacs/modus-themes-pictures")
:prefix "modus-themes-"
:tag "Modus Themes Faces")
-(defvar modus-themes--version "3.0.0"
- "Current version of the Modus themes.
-
-The version either is the last tagged release, such as '1.0.0',
-or an in-development version like '1.1.0-dev'. As we use
-semantic versioning, tags of the '1.0.1' sort are not reported:
-those would count as part of '1.1.0-dev'.")
-
-;;;###autoload
-(defun modus-themes-version (&optional insert)
- "Print `modus-themes--version' in the echo area.
-If optional INSERT argument is provided from Lisp or as a prefix
-argument, insert the `modus-themes--version' at point."
- (interactive "P")
- (funcall (if insert 'insert 'message) modus-themes--version))
-
-;;;###autoload
-(defun modus-themes-report-bug ()
- "Submit a bug report or issue to the Modus themes developers."
- (interactive)
- (reporter-submit-bug-report
- "~protesilaos/modus-themes@lists.sr.ht"
- (format "modus-themes (%s)\n" modus-themes--version)
- ;; I am just getting started with this. Let's first see what people
- ;; think about it.
- nil nil nil nil))
-
-;;; Variables for each theme variant
-
-;;;; Modus Operandi
-
-(defconst modus-themes-operandi-colors
- '(;; base values
- (bg-main . "#ffffff") (fg-main . "#000000")
- (bg-dim . "#f8f8f8") (fg-dim . "#282828")
- (bg-alt . "#f0f0f0") (fg-alt . "#505050")
- ;; specifically for on/off states and must be combined with
- ;; themselves, though the backgrounds are also meant to be used with
- ;; other "active" values, defined further below; bg-active-accent
- ;; can work as a substitute for bg-active
- (bg-active . "#d7d7d7") (fg-active . "#0a0a0a")
- (bg-inactive . "#efefef") (fg-inactive . "#404148")
- (bg-active-accent . "#d0d6ff")
- ;; these special values are intended as alternatives to the base
- ;; values for cases where we need to avoid confusion between the
- ;; highlighted constructs; they must either be used as pairs based
- ;; on their name or each can be combined with {fg,bg}-{main,alt,dim}
- ;; always in accordance with their role as background or foreground
- (bg-special-cold . "#dde3f4") (bg-special-faint-cold . "#f0f1ff") (fg-special-cold . "#093060")
- (bg-special-mild . "#c4ede0") (bg-special-faint-mild . "#ebf5eb") (fg-special-mild . "#184034")
- (bg-special-warm . "#f0e0d4") (bg-special-faint-warm . "#fef2ea") (fg-special-warm . "#5d3026")
- (bg-special-calm . "#f8ddea") (bg-special-faint-calm . "#faeff9") (fg-special-calm . "#61284f")
- ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt
- (red . "#a60000")
- (red-alt . "#972500")
- (red-alt-other . "#a0132f")
- (red-faint . "#7f1010")
- (red-alt-faint . "#702f00")
- (red-alt-other-faint . "#7f002f")
- (green . "#005e00")
- (green-alt . "#315b00")
- (green-alt-other . "#145c33")
- (green-faint . "#104410")
- (green-alt-faint . "#30440f")
- (green-alt-other-faint . "#0f443f")
- (yellow . "#813e00")
- (yellow-alt . "#70480f")
- (yellow-alt-other . "#863927")
- (yellow-faint . "#5f4400")
- (yellow-alt-faint . "#5d5000")
- (yellow-alt-other-faint . "#5e3a20")
- (blue . "#0031a9")
- (blue-alt . "#2544bb")
- (blue-alt-other . "#0000c0")
- (blue-faint . "#003497")
- (blue-alt-faint . "#0f3d8c")
- (blue-alt-other-faint . "#001087")
- (magenta . "#721045")
- (magenta-alt . "#8f0075")
- (magenta-alt-other . "#5317ac")
- (magenta-faint . "#752f50")
- (magenta-alt-faint . "#7b206f")
- (magenta-alt-other-faint . "#55348e")
- (cyan . "#00538b")
- (cyan-alt . "#30517f")
- (cyan-alt-other . "#005a5f")
- (cyan-faint . "#005077")
- (cyan-alt-faint . "#354f6f")
- (cyan-alt-other-faint . "#125458")
- ;; these foreground values can only be combined with bg-main and are
- ;; thus not suitable for general purpose highlighting
- (red-intense . "#b60000")
- (orange-intense . "#904200")
- (green-intense . "#006800")
- (yellow-intense . "#605b00")
- (blue-intense . "#1f1fce")
- (magenta-intense . "#a8007f")
- (purple-intense . "#7f10d0")
- (cyan-intense . "#005f88")
- ;; those foregrounds are meant exclusively for bg-active, bg-inactive
- (red-active . "#8a0000")
- (green-active . "#004c2e")
- (yellow-active . "#702f00")
- (blue-active . "#0030b4")
- (magenta-active . "#5c2092")
- (cyan-active . "#003f8a")
- ;; the "subtle" values below be combined with fg-dim, while the
- ;; "intense" should be paired with fg-main
- (red-subtle-bg . "#f2b0a2")
- (red-intense-bg . "#ff9f9f")
- (green-subtle-bg . "#aecf90")
- (green-intense-bg . "#5ada88")
- (yellow-subtle-bg . "#e4c340")
- (yellow-intense-bg . "#f5df23")
- (blue-subtle-bg . "#b5d0ff")
- (blue-intense-bg . "#77baff")
- (magenta-subtle-bg . "#f0d3ff")
- (magenta-intense-bg . "#d5baff")
- (cyan-subtle-bg . "#c0efff")
- (cyan-intense-bg . "#42cbd4")
- ;; those background values must be combined with fg-main and should
- ;; only be used for indicators that are placed on the fringes
- (red-fringe-bg . "#f08290")
- (green-fringe-bg . "#62c86a")
- (yellow-fringe-bg . "#dbba3f")
- (blue-fringe-bg . "#82afff")
- (magenta-fringe-bg . "#e0a3ff")
- (cyan-fringe-bg . "#2fcddf")
- ;; those background values should only be used for graphs or similar
- ;; applications where colored blocks are expected to be positioned
- ;; next to each other
- (red-graph-0-bg . "#ef7969")
- (red-graph-1-bg . "#ffaab4")
- (green-graph-0-bg . "#4faa09")
- (green-graph-1-bg . "#8fef00")
- (yellow-graph-0-bg . "#ffcf00")
- (yellow-graph-1-bg . "#f9ff00")
- (blue-graph-0-bg . "#7090ff")
- (blue-graph-1-bg . "#9fc6ff")
- (magenta-graph-0-bg . "#e07fff")
- (magenta-graph-1-bg . "#fad0ff")
- (cyan-graph-0-bg . "#70d3f0")
- (cyan-graph-1-bg . "#afefff")
- ;; the following are for cases where both the foreground and the
- ;; background need to have a similar hue and so must be combined
- ;; with themselves, even though the foregrounds can be paired with
- ;; any of the base backgrounds
- (red-refine-bg . "#ffcccc") (red-refine-fg . "#780000")
- (green-refine-bg . "#aceaac") (green-refine-fg . "#004c00")
- (yellow-refine-bg . "#fff29a") (yellow-refine-fg . "#604000")
- (blue-refine-bg . "#8fcfff") (blue-refine-fg . "#002f88")
- (magenta-refine-bg . "#ffccff") (magenta-refine-fg . "#770077")
- (cyan-refine-bg . "#8eecf4") (cyan-refine-fg . "#004850")
- ;; the "nuanced" backgrounds can be combined with all of the above
- ;; foregrounds, as well as those included here, while the "nuanced"
- ;; foregrounds can in turn also be combined with bg-main, bg-dim,
- ;; bg-alt
- (red-nuanced-bg . "#fff1f0") (red-nuanced-fg . "#5f0000")
- (green-nuanced-bg . "#ecf7ed") (green-nuanced-fg . "#004000")
- (yellow-nuanced-bg . "#fff3da") (yellow-nuanced-fg . "#3f3000")
- (blue-nuanced-bg . "#f3f3ff") (blue-nuanced-fg . "#201f55")
- (magenta-nuanced-bg . "#fdf0ff") (magenta-nuanced-fg . "#541f4f")
- (cyan-nuanced-bg . "#ebf6fa") (cyan-nuanced-fg . "#0f3360")
- ;; the following are reserved for specific cases
- ;;
- ;; bg-hl-line is between bg-dim and bg-alt, so it should
- ;; work with all accents that cover those two, plus bg-main
- ;;
- ;; bg-hl-alt and bg-hl-alt-intense should only be used when no
- ;; other grayscale or fairly neutral background is available to
- ;; properly draw attention to a given construct
- ;;
- ;; bg-header is between bg-active and bg-inactive, so it
- ;; can be combined with any of the "active" values, plus the
- ;; "special" and base foreground colors
- ;;
- ;; bg-paren-match, bg-paren-match-intense, bg-region,
- ;; bg-region-accent and bg-tab-active must be combined with fg-main,
- ;; while bg-tab-inactive should be combined with fg-dim, whereas
- ;; bg-tab-inactive-alt goes together with fg-main
- ;;
- ;; bg-completion-* and bg-char-* variants are meant to be combined
- ;; with fg-main
- ;;
- ;; fg-escape-char-construct and fg-escape-char-backslash can
- ;; be combined bg-main, bg-dim, bg-alt
- ;;
- ;; fg-lang-error, fg-lang-warning, fg-lang-note can be
- ;; combined with bg-main, bg-dim, bg-alt
- ;;
- ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined
- ;; with bg-main, bg-dim, bg-alt, bg-hl-line
- ;;
- ;; fg-unfocused must be combined with bg-main
- ;;
- ;; fg-docstring, fg-comment-yellow can be combined with
- ;; bg-main, bg-dim, bg-alt
- ;;
- ;; the window divider colors apply to faces with just an fg value
- ;;
- ;; all pairs are combinable with themselves
- (bg-hl-line . "#f2eff3")
- (bg-hl-line-intense . "#e0e0e0")
- (bg-hl-line-intense-accent . "#cfe2ff")
- (bg-hl-alt . "#fbeee0")
- (bg-hl-alt-intense . "#e8dfd1")
- (bg-paren-match . "#e0af82")
- (bg-paren-match-intense . "#c488ff")
- (bg-paren-expression . "#dff0ff")
- (bg-region . "#bcbcbc")
- (bg-region-accent . "#afafef")
- (bg-region-accent-subtle . "#efdfff")
-
- (bg-completion . "#b7dbff")
- (bg-completion-subtle . "#def3ff")
-
- (bg-char-0 . "#7feaff")
- (bg-char-1 . "#ffaaff")
- (bg-char-2 . "#dff000")
-
- (bg-tab-active . "#f6f6f6")
- (bg-tab-inactive . "#b7b7b7")
- (bg-tab-inactive-accent . "#a9b4f6")
- (bg-tab-inactive-alt . "#9f9f9f")
- (bg-tab-inactive-alt-accent . "#9fa6d0")
-
- (red-tab . "#680000")
- (green-tab . "#003900")
- (yellow-tab . "#393000")
- (orange-tab . "#502300")
- (blue-tab . "#000080")
- (cyan-tab . "#052f60")
- (magenta-tab . "#5f004d")
- (purple-tab . "#400487")
-
- (fg-escape-char-construct . "#8b1030")
- (fg-escape-char-backslash . "#654d0f")
-
- (fg-lang-error . "#9f004f")
- (fg-lang-warning . "#604f0f")
- (fg-lang-note . "#4040ae")
- (fg-lang-underline-error . "#ef4f54")
- (fg-lang-underline-warning . "#cf9f00")
- (fg-lang-underline-note . "#3f6fef")
-
- (fg-window-divider-inner . "#888888")
- (fg-window-divider-outer . "#585858")
-
- (fg-unfocused . "#56576d")
-
- (fg-docstring . "#2a486a")
- (fg-comment-yellow . "#794319")
-
- (bg-header . "#e5e5e5") (fg-header . "#2a2a2a")
-
- (bg-whitespace . "#f5efef") (fg-whitespace . "#624956")
-
- (bg-diff-heading . "#b7cfe0") (fg-diff-heading . "#041645")
- (bg-diff-added . "#d4fad4") (fg-diff-added . "#004500")
- (bg-diff-added-deuteran . "#daefff") (fg-diff-added-deuteran . "#002044")
- (bg-diff-changed . "#fcefcf") (fg-diff-changed . "#524200")
- (bg-diff-removed . "#ffe8ef") (fg-diff-removed . "#691616")
-
- (bg-diff-refine-added . "#94cf94") (fg-diff-refine-added . "#002a00")
- (bg-diff-refine-added-deuteran . "#77c0ef") (fg-diff-refine-added-deuteran . "#000035")
- (bg-diff-refine-changed . "#cccf8f") (fg-diff-refine-changed . "#302010")
- (bg-diff-refine-removed . "#daa2b0") (fg-diff-refine-removed . "#400000")
-
- (bg-diff-focus-added . "#bbeabb") (fg-diff-focus-added . "#002c00")
- (bg-diff-focus-added-deuteran . "#bacfff") (fg-diff-focus-added-deuteran . "#001755")
- (bg-diff-focus-changed . "#ecdfbf") (fg-diff-focus-changed . "#392900")
- (bg-diff-focus-removed . "#efcbcf") (fg-diff-focus-removed . "#4a0000")
-
- (bg-mark-sel . "#a0f0cf") (fg-mark-sel . "#005040")
- (bg-mark-del . "#ffccbb") (fg-mark-del . "#840040")
- (bg-mark-alt . "#f5d88f") (fg-mark-alt . "#782900"))
- "The entire palette of the `modus-operandi' theme.
-Each element has the form (NAME . HEX) with the former as a
-symbol and the latter as a string.")
-
-;;;; Modus Vivendi
-
-(defconst modus-themes-vivendi-colors
- '(;; base values
- (bg-main . "#000000") (fg-main . "#ffffff")
- (bg-dim . "#100f10") (fg-dim . "#e0e6f0")
- (bg-alt . "#191a1b") (fg-alt . "#a8a8a8")
- ;; specifically for on/off states and must be combined with
- ;; themselves, though the backgrounds are also meant to be used with
- ;; other "active" values, defined further below; bg-active-accent
- ;; can work as a substitute for bg-active
- (bg-active . "#323232") (fg-active . "#f4f4f4")
- (bg-inactive . "#1e1e1e") (fg-inactive . "#bfc0c4")
- (bg-active-accent . "#2a2a66")
- ;; these special values are intended as alternatives to the base
- ;; values for cases where we need to avoid confusion between the
- ;; highlighted constructs; they must either be used as pairs based
- ;; on their name or each can be combined with {fg,bg}-{main,alt,dim}
- ;; always in accordance with their role as background or foreground
- (bg-special-cold . "#203448") (bg-special-faint-cold . "#0e183a") (fg-special-cold . "#c6eaff")
- (bg-special-mild . "#00322e") (bg-special-faint-mild . "#001f1a") (fg-special-mild . "#bfebe0")
- (bg-special-warm . "#382f27") (bg-special-faint-warm . "#241613") (fg-special-warm . "#f8dec0")
- (bg-special-calm . "#392a48") (bg-special-faint-calm . "#251232") (fg-special-calm . "#fbd6f4")
- ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt
- (red . "#ff8059")
- (red-alt . "#ef8b50")
- (red-alt-other . "#ff9077")
- (red-faint . "#ffa0a0")
- (red-alt-faint . "#f5aa80")
- (red-alt-other-faint . "#ff9fbf")
- (green . "#44bc44")
- (green-alt . "#70b900")
- (green-alt-other . "#00c06f")
- (green-faint . "#78bf78")
- (green-alt-faint . "#99b56f")
- (green-alt-other-faint . "#88bf99")
- (yellow . "#d0bc00")
- (yellow-alt . "#c0c530")
- (yellow-alt-other . "#d3b55f")
- (yellow-faint . "#d2b580")
- (yellow-alt-faint . "#cabf77")
- (yellow-alt-other-faint . "#d0ba95")
- (blue . "#2fafff")
- (blue-alt . "#79a8ff" )
- (blue-alt-other . "#00bcff")
- (blue-faint . "#82b0ec")
- (blue-alt-faint . "#a0acef")
- (blue-alt-other-faint . "#80b2f0")
- (magenta . "#feacd0")
- (magenta-alt . "#f78fe7")
- (magenta-alt-other . "#b6a0ff")
- (magenta-faint . "#e0b2d6")
- (magenta-alt-faint . "#ef9fe4")
- (magenta-alt-other-faint . "#cfa6ff")
- (cyan . "#00d3d0")
- (cyan-alt . "#4ae2f0")
- (cyan-alt-other . "#6ae4b9")
- (cyan-faint . "#90c4ed")
- (cyan-alt-faint . "#a0bfdf")
- (cyan-alt-other-faint . "#a4d0bb")
- ;; these foreground values can only be combined with bg-main and are
- ;; thus not suitable for general purpose highlighting
- (red-intense . "#fe6060")
- (orange-intense . "#fba849")
- (green-intense . "#4fe42f")
- (yellow-intense . "#f0dd60")
- (blue-intense . "#4fafff")
- (magenta-intense . "#ff62d4")
- (purple-intense . "#9f80ff")
- (cyan-intense . "#3fdfd0")
- ;; those foregrounds are meant exclusively for bg-active, bg-inactive
- (red-active . "#ffa7ba")
- (green-active . "#70d73f")
- (yellow-active . "#dbbe5f")
- (blue-active . "#34cfff")
- (magenta-active . "#d5b1ff")
- (cyan-active . "#00d8b4")
- ;; the "subtle" values below be combined with fg-dim, while the
- ;; "intense" should be paired with fg-main
- (red-subtle-bg . "#762422")
- (red-intense-bg . "#a4202a")
- (green-subtle-bg . "#2f4a00")
- (green-intense-bg . "#006800")
- (yellow-subtle-bg . "#604200")
- (yellow-intense-bg . "#874900")
- (blue-subtle-bg . "#10387c")
- (blue-intense-bg . "#2a40b8")
- (magenta-subtle-bg . "#49366e")
- (magenta-intense-bg . "#7042a2")
- (cyan-subtle-bg . "#00415e")
- (cyan-intense-bg . "#005f88")
- ;; those background values must be combined with fg-main and should
- ;; only be used for indicators that are placed on the fringes
- (red-fringe-bg . "#8f1f4b")
- (green-fringe-bg . "#006700")
- (yellow-fringe-bg . "#6f4f00")
- (blue-fringe-bg . "#3f33af")
- (magenta-fringe-bg . "#6f2f89")
- (cyan-fringe-bg . "#004f8f")
- ;; those background values should only be used for graphs or similar
- ;; applications where colored blocks are expected to be positioned
- ;; next to each other
- (red-graph-0-bg . "#b52c2c")
- (red-graph-1-bg . "#702020")
- (green-graph-0-bg . "#4fd100")
- (green-graph-1-bg . "#007800")
- (yellow-graph-0-bg . "#f1e00a")
- (yellow-graph-1-bg . "#b08600")
- (blue-graph-0-bg . "#2fafef")
- (blue-graph-1-bg . "#1f2f8f")
- (magenta-graph-0-bg . "#bf94fe")
- (magenta-graph-1-bg . "#5f509f")
- (cyan-graph-0-bg . "#47dfea")
- (cyan-graph-1-bg . "#00808f")
- ;; the following are for cases where both the foreground and the
- ;; background need to have a similar hue and so must be combined
- ;; with themselves, even though the foregrounds can be paired with
- ;; any of the base backgrounds
- (red-refine-bg . "#77002a") (red-refine-fg . "#ffb9ab")
- (green-refine-bg . "#00422a") (green-refine-fg . "#9ff0cf")
- (yellow-refine-bg . "#693200") (yellow-refine-fg . "#e2d980")
- (blue-refine-bg . "#242679") (blue-refine-fg . "#8ecfff")
- (magenta-refine-bg . "#71206a") (magenta-refine-fg . "#ffcaf0")
- (cyan-refine-bg . "#004065") (cyan-refine-fg . "#8ae4f2")
- ;; the "nuanced" backgrounds can be combined with all of the above
- ;; foregrounds, as well as those included here, while the "nuanced"
- ;; foregrounds can in turn also be combined with bg-main, bg-dim,
- ;; bg-alt
- (red-nuanced-bg . "#2c0614") (red-nuanced-fg . "#ffcccc")
- (green-nuanced-bg . "#001904") (green-nuanced-fg . "#b8e2b8")
- (yellow-nuanced-bg . "#221000") (yellow-nuanced-fg . "#dfdfb0")
- (blue-nuanced-bg . "#0f0e39") (blue-nuanced-fg . "#bfd9ff")
- (magenta-nuanced-bg . "#230631") (magenta-nuanced-fg . "#e5cfef")
- (cyan-nuanced-bg . "#041529") (cyan-nuanced-fg . "#a8e5e5")
- ;; the following are reserved for specific cases
- ;;
- ;; bg-hl-line is between bg-dim and bg-alt, so it should
- ;; work with all accents that cover those two, plus bg-main
- ;;
- ;; bg-hl-alt and bg-hl-alt-intense should only be used when no
- ;; other grayscale or fairly neutral background is available to
- ;; properly draw attention to a given construct
- ;;
- ;; bg-header is between bg-active and bg-inactive, so it
- ;; can be combined with any of the "active" values, plus the
- ;; "special" and base foreground colors
- ;;
- ;; bg-paren-match, bg-paren-match-intense, bg-region,
- ;; bg-region-accent and bg-tab-active must be combined with fg-main,
- ;; while bg-tab-inactive should be combined with fg-dim, whereas
- ;; bg-tab-inactive-alt goes together with fg-main
- ;;
- ;; bg-completion-* and bg-char-* variants are meant to be combined
- ;; with fg-main
- ;;
- ;; fg-escape-char-construct and fg-escape-char-backslash can
- ;; be combined bg-main, bg-dim, bg-alt
- ;;
- ;; fg-lang-error, fg-lang-warning, fg-lang-note can be
- ;; combined with bg-main, bg-dim, bg-alt
- ;;
- ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined
- ;; with bg-main, bg-dim, bg-alt, bg-hl-line
- ;;
- ;; fg-unfocused must be combined with bg-main
- ;;
- ;; fg-docstring, fg-comment-yellow can be combined with
- ;; bg-main, bg-dim, bg-alt
- ;;
- ;; the window divider colors apply to faces with just an fg value
- ;;
- ;; all pairs are combinable with themselves
- (bg-hl-line . "#151823")
- (bg-hl-line-intense . "#292929")
- (bg-hl-line-intense-accent . "#002a4f")
- (bg-hl-alt . "#181732")
- (bg-hl-alt-intense . "#282e46")
- (bg-paren-match . "#6f3355")
- (bg-paren-match-intense . "#7416b5")
- (bg-paren-expression . "#221044")
- (bg-region . "#3c3c3c")
- (bg-region-accent . "#4f3d88")
- (bg-region-accent-subtle . "#240f55")
-
- (bg-completion . "#142f69")
- (bg-completion-subtle . "#0e194b")
-
- (bg-char-0 . "#0050af")
- (bg-char-1 . "#7f1f7f")
- (bg-char-2 . "#625a00")
-
- (bg-tab-active . "#0e0e0e")
- (bg-tab-inactive . "#424242")
- (bg-tab-inactive-accent . "#35398f")
- (bg-tab-inactive-alt . "#595959")
- (bg-tab-inactive-alt-accent . "#505588")
-
- (red-tab . "#ffc0bf")
- (green-tab . "#88ef88")
- (yellow-tab . "#d2e580")
- (orange-tab . "#f5ca80")
- (blue-tab . "#92d9ff")
- (cyan-tab . "#60e7e0")
- (magenta-tab . "#ffb8ff")
- (purple-tab . "#cfcaff")
-
- (fg-escape-char-construct . "#e7a59a")
- (fg-escape-char-backslash . "#abab00")
-
- (fg-lang-error . "#ef8690")
- (fg-lang-warning . "#b0aa00")
- (fg-lang-note . "#9d9def")
- (fg-lang-underline-error . "#ff4a6f")
- (fg-lang-underline-warning . "#d0de00")
- (fg-lang-underline-note . "#5f6fff")
-
- (fg-window-divider-inner . "#646464")
- (fg-window-divider-outer . "#969696")
-
- (fg-unfocused . "#93959b")
-
- (fg-docstring . "#b0d6f5")
- (fg-comment-yellow . "#d0a070")
-
- (bg-header . "#212121") (fg-header . "#dddddd")
-
- (bg-whitespace . "#101424") (fg-whitespace . "#aa9e9f")
-
- (bg-diff-heading . "#304466") (fg-diff-heading . "#dae7ff")
- (bg-diff-added . "#0a280a") (fg-diff-added . "#94ba94")
- (bg-diff-added-deuteran . "#001a3f") (fg-diff-added-deuteran . "#c4cdf2")
- (bg-diff-changed . "#2a2000") (fg-diff-changed . "#b0ba9f")
- (bg-diff-removed . "#40160f") (fg-diff-removed . "#c6adaa")
-
- (bg-diff-refine-added . "#005a36") (fg-diff-refine-added . "#e0f6e0")
- (bg-diff-refine-added-deuteran . "#234f8f") (fg-diff-refine-added-deuteran . "#dde4ff")
- (bg-diff-refine-changed . "#585800") (fg-diff-refine-changed . "#ffffcc")
- (bg-diff-refine-removed . "#852828") (fg-diff-refine-removed . "#ffd9eb")
-
- (bg-diff-focus-added . "#1d3c25") (fg-diff-focus-added . "#b4ddb4")
- (bg-diff-focus-added-deuteran . "#003959") (fg-diff-focus-added-deuteran . "#bfe4ff")
- (bg-diff-focus-changed . "#424200") (fg-diff-focus-changed . "#d0daaf")
- (bg-diff-focus-removed . "#601f29") (fg-diff-focus-removed . "#eebdba")
-
- (bg-mark-sel . "#002f2f") (fg-mark-sel . "#60cfa2")
- (bg-mark-del . "#5a0000") (fg-mark-del . "#ff99aa")
- (bg-mark-alt . "#3f2210") (fg-mark-alt . "#f0aa20"))
- "The entire palette of the `modus-vivendi' theme.
-Each element has the form (NAME . HEX) with the former as a
-symbol and the latter as a string.")
-
-;;; Custom faces
+;;;; Custom faces
;; These faces are used internally to ensure consistency between various
;; groups and to streamline the evaluation of relevant customization
;; options.
-(defface modus-themes-subtle-red nil
- "Subtle red background combined with a dimmed foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-subtle-green nil
- "Subtle green background combined with a dimmed foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-subtle-yellow nil
- "Subtle yellow background combined with a dimmed foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-subtle-blue nil
- "Subtle blue background combined with a dimmed foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-subtle-magenta nil
- "Subtle magenta background combined with a dimmed foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-subtle-cyan nil
- "Subtle cyan background combined with a dimmed foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-subtle-neutral nil
- "Subtle gray background combined with a dimmed foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-intense-red nil
- "Intense red background combined with the main foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-intense-green nil
- "Intense green background combined with the main foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-intense-yellow nil
- "Intense yellow background combined with the main foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-intense-blue nil
- "Intense blue background combined with the main foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-intense-magenta nil
- "Intense magenta background combined with the main foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-intense-cyan nil
- "Intense cyan background combined with the main foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-intense-neutral nil
- "Intense gray background combined with the main foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-refine-red nil
- "Combination of accented red background and foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-refine-green nil
- "Combination of accented green background and foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-refine-yellow nil
- "Combination of accented yellow background and foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-refine-blue nil
- "Combination of accented blue background and foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-refine-magenta nil
- "Combination of accented magenta background and foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-refine-cyan nil
- "Combination of accented cyan background and foreground.
-This is used for general purpose highlighting, mostly in buffers
-or for completion interfaces.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-active-red nil
- "A red background meant for use on the mode line or similar.
-This is combined with the mode lines primary foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-active-green nil
- "A green background meant for use on the mode line or similar.
-This is combined with the mode lines primary foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-(defface modus-themes-active-yellow nil
- "A yellow background meant for use on the mode line or similar.
-This is combined with the mode lines primary foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-active-blue nil
- "A blue background meant for use on the mode line or similar.
-This is combined with the mode lines primary foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-active-magenta nil
- "A magenta background meant for use on the mode line or similar.
-This is combined with the mode lines primary foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-active-cyan nil
- "A cyan background meant for use on the mode line or similar.
-This is combined with the mode lines primary foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-fringe-red nil
- "A red background meant for use on the fringe or similar.
-This is combined with the main foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-fringe-green nil
- "A green background meant for use on the fringe or similar.
-This is combined with the main foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-fringe-yellow nil
- "A yellow background meant for use on the fringe or similar.
-This is combined with the main foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-fringe-blue nil
- "A blue background meant for use on the fringe or similar.
-This is combined with the main foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-fringe-magenta nil
- "A magenta background meant for use on the fringe or similar.
-This is combined with the main foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-fringe-cyan nil
- "A cyan background meant for use on the fringe or similar.
-This is combined with the main foreground value.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-nuanced-red nil
- "A nuanced red background.
-This does not specify a foreground of its own. Instead it is
-meant to serve as the backdrop for elements such as Org blocks,
-headings, and any other surface that needs to retain the colors
-on display.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-nuanced-green nil
- "A nuanced green background.
-This does not specify a foreground of its own. Instead it is
-meant to serve as the backdrop for elements such as Org blocks,
-headings, and any other surface that needs to retain the colors
-on display.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-nuanced-yellow nil
- "A nuanced yellow background.
-This does not specify a foreground of its own. Instead it is
-meant to serve as the backdrop for elements such as Org blocks,
-headings, and any other surface that needs to retain the colors
-on display.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-nuanced-blue nil
- "A nuanced blue background.
-This does not specify a foreground of its own. Instead it is
-meant to serve as the backdrop for elements such as Org blocks,
-headings, and any other surface that needs to retain the colors
-on display.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-nuanced-magenta nil
- "A nuanced magenta background.
-This does not specify a foreground of its own. Instead it is
-meant to serve as the backdrop for elements such as Org blocks,
-headings, and any other surface that needs to retain the colors
-on display.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-nuanced-cyan nil
- "A nuanced cyan background.
-This does not specify a foreground of its own. Instead it is
-meant to serve as the backdrop for elements such as Org blocks,
-headings, and any other surface that needs to retain the colors
-on display.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-special-cold nil
- "Combines the special cold background and foreground values.
-This is intended for cases when a neutral gray background is not
-suitable and where a combination of more saturated colors would
-not be appropriate.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-special-mild nil
- "Combines the special mild background and foreground values.
-This is intended for cases when a neutral gray background is not
-suitable and where a combination of more saturated colors would
-not be appropriate.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-special-warm nil
- "Combines the special warm background and foreground values.
-This is intended for cases when a neutral gray background is not
-suitable and where a combination of more saturated colors would
-not be appropriate.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-special-calm nil
- "Combines the special calm background and foreground values.
-This is intended for cases when a neutral gray background is not
-suitable and where a combination of more saturated colors would
-not be appropriate.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-added nil
- "Combines green colors for the added state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-changed nil
- "Combines yellow colors for the changed state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-removed nil
- "Combines red colors for the removed state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-refine-added nil
- "Combines green colors for word-wise added state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-refine-changed nil
- "Combines yellow colors for word-wise changed state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-refine-removed nil
- "Combines red colors for word-wise removed state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-focus-added nil
- "Combines green colors for the focused added state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-focus-changed nil
- "Combines yellow colors for the focused changed state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-focus-removed nil
- "Combines red colors for the focused removed state in diffs.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-diff-heading nil
- "Combines blue colors for the diff hunk heading.
-The applied colors are contingent on the value assigned to
-`modus-themes-diffs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-pseudo-header nil
- "Generic style for some elements that function like headings.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-mark-alt nil
- "Combines yellow colors for marking special lines.
-This is intended for use in modes such as Dired, Ibuffer, Proced.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-mark-del nil
- "Combines red colors for marking deletable lines.
-This is intended for use in modes such as Dired, Ibuffer, Proced.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-mark-sel nil
- "Combines green colors for marking lines.
-This is intended for use in modes such as Dired, Ibuffer, Proced.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-mark-symbol nil
- "Applies a blue color and other styles for mark indicators.
-This is intended for use in modes such as Dired, Ibuffer, Proced.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-0 nil
- "General purpose face for use as the document's title.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-1 nil
- "General purpose face for use in headings level 1.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-2 nil
- "General purpose face for use in headings level 2.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-3 nil
- "General purpose face for use in headings level 3.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-4 nil
- "General purpose face for use in headings level 4.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-5 nil
- "General purpose face for use in headings level 5.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-6 nil
- "General purpose face for use in headings level 6.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-7 nil
- "General purpose face for use in headings level 7.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-heading-8 nil
- "General purpose face for use in headings level 8.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-headings' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-hl-line nil
- "General purpose face for the current line.
-The exact attributes assigned to this face are contingent on the
-values assigned to the `modus-themes-hl-line' variable.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
+(dolist (color '( red green blue yellow magenta cyan
+ red-warmer green-warmer blue-warmer yellow-warmer magenta-warmer cyan-warmer
+ red-cooler green-cooler blue-cooler yellow-cooler magenta-cooler cyan-cooler
+ red-faint green-faint blue-faint yellow-faint magenta-faint cyan-faint
+ red-intense green-intense blue-intense yellow-intense magenta-intense cyan-intense))
+ (custom-declare-face
+ (intern (format "modus-themes-fg-%s" color))
+ nil (format "Face with %s foreground." color)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dolist (color '(red green yellow blue magenta cyan))
+ (custom-declare-face
+ (intern (format "modus-themes-nuanced-%s" color))
+ nil (format "Nuanced %s background." color)
+ :package-version '(modus-themes . "4.1.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dolist (color '(red green yellow blue magenta cyan))
+ (custom-declare-face
+ (intern (format "modus-themes-subtle-%s" color))
+ nil (format "Subtle %s background." color)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dolist (color '(red green yellow blue magenta cyan))
+ (custom-declare-face
+ (intern (format "modus-themes-intense-%s" color))
+ nil (format "Intense %s background." color)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dolist (scope '(alt del sel))
+ (custom-declare-face
+ (intern (format "modus-themes-mark-%s" scope))
+ nil (format "Mark of type %s." scope)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dolist (scope '(note warning error))
+ (custom-declare-face
+ (intern (format "modus-themes-lang-%s" scope))
+ nil (format "Linter or spell check of type %s." scope)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dolist (scope '(note warning error))
+ (custom-declare-face
+ (intern (format "modus-themes-prominent-%s" scope))
+ nil (format "Prominent notification of type %s." scope)
+ :package-version '(modus-themes . "4.2.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dolist (scope '(current lazy replace))
+ (custom-declare-face
+ (intern (format "modus-themes-search-%s" scope))
+ nil (format "Search of type %s." scope)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dotimes (n 4)
+ (custom-declare-face
+ (intern (format "modus-themes-search-rx-group-%s" n))
+ nil (format "Search regexp group number %s." n)
+ :package-version '(modus-themes . "4.4.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dolist (scope '(code macro verbatim))
+ (custom-declare-face
+ (intern (format "modus-themes-prose-%s" scope))
+ nil (format "Construct of type %s for prose." scope)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
+
+(dotimes (n 9)
+ (custom-declare-face
+ (intern (format "modus-themes-heading-%d" n))
+ nil (format "Level %d heading." n)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
(defface modus-themes-bold nil
"Generic face for applying a conditional bold weight.
-This behaves in accordance with `modus-themes-bold-constructs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
+This behaves in accordance with `modus-themes-bold-constructs'."
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:group 'modus-themes-faces)
(defface modus-themes-slant nil
"Generic face for applying a conditional slant (italics).
-This behaves in accordance with `modus-themes-italic-constructs'.
-
-The actual styling of the face is done by `modus-themes-faces'."
+This behaves in accordance with `modus-themes-italic-constructs'."
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:group 'modus-themes-faces)
-(defface modus-themes-variable-pitch nil
- "Generic face for applying a conditional `variable-pitch'.
-This behaves in accordance with `modus-themes-mixed-fonts' and/or
-`modus-themes-variable-pitch-ui'.
-
-The actual styling of the face is done by `modus-themes-faces'."
+(defface modus-themes-key-binding nil
+ "Face for key bindings."
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:group 'modus-themes-faces)
(defface modus-themes-fixed-pitch nil
- "Generic face for applying a conditional `fixed-pitch'.
-This behaves in accordance with `modus-themes-mixed-fonts'.
-
-The actual styling of the face is done by `modus-themes-faces'."
+ "Face for `fixed-pitch' if `modus-themes-mixed-fonts' is non-nil."
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:group 'modus-themes-faces)
(defface modus-themes-ui-variable-pitch nil
- "Face for `modus-themes-variable-pitch-ui'.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-lang-note nil
- "Generic face for linter or spell checker notes.
-The exact attributes and color combinations are controlled by
-`modus-themes-lang-checkers'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-lang-warning nil
- "Generic face for linter or spell checker warnings.
-The exact attributes and color combinations are controlled by
-`modus-themes-lang-checkers'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-lang-error nil
- "Generic face for linter or spell checker errors.
-The exact attributes and color combinations are controlled by
-`modus-themes-lang-checkers'.
-
-The actual styling of the face is done by `modus-themes-faces'."
+ "Face for `variable-pitch' if `modus-themes-variable-pitch-ui' is non-nil."
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:group 'modus-themes-faces)
(defface modus-themes-reset-soft nil
@@ -1243,231 +200,139 @@ The actual styling of the face is done by `modus-themes-faces'."
This is intended to be inherited by faces that should not retain
properties from their context (e.g. an overlay over an underlined
-text should not be underlined as well) yet still blend in. Also
-see `modus-themes-reset-hard'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-reset-hard nil
- "Generic face to set all face properties to nil.
-
-This is intended to be inherited by faces that should not retain
-properties from their context (e.g. an overlay over an underlined
-text should not be underlined as well) and not blend in. Also
-see `modus-themes-reset-soft'.
-
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-key-binding nil
- "Generic face for key bindings.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-search-success nil
- "Generic face for successful search.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-search-success-modeline nil
- "Generic mode line indicator for successful search.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-search-success-lazy nil
- "Generic face for successful, lazily highlighted search.
-The actual styling of the face is done by `modus-themes-faces'."
+text should not be underlined as well) yet still blend in."
:group 'modus-themes-faces)
(defface modus-themes-prompt nil
- "Generic face for command prompts.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-;; "Grue" is "green" and "blue".
-(defface modus-themes-grue nil
- "Generic face for `modus-themes-deuteranopia' foreground.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-grue-active nil
- "Face for `modus-themes-deuteranopia' active foreground.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-grue-nuanced nil
- "Face for `modus-themes-deuteranopia' nuanced foreground.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-grue-background-active nil
- "Face for `modus-themes-deuteranopia' active background.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-grue-background-intense nil
- "Face for `modus-themes-deuteranopia' intense background.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-grue-background-subtle nil
- "Face for `modus-themes-deuteranopia' subtle background.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-grue-background-refine nil
- "Face for `modus-themes-deuteranopia' refined background.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-link-symlink nil
- "Face for `modus-themes-links' symbolic link.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-link-broken nil
- "Face for `modus-themes-links' broken link.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-tab-backdrop nil
- "Face of backdrop in tabbed interfaces.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-tab-active nil
- "Face of active tab.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-tab-inactive nil
- "Face of inactive tab.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-markup-code nil
- "Face of inline code markup.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-markup-macro nil
- "Face of macro markup.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-markup-verbatim nil
- "Face of verbatim markup.
-The actual styling of the face is done by `modus-themes-faces'."
+ "Generic face for command prompts."
:group 'modus-themes-faces)
(defface modus-themes-completion-selected nil
- "Face for current selection in completion UIs.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-completion-selected-popup nil
- "Face for current selection in completion UI popups.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-completion-match-0 nil
- "Face for completions matches 0.
-The actual styling of the face is done by `modus-themes-faces'."
+ "Face for current selection in completion UIs."
:group 'modus-themes-faces)
-(defface modus-themes-completion-match-1 nil
- "Face for completions matches 1.
-The actual styling of the face is done by `modus-themes-faces'."
+(defface modus-themes-button nil
+ "Face for graphical buttons."
:group 'modus-themes-faces)
-(defface modus-themes-completion-match-2 nil
- "Face for completions matches 2.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-completion-match-3 nil
- "Face for completions matches 3.
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-box-button nil
- "Face for widget buttons (e.g. in the Custom UI).
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
-
-(defface modus-themes-box-button-pressed nil
- "Face for pressed widget buttons (e.g. in the Custom UI).
-The actual styling of the face is done by `modus-themes-faces'."
- :group 'modus-themes-faces)
+(dotimes (n 4)
+ (custom-declare-face
+ (intern (format "modus-themes-completion-match-%d" n))
+ nil (format "Completions match level %d." n)
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :group 'modus-themes-faces))
-;;; Customization variables
+;;;; Customization variables
-(defcustom modus-themes-inhibit-reload t
- "Control theme reload when setting options with Customize.
+(defcustom modus-themes-custom-auto-reload t
+ "Automatically reload theme after setting options with Customize.
-By default, customizing a theme-related user option through the
-Custom interfaces or with `customize-set-variable' will not
-reload the currently active Modus theme.
+All theme user options take effect when a theme is loaded. Any
+subsequent changes require the theme to be reloaded.
-Enable this behavior by setting this variable to nil."
+When this variable has a non-nil value, any change made via the
+Custom UI or related functions such as `customize-set-variable'
+and `setopt' (Emacs 29), will trigger a reload automatically.
+
+With a nil value, changes to user options have no further
+consequences. The user must manually reload the theme."
:group 'modus-themes
- :package-version '(modus-themes . "1.5.0")
- :version "28.1"
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:type 'boolean
:link '(info-link "(modus-themes) Custom reload theme"))
(defun modus-themes--set-option (sym val)
"Custom setter for theme related user options.
Will set SYM to VAL, and reload the current theme, unless
-`modus-themes-inhibit-reload' is non-nil."
+`modus-themes-custom-auto-reload' is nil."
(set-default sym val)
- (unless (or modus-themes-inhibit-reload
- ;; Check if a theme is being loaded, in which case we
- ;; don't want to reload a theme if the setter is
- ;; invoked. `custom--inhibit-theme-enable' is set to nil
- ;; by `enable-theme'.
- (null (bound-and-true-p custom--inhibit-theme-enable)))
- (let ((modus-themes-inhibit-reload t))
- (pcase (modus-themes--current-theme)
- ('modus-operandi (modus-themes-load-operandi))
- ('modus-vivendi (modus-themes-load-vivendi))))))
-
-(defcustom modus-themes-operandi-color-overrides nil
- "Override colors in the Modus Operandi palette.
-
-For form, see `modus-themes-operandi-colors'."
+ (when (and modus-themes-custom-auto-reload
+ ;; Check if a theme is being loaded, in which case we
+ ;; don't want to reload a theme if the setter is
+ ;; invoked. `custom--inhibit-theme-enable' is set to nil
+ ;; by `enable-theme'.
+ (bound-and-true-p custom--inhibit-theme-enable))
+ (when-let* ((modus-themes-custom-auto-reload t)
+ (theme (modus-themes--current-theme)))
+ (modus-themes-load-theme theme))))
+
+(defcustom modus-themes-disable-other-themes t
+ "Disable all other themes when loading a Modus theme.
+
+When the value is non-nil, the commands `modus-themes-toggle' and
+`modus-themes-select', as well as the `modus-themes-load-theme'
+function, will disable all other themes while loading the
+specified Modus theme. This is done to ensure that Emacs does
+not blend two or more themes: such blends lead to awkward results
+that undermine the work of the designer.
+
+When the value is nil, the aforementioned commands and function
+will only disable other themes within the Modus collection.
+
+This option is provided because Emacs themes are not necessarily
+limited to colors/faces: they can consist of an arbitrary set of
+customizations. Users who use such customization bundles must
+set this variable to a nil value."
:group 'modus-themes
- :package-version '(modus-themes . "1.1.0")
- :version "28.1"
- :type '(alist :key-type symbol :value-type color)
+ :package-version '(modus-themes . "4.1.0")
+ :version "30.1"
+ :type 'boolean
+ :link '(info-link "(modus-themes) Disable other themes"))
+
+(defvaralias 'modus-themes-collection 'modus-themes-items
+ "Alias of `modus-themes-items'.")
+
+(defconst modus-themes-items
+ '( modus-operandi modus-vivendi
+ modus-operandi-tinted modus-vivendi-tinted
+ modus-operandi-deuteranopia modus-vivendi-deuteranopia
+ modus-operandi-tritanopia modus-vivendi-tritanopia)
+ "Symbols of the Modus themes.")
+
+(defcustom modus-themes-to-toggle '(modus-operandi modus-vivendi)
+ "Specify two Modus themes for `modus-themes-toggle' command.
+The variable `modus-themes-items' contains the symbols of all
+official themes that form part of this collection.
+
+The default value of this user option includes the original
+themes: `modus-operandi' (light) and `modus-vivendi' (dark).
+
+If the value is nil or otherwise does not specify two valid Modus
+themes, the command `modus-themes-toggle' reverts to selecting a
+theme from the list of available Modus themes. In effect, it is
+the same as using the command `modus-themes-select'."
+ :type `(choice
+ (const :tag "No toggle" nil)
+ (list :tag "Pick two themes to toggle between"
+ (choice :tag "Theme one of two"
+ ,@(mapcar (lambda (theme)
+ (list 'const theme))
+ modus-themes-items))
+ (choice :tag "Theme two of two"
+ ,@(mapcar (lambda (theme)
+ (list 'const theme))
+ modus-themes-items))))
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Override colors"))
+ :group 'modus-themes)
-(defcustom modus-themes-vivendi-color-overrides nil
- "Override colors in the Modus Vivendi palette.
+(defvaralias 'modus-themes-post-load-hook 'modus-themes-after-load-theme-hook)
-For form, see `modus-themes-vivendi-colors'."
- :group 'modus-themes
- :package-version '(modus-themes . "1.1.0")
- :version "28.1"
- :type '(alist :key-type symbol :value-type color)
+(defcustom modus-themes-after-load-theme-hook nil
+ "Hook that runs after loading a Modus theme.
+This is used by the command `modus-themes-toggle'."
+ :type 'hook
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Override colors"))
-
-;; The byte compiler complains when a defcustom isn't a top level form
-(let* ((names (mapcar (lambda (pair)
- (symbol-name (car pair)))
- modus-themes-operandi-colors))
- (colors (mapcar #'intern (sort names #'string<))))
- (put 'modus-themes-operandi-color-overrides
- 'custom-options (copy-sequence colors))
- (put 'modus-themes-vivendi-color-overrides
- 'custom-options (copy-sequence colors)))
+ :group 'modus-themes)
(defvaralias 'modus-themes-slanted-constructs 'modus-themes-italic-constructs)
@@ -1510,7 +375,9 @@ tables and code blocks, to remain monospaced when users opt for
something like the command `variable-pitch-mode'.
Users may need to explicitly configure the font family of
-`fixed-pitch' in order to get a consistent experience."
+`fixed-pitch' in order to get a consistent experience with their
+typography (also check the `fontaine' package on GNU ELPA (by
+Protesilaos))."
:group 'modus-themes
:package-version '(modus-themes . "1.7.0")
:version "29.1"
@@ -1519,68 +386,58 @@ Users may need to explicitly configure the font family of
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Mixed fonts"))
-(defcustom modus-themes-intense-mouseovers nil
- "When non-nil use more intense style for mouse hover effects.
-
-This affects the generic `highlight' face which, strictly
-speaking, is not limited to mouse usage."
- :group 'modus-themes
- :package-version '(modus-themes . "2.3.0")
- :version "29.1"
- :type 'boolean
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Mouse hover effects"))
-
-(defconst modus-themes--headings-choice
- '(set :tag "Properties" :greedy t
- (const :tag "Background color" background)
+(defconst modus-themes--weight-widget
+ '(choice :tag "Font weight (must be supported by the typeface)"
+ (const :tag "Unspecified (use whatever the default is)" nil)
+ (const :tag "Thin" thin)
+ (const :tag "Ultra-light" ultralight)
+ (const :tag "Extra-light" extralight)
+ (const :tag "Light" light)
+ (const :tag "Semi-light" semilight)
+ (const :tag "Regular" regular)
+ (const :tag "Medium" medium)
+ (const :tag "Semi-bold" semibold)
+ (const :tag "Bold" bold)
+ (const :tag "Extra-bold" extrabold)
+ (const :tag "Ultra-bold" ultrabold))
+ "List of supported font weights used by `defcustom' forms.")
+
+(defconst modus-themes--headings-widget
+ `(set :tag "Properties" :greedy t
(const :tag "Proportionately spaced font (variable-pitch)" variable-pitch)
- (const :tag "Overline" overline)
- (choice :tag "Font weight (must be supported by the typeface)"
- (const :tag "Bold (default)" nil)
- (const :tag "Thin" thin)
- (const :tag "Ultra-light" ultralight)
- (const :tag "Extra-light" extralight)
- (const :tag "Light" light)
- (const :tag "Semi-light" semilight)
- (const :tag "Regular" regular)
- (const :tag "Medium" medium)
- (const :tag "Semi-bold" semibold)
- (const :tag "Extra-bold" extrabold)
- (const :tag "Ultra-bold" ultrabold))
+ ,modus-themes--weight-widget
(radio :tag "Height"
(float :tag "Floating point to adjust height by")
(cons :tag "Cons cell of `(height . FLOAT)'"
(const :tag "The `height' key (constant)" height)
- (float :tag "Floating point")))
- (choice :tag "Colors"
- (const :tag "Subtle colors" nil)
- (const :tag "Rainbow colors" rainbow)
- (const :tag "Monochrome" monochrome)))
+ (float :tag "Floating point"))))
"Refer to the doc string of `modus-themes-headings'.
This is a helper variable intended for internal use.")
(defcustom modus-themes-headings nil
- "Heading styles with optional list of values for levels 0-8.
+ "Heading styles with optional list of values per heading level.
-This is an alist that accepts a (key . list-of-values)
-combination. The key is either a number, representing the
+This is an alist that accepts a (KEY . LIST-OF-VALUES)
+combination. The KEY is either a number, representing the
heading's level (0-8) or t, which pertains to the fallback style.
+The named keys `agenda-date' and `agenda-structure' apply to the
+Org agenda.
-Level 0 is a special heading: it is used for what counts as a
-document title or equivalent, such as the #+title construct we
-find in Org files. Levels 1-8 are regular headings.
+Level 0 is used for what counts as a document title or
+equivalent, such as the #+title construct we find in Org files.
+Levels 1-8 are regular headings.
-The list of values covers symbols that refer to properties, as
-described below. Here is a complete sample, followed by a
-presentation of all available properties:
+The LIST-OF-VALUES covers symbols that refer to properties, as
+described below. Here is a complete sample with various
+stylistic combinations, followed by a presentation of all
+available properties:
(setq modus-themes-headings
- (quote ((1 . (background overline variable-pitch 1.5))
- (2 . (overline rainbow 1.3))
- (3 . (overline 1.1))
- (t . (monochrome)))))
+ (quote ((1 . (variable-pitch 1.5))
+ (2 . (1.3))
+ (agenda-date . (1.3))
+ (agenda-structure . (variable-pitch light 1.8))
+ (t . (1.1)))))
By default (a nil value for this variable), all headings have a
bold typographic weight, use a desaturated text color, have a
@@ -1588,20 +445,6 @@ font family that is the same as the `default' face (typically
monospaced), and a height that is equal to the `default' face's
height.
-A `rainbow' property makes the text color more saturated.
-
-An `overline' property draws a line above the area of the
-heading.
-
-A `background' property applies a subtle tinted color to the
-background of the heading.
-
-A `monochrome' property makes the heading the same as the base
-color, which is that of the `default' face's foreground. When
-`background' is also set, `monochrome' changes its color to gray.
-If both `monochrome' and `rainbow' are set, the former takes
-precedence.
-
A `variable-pitch' property changes the font family of the
heading to that of the `variable-pitch' face (normally a
proportionately spaced typeface).
@@ -1611,9 +454,7 @@ accordingly, such as `light', `semibold', etc. Valid symbols are
defined in the variable `modus-themes-weights'. The absence of a
weight means that bold will be used by virtue of inheriting the
`bold' face (check the manual for tweaking bold and italic
-faces). For backward compatibility, the `no-bold' value is
-accepted, though users are encouraged to specify a `regular'
-weight instead.
+faces).
A number, expressed as a floating point (e.g. 1.5), adjusts the
height of the heading to that many times the base font size. The
@@ -1626,19 +467,20 @@ Combinations of any of those properties are expressed as a list,
like in these examples:
(semibold)
- (rainbow background)
- (overline monochrome semibold 1.3)
- (overline monochrome semibold (height 1.3)) ; same as above
- (overline monochrome semibold (height . 1.3)) ; same as above
+ (variable-pitch semibold 1.3)
+ (variable-pitch semibold (height 1.3)) ; same as above
+ (variable-pitch semibold (height . 1.3)) ; same as above
The order in which the properties are set is not significant.
In user configuration files the form may look like this:
(setq modus-themes-headings
- (quote ((1 . (background overline rainbow 1.5))
- (2 . (background overline 1.3))
- (t . (overline semibold)))))
+ (quote ((1 . (variable-pitch 1.5))
+ (2 . (1.3))
+ (agenda-date . (1.3))
+ (agenda-structure . (variable-pitch light 1.8))
+ (t . (1.1)))))
When defining the styles per heading level, it is possible to
pass a non-nil value (t) instead of a list of properties. This
@@ -1646,566 +488,51 @@ will retain the original aesthetic for that level. For example:
(setq modus-themes-headings
(quote ((1 . t) ; keep the default style
- (2 . (background overline))
- (t . (rainbow))))) ; style for all other headings
+ (2 . (semibold 1.2))
+ (t . (variable-pitch))))) ; style for all other headings
(setq modus-themes-headings
- (quote ((1 . (background overline))
- (2 . (rainbow semibold))
+ (quote ((1 . (variable-pitch extrabold 1.5))
+ (2 . (semibold))
(t . t)))) ; default style for all other levels
-For Org users, the extent of the heading depends on the variable
-`org-fontify-whole-heading-line'. This affects the `overline'
-and `background' properties. Depending on the version of Org,
-there may be others, such as `org-fontify-done-headline'."
+Note that the text color of headings, of their background, and
+overline can all be set via the overrides. It is possible to
+have any color combination for any heading level (something that
+could not be done in older versions of the themes).
+
+Read Info node `(modus-themes) Option for palette overrides' as
+well as Info node `(modus-themes) Make headings more or less
+colorful'. Else check `modus-themes-common-palette-overrides'
+and related user options."
:group 'modus-themes
- :package-version '(modus-themes . "2.5.0")
- :version "29.1"
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:type `(alist
:options ,(mapcar (lambda (el)
- (list el modus-themes--headings-choice))
- '(0 1 2 3 4 5 6 7 8 t))
+ (list el modus-themes--headings-widget))
+ '(0 1 2 3 4 5 6 7 8 t agenda-date agenda-structure))
:key-type symbol
- :value-type ,modus-themes--headings-choice)
+ :value-type ,modus-themes--headings-widget)
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Heading styles"))
-(defcustom modus-themes-org-agenda nil
- "Control the style of individual Org agenda constructs.
-
-This is an alist that accepts a (key . value) combination. Here
-is a sample, followed by a description of all possible
-combinations:
-
- (setq modus-themes-org-agenda
- (quote ((header-block . (variable-pitch 1.5 semibold))
- (header-date . (grayscale workaholic bold-today 1.2))
- (event . (accented italic varied))
- (scheduled . uniform)
- (habit . traffic-light))))
-
-A `header-block' key applies to elements that concern the
-headings which demarcate blocks in the structure of the agenda.
-By default (a nil value) those are rendered in a bold typographic
-weight, plus a height that is slightly taller than the default
-font size. Acceptable values come in the form of a list that can
-include either or both of those properties:
-
-- `variable-pitch' to use a proportionately spaced typeface;
-
-- A number as a floating point (e.g. 1.5) to set the height of
- the text to that many times the default font height. A float
- of 1.0 or the symbol `no-scale' have the same effect of making
- the font the same height as the rest of the buffer. When
- neither a number nor `no-scale' are present, the default is a
- small increase in height (a value of 1.15).
-
- Instead of a floating point, an acceptable value can be in the
- form of a cons cell like (height . FLOAT) or (height FLOAT),
- where FLOAT is the given number.
-
-- The symbol of a weight attribute adjusts the font of the
- heading accordingly, such as `light', `semibold', etc. Valid
- symbols are defined in the variable `modus-themes-weights'.
- The absence of a weight means that bold will be used by virtue
- of inheriting the `bold' face (check the manual for tweaking
- bold and italic faces).
-
-In case both a number and `no-scale' are in the list, the latter
-takes precedence. If two numbers are specified, the first one is
-applied.
-
-Example usage:
-
- (header-block . nil)
- (header-block . (1.5))
- (header-block . (no-scale))
- (header-block . (variable-pitch 1.5))
- (header-block . (variable-pitch 1.5 semibold))
-
-A `header-date' key covers date headings. Dates use only a
-foreground color by default (a nil value), with weekdays and
-weekends having a slight difference in hueness. The current date
-has an added gray background. This key accepts a list of values
-that can include any of the following properties:
-
-- `grayscale' to make weekdays use the main foreground color and
- weekends a more subtle gray;
-
-- `workaholic' to make weekdays and weekends look the same in
- terms of color;
-
-- `bold-today' to apply a bold typographic weight to the current
- date;
-
-- `bold-all' to render all date headings in a bold weight;
-
-- `underline-today' applies an underline to the current date
- while removing the background it has by default;
-
-- A number as a floating point (e.g. 1.2) to set the height of
- the text to that many times the default font height. The
- default is the same as the base font height (the equivalent of
- 1.0). Instead of a floating point, an acceptable value can be
- in the form of a cons cell like (height . FLOAT) or (height
- FLOAT), where FLOAT is the given number.
-
-For example:
-
- (header-date . nil)
- (header-date . (workaholic))
- (header-date . (grayscale bold-all))
- (header-date . (grayscale workaholic))
- (header-date . (grayscale workaholic bold-today))
- (header-date . (grayscale workaholic bold-today 1.2))
-
-An `event' key covers (i) headings with a plain time stamp that
-are shown on the agenda, also known as events, (ii) entries
-imported from the diary, and (iii) other items that derive from a
-symbolic expression or sexp (phases of the moon, holidays, etc.).
-By default all those look the same and have a subtle foreground
-color (the default is a nil value or an empty list). This key
-accepts a list of properties. Those are:
-
-- `accented' applies an accent value to the event's foreground,
- replacing the original gray. It makes all entries stand out more.
-- `italic' adds a slant to the font's forms (italic or oblique
- forms, depending on the typeface).
-- `varied' differentiates between events with a plain time stamp
- and entries that are generated from either the diary or a
- symbolic expression. It generally puts more emphasis on
- events. When `varied' is combined with `accented', it makes
- only events use an accent color, while diary/sexp entries
- retain their original subtle foreground. When `varied' is used
- in tandem with `italic', it applies a slant only to diary and
- sexp entries, not events. And when `varied' is the sole
- property passed to the `event' key, it has the same meaning as
- the list (italic varied). The combination of `varied',
- `accented', `italic' covers all of the aforementioned cases.
-
-For example:
-
- (event . nil)
- (event . (italic))
- (event . (accented italic))
- (event . (accented italic varied))
-
-A `scheduled' key applies to tasks with a scheduled date. By
-default (a nil value), these use varying shades of yellow to
-denote (i) a past or current date and (ii) a future date. Valid
-values are symbols:
-
-- nil (default);
-- `uniform' to make all scheduled dates the same color;
-- `rainbow' to use contrasting colors for past, present, future
- scheduled dates.
-
-For example:
-
- (scheduled . nil)
- (scheduled . uniform)
- (scheduled . rainbow)
-
-A `habit' key applies to the `org-habit' graph. All possible
-value are passed as a symbol. Those are:
-
-- The default (nil) is meant to conform with the original
- aesthetic of `org-habit'. It employs all four color codes that
- correspond to the org-habit states---clear, ready, alert, and
- overdue---while distinguishing between their present and future
- variants. This results in a total of eight colors in use: red,
- yellow, green, blue, in tinted and shaded versions. They cover
- the full set of information provided by the `org-habit'
- consistency graph.
-
-- `simplified' is like the default except that it removes the
- dichotomy between current and future variants by applying
- uniform color-coded values. It applies a total of four colors:
- red, yellow, green, blue. They produce a simplified
- consistency graph that is more legible (or less \"busy\") than
- the default. The intent is to shift focus towards the
- distinction between the four states of a habit task, rather
- than each state's present/future outlook.
-
-- `traffic-light' further reduces the available colors to red,
- yellow, and green. As in `simplified', present and future
- variants appear uniformly, but differently from it, the CLEAR
- state is rendered in a green hue, instead of the original blue.
- This is meant to capture the use-case where a habit task being
- too early is less important than it being too late. The
- difference between READY and CLEAR states is attenuated by
- painting both of them using shades of green. This option thus
- highlights the alert and overdue states.
-
-- When `modus-themes-deuteranopia' is non-nil the exact style of
- the habit graph adapts to the needs of users with red-green
- color deficiency by substituting every instance of green with
- blue or cyan (depending on the specifics).
-
-For example:
-
- (habit . nil)
- (habit . simplified)
- (habit . traffic-light)"
- :group 'modus-themes
- :package-version '(modus-themes . "2.3.0")
- :version "29.1"
- :type '(set
- (cons :tag "Block header"
- (const header-block)
- (set :tag "Header presentation" :greedy t
- (choice :tag "Font style"
- (const :tag "Use the original typeface (default)" nil)
- (const :tag "Use `variable-pitch' font" variable-pitch))
- (choice :tag "Font weight (must be supported by the typeface)"
- (const :tag "Bold (default)" nil)
- (const :tag "Thin" thin)
- (const :tag "Ultra-light" ultralight)
- (const :tag "Extra-light" extralight)
- (const :tag "Light" light)
- (const :tag "Semi-light" semilight)
- (const :tag "Regular" regular)
- (const :tag "Medium" medium)
- (const :tag "Semi-bold" semibold)
- (const :tag "Extra-bold" extrabold)
- (const :tag "Ultra-bold" ultrabold))
- (radio :tag "Scaling"
- (const :tag "Slight increase in height (default)" nil)
- (const :tag "Do not scale" no-scale)
- (radio :tag "Number (float) to adjust height by"
- (float :tag "Just the number")
- (cons :tag "Cons cell of `(height . FLOAT)'"
- (const :tag "The `height' key (constant)" height)
- (float :tag "Floating point"))))))
- (cons :tag "Date header" :greedy t
- (const header-date)
- (set :tag "Header presentation" :greedy t
- (const :tag "Use grayscale for date headers" grayscale)
- (const :tag "Do not differentiate weekdays from weekends" workaholic)
- (const :tag "Make today bold" bold-today)
- (const :tag "Make all dates bold" bold-all)
- (const :tag "Make today underlined; remove the background" underline-today)
- (radio :tag "Number (float) to adjust height by"
- (float :tag "Just the number")
- (cons :tag "Cons cell of `(height . FLOAT)'"
- (const :tag "The `height' key (constant)" height)
- (float :tag "Floating point")))))
- (cons :tag "Event entry" :greedy t
- (const event)
- (set :tag "Text presentation" :greedy t
- (const :tag "Apply an accent color" accented)
- (const :tag "Italic font slant (oblique forms)" italic)
- (const :tag "Differentiate events from diary/sexp entries" varied)))
- (cons :tag "Scheduled tasks"
- (const scheduled)
- (choice (const :tag "Yellow colors to distinguish current and future tasks (default)" nil)
- (const :tag "Uniform subtle warm color for all scheduled tasks" uniform)
- (const :tag "Rainbow-colored scheduled tasks" rainbow)))
- (cons :tag "Habit graph"
- (const habit)
- (choice (const :tag "Follow the original design of `org-habit' (default)" nil)
- (const :tag "Do not distinguish between present and future variants" simplified)
- (const :tag "Use only red, yellow, green" traffic-light))))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Org agenda"))
-
-(defcustom modus-themes-fringes 'subtle
- "Control the visibility of fringes.
-
-When the value is nil, do not apply a distinct background color.
-
-With a value of `subtle' use a gray background color that is
-visible yet close to the main background color.
-
-With `intense' use a more pronounced gray background color."
- :group 'modus-themes
- :package-version '(modus-themes . "3.0.0")
- :version "29.1"
- :type '(choice
- (const :format "[%v] %t\n" :tag "No visible fringes" nil)
- (const :format "[%v] %t\n" :tag "Subtle gray background" subtle)
- (const :format "[%v] %t\n" :tag "Intense gray background" intense))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Fringes"))
-
-(defcustom modus-themes-lang-checkers nil
- "Control the style of spelling and code checkers/linters.
-
-The value is a list of properties, each designated by a symbol.
-The default (nil) applies a color-coded underline to the affected
-text, while it leaves the original foreground intact. If the
-display spec of Emacs has support for it, the underline's style
-is that of a wave, otherwise it is a straight line.
-
-The property `straight-underline' ensures that the underline
-under the affected text is always drawn as a straight line.
-
-The property `text-also' applies the same color of the underline
-to the affected text.
-
-The property `background' adds a color-coded background.
-
-The property `intense' amplifies the applicable colors if
-`background' and/or `text-also' are set. If `intense' is set on
-its own, then it implies `text-also'.
-
-The property `faint' uses nuanced colors for the underline and
-for the foreground when `text-also' is included. If both `faint'
-and `intense' are specified, the former takes precedence.
-
-Combinations of any of those properties can be expressed in a
-list, as in those examples:
-
- (background)
- (straight-underline intense)
- (background text-also straight-underline)
-
-The order in which the properties are set is not significant.
-
-In user configuration files the form may look like this:
-
- (setq modus-themes-lang-checkers (quote (text-also background)))
-
-NOTE: The placement of the straight underline, though not the
-wave style, is controlled by the built-in variables
-`underline-minimum-offset', `x-underline-at-descent-line',
-`x-use-underline-position-properties'.
-
-To disable fringe indicators for Flymake or Flycheck, refer to
-variables `flymake-fringe-indicator-position' and
-`flycheck-indication-mode', respectively."
- :group 'modus-themes
- :package-version '(modus-themes . "1.7.0")
- :version "29.1"
- :type '(set :tag "Properties" :greedy t
- (const :tag "Straight underline" straight-underline)
- (const :tag "Colorise text as well" text-also)
- (const :tag "With background" background)
- (choice :tag "Overall coloration"
- (const :tag "Intense colors" intense)
- (const :tag "Faint colors" faint)))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Language checkers"))
-
-(defcustom modus-themes-org-blocks nil
- "Set the overall style of Org code blocks, quotes, and the like.
-
-Nil (the default) means that the block has no background of its
-own: it uses the one that applies to the rest of the buffer. In
-this case, the delimiter lines have a gray color for their text,
-making them look exactly like all other Org properties.
-
-Option `gray-background' applies a subtle gray background to the
-block's contents. It also affects the begin and end lines of the
-block as they get another shade of gray as their background,
-which differentiates them from the contents of the block. All
-background colors extend to the edge of the window, giving the
-area a rectangular, \"blocky\" presentation.
-
-Option `tinted-background' uses a slightly colored background for
-the contents of the block. The exact color will depend on the
-programming language and is controlled by the variable
-`org-src-block-faces' (refer to the theme's source code for the
-current association list). For this to take effect, the Org
-buffer needs to be restarted with `org-mode-restart'. In this
-scenario, it may be better to inhibit the extension of the
-delimiter lines' background to the edge of the window because Org
-does not provide a mechanism to update their colors depending on
-the contents of the block. Disable the extension of such
-backgrounds by setting `org-fontify-whole-block-delimiter-line'
-to nil.
-
-Code blocks use their major mode's colors only when the variable
-`org-src-fontify-natively' is non-nil. While quote/verse blocks
-require setting `org-fontify-quote-and-verse-blocks' to a non-nil
-value.
-
-Older versions of the themes provided options `grayscale' (or
-`greyscale') and `rainbow'. Those will continue to work as they
-are aliases for `gray-background' and `tinted-background',
-respectively."
- :group 'modus-themes
- :package-version '(modus-themes . "2.1.0")
- :version "28.1"
- :type '(choice
- (const :format "[%v] %t\n" :tag "No Org block background (default)" nil)
- (const :format "[%v] %t\n" :tag "Subtle gray block background" gray-background)
- (const :format "[%v] %t\n" :tag "Alias for `gray-background'" grayscale) ; for backward compatibility
- (const :format "[%v] %t\n" :tag "Alias for `gray-background'" greyscale)
- (const :format "[%v] %t\n" :tag "Color-coded background per programming language" tinted-background)
- (const :format "[%v] %t\n" :tag "Alias for `tinted-background'" rainbow)) ; back compat
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Org mode blocks"))
-
-(defcustom modus-themes-mode-line nil
- "Control the overall style of the mode line.
-
-The value is a list of properties, each designated by a symbol.
-The default (a nil value or an empty list) is a two-dimensional
-rectangle with a border around it. The active and the inactive
-mode lines use different shades of grayscale values for the
-background, foreground, border.
-
-The `3d' property applies a three-dimensional effect to the
-active mode line. The inactive mode lines remain two-dimensional
-and are toned down a bit, relative to the default style.
-
-The `moody' property optimizes the mode line for use with the
-library of the same name (hereinafter referred to as Moody).
-In practice, it removes the box effect and replaces it with
-underline and overline properties. It also tones down the
-inactive mode lines. Despite its intended purpose, this option
-can also be used without the Moody library (please consult the
-themes' manual on this point for more details). If both `3d' and
-`moody' properties are set, the latter takes precedence.
-
-The `borderless' property removes the color of the borders. It
-does not actually remove the borders, but only makes their color
-the same as the background, effectively creating some padding.
-
-The `accented' property ensures that the active mode line uses a
-colored background instead of the standard shade of gray.
-
-A positive integer (natural number or natnum) applies a padding
-effect of NATNUM pixels at the boundaries of the mode lines. The
-default value is 1 and does not need to be specified explicitly.
-The padding has no effect when the `moody' property is also used,
-because Moody already applies its own tweaks. To ensure that the
-underline is placed at the bottom of the mode line, set
-`x-underline-at-descent-line' to non-nil (this is not needed when
-the `borderless' property is also set). For users on Emacs 29,
-the `x-use-underline-position-properties' variable must also be
-set to nil.
-
-The padding can also be expressed as a cons cell in the form
-of (padding . NATNUM) or (padding NATNUM) where the key is
-constant and NATNUM is the desired natural number.
-
-A floating point (e.g. 0.9) applies an adjusted height to the
-mode line's text as a multiple of the main font size. The
-default rate is 1.0 and does not need to be specified. Apart
-from a floating point, the height may also be expressed as a cons
-cell in the form of (height . FLOAT) or (height FLOAT) where the
-key is constant and the FLOAT is the desired number.
-
-Combinations of any of those properties are expressed as a list,
-like in these examples:
-
- (accented)
- (borderless 3d)
- (moody accented borderless)
-
-Same as above, using the padding and height as an example (these
-all yield the same result):
-
- (accented borderless 4 0.9)
- (accented borderless (padding . 4) (height . 0.9))
- (accented borderless (padding 4) (height 0.9))
-
-The order in which the properties are set is not significant.
-
-In user configuration files the form may look like this:
-
- (setq modus-themes-mode-line (quote (borderless accented)))
-
-Note that Moody does not expose any faces that the themes could
-style directly. Instead it re-purposes existing ones to render
-its tabs and ribbons. As such, there may be cases where the
-contrast ratio falls below the 7:1 target that the themes conform
-with (WCAG AAA). To hedge against this, we configure a fallback
-foreground for the `moody' property, which will come into effect
-when the background of the mode line changes to something less
-accessible, such as Moody ribbons (read the doc string of
-`set-face-attribute', specifically `:distant-foreground'). This
-fallback is activated when Emacs determines that the background
-and foreground of the given construct are too close to each other
-in terms of color distance. In practice, users will need to
-experiment with the variable `face-near-same-color-threshold' to
-trigger the effect. We find that a value of 45000 shall suffice,
-contrary to the default 30000. Though for the combinations that
-involve the `accented' and `moody' properties, as mentioned
-above, that should be raised up to 70000. Do not set it too
-high, because it has the adverse effect of always overriding the
-default colors (which have been carefully designed to be highly
-accessible).
-
-Furthermore, because Moody expects an underline and overline
-instead of a box style, it is strongly advised to set
-`x-underline-at-descent-line' to a non-nil value."
- :group 'modus-themes
- :package-version '(modus-themes . "2.3.0")
- :version "29.1"
- :type '(set :tag "Properties" :greedy t
- (choice :tag "Overall style"
- (const :tag "Rectangular Border" nil)
- (const :tag "3d borders" 3d)
- (const :tag "No box effects (Moody-compatible)" moody))
- (const :tag "Colored background" accented)
- (const :tag "Without border color" borderless)
- (radio :tag "Padding"
- (natnum :tag "Natural number (e.g. 4)")
- (cons :tag "Cons cell of `(padding . NATNUM)'"
- (const :tag "The `padding' key (constant)" padding)
- (natnum :tag "Natural number")))
- (radio :tag "Height"
- (float :tag "Floating point (e.g. 0.9)")
- (cons :tag "Cons cell of `(height . FLOAT)'"
- (const :tag "The `height' key (constant)" height)
- (float :tag "Floating point"))))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Mode line"))
-
-(defcustom modus-themes-diffs nil
- "Adjust the overall style of diffs.
-
-The default (nil) uses fairly intense color combinations for
-diffs, by applying prominently colored backgrounds, with
-appropriately tinted foregrounds.
-
-Option `desaturated' follows the same principles as with the
-default (nil), though it tones down all relevant colors.
-
-Option `bg-only' applies a background but does not override the
-text's foreground. This makes it suitable for a non-nil value
-passed to `diff-font-lock-syntax' (note: Magit does not support
-syntax highlighting in diffs---last checked on 2021-12-02).
+(make-obsolete-variable 'modus-themes-org-blocks nil "4.4.0: Use palette overrides")
-When the user option `modus-themes-deuteranopia' is non-nil, all
-diffs will use a red/blue color-coding system instead of the
-standard red/green. Other stylistic changes are made in the
-interest of optimizing for such a use-case."
- :group 'modus-themes
- :package-version '(modus-themes . "2.0.0")
- :version "29.1"
- :type '(choice
- (const :format "[%v] %t\n" :tag "Intensely colored backgrounds (default)" nil)
- (const :format "[%v] %t\n" :tag "Slightly accented backgrounds with tinted text" desaturated)
- (const :format "[%v] %t\n" :tag "Apply color-coded backgrounds; keep syntax colors intact" bg-only))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Diffs"))
-
-(defcustom modus-themes-completions
- '((selection . (intense))
- (popup . (intense)))
+(defcustom modus-themes-completions nil
"Control the style of completion user interfaces.
-This affects Company, Corfu, Flx, Helm, Icomplete/Fido, Ido, Ivy,
-Orderless, Selectrum, Vertico. The value is an alist that takes
-the form of a (KEY . PROPERTIES) combination. KEY is a symbol,
-while PROPERTIES is a list. Here is a sample, followed by a
-description of the particularities:
+This affects Company, Corfu, Flx, Icomplete/Fido, Ido, Ivy,
+Orderless, Vertico, and the standard *Completions* buffer. The
+value is an alist of expressions, each of which takes the form
+of (KEY . LIST-OF-PROPERTIES). KEY is a symbol, while PROPERTIES
+is a list. Here is a sample, followed by a description of the
+particularities:
(setq modus-themes-completions
- (quote ((matches . (extrabold background intense))
- (selection . (semibold accented intense))
- (popup . (accented)))))
+ (quote ((matches . (extrabold underline))
+ (selection . (semibold italic)))))
The `matches' key refers to the highlighted characters that
correspond to the user's input. When its properties are nil or
@@ -2214,11 +541,6 @@ have a bold weight and a colored foreground. The list of
properties may include any of the following symbols regardless of
the order they may appear in:
-- `background' to add a background color;
-
-- `intense' to increase the overall coloration (also amplifies
- the `background', if present);
-
- `underline' to draw a line below the characters;
- `italic' to use a slanted font (italic or oblique forms);
@@ -2235,13 +557,6 @@ a subtle gray background, a bold weight, and the base foreground
value for the text. The list of properties it accepts is as
follows (order is not significant):
-- `accented' to make the background colorful instead of gray;
-
-- `text-also' to apply extra color to the text of the selected
- line;
-
-- `intense' to increase the overall coloration;
-
- `underline' to draw a line below the characters;
- `italic' to use a slanted font (italic or oblique forms);
@@ -2251,99 +566,39 @@ follows (order is not significant):
variable `modus-themes-weights'. The absence of a weight means
that bold will be used.
-The `popup' key takes the same values as `selection'. The only
-difference is that it applies specifically to user interfaces
-that display an inline popup and thus have slightly different
-styling requirements than the minibuffer. The two prominent
-packages are `company' and `corfu'.
-
-Apart from specifying each key separately, a fallback list is
+Apart from specifying each key separately, a catch-all list is
accepted. This is only useful when the desired aesthetic is the
same across all keys that are not explicitly referenced. For
example, this:
(setq modus-themes-completions
- (quote ((t . (extrabold intense)))))
+ (quote ((t . (extrabold underline)))))
Is the same as:
(setq modus-themes-completions
- (quote ((matches . (extrabold intense))
- (selection . (extrabold intense))
- (popup . (extrabold intense)))))
-
-In the case of the fallback, any property that does not apply to
-the corresponding key is simply ignored (`matches' does not have
-`accented' and `text-also', while `selection' and `popup' do not
-have `background').
-
-Check the manual for tweaking `bold' and `italic' faces: Info
-node `(modus-themes) Configure bold and italic faces'.
-
-Also refer to the documentation of the `orderless' package for
-its intersection with `company' (if you choose to use those in
-tandem)."
+ (quote ((matches . (extrabold underline))
+ (selection . (extrabold underline)))))"
:group 'modus-themes
- :package-version '(modus-themes . "3.0.0")
- :version "29.1"
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
:type `(set
(cons :tag "Matches"
(const matches)
(set :tag "Style of matches" :greedy t
- (choice :tag "Font weight (must be supported by the typeface)"
- (const :tag "Bold (default)" nil)
- (const :tag "Thin" thin)
- (const :tag "Ultra-light" ultralight)
- (const :tag "Extra-light" extralight)
- (const :tag "Light" light)
- (const :tag "Semi-light" semilight)
- (const :tag "Regular" regular)
- (const :tag "Medium" medium)
- (const :tag "Semi-bold" semibold)
- (const :tag "Extra-bold" extrabold)
- (const :tag "Ultra-bold" ultrabold))
- (const :tag "With added background" background)
- (const :tag "Increased coloration" intense)
+ ,modus-themes--weight-widget
(const :tag "Italic font (oblique or slanted forms)" italic)
(const :tag "Underline" underline)))
(cons :tag "Selection"
(const selection)
(set :tag "Style of selection" :greedy t
- (choice :tag "Font weight (must be supported by the typeface)"
- (const :tag "Bold (default)" nil)
- (const :tag "Thin" thin)
- (const :tag "Ultra-light" ultralight)
- (const :tag "Extra-light" extralight)
- (const :tag "Light" light)
- (const :tag "Semi-light" semilight)
- (const :tag "Regular" regular)
- (const :tag "Medium" medium)
- (const :tag "Semi-bold" semibold)
- (const :tag "Extra-bold" extrabold)
- (const :tag "Ultra-bold" ultrabold))
- (const :tag "Apply color to the line's text" text-also)
- (const :tag "With accented background" accented)
- (const :tag "Increased coloration" intense)
+ ,modus-themes--weight-widget
(const :tag "Italic font (oblique or slanted forms)" italic)
(const :tag "Underline" underline)))
- (cons :tag "Popup"
- (const popup)
- (set :tag "Style of completion pop-ups" :greedy t
- (choice :tag "Font weight (must be supported by the typeface)"
- (const :tag "Bold (default)" nil)
- (const :tag "Thin" thin)
- (const :tag "Ultra-light" ultralight)
- (const :tag "Extra-light" extralight)
- (const :tag "Light" light)
- (const :tag "Semi-light" semilight)
- (const :tag "Regular" regular)
- (const :tag "Medium" medium)
- (const :tag "Semi-bold" semibold)
- (const :tag "Extra-bold" extrabold)
- (const :tag "Ultra-bold" ultrabold))
- (const :tag "Apply color to the line's text" text-also)
- (const :tag "With accented background" accented)
- (const :tag "Increased coloration" intense)
+ (cons :tag "Fallback for both matches and selection"
+ (const t)
+ (set :tag "Style of both matches and selection" :greedy t
+ ,modus-themes--weight-widget
(const :tag "Italic font (oblique or slanted forms)" italic)
(const :tag "Underline" underline))))
:set #'modus-themes--set-option
@@ -2355,512 +610,715 @@ tandem)."
The value is a list of properties, each designated by a symbol.
The default (a nil value or an empty list) means to only use a
-subtle accented foreground color.
-
-The property `background' applies a background color to the
-prompt's text. By default, this is a subtle accented value.
+subtle colored foreground color.
-The property `intense' makes the foreground color more prominent.
-If the `background' property is also set, it amplifies the value
-of the background as well.
-
-The property `gray' changes the prompt's colors to grayscale.
-This affects the foreground and, if the `background' property is
-also set, the background. Its effect is subtle, unless it is
-combined with the `intense' property.
-
-The property `bold' makes the text use a bold typographic weight.
-Similarly, `italic' adds a slant to the font's forms (italic or
+The `italic' property adds a slant to the font's forms (italic or
oblique forms, depending on the typeface).
-Combinations of any of those properties are expressed as a list,
-like in these examples:
-
- (intense)
- (bold intense)
- (intense bold gray)
- (intense background gray bold)
-
-The order in which the properties are set is not significant.
-
-In user configuration files the form may look like this:
-
- (setq modus-themes-prompts (quote (background gray)))"
- :group 'modus-themes
- :package-version '(modus-themes . "1.5.0")
- :version "28.1"
- :type '(set :tag "Properties" :greedy t
- (const :tag "With Background" background)
- (const :tag "Intense" intense)
- (const :tag "Grayscale" gray)
- (const :tag "Bold font weight" bold)
- (const :tag "Italic font slant" italic))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Command prompts"))
-
-(defcustom modus-themes-hl-line '(intense)
- "Control the current line highlight of `hl-line-mode'.
-
-The value is a list of properties, each designated by a symbol.
-With a nil value, or an empty list, the style is a subtle gray
-background color.
-
-The property `accented' changes the background to a colored
-variant.
-
-An `underline' property draws a line below the highlighted area.
-Its color is similar to the background, so gray by default or an
-accent color when `accented' is also set.
-
-An `intense' property amplifies the colors in use, which may be
-both the background and the underline.
-
-Combinations of any of those properties are expressed as a list,
-like in these examples:
-
- (intense)
- (underline intense)
- (accented intense underline)
-
-The order in which the properties are set is not significant.
-
-In user configuration files the form may look like this:
-
- (setq modus-themes-hl-line (quote (underline accented)))
-
-Set `x-underline-at-descent-line' to a non-nil value so that the
-placement of the underline coincides with the lower boundary of
-the colored background."
- :group 'modus-themes
- :package-version '(modus-themes . "3.0.0")
- :version "29.1"
- :type '(set :tag "Properties" :greedy t
- (const :tag "Colored background" accented)
- (const :tag "Underline" underline)
- (const :tag "Intense style" intense))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Line highlighting"))
-
-(defcustom modus-themes-subtle-line-numbers nil
- "Use more subtle style for command `display-line-numbers-mode'."
- :group 'modus-themes
- :package-version '(modus-themes . "1.2.0")
- :version "28.1"
- :type 'boolean
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Line numbers"))
-
-(defcustom modus-themes-markup nil
- "Style markup in Org, Markdown, and others.
-
-This affects constructs such as Org's =verbatim= and ~code~.
-
-The value is a list of properties, each designated by a symbol.
-The default (a nil value or an empty list) is a foreground
-color.
-
-The `italic' property applies a typographic slant (italics).
-
-The `bold' property applies a heavier typographic weight.
-
-The `background' property adds a background color. The
-background is a shade of gray, unless the `intense' property is
-also set.
-
-The `intense' property amplifies the existing coloration. When
-`background' is used, the background color is enhanced as well
-and becomes tinted instead of being gray.
+The symbol of a font weight attribute such as `light', `semibold',
+et cetera, adds the given weight to links. Valid symbols are
+defined in the variable `modus-themes-weights'. The absence of a
+weight means that the one of the underlying text will be used.
Combinations of any of those properties are expressed as a list,
like in these examples:
- (bold)
(bold italic)
- (bold italic intense)
- (bold italic intense background)
+ (italic semibold)
The order in which the properties are set is not significant.
In user configuration files the form may look like this:
- (setq modus-themes-markup (quote (bold italic)))
-
-Also check the variables `org-hide-emphasis-markers',
-`org-hide-macro-markers'."
+ (setq modus-themes-prompts (quote (extrabold italic)))"
:group 'modus-themes
- :package-version '(modus-themes . "2.1.0")
- :version "29.1"
- :type '(set :tag "Properties" :greedy t
- (const :tag "Added background" background)
- (const :tag "Intense colors" intense)
- (const :tag "Bold weight" bold)
- (const :tag "Italics (slanted text)" italic))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Markup"))
-
-(defcustom modus-themes-paren-match nil
- "Control the style of matching parentheses or delimiters.
-
-The value is a list of properties, each designated by a symbol.
-The default (a nil value or an empty list) is a subtle background
-color.
-
-The `bold' property adds a bold weight to the characters of the
-matching delimiters.
-
-The `intense' property applies a more prominent background color
-to the delimiters.
-
-The `underline' property draws a straight line under the affected
-text.
-
-Combinations of any of those properties are expressed as a list,
-like in these examples:
-
- (bold)
- (underline intense)
- (bold intense underline)
-
-The order in which the properties are set is not significant.
-
-In user configuration files the form may look like this:
-
- (setq modus-themes-paren-match (quote (bold intense)))"
- :group 'modus-themes
- :package-version '(modus-themes . "1.5.0")
- :version "28.1"
- :type '(set :tag "Properties" :greedy t
- (const :tag "Bold weight" bold)
- (const :tag "Intense background color" intense)
- (const :tag "Underline" underline))
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :type `(set :tag "Properties" :greedy t
+ (const :tag "Italic font slant" italic)
+ ,modus-themes--weight-widget)
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Matching parentheses"))
-
-(defcustom modus-themes-syntax nil
- "Control the overall style of code syntax highlighting.
-
-The value is a list of properties, each designated by a symbol.
-The default (a nil value or an empty list) is to use a balanced
-combination of colors on the cyan-blue-magenta side of the
-spectrum. There is little to no use of greens, yellows, and
-reds. Comments are gray, strings are blue colored, doc strings
-are a shade of cyan, while color combinations are designed to
-avoid exaggerations.
-
-The property `faint' fades the saturation of all applicable
-colors, where that is possible or appropriate.
-
-The property `yellow-comments' applies a yellow color to
-comments.
-
-The property `green-strings' applies a green color to strings and
-a green tint to doc strings.
-
-The property `alt-syntax' changes the combination of colors
-beyond strings and comments, so that the effective palette is
-broadened to provide greater variety relative to the default.
-
-Combinations of any of those properties are expressed as a list,
-like in these examples:
+ :link '(info-link "(modus-themes) Command prompts"))
- (faint)
- (green-strings yellow-comments)
- (alt-syntax green-strings yellow-comments)
- (faint alt-syntax green-strings yellow-comments)
+(defcustom modus-themes-common-palette-overrides nil
+ "Set palette overrides for all the Modus themes.
-The order in which the properties are set is not significant.
+Mirror the elements of a theme's palette, overriding their value.
+The palette variables are named THEME-NAME-palette, while
+individual theme overrides are THEME-NAME-palette-overrides. The
+THEME-NAME is one of the symbols in `modus-themes-items'. For
+example:
-In user configuration files the form may look like this:
+- `modus-operandi-palette'
+- `modus-operandi-palette-overrides'
- (setq modus-themes-syntax (quote (faint alt-syntax)))
+Individual theme overrides take precedence over these common
+overrides.
-Independent of this variable, users may also control the use of a
-bold weight or italic text: `modus-themes-bold-constructs' and
-`modus-themes-italic-constructs'."
+The idea of common overrides is to change semantic color
+mappings, such as to make the cursor red. Wherea theme-specific
+overrides can also be used to change the value of a named color,
+such as what hexadecimal RGB value the red-warmer symbol
+represents."
:group 'modus-themes
- :package-version '(modus-themes . "1.5.0")
- :version "28.1"
- :type '(set :tag "Properties" :greedy t
- (const :tag "Faint colors" faint)
- (const :tag "Yellow comments" yellow-comments)
- (const :tag "Green strings" green-strings)
- (const :tag "Alternative set of colors" alt-syntax))
+ :package-version '(modus-themes . "4.0.0")
+ :version "30.1"
+ :type '(repeat (list symbol (choice symbol string)))
+ ;; ;; NOTE 2023-01-07: The following is a functioning version of the
+ ;; ;; intended :type. However, I think the Custom UI is really
+ ;; ;; awkward for this specific case. Maybe the generic type I have
+ ;; ;; above is better, as it encourages the user to write out the
+ ;; ;; code and read the manual. Counter-arguments are welcome.
+ ;;
+ ;; :type `(repeat (list (radio :tag "Palette key to override"
+ ;; ,@(mapcar (lambda (x)
+ ;; (list 'const x))
+ ;; (mapcar #'car (modus-themes--current-theme-palette))))
+ ;; (choice :tag "Value to assign" :value unspecified
+ ;; (const :tag "`unspecified' (remove the original color)" unspecified)
+ ;; (string :tag "String with color name (e.g. \"gray50\") or hex RGB (e.g. \"#123456\")"
+ ;; :match-inline (color-supported-p val))
+ ;; (radio :tag "Palette key to map to"
+ ;; ,@(mapcar (lambda (x)
+ ;; (list 'const x))
+ ;; (mapcar #'car (modus-themes--current-theme-palette)))))))
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Syntax styles"))
-
-(defcustom modus-themes-links nil
- "Set the style of links.
-
-The value is a list of properties, each designated by a symbol.
-The default (a nil value or an empty list) is a prominent text
-color, typically blue, with an underline of the same color.
-
-For the style of the underline, a `neutral-underline' property
-turns the color of the line into a subtle gray, while the
-`no-underline' property removes the line altogether. If both of
-those are set, the latter takes precedence.
-
-For text coloration, a `faint' property desaturates the color of
-the text and the underline, unless the underline is affected by
-the aforementioned properties. While a `no-color' property
-removes the color from the text. If both of those are set, the
-latter takes precedence.
-
-A `bold' property applies a heavy typographic weight to the text
-of the link.
-
-An `italic' property adds a slant to the link's text (italic or
-oblique forms, depending on the typeface).
-
-A `background' property applies a subtle tinted background color.
+ :link '(info-link "(modus-themes) Palette overrides"))
-In case both `no-underline' and `no-color' are set, then a subtle
-gray background is applied to all links. This can still be
-combined with the `bold' and `italic' properties.
-
-Combinations of any of those properties are expressed as a list,
-like in these examples:
-
- (faint)
- (no-underline faint)
- (no-color no-underline bold)
- (italic bold background no-color no-underline)
-
-The order in which the properties are set is not significant.
-
-In user configuration files the form may look like this:
-
- (setq modus-themes-links (quote (neutral-underline background)))
-
-The placement of the underline, meaning its proximity to the
-text, is controlled by `x-use-underline-position-properties',
-`x-underline-at-descent-line', `underline-minimum-offset'.
-Please refer to their documentation strings."
- :group 'modus-themes
- :package-version '(modus-themes . "1.5.0")
- :version "28.1"
- :type '(set :tag "Properties" :greedy t
- (choice :tag "Text coloration"
- (const :tag "Saturared color (default)" nil)
- (const :tag "Faint coloration" faint)
- (const :tag "No color (use main black/white)" no-color))
- (choice :tag "Underline"
- (const :tag "Same color as text (default)" nil)
- (const :tag "Neutral (gray) underline color" neutral-underline)
- (const :tag "No underline" no-underline))
- (const :tag "Bold font weight" bold)
- (const :tag "Italic font slant" italic)
- (const :tag "Subtle background color" background))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Link styles"))
-
-(defcustom modus-themes-region nil
- "Control the overall style of the active region.
-
-The value is a list of properties, each designated by a symbol.
-The default (a nil value or an empty list) is a prominent gray
-background that overrides all foreground colors in the area it
-encompasses. Its reach extends to the edge of the window.
-
-The `no-extend' property limits the region to the end of the
-line, so that it does not reach the edge of the window.
+
-The `bg-only' property makes the region's background color more
-subtle to allow the underlying text to retain its foreground
-colors.
+;;;; Presets of palette overrides
+
+(defvar modus-themes-preset-overrides-faint
+ '((bg-completion bg-inactive)
+ (bg-hl-line bg-dim)
+ (bg-paren-match bg-cyan-subtle)
+ (bg-region bg-active)
+
+ (bg-mode-line-active bg-inactive)
+ (border-mode-line-active fg-dim)
+ (bg-mode-line-inactive bg-dim)
+ (border-mode-line-inactive bg-active)
+
+ (bg-tab-bar bg-inactive)
+ (bg-tab-current bg-main)
+ (bg-tab-other bg-active)
+
+ (fringe unspecified)
+ (builtin maroon)
+ (comment fg-dim)
+ (constant blue-faint)
+ (docstring fg-alt)
+ (docmarkup magenta-faint)
+ (fnname pink)
+ (keyword indigo)
+ (preprocessor rust)
+ (string slate)
+ (type cyan-faint)
+ (variable cyan-faint)
+ (rx-construct gold)
+ (rx-backslash olive)
+
+ (underline-err red-faint)
+ (underline-warning yellow-faint)
+ (underline-note cyan-faint)
+
+ (bg-button-active bg-main)
+ (fg-button-active fg-main)
+ (bg-button-inactive bg-inactive)
+ (fg-button-inactive "gray50")
+
+ (date-common cyan-faint)
+ (date-deadline red-faint)
+ (date-event fg-alt)
+ (date-holiday magenta)
+ (date-now fg-main)
+ (date-scheduled yellow-faint)
+ (date-weekday fg-dim)
+ (date-weekend fg-dim)
+
+ (name maroon)
+ (identifier fg-dim)
+
+ (fg-line-number-active fg-main)
+ (fg-line-number-inactive "gray50")
+ (bg-line-number-active unspecified)
+ (bg-line-number-inactive unspecified)
+
+ (fg-link blue-faint)
+ (bg-link unspecified)
+ (underline-link bg-active)
+
+ (fg-link-symbolic cyan-faint)
+ (bg-link-symbolic unspecified)
+ (underline-link-symbolic bg-active)
+
+ (fg-link-visited magenta-faint)
+ (bg-link-visited unspecified)
+ (underline-link-visited bg-active)
+
+ (mail-cite-0 cyan-faint)
+ (mail-cite-1 yellow-faint)
+ (mail-cite-2 green-faint)
+ (mail-cite-3 red-faint)
+ (mail-part olive)
+ (mail-recipient indigo)
+ (mail-subject maroon)
+ (mail-other slate)
+
+ (fg-prompt cyan-faint)
+
+ (fg-prose-code olive)
+ (fg-prose-macro indigo)
+ (fg-prose-verbatim maroon)
+
+ (prose-done green-faint)
+ (prose-tag rust)
+ (prose-todo red-faint)
+
+ (rainbow-0 fg-main)
+ (rainbow-1 magenta)
+ (rainbow-2 cyan)
+ (rainbow-3 red-faint)
+ (rainbow-4 yellow-faint)
+ (rainbow-5 magenta-cooler)
+ (rainbow-6 green)
+ (rainbow-7 blue-warmer)
+ (rainbow-8 magenta-faint))
+ "Preset for palette overrides with faint coloration.
+
+This changes many parts of the theme to make them look less
+colorful/intense. Grays are toned down, gray backgrounds are
+removed from some contexts, and almost all accent colors are
+desaturated.
+
+All the preset overrides the themes provide (including this one):
+
+- `modus-themes-preset-overrides-faint'
+- `modus-themes-preset-overrides-intense'
+- `modus-themes-preset-overrides-cooler'
+- `modus-themes-preset-overrides-warmer'
+
+To set a preset, assign its symbol without a quote as the value
+of the `modus-themes-common-palette-overrides' or as the value of
+theme-specific options such as `modus-operandi-palette-overrides'.
+
+For overriding named colors and/or semantic color mappings read
+Info node `(modus-themes) Option for palette overrides'.")
+
+(defvar modus-themes-preset-overrides-intense
+ '((bg-region bg-cyan-intense)
+
+ (bg-completion bg-cyan-subtle)
+ (bg-hover bg-yellow-intense)
+ (bg-hover-secondary bg-magenta-intense)
+ (bg-hl-line bg-cyan-subtle)
+
+ (bg-mode-line-active bg-blue-subtle)
+ (fg-mode-line-active fg-main)
+ (border-mode-line-active blue-intense)
+
+ (fringe bg-inactive)
+ (comment red-faint)
+
+ (date-common cyan)
+ (date-deadline red)
+ (date-event blue)
+ (date-holiday magenta-warmer)
+ (date-now blue-faint)
+ (date-range blue)
+ (date-scheduled yellow-warmer)
+ (date-weekday fg-main)
+ (date-weekend red-faint)
+
+ (keybind blue-intense)
+
+ (mail-cite-0 blue)
+ (mail-cite-1 yellow-cooler)
+ (mail-cite-2 green-warmer)
+ (mail-cite-3 magenta)
+ (mail-part cyan)
+ (mail-recipient magenta-cooler)
+ (mail-subject red-warmer)
+ (mail-other cyan-cooler)
+
+ (fg-prompt blue-intense)
+
+ (bg-prose-block-delimiter bg-dim)
+ (fg-prose-block-delimiter red-faint)
+ (prose-done green-intense)
+ (prose-metadata magenta-faint)
+ (prose-metadata-value blue-cooler)
+ (prose-table blue)
+ (prose-todo red-intense)
+
+ (fg-heading-0 blue-cooler)
+ (fg-heading-1 magenta-cooler)
+ (fg-heading-2 magenta-warmer)
+ (fg-heading-3 blue)
+ (fg-heading-4 cyan)
+ (fg-heading-5 green-warmer)
+ (fg-heading-6 yellow)
+ (fg-heading-7 red)
+ (fg-heading-8 magenta)
+
+ (bg-heading-0 unspecified)
+ (bg-heading-1 bg-magenta-nuanced)
+ (bg-heading-2 bg-red-nuanced)
+ (bg-heading-3 bg-blue-nuanced)
+ (bg-heading-4 bg-cyan-nuanced)
+ (bg-heading-5 bg-green-nuanced)
+ (bg-heading-6 bg-yellow-nuanced)
+ (bg-heading-7 bg-red-nuanced)
+ (bg-heading-8 bg-magenta-nuanced)
+
+ (overline-heading-0 unspecified)
+ (overline-heading-1 magenta-cooler)
+ (overline-heading-2 magenta-warmer)
+ (overline-heading-3 blue)
+ (overline-heading-4 cyan)
+ (overline-heading-5 green)
+ (overline-heading-6 yellow-cooler)
+ (overline-heading-7 red-cooler)
+ (overline-heading-8 magenta))
+ "Preset for palette overrides with intense coloration.
+
+This changes many parts of the theme to make them look more
+colorful/intense. Many background colors are accented and
+coloration is increased to pop out more.
+
+All the preset overrides the themes provide (including this one):
+
+- `modus-themes-preset-overrides-faint'
+- `modus-themes-preset-overrides-intense'
+- `modus-themes-preset-overrides-cooler'
+- `modus-themes-preset-overrides-warmer'
+
+To set a preset, assign its symbol without a quote as the value
+of the `modus-themes-common-palette-overrides' or as the value of
+theme-specific options such as `modus-operandi-palette-overrides'.
+
+For overriding named colors and/or semantic color mappings read
+Info node `(modus-themes) Option for palette overrides'.")
+
+(defvar modus-themes-preset-overrides-cooler
+ '((fg-prompt blue-cooler)
+
+ (builtin magenta-faint)
+ (constant blue-cooler)
+ (fnname cyan-cooler)
+ (keyword magenta-cooler)
+ (preprocessor blue)
+ (string blue-warmer)
+ (type green-cooler)
+ (variable cyan)
+ (rx-construct blue-cooler)
+ (rx-backslash red)
+
+ (name blue-warmer)
+ (identifier magenta-faint)
+
+ (date-deadline magenta-cooler)
+ (date-scheduled yellow-cooler)
+ (date-weekday blue-faint)
+ (date-weekend red-faint)
+
+ (mail-cite-0 blue-faint)
+ (mail-cite-1 cyan-cooler)
+ (mail-cite-2 magenta-faint)
+ (mail-cite-3 yellow-cooler)
+ (mail-part cyan)
+ (mail-recipient blue-warmer)
+ (mail-subject magenta-cooler)
+ (mail-other blue)
+
+ (prose-tag fg-dim)
+ (fg-prose-verbatim blue-cooler))
+ "Preset of palette overrides with cooler colors.
+
+This changes parts of the palette to use more blue and
+blue-tinted colors.
+
+All the preset overrides the themes provide (including this one):
+
+- `modus-themes-preset-overrides-faint'
+- `modus-themes-preset-overrides-intense'
+- `modus-themes-preset-overrides-cooler'
+- `modus-themes-preset-overrides-warmer'
+
+To set a preset, assign its symbol without a quote as the value
+of the `modus-themes-common-palette-overrides' or as the value of
+theme-specific options such as `modus-operandi-palette-overrides'.
+
+For overriding named colors and/or semantic color mappings read
+Info node `(modus-themes) Option for palette overrides'.")
+
+(defvar modus-themes-preset-overrides-warmer
+ '((fg-prompt magenta-warmer)
+
+ (builtin magenta)
+ (constant blue-warmer)
+ (fnname magenta-cooler)
+ (keyword magenta-warmer)
+ (preprocessor red-cooler)
+ (string green-warmer)
+ (type cyan-cooler)
+ (variable cyan)
+ (rx-construct blue-cooler)
+ (rx-backslash red-warmer)
+
+ (name blue-warmer)
+ (identifier magenta)
+ (keybind magenta-warmer)
+
+ (accent-0 magenta-warmer)
+ (accent-1 cyan)
+ (accent-2 blue-warmer)
+ (accent-3 red-cooler)
+
+ (date-common cyan-cooler)
+ (date-holiday magenta-warmer)
+
+ (mail-cite-0 magenta-faint)
+ (mail-cite-1 cyan-cooler)
+ (mail-cite-2 green-warmer)
+ (mail-cite-3 red-faint)
+ (mail-part cyan)
+ (mail-recipient magenta)
+ (mail-subject blue-warmer)
+ (mail-other magenta-warmer)
+
+ (fg-prose-macro red-cooler)
+ (prose-tag fg-dim))
+ "Preset of palette overrides with warmer colors.
+
+This changes many parts of the theme to use warmer colors,
+including green and yellow.
+
+All the preset overrides the themes provide (including this one):
+
+- `modus-themes-preset-overrides-faint'
+- `modus-themes-preset-overrides-intense'
+- `modus-themes-preset-overrides-cooler'
+- `modus-themes-preset-overrides-warmer'
+
+To set a preset, assign its symbol without a quote as the value
+of the `modus-themes-common-palette-overrides' or as the value of
+theme-specific options such as `modus-operandi-palette-overrides'.
+
+For overriding named colors and/or semantic color mappings read
+Info node `(modus-themes) Option for palette overrides'.")
-The `accented' property applies a more colorful background to the
-region.
+
-Combinations of any of those properties are expressed as a list,
-like in these examples:
+;;;; Helper functions for theme setup
- (no-extend)
- (bg-only accented)
- (accented bg-only no-extend)
+;; This is the WCAG formula: https://www.w3.org/TR/WCAG20-TECHS/G18.html
+(defun modus-themes--wcag-contribution (channel weight)
+ "Return the CHANNEL contribution to overall luminance given WEIGHT."
+ (* weight
+ (if (<= channel 0.03928)
+ (/ channel 12.92)
+ (expt (/ (+ channel 0.055) 1.055) 2.4))))
-The order in which the properties are set is not significant.
+(defun modus-themes-wcag-formula (hex)
+ "Get WCAG value of color value HEX.
+The value is defined in hexadecimal RGB notation, such #123456."
+ (let ((channels (color-name-to-rgb hex))
+ (weights '(0.2126 0.7152 0.0722))
+ contribution)
+ (while channels
+ (push (modus-themes--wcag-contribution (pop channels) (pop weights)) contribution))
+ (apply #'+ contribution)))
-In user configuration files the form may look like this:
+;;;###autoload
+(defun modus-themes-contrast (c1 c2)
+ "Measure WCAG contrast ratio between C1 and C2.
+C1 and C2 are color values written in hexadecimal RGB."
+ (let ((ct (/ (+ (modus-themes-wcag-formula c1) 0.05)
+ (+ (modus-themes-wcag-formula c2) 0.05))))
+ (max ct (/ ct))))
- (setq modus-themes-region (quote (bg-only no-extend)))"
- :group 'modus-themes
- :package-version '(modus-themes . "1.5.0")
- :version "28.1"
- :type '(set :tag "Properties" :greedy t
- (const :tag "Do not extend to the edge of the window" no-extend)
- (const :tag "Background only (preserve underlying colors)" bg-only)
- (const :tag "Accented background" accented))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Active region"))
-
-(defcustom modus-themes-deuteranopia nil
- "When non-nil use red/blue color-coding instead of red/green.
-
-This is to account for red-green color deficiency, also know as
-deuteranopia and variants. It applies to all contexts where
-there can be a color-coded distinction between failure or
-success, a to-do or done state, a mark for deletion versus a mark
-for selection (e.g. in Dired), current and lazily highlighted
-search matches, removed lines in diffs as opposed to added ones,
-and so on.
-
-Note that this does not change all colors throughout the active
-theme, but only applies to cases that have color-coding
-significance. For example, regular code syntax highlighting is
-not affected. There is no such need because of the themes'
-overarching commitment to the highest legibility standard, which
-ensures that text is readable regardless of hue, as well as the
-predominance of colors on the blue-cyan-magenta-purple side of
-the spectrum."
- :group 'modus-themes
- :package-version '(modus-themes . "2.0.0")
- :version "29.1"
- :type 'boolean
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Deuteranopia style"))
+(defun modus-themes--modus-p (theme)
+ "Return non-nil if THEME name has a modus- prefix."
+ (string-prefix-p "modus-" (symbol-name theme)))
-(defcustom modus-themes-mail-citations nil
- "Control the color of citations/quotes in messages or emails.
+(defun modus-themes--list-enabled-themes ()
+ "Return list of `custom-enabled-themes' with modus- prefix."
+ (seq-filter #'modus-themes--modus-p custom-enabled-themes))
-By default (a nil value) citations are styled with contrasting
-hues to denote their depth. Colors are easy to tell apart
-because they complement each other, but they otherwise are not
-very prominent.
+(defun modus-themes--load-no-enable (theme)
+ "Load but do not enable THEME if it belongs to `custom-known-themes'."
+ (unless (memq theme custom-known-themes)
+ (load-theme theme :no-confirm :no-enable)))
-Option `intense' is similar to the default in terms of using
-contrasting and complementary hues, but applies more saturated
-colors.
+(defun modus-themes--enable-themes ()
+ "Enable the Modus themes."
+ (mapc #'modus-themes--load-no-enable modus-themes-items))
-Option `faint' maintains the same color-based distinction between
-citation levels though the colors it uses have subtle differences
-between them.
+(defun modus-themes--list-known-themes ()
+ "Return list of `custom-known-themes' with modus- prefix."
+ (modus-themes--enable-themes)
+ (seq-filter #'modus-themes--modus-p custom-known-themes))
-Option `monochrome' turns all quotes into a shade of gray.
+(defun modus-themes--current-theme ()
+ "Return first enabled Modus theme."
+ (car (or (modus-themes--list-enabled-themes)
+ (modus-themes--list-known-themes))))
+
+(defun modus-themes--palette-symbol (theme &optional overrides)
+ "Return THEME palette as a symbol.
+With optional OVERRIDES, return THEME palette overrides as a
+symbol."
+ (when-let ((suffix (cond
+ ((and theme overrides)
+ "palette-overrides")
+ (theme
+ "palette"))))
+ (intern (format "%s-%s" theme suffix))))
+
+(defun modus-themes--palette-value (theme &optional overrides)
+ "Return palette value of THEME with optional OVERRIDES."
+ (let ((base-value (symbol-value (modus-themes--palette-symbol theme))))
+ (if overrides
+ (append (symbol-value (modus-themes--palette-symbol theme :overrides))
+ modus-themes-common-palette-overrides
+ base-value)
+ base-value)))
+
+(defun modus-themes--current-theme-palette (&optional overrides)
+ "Return palette value of active Modus theme, else produce `user-error'.
+With optional OVERRIDES return palette value plus whatever
+overrides."
+ (if-let ((theme (modus-themes--current-theme)))
+ (if overrides
+ (modus-themes--palette-value theme :overrides)
+ (modus-themes--palette-value theme))
+ (user-error "No enabled Modus theme could be found")))
+
+(defun modus-themes--disable-themes ()
+ "Disable themes per `modus-themes-disable-other-themes'."
+ (mapc #'disable-theme
+ (if modus-themes-disable-other-themes
+ custom-enabled-themes
+ (modus-themes--list-known-themes))))
+
+(defun modus-themes-load-theme (theme)
+ "Load THEME while disabling other themes.
+
+Which themes are disabled is determined by the user option
+`modus-themes-disable-other-themes'.
+
+Run the `modus-themes-after-load-theme-hook' as the final step
+after loading the THEME.
+
+Return THEME."
+ (modus-themes--disable-themes)
+ (load-theme theme :no-confirm)
+ (run-hooks 'modus-themes-after-load-theme-hook)
+ theme)
+
+(defun modus-themes--retrieve-palette-value (color palette)
+ "Return COLOR from PALETTE.
+Use recursion until COLOR is retrieved as a string. Refrain from
+doing so if the value of COLOR is not a key in the PALETTE.
+
+Return `unspecified' if the value of COLOR cannot be determined.
+This symbol is accepted by faces and is thus harmless.
+
+This function is used in the macros `modus-themes-theme',
+`modus-themes-with-colors'."
+ (let ((value (car (alist-get color palette))))
+ (cond
+ ((or (stringp value)
+ (eq value 'unspecified))
+ value)
+ ((and (symbolp value)
+ (memq value (mapcar #'car palette)))
+ (modus-themes--retrieve-palette-value value palette))
+ (t
+ 'unspecified))))
-Whatever the value assigned to this variable, citations in emails
-are controlled by typographic elements and/or indentation, which
-the themes do not touch."
- :group 'modus-themes
- :package-version '(modus-themes . "2.1.0")
- :version "29.1"
- :type '(choice
- (const :format "[%v] %t\n" :tag "Colorful email citations with contrasting hues (default)" nil)
- (const :format "[%v] %t\n" :tag "Like the default, but with more saturated colors" intense)
- (const :format "[%v] %t\n" :tag "Like the default, but with less saturated colors" faint)
- (const :format "[%v] %t\n" :tag "Deprecated alias of `faint'" desaturated)
- (const :format "[%v] %t\n" :tag "Uniformly gray mail citations" monochrome))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Mail citations"))
+(defun modus-themes-get-color-value (color &optional overrides theme)
+ "Return color value of named COLOR for current Modus theme.
-(defcustom modus-themes-tabs-accented nil
- "Toggle accented tab backgrounds, instead of the default gray.
-This affects the built-in tab-bar mode and tab-line mode, as well
-as the Centaur tabs package."
- :group 'modus-themes
- :package-version '(modus-themes . "1.6.0")
- :version "28.1"
- :type 'boolean
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Tab style"))
+COLOR is a symbol that represents a named color entry in the
+palette.
-(defcustom modus-themes-box-buttons nil
- "Control the style of buttons in the Custom UI and related.
+If the value is the name of another color entry in the
+palette (so a mapping), recur until you find the underlying color
+value.
-The value is a list of properties, each designated by a symbol.
-The default (a nil value or an empty list) is a gray background
-combined with a pseudo three-dimensional effect.
+With optional OVERRIDES as a non-nil value, account for palette
+overrides. Else use the default palette.
-The `flat' property makes the button two dimensional.
+With optional THEME as a symbol among `modus-themes-items', use
+the palette of that item. Else use the current Modus theme.
-The `accented' property changes the background from gray to an
-accent color.
+If COLOR is not present in the palette, return the `unspecified'
+symbol, which is safe when used as a face attribute's value."
+ (if-let* ((palette (if theme
+ (modus-themes--palette-value theme overrides)
+ (modus-themes--current-theme-palette overrides)))
+ (value (modus-themes--retrieve-palette-value color palette)))
+ value
+ 'unspecified))
-The `faint' property reduces the overall coloration.
+;;;; Commands
-The `variable-pitch' property applies a proportionately spaced
-typeface to the button's text.
+(defvar modus-themes--select-theme-history nil
+ "Minibuffer history of `modus-themes--select-prompt'.")
+
+(defun modus-themes--annotate-theme (theme)
+ "Return completion annotation for THEME."
+ (when-let ((symbol (intern-soft theme))
+ (doc-string (get symbol 'theme-documentation)))
+ (format " -- %s"
+ (propertize (car (split-string doc-string "\\."))
+ 'face 'completions-annotations))))
+
+(defun modus-themes--completion-table (category candidates)
+ "Pass appropriate metadata CATEGORY to completion CANDIDATES."
+ (lambda (string pred action)
+ (if (eq action 'metadata)
+ `(metadata (category . ,category))
+ (complete-with-action action candidates string pred))))
+
+(defun modus-themes--completion-table-candidates ()
+ "Render `modus-themes--list-known-themes' as completion with theme category."
+ (modus-themes--completion-table 'theme (modus-themes--list-known-themes)))
+
+(defun modus-themes--select-prompt ()
+ "Minibuffer prompt to select a Modus theme."
+ (let ((completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme)))
+ (intern
+ (completing-read
+ "Select Modus theme: "
+ (modus-themes--completion-table-candidates)
+ nil t nil
+ 'modus-themes--select-theme-history))))
-The `underline' property draws a line below the affected text and
-removes whatever box effect. This is optimal when Emacs runs
-inside a terminal emulator. If `flat' and `underline' are
-defined together, the latter takes precedence.
+;;;###autoload
+(defun modus-themes-select (theme)
+ "Load a Modus THEME using minibuffer completion.
+Run `modus-themes-after-load-theme-hook' after loading the theme.
+Disable other themes per `modus-themes-disable-other-themes'."
+ (interactive (list (modus-themes--select-prompt)))
+ (modus-themes-load-theme theme))
+
+(defun modus-themes--toggle-theme-p ()
+ "Return non-nil if `modus-themes-to-toggle' are valid."
+ (mapc
+ (lambda (theme)
+ (if (or (memq theme modus-themes-items)
+ (memq theme (modus-themes--list-known-themes)))
+ theme
+ (user-error "`%s' is not part of `modus-themes-items'" theme)))
+ modus-themes-to-toggle))
-The symbol of a weight attribute adjusts the font of the button
-accordingly, such as `light', `semibold', etc. Valid symbols are
-defined in the variable `modus-themes-weights'.
+;;;###autoload
+(defun modus-themes-toggle ()
+ "Toggle between the two `modus-themes-to-toggle'.
+If `modus-themes-to-toggle' does not specify two Modus themes,
+prompt with completion for a theme among our collection (this is
+practically the same as the `modus-themes-select' command).
-A number, expressed as a floating point (e.g. 0.9), adjusts the
-height of the button's text to that many times the base font
-size. The default height is the same as 1.0, though it need not
-be explicitly stated. Instead of a floating point, an acceptable
-value can be in the form of a cons cell like (height . FLOAT)
-or (height FLOAT), where FLOAT is the given number.
+Run `modus-themes-after-load-theme-hook' after loading the theme.
+Disable other themes per `modus-themes-disable-other-themes'."
+ (interactive)
+ (if-let* ((themes (modus-themes--toggle-theme-p))
+ (one (car themes))
+ (two (cadr themes)))
+ (modus-themes-load-theme (if (eq (car custom-enabled-themes) one) two one))
+ (modus-themes-load-theme (modus-themes--select-prompt))))
+
+(defun modus-themes--list-colors-render (buffer theme &optional mappings &rest _)
+ "Render colors in BUFFER from THEME for `modus-themes-list-colors'.
+Optional MAPPINGS changes the output to only list the semantic
+color mappings of the palette, instead of its named colors."
+ (let* ((current-palette (modus-themes--palette-value theme mappings))
+ (palette (if mappings
+ (seq-remove (lambda (cell)
+ (stringp (cadr cell)))
+ current-palette)
+ current-palette))
+ (current-buffer buffer)
+ (current-theme theme))
+ (with-help-window buffer
+ (with-current-buffer standard-output
+ (erase-buffer)
+ (when (<= (display-color-cells) 256)
+ (insert (concat "Your display terminal may not render all color previews!\n"
+ "It seems to only support <= 256 colors.\n\n"))
+ (put-text-property (point-min) (point) 'face 'warning))
+ ;; We need this to properly render the first line.
+ (insert " ")
+ (dolist (cell palette)
+ (let* ((name (car cell))
+ (color (modus-themes-get-color-value name mappings theme))
+ (pad (make-string 10 ?\s))
+ (fg (if (eq color 'unspecified)
+ (progn
+ (readable-foreground-color (modus-themes-get-color-value 'bg-main nil theme))
+ (setq pad (make-string 6 ?\s)))
+ (readable-foreground-color color))))
+ (let ((old-point (point)))
+ (insert (format "%s %s" color pad))
+ (put-text-property old-point (point) 'face `( :foreground ,color)))
+ (let ((old-point (point)))
+ (insert (format " %s %s %s\n" color pad name))
+ (put-text-property old-point (point)
+ 'face `( :background ,color
+ :foreground ,fg
+ :extend t)))
+ ;; We need this to properly render the last line.
+ (insert " ")))
+ (setq-local revert-buffer-function
+ (lambda (_ignore-auto _noconfirm)
+ (modus-themes--list-colors-render current-buffer current-theme mappings)))))))
-The `all-buttons' property extends the box button effect (or the
-aforementioned properties) to the faces of the generic widget
-library. By default, those do not look like the buttons of the
-Custom UI as they are ordinary text wrapped in square brackets.
+(defvar modus-themes--list-colors-prompt-history '()
+ "Minibuffer history for `modus-themes--list-colors-prompt'.")
-Combinations of any of those properties are expressed as a list,
-like in these examples:
+(defun modus-themes--list-colors-prompt ()
+ "Prompt for Modus theme.
+Helper function for `modus-themes-list-colors'."
+ (let ((def (format "%s" (modus-themes--current-theme)))
+ (completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme)))
+ (completing-read
+ (format "Use palette from theme [%s]: " def)
+ (modus-themes--completion-table-candidates)
+ nil t nil
+ 'modus-themes--list-colors-prompt-history def)))
- (flat)
- (variable-pitch flat)
- (variable-pitch flat semibold 0.9)
- (variable-pitch flat semibold (height 0.9)) ; same as above
- (variable-pitch flat semibold (height . 0.9)) ; same as above
+(defun modus-themes-list-colors (theme &optional mappings)
+ "Preview named colors of the Modus THEME of choice.
+With optional prefix argument for MAPPINGS preview the semantic
+color mappings instead of the named colors."
+ (interactive (list (intern (modus-themes--list-colors-prompt)) current-prefix-arg))
+ (modus-themes--list-colors-render
+ (format (if mappings "*%s-list-mappings*" "*%s-list-colors*") theme)
+ theme
+ mappings))
-The order in which the properties are set is not significant.
+(defalias 'modus-themes-preview-colors 'modus-themes-list-colors
+ "Alias of `modus-themes-list-colors'.")
-In user configuration files the form may look like this:
+(defun modus-themes-list-colors-current (&optional mappings)
+ "Call `modus-themes-list-colors' for the current Modus theme.
+Optional prefix argument MAPPINGS has the same meaning as for
+`modus-themes-list-colors'."
+ (interactive "P")
+ (modus-themes-list-colors (modus-themes--current-theme) mappings))
- (setq modus-themes-box-buttons (quote (variable-pitch flat 0.9)))"
- :group 'modus-themes
- :package-version '(modus-themes . "2.3.0")
- :version "29.1"
- :type '(set :tag "Properties" :greedy t
- (const :tag "Two-dimensional button" flat)
- (const :tag "Accented background instead of gray" accented)
- (const :tag "Reduce overall coloration" faint)
- (const :tag "Proportionately spaced font (variable-pitch)" variable-pitch)
- (const :tag "Underline instead of a box effect" underline)
- (const :tag "Apply box button style to generic widget faces" all-buttons)
- (choice :tag "Font weight (must be supported by the typeface)"
- (const :tag "Thin" thin)
- (const :tag "Ultra-light" ultralight)
- (const :tag "Extra-light" extralight)
- (const :tag "Light" light)
- (const :tag "Semi-light" semilight)
- (const :tag "Regular (default)" nil)
- (const :tag "Medium" medium)
- (const :tag "Bold" bold)
- (const :tag "Semi-bold" semibold)
- (const :tag "Extra-bold" extrabold)
- (const :tag "Ultra-bold" ultrabold))
- (radio :tag "Height"
- (float :tag "Floating point to adjust height by")
- (cons :tag "Cons cell of `(height . FLOAT)'"
- (const :tag "The `height' key (constant)" height)
- (float :tag "Floating point"))))
- :set #'modus-themes--set-option
- :initialize #'custom-initialize-default
- :link '(info-link "(modus-themes) Box buttons"))
+(defalias 'modus-themes-preview-colors-current 'modus-themes-list-colors-current
+ "Alias of `modus-themes-list-colors-current'.")
-;;; Internal functions
+;;;; Internal functions
(defun modus-themes--warn (option)
"Warn that OPTION has changed."
@@ -2883,58 +1341,12 @@ Check PROPERTIES for an alist value that corresponds to
ALIST-KEY. If no alist is present, search the PROPERTIES
list given LIST-PRED, using DEFAULT as a fallback."
(if-let* ((val (or (alist-get alist-key properties)
- (cl-loop for x in properties
- if (funcall list-pred x) return x)
+ (seq-filter (lambda (x) (funcall list-pred x)) properties)
default))
((listp val)))
(car val)
val))
-(defun modus-themes--palette (theme)
- "Return color palette for Modus theme THEME.
-THEME is a symbol, either `modus-operandi' or `modus-vivendi'."
- (pcase theme
- ('modus-operandi
- (append modus-themes-operandi-color-overrides
- modus-themes-operandi-colors))
- ('modus-vivendi
- (append modus-themes-vivendi-color-overrides
- modus-themes-vivendi-colors))
- (_theme
- (error "'%s' is not a Modus theme" theme))))
-
-(defvar modus-themes-faces)
-(defvar modus-themes-custom-variables)
-
-(defmacro modus-themes-theme (name)
- "Bind NAME's color palette around face specs and variables.
-
-NAME should be the proper name of a Modus theme, either
-`modus-operandi' or `modus-vivendi'.
-
-Face specifications are passed to `custom-theme-set-faces'.
-While variables are handled by `custom-theme-set-variables'.
-Those are stored in `modus-themes-faces' and
-`modus-themes-custom-variables' respectively."
- (declare (indent 0))
- (let ((palette-sym (gensym))
- (colors (mapcar #'car modus-themes-operandi-colors)))
- `(let* ((class '((class color) (min-colors 89)))
- (,palette-sym (modus-themes--palette ',name))
- ,@(mapcar (lambda (color)
- (list color `(alist-get ',color ,palette-sym)))
- colors))
- (custom-theme-set-faces ',name ,@modus-themes-faces)
- (custom-theme-set-variables ',name ,@modus-themes-custom-variables))))
-
-(defun modus-themes--current-theme ()
- "Return current modus theme."
- (car
- (seq-filter
- (lambda (theme)
- (string-match-p "^modus" (symbol-name theme)))
- custom-enabled-themes)))
-
;; Helper functions that are meant to ease the implementation of the
;; above customization variables.
(defun modus-themes--bold-weight ()
@@ -2957,145 +1369,13 @@ Those are stored in `modus-themes-faces' and
(when modus-themes-variable-pitch-ui
(list :inherit 'variable-pitch)))
-(defun modus-themes--fringe (mainbg subtlebg intensebg)
- "Conditional use of background colors for fringes.
-MAINBG is the default. SUBTLEBG should be a subtle grayscale
-value. INTENSEBG must be a more pronounced grayscale color."
- (pcase modus-themes-fringes
- ('intense (list :background intensebg))
- ('subtle (list :background subtlebg))
- (_ (list :background mainbg))))
-
-(defun modus-themes--line-numbers (mainfg mainbg altfg &optional altbg)
- "Conditional use of colors for line numbers.
-MAINBG and MAINFG are the default colors. ALTFG is a color that
-combines with the theme's primary background (white/black)."
- (if modus-themes-subtle-line-numbers
- (list :background (or altbg 'unspecified) :foreground altfg)
- (list :background mainbg :foreground mainfg)))
-
-(defun modus-themes--markup (mainfg intensefg subtlebg intensebg)
- "Conditional use of colors for markup in Org and others.
-MAINFG is the default foreground. SUBTLEBG is a gray background.
-INTENSEBG is a colorful background for use with the main
-foreground. INTENSEFG is an alternative to the default."
- (let ((properties modus-themes-markup))
- (list
- :inherit
- (cond
- ((and (memq 'bold properties)
- (memq 'italic properties))
- (list 'bold-italic 'modus-themes-fixed-pitch))
- ((memq 'italic properties)
- (list 'italic 'modus-themes-fixed-pitch))
- ((memq 'bold properties)
- (list 'bold 'modus-themes-fixed-pitch))
- (t 'modus-themes-fixed-pitch))
- :background
- (cond
- ((and (memq 'background properties)
- (memq 'intense properties))
- intensebg)
- ((memq 'background properties)
- subtlebg)
- (t
- 'unspecified))
- :foreground
- (cond
- ((and (memq 'background properties)
- (memq 'intense properties))
- mainfg)
- ((memq 'intense properties)
- intensefg)
- (t
- mainfg)))))
-
-(defun modus-themes--lang-check (underline subtlefg intensefg intensefg-alt subtlebg intensebg faintfg)
- "Conditional use of foreground colors for language checkers.
-UNDERLINE is a color-code value for the affected text's underline
-property. SUBTLEFG and INTENSEFG follow the same color-coding
-pattern and represent a value that is faint or vibrant
-respectively. INTENSEFG-ALT is used when the intensity is high.
-SUBTLEBG and INTENSEBG are color-coded background colors that
-differ in overall intensity. FAINTFG is a nuanced color."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-lang-checkers)))
- (list :underline
- (list :color
- (if (memq 'faint properties)
- faintfg underline)
- :style
- (if (memq 'straight-underline properties)
- 'line 'wave))
- :background
- (cond
- ((and (memq 'background properties)
- (memq 'faint properties))
- subtlebg)
- ((and (memq 'background properties)
- (memq 'intense properties))
- intensebg)
- ((memq 'background properties)
- subtlebg)
- ('unspecified))
- :foreground
- (cond
- ((and (memq 'faint properties)
- (memq 'text-also properties))
- faintfg)
- ((and (memq 'background properties)
- (memq 'intense properties))
- intensefg-alt)
- ((memq 'intense properties)
- intensefg)
- ((memq 'text-also properties)
- subtlefg)
- ('unspecified)))))
-
-(defun modus-themes--prompt (mainfg intensefg grayfg subtlebg intensebg intensebg-fg subtlebggray intensebggray)
+(defun modus-themes--prompt (fg bg)
"Conditional use of colors for text prompt faces.
-MAINFG is the prompt's standard foreground. INTENSEFG is a more
-prominent alternative to the main foreground, while GRAYFG is a
-less luminant shade of gray.
-
-SUBTLEBG is a subtle accented background that works with either
-MAINFG or INTENSEFG.
-
-INTENSEBG is a more pronounced accented background color that
-should be combinable with INTENSEBG-FG.
-
-SUBTLEBGGRAY and INTENSEBGGRAY are background values. The former
-can be combined with GRAYFG, while the latter only works with the
-theme's fallback text color."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-prompts)))
- (list :foreground
- (cond
- ((and (memq 'gray properties)
- (memq 'intense properties))
- 'unspecified)
- ((memq 'gray properties)
- grayfg)
- ((and (memq 'background properties)
- (memq 'intense properties))
- intensebg-fg)
- ((memq 'intense properties)
- intensefg)
- (mainfg))
- :background
- (cond
- ((and (memq 'gray properties)
- (memq 'background properties)
- (memq 'intense properties))
- intensebggray)
- ((and (memq 'gray properties)
- (memq 'background properties))
- subtlebggray)
- ((and (memq 'background properties)
- (memq 'intense properties))
- intensebg)
- ((memq 'background properties)
- subtlebg)
- ('unspecified))
- :inherit
+FG is the prompt's standard foreground. BG is a background
+color that is combined with FG-FOR-BG."
+ (let* ((properties (modus-themes--list-or-warn 'modus-themes-prompts))
+ (weight (modus-themes--weight properties)))
+ (list :inherit
(cond
((and (memq 'bold properties)
(memq 'italic properties))
@@ -3104,104 +1384,16 @@ theme's fallback text color."
'italic)
((memq 'bold properties)
'bold)
- ('unspecified)))))
-
-(defun modus-themes--paren (normalbg intensebg)
- "Conditional use of intense colors for matching parentheses.
-NORMALBG should be the special palette color bg-paren-match or
-something similar. INTENSEBG must be easier to discern next to
-other backgrounds, such as the special palette color
-bg-paren-match-intense."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-paren-match)))
- (list :inherit
- (if (memq 'bold properties)
- 'bold
- 'unspecified)
- :background
- (if (memq 'intense properties)
- intensebg
- normalbg)
- :underline
- (if (memq 'underline properties)
- t
- nil))))
-
-(defun modus-themes--syntax-foreground (fg faint)
- "Apply foreground value to code syntax.
-FG is the default. FAINT is typically the same color in its
-desaturated version."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-syntax)))
- (list :foreground
- (cond
- ((memq 'faint properties)
- faint)
- (fg)))))
-
-(defun modus-themes--syntax-extra (fg faint alt &optional faint-alt)
- "Apply foreground value to code syntax.
-FG is the default. FAINT is typically the same color in its
-desaturated version. ALT is another hue while optional FAINT-ALT
-is its subtle alternative."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-syntax)))
- (list :foreground
- (cond
- ((and (memq 'alt-syntax properties)
- (memq 'faint properties))
- (or faint-alt alt))
- ((memq 'faint properties)
- faint)
- ((memq 'alt-syntax properties)
- alt)
- (fg)))))
-
-(defun modus-themes--syntax-string (fg faint green alt &optional faint-green faint-alt)
- "Apply foreground value to strings in code syntax.
-FG is the default. FAINT is typically the same color in its
-desaturated version. GREEN is a color variant in that side of
-the spectrum. ALT is another hue. Optional FAINT-GREEN is a
-subtle alternative to GREEN. Optional FAINT-ALT is a subtle
-alternative to ALT."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-syntax)))
- (list :foreground
- (cond
- ((and (memq 'faint properties)
- (memq 'green-strings properties))
- (or faint-green green))
- ((and (memq 'alt-syntax properties)
- (memq 'faint properties))
- (or faint-alt faint))
- ((memq 'faint properties)
- faint)
- ((memq 'green-strings properties)
- green)
- ((memq 'alt-syntax properties)
- alt)
- (fg)))))
-
-(defun modus-themes--syntax-comment (fg yellow &optional faint-yellow faint)
- "Apply foreground value to strings in code syntax.
-FG is the default. YELLOW is a color variant of that name while
-optional FAINT-YELLOW is its subtle variant. Optional FAINT is
-an alternative to the default value."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-syntax)))
- (list :foreground
- (cond
- ((and (memq 'faint properties)
- (memq 'yellow-comments properties))
- (or faint-yellow yellow))
- ((and (memq 'alt-syntax properties)
- (memq 'yellow-comments properties)
- (not (memq 'green-strings properties)))
- yellow)
- ((memq 'yellow-comments properties)
- yellow)
- ((memq 'faint properties)
- (or faint fg))
- (fg)))))
-
-(defun modus-themes--key-cdr (key alist)
- "Get cdr of KEY in ALIST."
- (cdr (assoc key alist)))
+ ('unspecified))
+ :background bg
+ :foreground fg
+ :weight
+ ;; If we have `bold' specifically, we inherit the face of
+ ;; the same name. This allows the user to customise that
+ ;; face, such as to change its font family.
+ (if (and weight (not (eq weight 'bold)))
+ weight
+ 'unspecified))))
(defconst modus-themes-weights
'( thin ultralight extralight light semilight regular medium
@@ -3209,366 +1401,44 @@ an alternative to the default value."
"List of font weights.")
(defun modus-themes--weight (list)
- "Search for `modus-themes--heading' weight in LIST."
+ "Search for `modus-themes-weights' weight in LIST."
(catch 'found
(dolist (elt list)
(when (memq elt modus-themes-weights)
(throw 'found elt)))))
-(defun modus-themes--heading (level fg fg-alt bg bg-gray border)
+(defun modus-themes--heading (level fg &optional bg ol)
"Conditional styles for `modus-themes-headings'.
LEVEL is the heading's position in their order. FG is the
-default text color. FG-ALT is an accented, more saturated value
-than the default. BG is a nuanced, typically accented,
-background that can work well with either of the foreground
-values. BG-GRAY is a gray background. BORDER is a color value
-that combines well with the background and foreground."
- (let* ((key (modus-themes--key-cdr level modus-themes-headings))
- (style (or key (modus-themes--key-cdr t modus-themes-headings)))
+default text color. Optional BG is an appropriate background.
+Optional OL is the color of an overline."
+ (let* ((key (alist-get level modus-themes-headings))
+ (style (or key (alist-get t modus-themes-headings)))
(style-listp (listp style))
(properties style)
- (var (when (memq 'variable-pitch properties) 'variable-pitch))
- (varbold (if var
- (append (list 'bold) (list var))
- 'bold))
+ (var (when (and style-listp (memq 'variable-pitch properties)) 'variable-pitch))
(weight (when style-listp (modus-themes--weight style))))
- (list :inherit
- (cond
- ;; `no-bold' is for backward compatibility because we cannot
- ;; deprecate a variable's value.
- ((or weight (memq 'no-bold properties))
- var)
- (varbold))
- :background
- (cond
- ((and (memq 'monochrome properties)
- (memq 'background properties))
- bg-gray)
- ((memq 'background properties)
- bg)
- ('unspecified))
- :foreground
- (cond
- ((memq 'monochrome properties)
- 'unspecified)
- ((memq 'rainbow properties)
- fg-alt)
- (fg))
- :height
- (modus-themes--property-lookup properties 'height #'floatp 'unspecified)
- :weight
- (or weight 'unspecified)
- :overline
- (if (memq 'overline properties)
- border
- 'unspecified))))
-
-(defun modus-themes--agenda-structure (fg)
- "Control the style of the Org agenda structure.
-FG is the foreground color to use."
- (let* ((properties (modus-themes--key-cdr 'header-block modus-themes-org-agenda))
- (weight (modus-themes--weight properties)))
- (list :inherit
- (cond
- ((and weight (memq 'variable-pitch properties))
- 'variable-pitch)
- (weight 'unspecified)
- ((memq 'variable-pitch properties)
- (list 'bold 'variable-pitch))
- ('bold))
- :weight
- (or weight 'unspecified)
- :height
- (cond ((memq 'no-scale properties) 'unspecified)
- ((modus-themes--property-lookup properties 'height #'floatp 1.15)))
- :foreground fg)))
-
-(defun modus-themes--agenda-date (defaultfg grayscalefg &optional workaholicfg grayscaleworkaholicfg bg bold ul)
- "Control the style of date headings in Org agenda buffers.
-DEFAULTFG is the original accent color for the foreground.
-GRAYSCALEFG is a neutral color. Optional WORKAHOLICFG and
-GRAYSCALEWORKAHOLICFG are alternative foreground colors.
-Optional BG is a background color. Optional BOLD applies a bold
-weight. Optional UL applies an underline."
- (let ((properties (modus-themes--key-cdr 'header-date modus-themes-org-agenda)))
- (list :inherit
- (cond
- ((or (memq 'bold-all properties)
- (and bold (memq 'bold-today properties)))
- 'bold)
- (t
- 'unspecified))
- :background
- (cond
- ((memq 'underline-today properties)
- 'unspecified)
- ((or bg 'unspecified)))
- :foreground
- (cond
- ((and (memq 'grayscale properties)
- (memq 'workaholic properties))
- (or grayscaleworkaholicfg grayscalefg))
- ((memq 'grayscale properties)
- grayscalefg)
- ((memq 'workaholic properties)
- (or workaholicfg defaultfg))
- (t
- defaultfg))
- :height
- (modus-themes--property-lookup properties 'height #'floatp 'unspecified)
- :underline
- (if (and ul (memq 'underline-today properties))
- t
- 'unspecified))))
-
-(defun modus-themes--agenda-event (fg-accent &optional varied)
- "Control the style of the Org agenda events.
-FG-ACCENT is the accent color to use. Optional VARIED is a
-toggle to behave in accordance with the semantics of the `varied'
-property that the `event' key accepts in
-`modus-themes-org-agenda'."
- (let ((properties (modus-themes--key-cdr 'event modus-themes-org-agenda)))
- (list :foreground
- (cond
- ((or (and (memq 'varied properties) varied)
- (and (memq 'accented properties)
- (memq 'varied properties)
- varied))
- 'unspecified)
- ((memq 'accented properties)
- fg-accent)
- ('unspecified))
- :inherit
- (cond
- ((and (memq 'italic properties)
- (memq 'varied properties)
- varied)
- '(shadow italic))
- ((and (memq 'accented properties)
- (memq 'varied properties)
- varied)
- 'shadow)
- ((or (and (memq 'varied properties) varied)
- (and (memq 'italic properties) varied))
- '(shadow italic))
- ((and (memq 'italic properties)
- (not (memq 'varied properties)))
- '(shadow italic))
- ('shadow)))))
-
-(defun modus-themes--agenda-scheduled (defaultfg uniformfg rainbowfg)
- "Control the style of the Org agenda scheduled tasks.
-DEFAULTFG is an accented foreground color that is meant to
-differentiate between past or present and future tasks.
-UNIFORMFG is a more subtle color that eliminates the color coding
-for scheduled tasks. RAINBOWFG is a prominent accent value that
-clearly distinguishes past, present, future tasks."
- (pcase (modus-themes--key-cdr 'scheduled modus-themes-org-agenda)
- ('uniform (list :foreground uniformfg))
- ('rainbow (list :foreground rainbowfg))
- (_ (list :foreground defaultfg))))
-
-(defun modus-themes--agenda-habit (default traffic simple &optional default-d traffic-d simple-d)
- "Specify background values for `modus-themes-org-agenda' habits.
-DEFAULT is the original foregrounc color. TRAFFIC is to be used
-when the traffic-light style is applied, while SIMPLE corresponds
-to the simplified style.
-
-Optional DEFAULT-D, TRAFFIC-D, SIMPLE-D are alternatives to the
-main colors, meant for dopia when `modus-themes-deuteranopia' is
-non-nil."
- (let ((habit (modus-themes--key-cdr 'habit modus-themes-org-agenda)))
- (cond
- ((and modus-themes-deuteranopia (null habit))
- (list :background (or default-d default)))
- ((and modus-themes-deuteranopia (eq habit 'traffic-light))
- (list :background (or traffic-d traffic)))
- ((and modus-themes-deuteranopia (eq habit 'simplified))
- (list :background (or simple-d simple)))
- (t
- (pcase habit
- ('traffic-light (list :background traffic))
- ('simplified (list :background simple))
- (_ (list :background default)))))))
-
-(defun modus-themes--org-block (bgblk fgdefault &optional fgblk)
- "Conditionally set the background of Org blocks.
-BGBLK applies to a distinct neutral background. Else blocks have
-no background of their own (the default), so they look the same
-as the rest of the buffer. FGDEFAULT is used when no distinct
-background is present. While optional FGBLK specifies a
-foreground value that can be combined with BGBLK.
-
-`modus-themes-org-blocks' also accepts `tinted-background' (alias
-`rainbow') as a value which applies to `org-src-block-faces' (see
-the theme's source code)."
- (if (or (eq modus-themes-org-blocks 'gray-background)
- (eq modus-themes-org-blocks 'grayscale)
- (eq modus-themes-org-blocks 'greyscale))
- (list :background bgblk :foreground (or fgblk fgdefault) :extend t)
- (list :background 'unspecified :foreground fgdefault)))
-
-(defun modus-themes--org-block-delim (bgaccent fgaccent bg fg)
- "Conditionally set the styles of Org block delimiters.
-BG, FG, BGACCENT, FGACCENT apply a background and foreground
-color respectively.
-
-The former pair is a grayscale combination that should be more
-distinct than the background of the block. It is applied to the
-default styles or when `modus-themes-org-blocks' is set
-to `grayscale' (or `greyscale').
-
-The latter pair should be more subtle than the background of the
-block, as it is used when `modus-themes-org-blocks' is
-set to `rainbow'."
- (pcase modus-themes-org-blocks
- ('gray-background (list :background bg :foreground fg :extend t))
- ('grayscale (list :background bg :foreground fg :extend t))
- ('greyscale (list :background bg :foreground fg :extend t))
- ('tinted-background (list :background bgaccent :foreground fgaccent :extend nil))
- ('rainbow (list :background bgaccent :foreground fgaccent :extend nil))
- (_ (list :foreground fg :extend nil))))
-
-(defun modus-themes--mode-line-attrs
- (fg bg fg-alt bg-alt fg-accent bg-accent border border-3d &optional alt-style fg-distant)
- "Color combinations for `modus-themes-mode-line'.
-
-FG and BG are the default colors. FG-ALT and BG-ALT are meant to
-accommodate the options for a 3D mode line or a `moody' compliant
-one. FG-ACCENT and BG-ACCENT are used for all variants. BORDER
-applies to all permutations of the mode line, except the
-three-dimensional effect, where BORDER-3D is used instead.
-
-Optional ALT-STYLE applies an appropriate style to the mode
-line's box property.
-
-Optional FG-DISTANT should be close to the main background
-values. It is intended to be used as a distant-foreground
-property."
- (let* ((properties (modus-themes--list-or-warn 'modus-themes-mode-line))
- (padding (modus-themes--property-lookup properties 'padding #'natnump 1))
- (height (modus-themes--property-lookup properties 'height #'floatp 'unspecified))
- (padded (> padding 1))
- (base (cond ((memq 'accented properties)
- (cons fg-accent bg-accent))
- ((and (or (memq 'moody properties)
- (memq '3d properties))
- (not (memq 'borderless properties)))
- (cons fg-alt bg-alt))
- ((cons fg bg))))
- (line (cond ((not (or (memq 'moody properties) padded))
- 'unspecified)
- ((and (not (memq 'moody properties))
- padded
- (memq 'borderless properties))
- 'unspecified)
- ((and (memq 'borderless properties)
- (memq 'accented properties))
- bg-accent)
- ((memq 'borderless properties)
- bg)
- (border))))
- (list :foreground (car base)
- :background (cdr base)
- :height height
- :box
- (cond ((memq 'moody properties)
- 'unspecified)
- ((and (memq '3d properties) padded)
- (list :line-width padding
- :color
- (cond ((and (memq 'accented properties)
- (memq 'borderless properties))
- bg-accent)
- ((or (memq 'accented properties)
- (memq 'borderless properties))
- bg)
- (bg-alt))
- :style (when alt-style 'released-button)))
- ((and (memq 'accented properties) padded)
- (list :line-width padding :color bg-accent))
- ((memq '3d properties)
- (list :line-width padding
- :color
- (cond ((and (memq 'accented properties)
- (memq 'borderless properties))
- bg-accent)
- ((memq 'borderless properties) bg)
- (border-3d))
- :style (when alt-style 'released-button)))
- ((and (memq 'accented properties)
- (memq 'borderless properties))
- (list :line-width padding :color bg-accent))
- ((or (memq 'borderless properties) padded)
- (list :line-width padding :color bg))
- (border))
- :overline line
- :underline line
- :distant-foreground
- (if (memq 'moody properties)
- fg-distant
- 'unspecified))))
-
-;; Basically this is just for the keycast key indicator.
-(defun modus-themes--mode-line-padded-box (color)
- "Set padding of mode line box attribute with given COLOR."
- (list :box (list :color color
- :line-width
- (or (cl-loop
- for x in modus-themes-mode-line
- if (natnump x) return x)
- 1))))
-
-(defun modus-themes--diff (mainbg mainfg altbg altfg &optional deubg deufg deualtbg deualtfg bg-only-fg)
- "Color combinations for `modus-themes-diffs'.
-
-MAINBG must be one of the dedicated backgrounds for diffs while
-MAINFG must be the same for the foreground.
-
-ALTBG needs to be a slightly accented background that is meant to
-be combined with ALTFG. Both must be less intense than MAINBG
-and MAINFG respectively.
-
-DEUBG and DEUFG must be combinations of colors that account for
-red-green color defficiency (deuteranopia). They are the
-equivalent of MAINBG and MAINFG.
-
-DEUALTBG and DEUALTFG are the equivalent of ALTBG and ALTFG for
-deuteranopia.
-
-Optional non-nil BG-ONLY-FG applies ALTFG else leaves the
-foreground unspecified."
- (if modus-themes-deuteranopia
- (pcase modus-themes-diffs
- ('desaturated (list :background (or deualtbg altbg) :foreground (or deualtfg altfg)))
- ('bg-only (list :background (or deualtbg altbg) :foreground (if bg-only-fg (or deualtfg altfg) 'unspecified)))
- (_ (list :background (or deubg mainbg) :foreground (or deufg mainfg))))
- (pcase modus-themes-diffs
- ('desaturated (list :background altbg :foreground altfg))
- ('bg-only (list :background altbg :foreground (if bg-only-fg altfg 'unspecified)))
- (_ (list :background mainbg :foreground mainfg)))))
-
-(defun modus-themes--deuteran (deuteran main)
- "Determine whether to color-code success as DEUTERAN or MAIN."
- (if modus-themes-deuteranopia
- (list deuteran)
- (list main)))
-
-(defun modus-themes--completion-line (key bg fg bgintense fgintense &optional bgaccent bgaccentintense)
- "Styles for `modus-themes-completions'.
-KEY is the key of a cons cell. BG and FG are the main colors.
-BGINTENSE works with the main foreground. FGINTENSE works on its
-own. BGACCENT and BGACCENTINTENSE are colorful variants of the
-other backgrounds."
+ (list :inherit (cond
+ ((not style-listp) 'bold)
+ ;; `no-bold' is for backward compatibility because we cannot
+ ;; deprecate a variable's value.
+ ((or weight (memq 'no-bold properties))
+ var)
+ (var (append (list 'bold) (list var)))
+ (t 'bold))
+ :background (or bg 'unspecified)
+ :foreground fg
+ :overline (or ol 'unspecified)
+ :height (if style-listp
+ (modus-themes--property-lookup properties 'height #'floatp 'unspecified)
+ 'unspecified)
+ :weight (or weight 'unspecified))))
+
+(defun modus-themes--completion-line (bg)
+ "Styles for `modus-themes-completions' with BG as the background."
(let* ((var (modus-themes--list-or-warn 'modus-themes-completions))
- (properties (or (alist-get key var) (alist-get t var)))
- (popup (eq key 'popup))
- (selection (eq key 'selection))
- (line (or popup selection))
- (text (memq 'text-also properties))
- (accented (memq 'accented properties))
- (intense (memq 'intense properties))
+ (properties (or (alist-get 'selection var) (alist-get t var)))
(italic (memq 'italic properties))
(weight (modus-themes--weight properties))
(bold (when (and weight (eq weight 'bold)) 'bold)))
@@ -3581,35 +1451,18 @@ other backgrounds."
'unspecified)
(italic 'bold-italic)
('bold))
- :background
- (cond
- ((and accented intense line)
- bgaccentintense)
- ((and accented line)
- bgaccent)
- (intense bgintense)
- (bg))
- :foreground
- (cond
- ((and line text intense)
- fgintense)
- ((and line text)
- fg)
- ('unspecified))
+ :background bg
+ :foreground 'unspecified
:underline
(if (memq 'underline properties) t 'unspecified)
:weight
(if (and weight (null bold)) weight 'unspecified))))
-(defun modus-themes--completion-match (key bg fg bgintense fgintense)
+(defun modus-themes--completion-match (fg bg)
"Styles for `modus-themes-completions'.
-KEY is the key of a cons cell. BG and FG are the main colors.
-BGINTENSE works with the main foreground. FGINTENSE works on its
-own."
+FG and BG are the main colors."
(let* ((var (modus-themes--list-or-warn 'modus-themes-completions))
- (properties (or (alist-get key var) (alist-get t var)))
- (background (memq 'background properties))
- (intense (memq 'intense properties))
+ (properties (or (alist-get 'matches var) (alist-get t var)))
(italic (memq 'italic properties))
(weight (modus-themes--weight properties))
(bold (when (and weight (eq weight 'bold)) 'bold)))
@@ -3622,443 +1475,13 @@ own."
'unspecified)
(italic 'bold-italic)
('bold))
- :background
- (cond
- ((and background intense)
- bgintense)
- (background bg)
- ('unspecified))
- :foreground
- (cond
- ((and background intense)
- 'unspecified)
- (background fg)
- (intense fgintense)
- (fg))
+ :background bg
+ :foreground fg
:underline
(if (memq 'underline properties) t 'unspecified)
:weight
(if (and weight (null bold)) weight 'unspecified))))
-(defun modus-themes--link (fg fgfaint underline bg bgneutral)
- "Conditional application of link styles.
-FG is the link's default color for its text and underline
-property. FGFAINT is a desaturated color for the text and
-underline. UNDERLINE is a gray color only for the undeline. BG
-is a background color and BGNEUTRAL is its fallback value."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-links)))
- (list :inherit
- (cond
- ((and (memq 'bold properties)
- (memq 'italic properties))
- 'bold-italic)
- ((memq 'italic properties)
- 'italic)
- ((memq 'bold properties)
- 'bold)
- ('unspecified))
- :background
- (cond
- ((and (memq 'no-color properties)
- (memq 'no-underline properties))
- bgneutral)
- ((memq 'background properties)
- bg)
- ('unspecified))
- :foreground
- (cond
- ((memq 'no-color properties)
- 'unspecified)
- ((memq 'faint properties)
- fgfaint)
- (fg))
- :underline
- (cond
- ((memq 'no-underline properties)
- 'unspecified)
- ((memq 'neutral-underline properties)
- underline)
- (t)))))
-
-(defun modus-themes--link-color (fg fgfaint &optional neutralfg)
- "Extend `modus-themes--link'.
-FG is the main accented foreground. FGFAINT is also accented,
-yet desaturated. Optional NEUTRALFG is a gray value."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-links)))
- (list :foreground
- (cond
- ((memq 'no-color properties)
- (or neutralfg 'unspecified))
- ((memq 'faint properties)
- fgfaint)
- (fg))
- :underline
- (cond
- ((memq 'no-underline properties)
- 'unspecified)
- ((memq 'neutral-underline properties)
- (or neutralfg 'unspecified))
- (t)))))
-
-(defun modus-themes--region (bg fg bgsubtle bgaccent bgaccentsubtle)
- "Apply `modus-themes-region' styles.
-
-BG and FG are the main values that are used by default. BGSUBTLE
-is a subtle background value that can be combined with all colors
-used to fontify text and code syntax. BGACCENT is a colored
-background that combines well with FG. BGACCENTSUBTLE can be
-combined with all colors used to fontify text."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-region)))
- (list :background
- (cond
- ((and (memq 'accented properties)
- (memq 'bg-only properties))
- bgaccentsubtle)
- ((memq 'accented properties)
- bgaccent)
- ((memq 'bg-only properties)
- bgsubtle)
- (bg))
- :foreground
- (cond
- ((and (memq 'accented properties)
- (memq 'bg-only properties))
- 'unspecified)
- ((memq 'bg-only properties)
- 'unspecified)
- (fg))
- :extend
- (cond
- ((memq 'no-extend properties)
- nil)
- (t)))))
-
-(defun modus-themes--hl-line
- (bgdefault bgintense bgaccent bgaccentsubtle lineneutral lineaccent lineneutralintense lineaccentintense)
- "Apply `modus-themes-hl-line' styles.
-
-BGDEFAULT is a subtle neutral background. BGINTENSE is like the
-default, but more prominent. BGACCENT is a prominent accented
-background, while BGACCENTSUBTLE is more subtle. LINENEUTRAL and
-LINEACCENT are color values that can remain distinct against the
-buffer's possible backgrounds: the former is neutral, the latter
-is accented. LINENEUTRALINTENSE and LINEACCENTINTENSE are their
-more prominent alternatives."
- (let ((properties (modus-themes--list-or-warn 'modus-themes-hl-line)))
- (list :background
- (cond
- ((and (memq 'intense properties)
- (memq 'accented properties))
- bgaccent)
- ((memq 'accented properties)
- bgaccentsubtle)
- ((memq 'intense properties)
- bgintense)
- (bgdefault))
- :underline
- (cond
- ((and (memq 'intense properties)
- (memq 'accented properties)
- (memq 'underline properties))
- lineaccentintense)
- ((and (memq 'accented properties)
- (memq 'underline properties))
- lineaccent)
- ((and (memq 'intense properties)
- (memq 'underline properties))
- lineneutralintense)
- ((or (memq 'no-background properties)
- (memq 'underline properties))
- lineneutral)
- ('unspecified)))))
-
-(defun modus-themes--mail-cite (mainfg intensefg subtlefg)
- "Combinations for `modus-themes-mail-citations'.
-
-MAINFG is an accented foreground value. SUBTLEFG is its
-desaturated counterpart. INTENSEFG is a more saturated variant."
- (pcase modus-themes-mail-citations
- ('monochrome (list :inherit 'shadow))
- ('intense (list :foreground intensefg))
- ('faint (list :foreground subtlefg))
- ('desaturated (list :foreground subtlefg))
- (_ (list :foreground mainfg))))
-
-(defun modus-themes--tab (bg &optional bgaccent fg fgaccent box-p bold-p var-p)
- "Helper function for tabs.
-BG is the default background, while BGACCENT is its more colorful
-alternative. Optional FG is a foreground color that combines
-with BG. Same principle FGACCENT.
-
-BOX-P and BOLD-P determine the use of a box property and the
-application of a bold weight, respectively. VAR-P controls the
-application of a variable-pitch font."
- (let ((background (if modus-themes-tabs-accented (or bgaccent bg) bg))
- (foreground (if modus-themes-tabs-accented (or fgaccent fg) fg)))
- (list
- :inherit (cond
- ((and bold-p var-p)
- (if modus-themes-variable-pitch-ui
- '(variable-pitch bold)
- '(bold)))
- (bold-p 'bold)
- (var-p (when modus-themes-variable-pitch-ui 'variable-pitch))
- ('unspecified))
- :background background
- :foreground (or foreground 'unspecified)
- :box (if box-p (list :line-width 2 :color background) 'unspecified))))
-
-(defun modus-themes--button (bg bgfaint bgaccent bgaccentfaint border &optional pressed-button-p)
- "Apply `modus-themes-box-buttons' styles.
-
-BG is the main background. BGFAINT is its subtle alternative.
-BGACCENT is its accented variant and BGACCENTFAINT is the same
-but less intense. BORDER is the color around the box.
-
-When optional PRESSED-BUTTON-P is non-nil, the box uses the
-pressed button style, else the released button."
- (let* ((properties modus-themes-box-buttons)
- (weight (modus-themes--weight properties)))
- (list :inherit
- (cond
- ((and (memq 'variable-pitch properties)
- (eq weight 'bold))
- (list 'bold 'variable-pitch))
- ((memq 'variable-pitch properties)
- 'variable-pitch)
- ((eq weight 'bold)
- 'bold)
- ('unspecified))
- :background
- (cond
- ((and (memq 'accented properties)
- (memq 'faint properties)
- bgaccentfaint))
- ((memq 'faint properties)
- bgfaint)
- ((memq 'accented properties)
- bgaccent)
- (bg))
- :box
- (cond
- ((memq 'underline properties)
- 'unspecified)
- ((memq 'flat properties)
- (list :line-width -1 :color border))
- ((list :line-width -1
- :style (if pressed-button-p
- 'pressed-button
- 'released-button)
- :color border)))
- :weight
- (cond
- ((eq weight 'bold)
- 'unspecified) ; we :inherit the `bold' face above
- (weight weight)
- ('unspecified))
- :height
- (modus-themes--property-lookup properties 'height #'floatp 'unspecified)
- :underline
- (if (memq 'underline properties)
- t
- 'unspecified))))
-
-
-
-;;;; Utilities for DIY users
-
-;;;;; List colors (a variant of M-x list-colors-display)
-
-(defun modus-themes--list-colors-render (buffer theme &rest _)
- "Render colors in BUFFER from THEME.
-Routine for `modus-themes-list-colors'."
- (let ((palette (seq-uniq (modus-themes--palette theme)
- (lambda (x y)
- (eq (car x) (car y)))))
- (current-buffer buffer)
- (current-theme theme))
- (with-help-window buffer
- (with-current-buffer standard-output
- (erase-buffer)
- (when (<= (display-color-cells) 256)
- (insert (concat "Your display terminal may not render all color previews!\n"
- "It seems to only support <= 256 colors.\n\n"))
- (put-text-property (point-min) (point) 'face 'warning))
- ;; We need this to properly render the first line.
- (insert " ")
- (dolist (cell palette)
- (let* ((name (car cell))
- (color (cdr cell))
- (fg (readable-foreground-color color))
- (pad (make-string 5 ?\s)))
- (let ((old-point (point)))
- (insert (format "%s %s" color pad))
- (put-text-property old-point (point) 'face `( :foreground ,color)))
- (let ((old-point (point)))
- (insert (format " %s %s %s\n" color pad name))
- (put-text-property old-point (point)
- 'face `( :background ,color
- :foreground ,fg
- :extend t)))
- ;; We need this to properly render the last line.
- (insert " ")))
- (setq-local revert-buffer-function
- (lambda (_ignore-auto _noconfirm)
- (modus-themes--list-colors-render current-buffer current-theme)))))))
-
-(defvar modus-themes--list-colors-prompt-history '()
- "Minibuffer history for `modus-themes--list-colors-prompt'.")
-
-(defun modus-themes--list-colors-prompt ()
- "Prompt for Modus theme.
-Helper function for `modus-themes-list-colors'."
- (let ((def (format "%s" (modus-themes--current-theme))))
- (completing-read
- (format "Use palette from theme [%s]: " def)
- '(modus-operandi modus-vivendi) nil t nil
- 'modus-themes--list-colors-prompt-history def)))
-
-(defun modus-themes-list-colors (theme)
- "Preview palette of the Modus THEME of choice."
- (interactive (list (intern (modus-themes--list-colors-prompt))))
- (modus-themes--list-colors-render
- (format "*%s-list-colors*" theme)
- theme))
-
-(defun modus-themes-list-colors-current ()
- "Call `modus-themes-list-colors' for the current Modus theme."
- (interactive)
- (modus-themes-list-colors (modus-themes--current-theme)))
-
-;;;;; Formula to measure relative luminance
-
-;; This is the WCAG formula: https://www.w3.org/TR/WCAG20-TECHS/G18.html
-(defun modus-themes-wcag-formula (hex)
- "Get WCAG value of color value HEX.
-The value is defined in hexadecimal RGB notation, such as those in
-`modus-themes-operandi-colors' and `modus-themes-vivendi-colors'."
- (cl-loop for k in '(0.2126 0.7152 0.0722)
- for x in (color-name-to-rgb hex)
- sum (* k (if (<= x 0.03928)
- (/ x 12.92)
- (expt (/ (+ x 0.055) 1.055) 2.4)))))
-
-;;;###autoload
-(defun modus-themes-contrast (c1 c2)
- "Measure WCAG contrast ratio between C1 and C2.
-C1 and C2 are color values written in hexadecimal RGB."
- (let ((ct (/ (+ (modus-themes-wcag-formula c1) 0.05)
- (+ (modus-themes-wcag-formula c2) 0.05))))
- (max ct (/ ct))))
-
-;;;;; Retrieve colors from the themes
-
-(defun modus-themes-current-palette ()
- "Return current color palette."
- (modus-themes--palette (modus-themes--current-theme)))
-
-;;;###autoload
-(defun modus-themes-color (color)
- "Return color value for COLOR from current palette.
-COLOR is a key in `modus-themes-operandi-colors' or
-`modus-themes-vivendi-colors'."
- (alist-get color (modus-themes-current-palette)))
-
-;;;###autoload
-(defun modus-themes-color-alts (light-color dark-color)
- "Return color value from current palette.
-When Modus Operandi is enabled, return color value for color
-LIGHT-COLOR. When Modus Vivendi is enabled, return color value
-for DARK-COLOR. LIGHT-COLOR and DARK-COLOR are keys in
-`modus-themes-operandi-colors' or `modus-themes-vivendi-colors'."
- (let* ((theme (modus-themes--current-theme))
- (color (pcase theme
- ('modus-operandi light-color)
- ('modus-vivendi dark-color)
- (_theme
- (error "'%s' is not a Modus theme" theme)))))
- (alist-get color (modus-themes--palette theme))))
-
-(defmacro modus-themes-with-colors (&rest body)
- "Evaluate BODY with colors from current palette bound.
-For colors bound, see `modus-themes-operandi-colors' or
-`modus-themes-vivendi-colors'."
- (declare (indent 0))
- (let ((palette-sym (gensym))
- (colors (mapcar #'car modus-themes-operandi-colors)))
- `(let* ((class '((class color) (min-colors 89)))
- (,palette-sym (modus-themes-current-palette))
- ,@(mapcar (lambda (color)
- (list color `(alist-get ',color ,palette-sym)))
- colors))
- (ignore class ,@colors) ; Silence unused variable warnings
- ,@body)))
-
-
-
-;;;; Commands
-
-;;;###autoload
-(defun modus-themes-load-themes ()
- "Ensure that the Modus themes are in `custom-enabled-themes'.
-
-This function is intended for use in package declarations such as
-those defined with the help of `use-package'. The idea is to add
-this function to the `:init' stage of the package's loading, so
-that subsequent calls that assume the presence of a loaded theme,
-like `modus-themes-toggle' or `modus-themes-load-operandi', will
-continue to work as intended even if they are lazy-loaded (such
-as when they are declared in the `:config' phase)."
- (unless (or (custom-theme-p 'modus-operandi)
- (custom-theme-p 'modus-vivendi))
- (load-theme 'modus-operandi t t)
- (load-theme 'modus-vivendi t t)))
-
-(defvar modus-themes-after-load-theme-hook nil
- "Hook that runs after the `modus-themes-toggle' routines.")
-
-;;;###autoload
-(defun modus-themes-load-operandi ()
- "Load `modus-operandi' and disable `modus-vivendi'.
-Also run `modus-themes-after-load-theme-hook'."
- (interactive)
- (disable-theme 'modus-vivendi)
- (load-theme 'modus-operandi t)
- (run-hooks 'modus-themes-after-load-theme-hook))
-
-;;;###autoload
-(defun modus-themes-load-vivendi ()
- "Load `modus-vivendi' and disable `modus-operandi'.
-Also run `modus-themes-after-load-theme-hook'."
- (interactive)
- (disable-theme 'modus-operandi)
- (load-theme 'modus-vivendi t)
- (run-hooks 'modus-themes-after-load-theme-hook))
-
-(defun modus-themes--load-prompt ()
- "Helper for `modus-themes-toggle'."
- (let ((theme
- (intern
- (completing-read "Load Modus theme (will disable all others): "
- '(modus-operandi modus-vivendi) nil t))))
- (mapc #'disable-theme custom-enabled-themes)
- (pcase theme
- ('modus-operandi (modus-themes-load-operandi))
- ('modus-vivendi (modus-themes-load-vivendi)))))
-
-;;;###autoload
-(defun modus-themes-toggle ()
- "Toggle between `modus-operandi' and `modus-vivendi' themes.
-Also runs `modus-themes-after-load-theme-hook' at its last stage
-by virtue of calling either of `modus-themes-load-operandi' and
-`modus-themes-load-vivendi' functions."
- (interactive)
- (modus-themes-load-themes)
- (pcase (modus-themes--current-theme)
- ('modus-operandi (modus-themes-load-vivendi))
- ('modus-vivendi (modus-themes-load-operandi))
- (_ (modus-themes--load-prompt))))
-
;;;; Face specifications
@@ -4067,901 +1490,624 @@ by virtue of calling either of `modus-themes-load-operandi' and
'(
;;;; custom faces
;; these bespoke faces are inherited by other constructs below
+;;;;; just the foregrounds
+ `(modus-themes-fg-red ((,c :foreground ,red)))
+ `(modus-themes-fg-red-warmer ((,c :foreground ,red-warmer)))
+ `(modus-themes-fg-red-cooler ((,c :foreground ,red-cooler)))
+ `(modus-themes-fg-red-faint ((,c :foreground ,red-faint)))
+ `(modus-themes-fg-red-intense ((,c :foreground ,red-intense)))
+ `(modus-themes-fg-green ((,c :foreground ,green)))
+ `(modus-themes-fg-green-warmer ((,c :foreground ,green-warmer)))
+ `(modus-themes-fg-green-cooler ((,c :foreground ,green-cooler)))
+ `(modus-themes-fg-green-faint ((,c :foreground ,green-faint)))
+ `(modus-themes-fg-green-intense ((,c :foreground ,green-intense)))
+ `(modus-themes-fg-yellow ((,c :foreground ,yellow)))
+ `(modus-themes-fg-yellow-warmer ((,c :foreground ,yellow-warmer)))
+ `(modus-themes-fg-yellow-cooler ((,c :foreground ,yellow-cooler)))
+ `(modus-themes-fg-yellow-faint ((,c :foreground ,yellow-faint)))
+ `(modus-themes-fg-yellow-intense ((,c :foreground ,yellow-intense)))
+ `(modus-themes-fg-blue ((,c :foreground ,blue)))
+ `(modus-themes-fg-blue-warmer ((,c :foreground ,blue-warmer)))
+ `(modus-themes-fg-blue-cooler ((,c :foreground ,blue-cooler)))
+ `(modus-themes-fg-blue-faint ((,c :foreground ,blue-faint)))
+ `(modus-themes-fg-blue-intense ((,c :foreground ,blue-intense)))
+ `(modus-themes-fg-magenta ((,c :foreground ,magenta)))
+ `(modus-themes-fg-magenta-warmer ((,c :foreground ,magenta-warmer)))
+ `(modus-themes-fg-magenta-cooler ((,c :foreground ,magenta-cooler)))
+ `(modus-themes-fg-magenta-faint ((,c :foreground ,magenta-faint)))
+ `(modus-themes-fg-magenta-intense ((,c :foreground ,magenta-intense)))
+ `(modus-themes-fg-cyan ((,c :foreground ,cyan)))
+ `(modus-themes-fg-cyan-warmer ((,c :foreground ,cyan-warmer)))
+ `(modus-themes-fg-cyan-cooler ((,c :foreground ,cyan-cooler)))
+ `(modus-themes-fg-cyan-faint ((,c :foreground ,cyan-faint)))
+ `(modus-themes-fg-cyan-intense ((,c :foreground ,cyan-intense)))
+;;;;; nuanced colored backgrounds
+ `(modus-themes-nuanced-red ((,c :background ,bg-red-nuanced :extend t)))
+ `(modus-themes-nuanced-green ((,c :background ,bg-green-nuanced :extend t)))
+ `(modus-themes-nuanced-yellow ((,c :background ,bg-yellow-nuanced :extend t)))
+ `(modus-themes-nuanced-blue ((,c :background ,bg-blue-nuanced :extend t)))
+ `(modus-themes-nuanced-magenta ((,c :background ,bg-magenta-nuanced :extend t)))
+ `(modus-themes-nuanced-cyan ((,c :background ,bg-cyan-nuanced :extend t)))
;;;;; subtle colored backgrounds
- `(modus-themes-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim)))
- `(modus-themes-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim)))
- `(modus-themes-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim)))
- `(modus-themes-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim)))
- `(modus-themes-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim)))
- `(modus-themes-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim)))
- `(modus-themes-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive)))
+ `(modus-themes-subtle-red ((,c :background ,bg-red-subtle :foreground ,fg-main)))
+ `(modus-themes-subtle-green ((,c :background ,bg-green-subtle :foreground ,fg-main)))
+ `(modus-themes-subtle-yellow ((,c :background ,bg-yellow-subtle :foreground ,fg-main)))
+ `(modus-themes-subtle-blue ((,c :background ,bg-blue-subtle :foreground ,fg-main)))
+ `(modus-themes-subtle-magenta ((,c :background ,bg-magenta-subtle :foreground ,fg-main)))
+ `(modus-themes-subtle-cyan ((,c :background ,bg-cyan-subtle :foreground ,fg-main)))
;;;;; intense colored backgrounds
- `(modus-themes-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main)))
- `(modus-themes-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main)))
- `(modus-themes-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main)))
- `(modus-themes-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main)))
- `(modus-themes-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main)))
- `(modus-themes-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main)))
- `(modus-themes-intense-neutral ((,class :background ,bg-active :foreground ,fg-main)))
-;;;;; refined background and foreground combinations
- ;; general purpose styles that use an accented foreground against an
- ;; accented background
- `(modus-themes-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg)))
- `(modus-themes-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg)))
- `(modus-themes-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg)))
- `(modus-themes-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg)))
- `(modus-themes-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg)))
- `(modus-themes-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg)))
-;;;;; "active" combinations, mostly for use on the mode line
- `(modus-themes-active-red ((,class :background ,red-active :foreground ,bg-active)))
- `(modus-themes-active-green ((,class :background ,green-active :foreground ,bg-active)))
- `(modus-themes-active-yellow ((,class :background ,yellow-active :foreground ,bg-active)))
- `(modus-themes-active-blue ((,class :background ,blue-active :foreground ,bg-active)))
- `(modus-themes-active-magenta ((,class :background ,magenta-active :foreground ,bg-active)))
- `(modus-themes-active-cyan ((,class :background ,cyan-active :foreground ,bg-active)))
-;;;;; nuanced backgrounds
- ;; useful for adding an accented background that is suitable for all
- ;; main foreground colors (intended for use in Org source blocks)
- `(modus-themes-nuanced-red ((,class :background ,red-nuanced-bg :extend t)))
- `(modus-themes-nuanced-green ((,class :background ,green-nuanced-bg :extend t)))
- `(modus-themes-nuanced-yellow ((,class :background ,yellow-nuanced-bg :extend t)))
- `(modus-themes-nuanced-blue ((,class :background ,blue-nuanced-bg :extend t)))
- `(modus-themes-nuanced-magenta ((,class :background ,magenta-nuanced-bg :extend t)))
- `(modus-themes-nuanced-cyan ((,class :background ,cyan-nuanced-bg :extend t)))
-;;;;; fringe-specific combinations
- `(modus-themes-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main)))
- `(modus-themes-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main)))
- `(modus-themes-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main)))
- `(modus-themes-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main)))
- `(modus-themes-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main)))
- `(modus-themes-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main)))
-;;;;; special base values
- ;; these are closer to the grayscale than the accents defined above
- ;; and should only be used when the next closest alternative would be
- ;; a grayscale value than an accented one
- `(modus-themes-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
- `(modus-themes-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild)))
- `(modus-themes-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm)))
- `(modus-themes-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm)))
-;;;;; diff-specific combinations
- ;; intended for `diff-mode' or equivalent
- `(modus-themes-diff-added
- ((,class ,@(modus-themes--diff
- bg-diff-focus-added fg-diff-focus-added
- green-nuanced-bg fg-diff-added
- bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran
- blue-nuanced-bg fg-diff-added-deuteran))))
- `(modus-themes-diff-changed
- ((,class ,@(modus-themes--diff
- bg-diff-focus-changed fg-diff-focus-changed
- yellow-nuanced-bg fg-diff-changed))))
- `(modus-themes-diff-removed
- ((,class ,@(modus-themes--diff
- bg-diff-focus-removed fg-diff-focus-removed
- red-nuanced-bg fg-diff-removed))))
- `(modus-themes-diff-refine-added
- ((,class ,@(modus-themes--diff
- bg-diff-refine-added fg-diff-refine-added
- bg-diff-focus-added fg-diff-focus-added
- bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran
- bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran))))
- `(modus-themes-diff-refine-changed
- ((,class ,@(modus-themes--diff
- bg-diff-refine-changed fg-diff-refine-changed
- bg-diff-focus-changed fg-diff-focus-changed))))
- `(modus-themes-diff-refine-removed
- ((,class ,@(modus-themes--diff
- bg-diff-refine-removed fg-diff-refine-removed
- bg-diff-focus-removed fg-diff-focus-removed))))
- `(modus-themes-diff-focus-added
- ((,class ,@(modus-themes--diff
- bg-diff-focus-added fg-diff-focus-added
- bg-diff-added fg-diff-added
- bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran
- bg-diff-added-deuteran fg-diff-added-deuteran))))
- `(modus-themes-diff-focus-changed
- ((,class ,@(modus-themes--diff
- bg-diff-focus-changed fg-diff-focus-changed
- bg-diff-changed fg-diff-changed))))
- `(modus-themes-diff-focus-removed
- ((,class ,@(modus-themes--diff
- bg-diff-focus-removed fg-diff-focus-removed
- bg-diff-removed fg-diff-removed))))
- `(modus-themes-diff-heading
- ((,class ,@(modus-themes--diff
- bg-diff-heading fg-diff-heading
- cyan-nuanced-bg cyan-nuanced-fg
- bg-header fg-main
- bg-header fg-main
- t))))
-;;;;; deuteranopia-specific
- `(modus-themes-grue ((,class :foreground ,@(modus-themes--deuteran blue green))))
- `(modus-themes-grue-active ((,class :foreground ,@(modus-themes--deuteran blue-active green-active))))
- `(modus-themes-grue-nuanced ((,class :foreground ,@(modus-themes--deuteran blue-nuanced-fg green-nuanced-fg))))
- `(modus-themes-grue-background-active ((,class :inherit ,@(modus-themes--deuteran
- 'modus-themes-fringe-blue
- 'modus-themes-fringe-green))))
- `(modus-themes-grue-background-intense ((,class :inherit ,@(modus-themes--deuteran
- 'modus-themes-intense-blue
- 'modus-themes-intense-green))))
- `(modus-themes-grue-background-subtle ((,class :inherit ,@(modus-themes--deuteran
- 'modus-themes-subtle-blue
- 'modus-themes-subtle-green))))
- `(modus-themes-grue-background-subtle ((,class :inherit ,@(modus-themes--deuteran
- 'modus-themes-refine-blue
- 'modus-themes-refine-green))))
+ `(modus-themes-intense-red ((,c :background ,bg-red-intense :foreground ,fg-main)))
+ `(modus-themes-intense-green ((,c :background ,bg-green-intense :foreground ,fg-main)))
+ `(modus-themes-intense-yellow ((,c :background ,bg-yellow-intense :foreground ,fg-main)))
+ `(modus-themes-intense-blue ((,c :background ,bg-blue-intense :foreground ,fg-main)))
+ `(modus-themes-intense-magenta ((,c :background ,bg-magenta-intense :foreground ,fg-main)))
+ `(modus-themes-intense-cyan ((,c :background ,bg-cyan-intense :foreground ,fg-main)))
;;;;; mark indicators
;; color combinations intended for Dired, Ibuffer, or equivalent
- `(modus-themes-pseudo-header ((,class :inherit bold :foreground ,fg-main)))
- `(modus-themes-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt)))
- `(modus-themes-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del)))
- `(modus-themes-mark-sel ((,class :inherit bold
- :background ,@(modus-themes--deuteran
- cyan-refine-bg
- bg-mark-sel)
- :foreground ,fg-mark-sel)))
- `(modus-themes-mark-symbol ((,class :inherit bold :foreground ,blue-alt)))
+ `(modus-themes-mark-alt ((,c :inherit bold :background ,bg-mark-other :foreground ,fg-mark-other)))
+ `(modus-themes-mark-del ((,c :inherit bold :background ,bg-mark-delete :foreground ,fg-mark-delete)))
+ `(modus-themes-mark-sel ((,c :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select)))
;;;;; heading levels
;; styles for regular headings used in Org, Markdown, Info, etc.
- `(modus-themes-heading-0
- ((,class ,@(modus-themes--heading
- 0 cyan-alt-other blue-alt
- cyan-nuanced-bg bg-alt bg-region))))
- `(modus-themes-heading-1
- ((,class ,@(modus-themes--heading
- 1 fg-main magenta-alt-other
- magenta-nuanced-bg bg-alt bg-region))))
- `(modus-themes-heading-2
- ((,class ,@(modus-themes--heading
- 2 fg-special-warm magenta-alt
- red-nuanced-bg bg-alt bg-region))))
- `(modus-themes-heading-3
- ((,class ,@(modus-themes--heading
- 3 fg-special-cold blue
- blue-nuanced-bg bg-alt bg-region))))
- `(modus-themes-heading-4
- ((,class ,@(modus-themes--heading
- 4 fg-special-mild cyan
- cyan-nuanced-bg bg-alt bg-region))))
- `(modus-themes-heading-5
- ((,class ,@(modus-themes--heading
- 5 fg-special-calm green-alt-other
- green-nuanced-bg bg-alt bg-region))))
- `(modus-themes-heading-6
- ((,class ,@(modus-themes--heading
- 6 yellow-nuanced-fg yellow-alt-other
- yellow-nuanced-bg bg-alt bg-region))))
- `(modus-themes-heading-7
- ((,class ,@(modus-themes--heading
- 7 red-nuanced-fg red-alt
- red-nuanced-bg bg-alt bg-region))))
- `(modus-themes-heading-8
- ((,class ,@(modus-themes--heading
- 8 magenta-nuanced-fg magenta
- bg-alt bg-alt bg-region))))
+ `(modus-themes-heading-0 ((,c ,@(modus-themes--heading 0 fg-heading-0 bg-heading-0 overline-heading-0))))
+ `(modus-themes-heading-1 ((,c ,@(modus-themes--heading 1 fg-heading-1 bg-heading-1 overline-heading-1))))
+ `(modus-themes-heading-2 ((,c ,@(modus-themes--heading 2 fg-heading-2 bg-heading-2 overline-heading-2))))
+ `(modus-themes-heading-3 ((,c ,@(modus-themes--heading 3 fg-heading-3 bg-heading-3 overline-heading-3))))
+ `(modus-themes-heading-4 ((,c ,@(modus-themes--heading 4 fg-heading-4 bg-heading-4 overline-heading-4))))
+ `(modus-themes-heading-5 ((,c ,@(modus-themes--heading 5 fg-heading-5 bg-heading-5 overline-heading-5))))
+ `(modus-themes-heading-6 ((,c ,@(modus-themes--heading 6 fg-heading-6 bg-heading-6 overline-heading-6))))
+ `(modus-themes-heading-7 ((,c ,@(modus-themes--heading 7 fg-heading-7 bg-heading-7 overline-heading-7))))
+ `(modus-themes-heading-8 ((,c ,@(modus-themes--heading 8 fg-heading-8 bg-heading-8 overline-heading-8))))
;;;;; language checkers
- `(modus-themes-lang-error ((,class ,@(modus-themes--lang-check
- fg-lang-underline-error fg-lang-error
- red red-refine-fg red-nuanced-bg red-refine-bg red-faint))))
- `(modus-themes-lang-note ((,class ,@(modus-themes--lang-check
- fg-lang-underline-note fg-lang-note
- blue-alt blue-refine-fg blue-nuanced-bg blue-refine-bg blue-faint))))
- `(modus-themes-lang-warning ((,class ,@(modus-themes--lang-check
- fg-lang-underline-warning fg-lang-warning
- yellow yellow-refine-fg yellow-nuanced-bg yellow-refine-bg yellow-faint))))
-;;;;; links
- `(modus-themes-link-broken ((,class :inherit button ,@(modus-themes--link-color red red-faint))))
- `(modus-themes-link-symlink ((,class :inherit button ,@(modus-themes--link-color cyan cyan-faint))))
+ `(modus-themes-lang-error ((,c :underline (:style wave :color ,underline-err))))
+ `(modus-themes-lang-note ((,c :underline (:style wave :color ,underline-note))))
+ `(modus-themes-lang-warning ((,c :underline (:style wave :color ,underline-warning))))
+;;;;; prominent semantic notes
+ `(modus-themes-prominent-error ((,c :background ,bg-prominent-err :foreground ,fg-prominent-err)))
+ `(modus-themes-prominent-note ((,c :background ,bg-prominent-note :foreground ,fg-prominent-note)))
+ `(modus-themes-prominent-warning ((,c :background ,bg-prominent-warning :foreground ,fg-prominent-warning)))
;;;;; markup
- `(modus-themes-markup-code
- ((,class ,@(modus-themes--markup cyan-alt-other cyan-intense bg-alt
- bg-special-faint-mild))))
- `(modus-themes-markup-macro
- ((,class ,@(modus-themes--markup magenta-alt-other purple-intense bg-alt
- bg-special-faint-cold))))
- `(modus-themes-markup-verbatim
- ((,class ,@(modus-themes--markup magenta-alt magenta-intense bg-alt
- bg-special-faint-calm))))
+ `(modus-themes-prose-code ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-code :foreground ,fg-prose-code)))
+ `(modus-themes-prose-macro ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-macro :foreground ,fg-prose-macro)))
+ `(modus-themes-prose-verbatim ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-verbatim :foreground ,fg-prose-verbatim)))
;;;;; search
- `(modus-themes-search-success ((,class :inherit modus-themes-intense-yellow)))
- `(modus-themes-search-success-lazy ((,class :inherit modus-themes-subtle-cyan)))
- `(modus-themes-search-success-modeline ((,class :foreground ,@(modus-themes--deuteran
- blue-active
- green-active))))
-;;;;; tabs
- `(modus-themes-tab-active ((,class ,@(modus-themes--tab bg-tab-active nil nil nil t t))))
- `(modus-themes-tab-backdrop ((,class ,@(modus-themes--tab bg-active bg-active-accent nil nil nil nil t))))
- `(modus-themes-tab-inactive ((,class ,@(modus-themes--tab bg-tab-inactive bg-tab-inactive-accent fg-dim nil t))))
+ `(modus-themes-search-current ((,c :background ,bg-search-current :foreground ,fg-main)))
+ `(modus-themes-search-lazy ((,c :background ,bg-search-lazy :foreground ,fg-main)))
+ `(modus-themes-search-replace ((,c :background ,bg-search-replace :foreground ,fg-main)))
+;;;;; search regexp groups
+ `(modus-themes-search-rx-group-0 ((,c :background ,bg-search-rx-group-0 :foreground ,fg-main)))
+ `(modus-themes-search-rx-group-1 ((,c :background ,bg-search-rx-group-1 :foreground ,fg-main)))
+ `(modus-themes-search-rx-group-2 ((,c :background ,bg-search-rx-group-2 :foreground ,fg-main)))
+ `(modus-themes-search-rx-group-3 ((,c :background ,bg-search-rx-group-3 :foreground ,fg-main)))
;;;;; completion frameworks
- `(modus-themes-completion-match-0
- ((,class ,@(modus-themes--completion-match
- 'matches bg-special-faint-calm magenta-alt
- magenta-subtle-bg magenta-intense))))
- `(modus-themes-completion-match-1
- ((,class ,@(modus-themes--completion-match
- 'matches bg-special-faint-cold blue
- blue-subtle-bg blue-intense))))
- `(modus-themes-completion-match-2
- ((,class ,@(modus-themes--completion-match
- 'matches bg-special-faint-mild green
- green-subtle-bg green-intense))))
- `(modus-themes-completion-match-3
- ((,class ,@(modus-themes--completion-match
- 'matches bg-special-faint-warm yellow
- yellow-subtle-bg orange-intense))))
- `(modus-themes-completion-selected
- ((,class ,@(modus-themes--completion-line
- 'selection bg-inactive blue-alt
- bg-active blue-active
- bg-completion-subtle bg-completion))))
- `(modus-themes-completion-selected-popup
- ((,class ,@(modus-themes--completion-line
- 'popup bg-active blue-alt
- bg-region blue-active
- cyan-subtle-bg cyan-refine-bg))))
-;;;;; buttons
- `(modus-themes-box-button
- ((,class ,@(modus-themes--button bg-active bg-main bg-active-accent
- bg-special-cold bg-region))))
- `(modus-themes-box-button-pressed
- ((,class ,@(modus-themes--button bg-active bg-main bg-active-accent
- bg-special-cold bg-region t))))
+ `(modus-themes-completion-match-0 ((,c ,@(modus-themes--completion-match fg-completion-match-0 bg-completion-match-0))))
+ `(modus-themes-completion-match-1 ((,c ,@(modus-themes--completion-match fg-completion-match-1 bg-completion-match-1))))
+ `(modus-themes-completion-match-2 ((,c ,@(modus-themes--completion-match fg-completion-match-2 bg-completion-match-2))))
+ `(modus-themes-completion-match-3 ((,c ,@(modus-themes--completion-match fg-completion-match-3 bg-completion-match-3))))
+ `(modus-themes-completion-selected ((,c ,@(modus-themes--completion-line bg-completion))))
;;;;; typography
- `(modus-themes-bold ((,class ,@(modus-themes--bold-weight))))
- `(modus-themes-fixed-pitch ((,class ,@(modus-themes--fixed-pitch))))
- `(modus-themes-slant ((,class ,@(modus-themes--slant))))
- `(modus-themes-ui-variable-pitch ((,class ,@(modus-themes--variable-pitch-ui))))
+ `(modus-themes-bold ((,c ,@(modus-themes--bold-weight))))
+ `(modus-themes-fixed-pitch ((,c ,@(modus-themes--fixed-pitch))))
+ `(modus-themes-slant ((,c ,@(modus-themes--slant))))
+ `(modus-themes-ui-variable-pitch ((,c ,@(modus-themes--variable-pitch-ui))))
;;;;; other custom faces
- `(modus-themes-hl-line ((,class ,@(modus-themes--hl-line
- bg-hl-line bg-hl-line-intense
- bg-hl-line-intense-accent blue-nuanced-bg
- bg-region blue-intense-bg
- fg-alt blue-intense)
- :extend t)))
- `(modus-themes-key-binding ((,class :inherit (bold modus-themes-fixed-pitch)
- :foreground ,blue-alt-other)))
- `(modus-themes-prompt ((,class ,@(modus-themes--prompt
- cyan-alt-other blue-alt-other fg-alt
- cyan-nuanced-bg blue-refine-bg fg-main
- bg-alt bg-active))))
- `(modus-themes-reset-hard ((,class :inherit (fixed-pitch modus-themes-reset-soft)
- :family ,(face-attribute 'default :family))))
- `(modus-themes-reset-soft ((,class :background ,bg-main :foreground ,fg-main
- :weight normal :slant normal :strike-through nil
- :box nil :underline nil :overline nil :extend nil)))
+ `(modus-themes-button ((,c :inherit variable-pitch
+ :box (:line-width 1 :color ,border :style released-button)
+ :background ,bg-button-active
+ :foreground ,fg-button-active)))
+ `(modus-themes-key-binding ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind)))
+ `(modus-themes-prompt ((,c ,@(modus-themes--prompt fg-prompt bg-prompt))))
+ `(modus-themes-reset-soft ((,c :background ,bg-main :foreground ,fg-main
+ :weight normal :slant normal :strike-through nil
+ :box nil :underline nil :overline nil :extend nil)))
;;;; standard faces
;;;;; absolute essentials
- `(default ((,class :background ,bg-main :foreground ,fg-main)))
- `(cursor ((,class :background ,fg-main)))
- `(fringe ((,class ,@(modus-themes--fringe bg-main bg-inactive bg-active)
- :foreground ,fg-main)))
- `(vertical-border ((,class :foreground ,fg-window-divider-inner)))
+ `(default ((,c :background ,bg-main :foreground ,fg-main)))
+ `(cursor ((,c :background ,cursor)))
+ `(fringe ((,c :background ,fringe :foreground ,fg-main)))
+ `(menu ((,c :background ,bg-dim :foreground ,fg-main)))
+ `(scroll-bar ((,c :background ,fringe :foreground ,border)))
+ `(tool-bar ((,c :background ,bg-dim :foreground ,fg-main)))
+ `(vertical-border ((,c :foreground ,border)))
;;;;; basic and/or ungrouped styles
- `(bold ((,class :weight bold)))
- `(bold-italic ((,class :inherit (bold italic))))
- `(underline ((,class :underline ,fg-alt)))
- `(buffer-menu-buffer ((,class :inherit bold)))
- `(child-frame-border ((,class :background ,fg-window-divider-inner)))
- `(comint-highlight-input ((,class :inherit bold)))
- `(comint-highlight-prompt ((,class :inherit modus-themes-prompt)))
- `(confusingly-reordered ((,class :inherit modus-themes-lang-error)))
- `(edmacro-label ((,class :inherit bold :foreground ,cyan)))
- `(elisp-shorthand-font-lock-face ((,class :inherit font-lock-variable-name-face)))
- `(error ((,class :inherit bold :foreground ,red)))
- `(escape-glyph ((,class :foreground ,fg-escape-char-construct)))
- `(file-name-shadow ((,class :inherit shadow)))
- `(header-line ((,class :inherit modus-themes-ui-variable-pitch
- :background ,bg-header :foreground ,fg-header)))
- `(header-line-highlight ((,class :inherit highlight)))
- `(help-argument-name ((,class :inherit modus-themes-slant :foreground ,cyan)))
- `(help-key-binding ((,class :inherit modus-themes-key-binding)))
- `(homoglyph ((,class :foreground ,red-alt-faint)))
- `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other-faint)))
- `(icon-button ((,class :inherit modus-themes-box-button)))
- `(italic ((,class :slant italic)))
- `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct)))
- `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t)))
- `(menu ((,class :inverse-video unspecified :inherit modus-themes-intense-neutral)))
- `(minibuffer-prompt ((,class :inherit modus-themes-prompt)))
- `(mm-command-output ((,class :foreground ,red-alt-other)))
- `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild)))
- `(next-error ((,class :inherit modus-themes-subtle-red :extend t)))
- `(pgtk-im-0 ((,class :inherit modus-themes-refine-cyan)))
- `(read-multiple-choice-face ((,class :inherit (bold modus-themes-mark-alt))))
- `(rectangle-preview ((,class :inherit modus-themes-special-warm)))
- `(region ((,class ,@(modus-themes--region bg-region fg-main
- bg-hl-alt-intense bg-region-accent
- bg-region-accent-subtle))))
- `(secondary-selection ((,class :inherit modus-themes-special-cold)))
- `(separator-line ((,class :underline ,bg-region)))
- `(shadow ((,class :foreground ,fg-alt)))
- `(success ((,class :inherit (bold modus-themes-grue))))
- `(trailing-whitespace ((,class :background ,red-intense-bg)))
- `(warning ((,class :inherit bold :foreground ,yellow)))
+ `(appt-notification ((,c :inherit bold :foreground ,modeline-err)))
+ `(blink-matching-paren-offscreen ((,c :background ,bg-paren-match)))
+ `(bold ((,c :weight bold)))
+ `(bold-italic ((,c :inherit (bold italic))))
+ `(underline ((,c :underline ,fg-dim)))
+ `(buffer-menu-buffer ((,c :inherit bold)))
+ `(child-frame-border ((,c :background ,border)))
+ `(comint-highlight-input ((,c :inherit bold)))
+ `(comint-highlight-prompt ((,c :inherit modus-themes-prompt)))
+ `(confusingly-reordered ((,c :inherit modus-themes-lang-error)))
+ `(edmacro-label ((,c :inherit bold :foreground ,accent-0)))
+ `(elisp-shorthand-font-lock-face ((,c :inherit font-lock-variable-name-face)))
+ `(error ((,c :inherit bold :foreground ,err)))
+ `(escape-glyph ((,c :foreground ,err)))
+ `(file-name-shadow ((,c :inherit shadow)))
+ `(header-line ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-dim)))
+ `(header-line-highlight ((,c :background ,bg-hover :foreground ,fg-main :box ,fg-main)))
+ `(help-argument-name ((,c :inherit modus-themes-slant :foreground ,variable)))
+ `(help-key-binding ((,c :inherit modus-themes-key-binding)))
+ `(highlight ((,c :background ,bg-hover :foreground ,fg-main)))
+ `(homoglyph ((,c :foreground ,warning)))
+ `(ibuffer-locked-buffer ((,c :foreground ,warning)))
+ `(icon-button ((,c :inherit modus-themes-button)))
+ `(italic ((,c :slant italic)))
+ `(nobreak-hyphen ((,c :foreground ,err)))
+ `(nobreak-space ((,c :foreground ,err :underline t)))
+ `(menu ((,c :inverse-video unspecified :background ,bg-active :foreground ,fg-main)))
+ `(minibuffer-prompt ((,c :inherit modus-themes-prompt)))
+ `(mm-command-output ((,c :foreground ,mail-part)))
+ `(mm-uu-extract ((,c :foreground ,mail-part)))
+ `(next-error ((,c :inherit modus-themes-prominent-error :extend t)))
+ `(pgtk-im-0 ((,c :inherit modus-themes-prominent-note)))
+ `(read-multiple-choice-face ((,c :inherit modus-themes-mark-sel)))
+ `(rectangle-preview ((,c :inherit secondary-selection)))
+ `(region ((,c :background ,bg-region :foreground ,fg-region)))
+ `(secondary-selection ((,c :background ,bg-hover-secondary :foreground ,fg-main)))
+ `(separator-line ((,c :underline ,bg-active)))
+ `(shadow ((,c :foreground ,fg-dim)))
+ `(success ((,c :inherit bold :foreground ,info)))
+ `(trailing-whitespace ((,c :background ,bg-space-err)))
+ `(warning ((,c :inherit bold :foreground ,warning)))
;;;;; buttons, links, widgets
- `(button ((,class ,@(modus-themes--link
- blue-alt-other blue-alt-other-faint
- bg-region blue-nuanced-bg bg-alt))))
- `(link ((,class :inherit button)))
- `(link-visited ((,class :inherit button
- ,@(modus-themes--link-color
- magenta-alt-other magenta-alt-other-faint fg-alt))))
- `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main)))
- `(widget-button ((,class ,@(if (memq 'all-buttons modus-themes-box-buttons)
- (list :inherit 'modus-themes-box-button)
- (list :inherit 'bold :foreground blue-alt)))))
- `(widget-button-pressed ((,class ,@(if (memq 'all-buttons modus-themes-box-buttons)
- (list :inherit 'modus-themes-box-button-pressed)
- (list :inherit 'bold :foreground magenta-alt)))))
- `(widget-documentation ((,class :foreground ,green)))
- `(widget-field ((,class :background ,bg-alt :foreground ,fg-main :extend nil)))
- `(widget-inactive ((,class :inherit shadow :background ,bg-dim)))
- `(widget-single-line-field ((,class :inherit widget-field)))
-;;;;; alert
- `(alert-high-face ((,class :inherit bold :foreground ,red-alt)))
- `(alert-low-face ((,class :foreground ,fg-special-mild)))
- `(alert-moderate-face ((,class :inherit bold :foreground ,yellow)))
- `(alert-trivial-face ((,class :foreground ,fg-special-calm)))
- `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense)))
+ `(button ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link)))
+ `(link ((,c :inherit button)))
+ `(link-visited ((,c :background ,bg-link-visited :foreground ,fg-link-visited :underline ,underline-link-visited)))
+ `(tooltip ((,c :background ,bg-active :foreground ,fg-main)))
+;;;;; agda2-mode
+ `(agda2-highlight-bound-variable-face ((,c :inherit font-lock-variable-name-face)))
+ `(agda2-highlight-catchall-clause-face ((,c :background ,bg-inactive)))
+ `(agda2-highlight-coinductive-constructor-face ((,c :inherit font-lock-type-face)))
+ `(agda2-highlight-coverage-problem-face ((,c :inherit modus-themes-lang-error)))
+ `(agda2-highlight-datatype-face ((,c :inherit font-lock-type-face)))
+ `(agda2-highlight-deadcode-face ((,c :background ,bg-active)))
+ `(agda2-highlight-dotted-face ((,c :inherit font-lock-variable-name-face)))
+ `(agda2-highlight-error-face ((,c :inherit modus-themes-lang-error)))
+ `(agda2-highlight-field-face ((,c :inherit font-lock-type-face)))
+ `(agda2-highlight-function-face ((,c :inherit font-lock-function-name-face)))
+ `(agda2-highlight-generalizable-variable-face ((,c :inherit font-lock-variable-name-face)))
+ `(agda2-highlight-incomplete-pattern-face ((,c :inherit modus-themes-lang-warning)))
+ `(agda2-highlight-inductive-constructor-face ((,c :inherit font-lock-type-face)))
+ `(agda2-highlight-keyword-face ((,c :inherit font-lock-keyword-face)))
+ `(agda2-highlight-macro-face ((,c :inherit font-lock-keyword-face)))
+ `(agda2-highlight-module-face ((,c :inherit font-lock-variable-name-face)))
+ `(agda2-highlight-number-face ((,c :inherit shadow)))
+ `(agda2-highlight-operator-face ((,c :inherit font-lock-variable-name-face)))
+ `(agda2-highlight-positivity-problem-face ((,c :inherit modus-themes-lang-warning)))
+ `(agda2-highlight-postulate-face ((,c :inherit font-lock-type-face)))
+ `(agda2-highlight-pragma-face ((,c :inherit font-lock-preprocessor-face)))
+ `(agda2-highlight-primitive-face ((,c :inherit font-lock-type-face)))
+ `(agda2-highlight-primitive-type-face ((,c :inherit font-lock-type-face)))
+ `(agda2-highlight-record-face ((,c :inherit font-lock-type-face)))
+ `(agda2-highlight-string-face ((,c :inherit font-lock-string-face)))
+ `(agda2-highlight-symbol-face ((,c :inherit font-lock-constant-face)))
+ `(agda2-highlight-termination-problem-face ((,c :inherit modus-themes-lang-warning)))
+ `(agda2-highlight-typechecks-face ((,c :inherit font-lock-warning-face)))
+ `(agda2-highlight-unsolved-constraint-face ((,c :inherit modus-themes-lang-warning)))
+ `(agda2-highlight-unsolved-meta-face ((,c :inherit modus-themes-lang-warning)))
;;;;; all-the-icons
- `(all-the-icons-blue ((,class :foreground ,blue-alt-other)))
- `(all-the-icons-blue-alt ((,class :foreground ,blue-alt)))
- `(all-the-icons-cyan ((,class :foreground ,cyan-intense)))
- `(all-the-icons-cyan-alt ((,class :foreground ,cyan-alt)))
- `(all-the-icons-dblue ((,class :foreground ,blue-faint)))
- `(all-the-icons-dcyan ((,class :foreground ,cyan-faint)))
- `(all-the-icons-dgreen ((,class :foreground ,green)))
- `(all-the-icons-dmaroon ((,class :foreground ,magenta-alt-faint)))
- `(all-the-icons-dorange ((,class :foreground ,red-alt-faint)))
- `(all-the-icons-dpink ((,class :foreground ,magenta-faint)))
- `(all-the-icons-dpurple ((,class :foreground ,magenta-alt-other-faint)))
- `(all-the-icons-dred ((,class :foreground ,red-faint)))
- `(all-the-icons-dsilver ((,class :foreground ,cyan-alt-faint)))
- `(all-the-icons-dyellow ((,class :foreground ,yellow-alt-faint)))
- `(all-the-icons-green ((,class :foreground ,green-intense)))
- `(all-the-icons-lblue ((,class :foreground ,blue-alt-other)))
- `(all-the-icons-lcyan ((,class :foreground ,cyan)))
- `(all-the-icons-lgreen ((,class :foreground ,green-alt-other)))
- `(all-the-icons-lmaroon ((,class :foreground ,magenta-alt)))
- `(all-the-icons-lorange ((,class :foreground ,red-alt)))
- `(all-the-icons-lpink ((,class :foreground ,magenta)))
- `(all-the-icons-lpurple ((,class :foreground ,magenta-faint)))
- `(all-the-icons-lred ((,class :foreground ,red)))
- `(all-the-icons-lsilver ((,class :foreground ,fg-docstring)))
- `(all-the-icons-lyellow ((,class :foreground ,yellow-alt)))
- `(all-the-icons-maroon ((,class :foreground ,magenta-intense)))
- `(all-the-icons-orange ((,class :foreground ,orange-intense)))
- `(all-the-icons-pink ((,class :foreground ,fg-special-calm)))
- `(all-the-icons-purple ((,class :foreground ,magenta-alt-other)))
- `(all-the-icons-purple-alt ((,class :foreground ,purple-intense)))
- `(all-the-icons-red ((,class :foreground ,red-intense)))
- `(all-the-icons-red-alt ((,class :foreground ,red-alt-other)))
- `(all-the-icons-silver ((,class :foreground ,fg-special-cold)))
- `(all-the-icons-yellow ((,class :foreground ,yellow)))
+ `(all-the-icons-blue ((,c :foreground ,blue-cooler)))
+ `(all-the-icons-blue-alt ((,c :foreground ,blue-warmer)))
+ `(all-the-icons-cyan ((,c :foreground ,cyan)))
+ `(all-the-icons-cyan-alt ((,c :foreground ,cyan-warmer)))
+ `(all-the-icons-dblue ((,c :foreground ,blue-faint)))
+ `(all-the-icons-dcyan ((,c :foreground ,cyan-faint)))
+ `(all-the-icons-dgreen ((,c :foreground ,green-faint)))
+ `(all-the-icons-dmaroon ((,c :foreground ,magenta-faint)))
+ `(all-the-icons-dorange ((,c :foreground ,red-faint)))
+ `(all-the-icons-dpink ((,c :foreground ,magenta-faint)))
+ `(all-the-icons-dpurple ((,c :foreground ,magenta-cooler)))
+ `(all-the-icons-dred ((,c :foreground ,red)))
+ `(all-the-icons-dsilver ((,c :foreground ,cyan-faint)))
+ `(all-the-icons-dyellow ((,c :foreground ,yellow-faint)))
+ `(all-the-icons-green ((,c :foreground ,green)))
+ `(all-the-icons-lblue ((,c :foreground ,blue-cooler)))
+ `(all-the-icons-lcyan ((,c :foreground ,cyan)))
+ `(all-the-icons-lgreen ((,c :foreground ,green-warmer)))
+ `(all-the-icons-lmaroon ((,c :foreground ,magenta-warmer)))
+ `(all-the-icons-lorange ((,c :foreground ,red-warmer)))
+ `(all-the-icons-lpink ((,c :foreground ,magenta)))
+ `(all-the-icons-lpurple ((,c :foreground ,magenta-faint)))
+ `(all-the-icons-lred ((,c :foreground ,red-faint)))
+ `(all-the-icons-lsilver ((,c :foreground "gray50")))
+ `(all-the-icons-lyellow ((,c :foreground ,yellow-warmer)))
+ `(all-the-icons-maroon ((,c :foreground ,magenta)))
+ `(all-the-icons-orange ((,c :foreground ,yellow-warmer)))
+ `(all-the-icons-pink ((,c :foreground ,magenta-warmer)))
+ `(all-the-icons-purple ((,c :foreground ,magenta-cooler)))
+ `(all-the-icons-purple-alt ((,c :foreground ,blue-warmer)))
+ `(all-the-icons-red ((,c :foreground ,red)))
+ `(all-the-icons-red-alt ((,c :foreground ,red-cooler)))
+ `(all-the-icons-silver ((,c :foreground "gray50")))
+ `(all-the-icons-yellow ((,c :foreground ,yellow)))
;;;;; all-the-icons-dired
- `(all-the-icons-dired-dir-face ((,class :foreground ,cyan-faint)))
+ `(all-the-icons-dired-dir-face ((,c :foreground ,cyan-faint)))
;;;;; all-the-icons-ibuffer
- `(all-the-icons-ibuffer-dir-face ((,class :foreground ,cyan-faint)))
- `(all-the-icons-ibuffer-file-face ((,class :foreground ,blue-faint)))
- `(all-the-icons-ibuffer-mode-face ((,class :foreground ,cyan)))
- `(all-the-icons-ibuffer-size-face ((,class :foreground ,cyan-alt-other)))
+ `(all-the-icons-ibuffer-dir-face ((,c :foreground ,cyan-faint)))
+ `(all-the-icons-ibuffer-file-face ((,c :foreground ,blue-faint)))
+ `(all-the-icons-ibuffer-mode-face ((,c :foreground ,cyan)))
+ `(all-the-icons-ibuffer-size-face ((,c :foreground ,cyan-cooler)))
;;;;; annotate
- `(annotate-annotation ((,class :inherit modus-themes-subtle-blue)))
- `(annotate-annotation-secondary ((,class :inherit modus-themes-subtle-green)))
- `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense)))
- `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense)))
+ `(annotate-annotation ((,c :inherit modus-themes-subtle-blue)))
+ `(annotate-annotation-secondary ((,c :inherit modus-themes-subtle-magenta)))
+ `(annotate-highlight ((,c :background ,bg-blue-subtle :underline ,blue-intense)))
+ `(annotate-highlight-secondary ((,c :background ,bg-magenta-subtle :underline ,magenta-intense)))
;;;;; ansi-color
;; Those are in Emacs28.
- `(ansi-color-black ((,class :background "black" :foreground "black")))
- `(ansi-color-blue ((,class :background ,blue :foreground ,blue)))
- `(ansi-color-bold ((,class :inherit bold)))
- `(ansi-color-bright-black ((,class :background "gray35" :foreground "gray35")))
- `(ansi-color-bright-blue ((,class :background ,blue-alt :foreground ,blue-alt)))
- `(ansi-color-bright-cyan ((,class :background ,cyan-alt-other :foreground ,cyan-alt-other)))
- `(ansi-color-bright-green ((,class :background ,green-alt-other :foreground ,green-alt-other)))
- `(ansi-color-bright-magenta ((,class :background ,magenta-alt-other :foreground ,magenta-alt-other)))
- `(ansi-color-bright-red ((,class :background ,red-alt :foreground ,red-alt)))
- `(ansi-color-bright-white ((,class :background "white" :foreground "white")))
- `(ansi-color-bright-yellow ((,class :background ,yellow-alt :foreground ,yellow-alt)))
- `(ansi-color-cyan ((,class :background ,cyan :foreground ,cyan)))
- `(ansi-color-green ((,class :background ,green :foreground ,green)))
- `(ansi-color-magenta ((,class :background ,magenta :foreground ,magenta)))
- `(ansi-color-red ((,class :background ,red :foreground ,red)))
- `(ansi-color-white ((,class :background "gray65" :foreground "gray65")))
- `(ansi-color-yellow ((,class :background ,yellow :foreground ,yellow)))
+ `(ansi-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black)))
+ `(ansi-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue)))
+ `(ansi-color-bold ((,c :inherit bold)))
+ `(ansi-color-bright-black ((,c :background ,bg-term-black-bright :foreground ,fg-term-black-bright)))
+ `(ansi-color-bright-blue ((,c :background ,bg-term-blue-bright :foreground ,fg-term-blue-bright)))
+ `(ansi-color-bright-cyan ((,c :background ,bg-term-cyan-bright :foreground ,fg-term-cyan-bright)))
+ `(ansi-color-bright-green ((,c :background ,bg-term-green-bright :foreground ,fg-term-green-bright)))
+ `(ansi-color-bright-magenta ((,c :background ,bg-term-magenta-bright :foreground ,fg-term-magenta-bright)))
+ `(ansi-color-bright-red ((,c :background ,bg-term-red-bright :foreground ,fg-term-red-bright)))
+ `(ansi-color-bright-white ((,c :background ,bg-term-white-bright :foreground ,fg-term-white-bright)))
+ `(ansi-color-bright-yellow ((,c :background ,bg-term-yellow-bright :foreground ,fg-term-yellow-bright)))
+ `(ansi-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan)))
+ `(ansi-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green)))
+ `(ansi-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta)))
+ `(ansi-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red)))
+ `(ansi-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white)))
+ `(ansi-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow)))
;;;;; anzu
- `(anzu-match-1 ((,class :inherit modus-themes-subtle-cyan)))
- `(anzu-match-2 ((,class :inherit modus-themes-search-success)))
- `(anzu-match-3 ((,class :inherit modus-themes-subtle-yellow)))
- `(anzu-mode-line ((,class :inherit (bold modus-themes-search-success-modeline))))
- `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active)))
- `(anzu-replace-highlight ((,class :inherit modus-themes-refine-red :underline t)))
- `(anzu-replace-to ((,class :inherit modus-themes-search-success)))
-;;;;; apropos
- `(apropos-button ((,class :foreground ,magenta-alt-other)))
- `(apropos-function-button ((,class :foreground ,magenta)))
- `(apropos-keybinding ((,class :inherit modus-themes-key-binding)))
- `(apropos-misc-button ((,class :foreground ,green-alt-other)))
- `(apropos-property ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
- `(apropos-symbol ((,class :inherit modus-themes-pseudo-header)))
- `(apropos-user-option-button ((,class :foreground ,cyan)))
- `(apropos-variable-button ((,class :foreground ,blue-alt)))
-;;;;; artbollocks-mode
- `(artbollocks-face ((,class :inherit modus-themes-lang-note)))
- `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t)))
- `(artbollocks-passive-voice-face ((,class :inherit modus-themes-lang-warning)))
- `(artbollocks-weasel-words-face ((,class :inherit modus-themes-lang-error)))
+ `(anzu-match-1 ((,c :inherit modus-themes-subtle-cyan)))
+ `(anzu-match-2 ((,c :inherit modus-themes-search-current)))
+ `(anzu-match-3 ((,c :inherit modus-themes-subtle-yellow)))
+ `(anzu-mode-line ((,c :inherit bold)))
+ `(anzu-mode-line-no-match ((,c :inherit error)))
+ `(anzu-replace-highlight ((,c :inherit modus-themes-search-replace)))
+ `(anzu-replace-to ((,c :inherit modus-themes-search-current)))
;;;;; auctex and Tex
- `(font-latex-bold-face ((,class :inherit bold)))
- `(font-latex-doctex-documentation-face ((,class :inherit font-lock-doc-face)))
- `(font-latex-doctex-preprocessor-face ((,class :inherit font-lock-preprocessor-face)))
- `(font-latex-italic-face ((,class :inherit italic)))
- `(font-latex-math-face ((,class :inherit font-lock-constant-face)))
- `(font-latex-script-char-face ((,class :inherit font-lock-builtin-face)))
- `(font-latex-sectioning-5-face ((,class :inherit (bold modus-themes-variable-pitch) :foreground ,blue-nuanced-fg)))
- `(font-latex-sedate-face ((,class :inherit font-lock-keyword-face)))
- `(font-latex-slide-title-face ((,class :inherit modus-themes-heading-1)))
- `(font-latex-string-face ((,class :inherit font-lock-string-face)))
- `(font-latex-subscript-face ((,class :height 0.95)))
- `(font-latex-superscript-face ((,class :height 0.95)))
- `(font-latex-underline-face ((,class :inherit underline)))
- `(font-latex-verbatim-face ((,class :inherit modus-themes-markup-verbatim)))
- `(font-latex-warning-face ((,class :inherit font-lock-warning-face)))
- `(tex-verbatim ((,class :inherit modus-themes-markup-verbatim)))
- `(texinfo-heading ((,class :foreground ,magenta)))
- `(TeX-error-description-error ((,class :inherit error)))
- `(TeX-error-description-help ((,class :inherit success)))
- `(TeX-error-description-tex-said ((,class :inherit success)))
- `(TeX-error-description-warning ((,class :inherit warning)))
+ `(font-latex-bold-face ((,c :inherit bold)))
+ `(font-latex-doctex-documentation-face ((,c :inherit font-lock-doc-face)))
+ `(font-latex-doctex-preprocessor-face ((,c :inherit font-lock-preprocessor-face)))
+ `(font-latex-italic-face ((,c :inherit italic)))
+ `(font-latex-math-face ((,c :inherit font-lock-constant-face)))
+ `(font-latex-script-char-face ((,c :inherit font-lock-builtin-face)))
+ `(font-latex-sectioning-5-face ((,c :inherit (bold modus-themes-variable-pitch) :foreground ,fg-alt)))
+ `(font-latex-sedate-face ((,c :inherit font-lock-keyword-face)))
+ `(font-latex-slide-title-face ((,c :inherit modus-themes-heading-1)))
+ `(font-latex-string-face ((,c :inherit font-lock-string-face)))
+ `(font-latex-subscript-face ((,c :height 0.95)))
+ `(font-latex-superscript-face ((,c :height 0.95)))
+ `(font-latex-underline-face ((,c :inherit underline)))
+ `(font-latex-verbatim-face ((,c :inherit modus-themes-prose-verbatim)))
+ `(font-latex-warning-face ((,c :inherit font-lock-warning-face)))
+ `(tex-verbatim ((,c :inherit modus-themes-prose-verbatim)))
+ ;; `(texinfo-heading ((,c :foreground ,magenta)))
+ `(TeX-error-description-error ((,c :inherit error)))
+ `(TeX-error-description-help ((,c :inherit success)))
+ `(TeX-error-description-tex-said ((,c :inherit success)))
+ `(TeX-error-description-warning ((,c :inherit warning)))
;;;;; auto-dim-other-buffers
- `(auto-dim-other-buffers-face ((,class :background ,bg-alt)))
+ `(auto-dim-other-buffers-face ((,c :background ,bg-inactive)))
;;;;; avy
- `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim :extend t)))
- `(avy-goto-char-timer-face ((,class :inherit (modus-themes-intense-neutral bold))))
- `(avy-lead-face ((,class :inherit (bold modus-themes-reset-soft) :background ,bg-char-0)))
- `(avy-lead-face-0 ((,class :inherit (bold modus-themes-reset-soft) :background ,bg-char-1)))
- `(avy-lead-face-1 ((,class :inherit (modus-themes-special-warm modus-themes-reset-soft))))
- `(avy-lead-face-2 ((,class :inherit (bold modus-themes-reset-soft) :background ,bg-char-2)))
+ `(avy-background-face ((,c :background ,bg-dim :foreground ,fg-dim :extend t)))
+ `(avy-goto-char-timer-face ((,c :inherit bold :background ,bg-active)))
+ `(avy-lead-face ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-0)))
+ `(avy-lead-face-0 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-1)))
+ `(avy-lead-face-1 ((,c :inherit modus-themes-reset-soft :background ,bg-inactive)))
+ `(avy-lead-face-2 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-2)))
;;;;; aw (ace-window)
- `(aw-background-face ((,class :foreground ,fg-unfocused)))
- `(aw-key-face ((,class :inherit modus-themes-key-binding)))
- `(aw-leading-char-face ((,class :inherit (bold modus-themes-reset-soft) :height 1.5
- :foreground ,red-intense)))
- `(aw-minibuffer-leading-char-face ((,class :inherit (modus-themes-intense-red bold))))
- `(aw-mode-line-face ((,class :inherit bold)))
-;;;;; awesome-tray
- `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other)))
- `(awesome-tray-module-battery-face ((,class :inherit bold :foreground ,cyan-alt-other)))
- `(awesome-tray-module-buffer-name-face ((,class :inherit bold :foreground ,yellow-alt-other)))
- `(awesome-tray-module-circe-face ((,class :inherit bold :foreground ,blue-alt)))
- `(awesome-tray-module-date-face ((,class :inherit bold :foreground ,fg-dim)))
- `(awesome-tray-module-evil-face ((,class :inherit bold :foreground ,green-alt)))
- `(awesome-tray-module-git-face ((,class :inherit bold :foreground ,magenta)))
- `(awesome-tray-module-last-command-face ((,class :inherit bold :foreground ,blue-alt-other)))
- `(awesome-tray-module-location-face ((,class :inherit bold :foreground ,yellow)))
- `(awesome-tray-module-mode-name-face ((,class :inherit bold :foreground ,green)))
- `(awesome-tray-module-parent-dir-face ((,class :inherit bold :foreground ,cyan)))
- `(awesome-tray-module-rvm-face ((,class :inherit bold :foreground ,magenta-alt-other)))
-;;;;; bbdb
- `(bbdb-name ((,class :foreground ,magenta-alt-other)))
- `(bbdb-organization ((,class :foreground ,red-alt-other)))
- `(bbdb-field-name ((,class :foreground ,cyan-alt-other)))
+ `(aw-background-face ((,c :foreground "gray50")))
+ `(aw-key-face ((,c :inherit modus-themes-key-binding)))
+ `(aw-leading-char-face ((,c :inherit (bold modus-themes-reset-soft) :height 1.5 :foreground ,red-intense)))
+ `(aw-minibuffer-leading-char-face ((,c :inherit modus-themes-key-binding)))
+ `(aw-mode-line-face ((,c :inherit bold)))
;;;;; binder
- `(binder-sidebar-highlight ((,class :inherit modus-themes-subtle-cyan)))
- `(binder-sidebar-marked ((,class :inherit modus-themes-mark-sel)))
- `(binder-sidebar-missing ((,class :inherit modus-themes-subtle-red)))
- `(binder-sidebar-tags ((,class :foreground ,cyan)))
-;;;;; bm
- `(bm-face ((,class :inherit modus-themes-subtle-yellow :extend t)))
- `(bm-fringe-face ((,class :inherit modus-themes-fringe-yellow)))
- `(bm-fringe-persistent-face ((,class :inherit modus-themes-fringe-blue)))
- `(bm-persistent-face ((,class :inherit modus-themes-intense-blue :extend t)))
+ `(binder-sidebar-highlight ((,c :inherit modus-themes-hl-line)))
+ `(binder-sidebar-marked ((,c :inherit modus-themes-mark-sel)))
+ `(binder-sidebar-missing ((,c :inherit modus-themes-mark-del)))
+ `(binder-sidebar-tags ((,c :foreground ,variable)))
+;;;;; breadcrumb
+ `(breadcrumb-face ((,c :foreground ,fg-alt)))
+ `(breadcrumb-imenu-leaf-face ((,c :inherit bold :foreground ,modeline-info))) ; same as `which-func'
+ `(breadcrumb-project-leaf-face ((,c :inherit bold)))
;;;;; bongo
- `(bongo-album-title ((,class :foreground ,fg-active)))
- `(bongo-artist ((,class :foreground ,magenta-active)))
- `(bongo-currently-playing-track ((,class :inherit bold)))
- `(bongo-elapsed-track-part ((,class :inherit modus-themes-subtle-magenta :underline t)))
- `(bongo-filled-seek-bar ((,class :background ,blue-intense-bg :foreground ,fg-main)))
- `(bongo-marked-track ((,class :foreground ,fg-mark-alt)))
- `(bongo-marked-track-line ((,class :background ,bg-mark-alt)))
- `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t)))
- `(bongo-track-length ((,class :inherit shadow)))
- `(bongo-track-title ((,class :foreground ,blue-active)))
- `(bongo-unfilled-seek-bar ((,class :background ,bg-special-cold :foreground ,fg-main)))
+ `(bongo-album-title (( )))
+ `(bongo-artist ((,c :foreground ,accent-0)))
+ `(bongo-currently-playing-track ((,c :inherit bold)))
+ `(bongo-elapsed-track-part ((,c :background ,bg-inactive :underline t)))
+ `(bongo-filled-seek-bar ((,c :background ,bg-hover)))
+ `(bongo-marked-track ((,c :inherit modus-themes-mark-alt)))
+ `(bongo-marked-track-line ((,c :background ,bg-dim)))
+ `(bongo-played-track ((,c :inherit shadow :strike-through t)))
+ `(bongo-track-length ((,c :inherit shadow)))
+ `(bongo-track-title ((,c :foreground ,accent-1)))
+ `(bongo-unfilled-seek-bar ((,c :background ,bg-dim)))
;;;;; boon
- `(boon-modeline-cmd ((,class :inherit modus-themes-active-blue)))
- `(boon-modeline-ins ((,class :inherit modus-themes-active-red)))
- `(boon-modeline-off ((,class :inherit modus-themes-active-yellow)))
- `(boon-modeline-spc ((,class :inherit modus-themes-active-green)))
+ `(boon-modeline-cmd ((,c :inherit modus-themes-intense-blue)))
+ `(boon-modeline-ins ((,c :inherit modus-themes-intense-red)))
+ `(boon-modeline-off ((,c :inherit modus-themes-intense-yellow)))
+ `(boon-modeline-spc ((,c :inherit modus-themes-intense-green)))
;;;;; bookmark
- `(bookmark-face ((,class :inherit modus-themes-fringe-cyan)))
- `(bookmark-menu-bookmark ((,class :inherit bold)))
-;;;;; breakpoint (built-in gdb-mi.el)
- `(breakpoint-disabled ((,class :inherit shadow)))
- `(breakpoint-enabled ((,class :inherit bold :foreground ,red)))
+ `(bookmark-face ((,c :inherit success)))
+ `(bookmark-menu-bookmark ((,c :inherit bold)))
;;;;; calendar and diary
- `(calendar-month-header ((,class :inherit modus-themes-pseudo-header)))
- `(calendar-today ((,class :inherit bold :underline t)))
- `(calendar-weekday-header ((,class :foreground ,fg-unfocused)))
- `(calendar-weekend-header ((,class :foreground ,red-faint)))
- `(diary ((,class :background ,blue-nuanced-bg :foreground ,blue-alt-other)))
- `(diary-anniversary ((,class :foreground ,red-alt-other)))
- `(diary-time ((,class :foreground ,cyan)))
- `(holiday ((,class :background ,magenta-nuanced-bg :foreground ,magenta-alt)))
-;;;;; calfw
- `(cfw:face-annotation ((,class :foreground ,fg-special-warm)))
- `(cfw:face-day-title ((,class :foreground ,fg-main)))
- `(cfw:face-default-content ((,class :foreground ,green-alt)))
- `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold))))
- `(cfw:face-disable ((,class :foreground ,fg-unfocused)))
- `(cfw:face-grid ((,class :foreground ,fg-window-divider-outer)))
- `(cfw:face-header ((,class :inherit bold :foreground ,fg-main)))
- `(cfw:face-holiday ((,class :foreground ,magenta-alt-other)))
- `(cfw:face-periods ((,class :foreground ,cyan-alt-other)))
- `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other)))
- `(cfw:face-select ((,class :inherit modus-themes-intense-blue)))
- `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other)))
- `(cfw:face-title ((,class :inherit modus-themes-heading-1 :background ,bg-main :overline nil :foreground ,fg-special-cold)))
- `(cfw:face-today ((,class :background ,bg-inactive)))
- `(cfw:face-today-title ((,class :background ,bg-active)))
- `(cfw:face-toolbar ((,class :background ,bg-alt :foreground ,bg-alt)))
- `(cfw:face-toolbar-button-off ((,class :inherit shadow)))
- `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg
- :foreground ,blue-alt)))
+ `(calendar-month-header ((,c :inherit bold)))
+ `(calendar-today ((,c :inherit bold :underline t)))
+ `(calendar-weekday-header ((,c :foreground ,date-weekday)))
+ `(calendar-weekend-header ((,c :foreground ,date-weekend)))
+ `(diary ((,c :foreground ,date-common)))
+ `(diary-anniversary ((,c :foreground ,date-holiday)))
+ `(diary-time ((,c :foreground ,date-common)))
+ `(holiday ((,c :foreground ,date-holiday)))
;;;;; calibredb
- `(calibredb-archive-face ((,class :foreground ,magenta-alt-faint)))
- `(calibredb-author-face ((,class :foreground ,blue-faint)))
- `(calibredb-comment-face ((,class :inherit shadow)))
- `(calibredb-date-face ((,class :foreground ,cyan)))
- `(calibredb-edit-annotation-header-title-face ((,class :inherit bold)))
- `(calibredb-favorite-face ((,class :foreground ,red-alt)))
+ ;; NOTE 2022-12-27: Calibredb needs to be reviewed. I had to
+ ;; change the applicable colors for the transition to
+ ;; modus-themes version 4, but I cannot test this currently (it
+ ;; depends on an external program).
+ `(calibredb-archive-face ((,c :foreground ,accent-3)))
+ `(calibredb-author-face ((,c :foreground ,name)))
+ `(calibredb-comment-face ((,c :inherit shadow)))
+ `(calibredb-date-face ((,c :foreground ,date-common)))
+ `(calibredb-edit-annotation-header-title-face ((,c :inherit bold)))
+ `(calibredb-favorite-face ((,c :foreground ,red-warmer)))
`(calibredb-file-face (( )))
- `(calibredb-format-face ((,class :foreground ,cyan-faint)))
- `(calibredb-highlight-face ((,class :inherit success)))
+ `(calibredb-format-face ((,c :foreground ,fg-alt)))
+ `(calibredb-highlight-face ((,c :inherit success)))
`(calibredb-id-face (( )))
`(calibredb-ids-face (( )))
- `(calibredb-search-header-highlight-face ((,class :inherit modus-themes-hl-line)))
- `(calibredb-search-header-library-name-face ((,class :foreground ,blue-active)))
- `(calibredb-search-header-library-path-face ((,class :inherit bold)))
- `(calibredb-search-header-sort-face ((,class :inherit bold :foreground ,magenta-active)))
- `(calibredb-search-header-total-face ((,class :inherit bold :foreground ,cyan-active)))
- `(calibredb-search-header-filter-face ((,class :inherit bold)))
- `(calibredb-mark-face ((,class :inherit modus-themes-mark-sel)))
+ `(calibredb-search-header-highlight-face ((,c :background ,bg-hl-line :extend t)))
+ `(calibredb-search-header-library-name-face ((,c :foreground ,accent-2)))
+ `(calibredb-search-header-library-path-face ((,c :inherit bold)))
+ `(calibredb-search-header-sort-face ((,c :inherit bold :foreground ,accent-1)))
+ `(calibredb-search-header-total-face ((,c :inherit bold :foreground ,accent-0)))
+ `(calibredb-search-header-filter-face ((,c :inherit bold)))
+ `(calibredb-mark-face ((,c :inherit modus-themes-mark-sel)))
`(calibredb-size-face (( )))
- `(calibredb-tag-face ((,class :foreground ,magenta-alt-faint)))
+ `(calibredb-tag-face ((,c :foreground ,fg-alt)))
;;;;; centaur-tabs
- `(centaur-tabs-active-bar-face ((,class :background ,blue-active)))
- `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t)))
- `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected)))
- `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected)))
- `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected)))
- `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected)))
- `(centaur-tabs-default ((,class :background ,bg-main)))
- `(centaur-tabs-selected ((,class :inherit modus-themes-tab-active)))
- `(centaur-tabs-selected-modified ((,class :inherit (italic centaur-tabs-selected))))
- `(centaur-tabs-unselected ((,class :inherit modus-themes-tab-inactive)))
- `(centaur-tabs-unselected-modified ((,class :inherit (italic centaur-tabs-unselected))))
-;;;;; cfrs
- `(cfrs-border-color ((,class :background ,fg-window-divider-inner)))
+ `(centaur-tabs-active-bar-face ((,c :background ,blue)))
+ `(centaur-tabs-close-mouse-face ((,c :inherit bold :foreground ,red :underline t)))
+ `(centaur-tabs-close-selected ((,c :inherit centaur-tabs-selected)))
+ `(centaur-tabs-close-unselected ((,c :inherit centaur-tabs-unselected)))
+ `(centaur-tabs-modified-marker-selected ((,c :inherit centaur-tabs-selected)))
+ `(centaur-tabs-modified-marker-unselected ((,c :inherit centaur-tabs-unselected)))
+ `(centaur-tabs-default ((,c :background ,bg-main)))
+ `(centaur-tabs-selected ((,c :inherit bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current)))
+ `(centaur-tabs-selected-modified ((,c :inherit (italic centaur-tabs-selected))))
+ `(centaur-tabs-unselected ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other)))
+ `(centaur-tabs-unselected-modified ((,c :inherit (italic centaur-tabs-unselected))))
;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
- `(change-log-acknowledgment ((,class :inherit shadow)))
- `(change-log-conditionals ((,class :foreground ,yellow)))
- `(change-log-date ((,class :foreground ,cyan)))
- `(change-log-email ((,class :foreground ,cyan-alt-other)))
- `(change-log-file ((,class :inherit bold :foreground ,fg-special-cold)))
- `(change-log-function ((,class :foreground ,green-alt-other)))
- `(change-log-list ((,class :foreground ,magenta-alt)))
- `(change-log-name ((,class :foreground ,magenta-alt-other)))
- `(log-edit-header ((,class :foreground ,fg-special-warm)))
- `(log-edit-headers-separator ((,class :height 1 :background ,fg-window-divider-inner :extend t)))
- `(log-edit-summary ((,class :inherit bold :foreground ,blue)))
- `(log-edit-unknown-header ((,class :inherit shadow)))
- `(log-view-commit-body ((,class :foreground ,blue-nuanced-fg)))
- `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold)))
- `(log-view-message ((,class :background ,bg-alt :foreground ,fg-alt)))
+ `(change-log-acknowledgment ((,c :foreground ,identifier)))
+ `(change-log-conditionals ((,c :inherit error)))
+ `(change-log-date ((,c :foreground ,date-common)))
+ `(change-log-email ((,c :foreground ,fg-alt)))
+ `(change-log-file ((,c :inherit bold)))
+ `(change-log-function ((,c :inherit warning)))
+ `(change-log-list ((,c :inherit bold)))
+ `(change-log-name ((,c :foreground ,name)))
+ `(log-edit-header ((,c :inherit bold)))
+ `(log-edit-headers-separator ((,c :height 1 :background ,border :extend t)))
+ `(log-edit-summary ((,c :inherit success)))
+ `(log-edit-unknown-header ((,c :inherit shadow)))
+ `(log-view-commit-body (( )))
+ `(log-view-file ((,c :inherit bold)))
+ `(log-view-message ((,c :foreground ,identifier)))
;;;;; cider
- `(cider-debug-code-overlay-face ((,class :background ,bg-alt)))
- `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t)))
- `(cider-deprecated-face ((,class :inherit modus-themes-refine-yellow)))
- `(cider-docview-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold)))
- `(cider-docview-literal-face ((,class :foreground ,blue-alt)))
- `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold)))
- `(cider-docview-table-border-face ((,class :inherit shadow)))
- `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim)))
- `(cider-enlightened-local-face ((,class :inherit bold :foreground ,yellow-alt-other)))
- `(cider-error-highlight-face ((,class :foreground ,red :underline t)))
- `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,yellow)))
- `(cider-fringe-good-face ((,class :foreground ,green-active)))
- `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim)))
- `(cider-reader-conditional-face ((,class :inherit italic :foreground ,fg-special-warm)))
- `(cider-repl-input-face ((,class :inherit bold)))
- `(cider-repl-prompt-face ((,class :inherit modus-themes-prompt)))
- `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red)))
- `(cider-repl-stdout-face ((,class :foreground ,blue)))
- `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim)))
- `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground ,red)))
- `(cider-stacktrace-error-message-face ((,class :inherit italic :foreground ,red-alt-other)))
- `(cider-stacktrace-face ((,class :foreground ,fg-main)))
- `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt :underline t)))
- `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt)))
- `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main)))
- `(cider-stacktrace-ns-face ((,class :inherit (shadow italic))))
- `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red)))
- `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button)
- :background ,bg-alt :foreground ,fg-alt)))
- `(cider-test-error-face ((,class :inherit modus-themes-subtle-red)))
- `(cider-test-failure-face ((,class :inherit (modus-themes-intense-red bold))))
- `(cider-test-success-face ((,class :inherit modus-themes-grue-background-intense)))
- `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim)))
- `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t)))
+ `(cider-deprecated-face ((,c :inherit warning)))
+ `(cider-enlightened-face ((,c :box ,warning)))
+ `(cider-enlightened-local-face ((,c :inherit warning)))
+ `(cider-error-highlight-face ((,c :inherit modus-themes-lang-error)))
+ `(cider-fringe-good-face ((,c :foreground ,info)))
+ `(cider-instrumented-face ((,c :box ,err)))
+ `(cider-reader-conditional-face ((,c :inherit font-lock-type-face)))
+ `(cider-repl-prompt-face ((,c :inherit minibuffer-prompt)))
+ `(cider-repl-stderr-face ((,c :foreground ,err)))
+ `(cider-repl-stdout-face (( )))
+ `(cider-warning-highlight-face ((,c :inherit modus-themes-lang-warning)))
;;;;; circe (and lui)
- `(circe-fool-face ((,class :inherit shadow)))
- `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue)))
- `(circe-prompt-face ((,class :inherit modus-themes-prompt)))
- `(circe-server-face ((,class :foreground ,fg-unfocused)))
- `(lui-button-face ((,class :inherit button)))
- `(lui-highlight-face ((,class :foreground ,magenta-alt)))
- `(lui-time-stamp-face ((,class :foreground ,blue-nuanced-fg)))
+ `(circe-fool-face ((,c :inherit shadow)))
+ `(circe-highlight-nick-face ((,c :inherit error)))
+ `(circe-prompt-face ((,c :inherit modus-themes-prompt)))
+ `(circe-server-face ((,c :inherit shadow)))
+ `(lui-button-face ((,c :inherit button)))
+ `(lui-highlight-face ((,c :inherit error)))
+ `(lui-time-stamp-face ((,c :foreground ,date-common)))
;;;;; citar
- `(citar ((,class :inherit shadow)))
+ `(citar ((,c :inherit shadow)))
`(citar-highlight (( )))
-;;;;; color-rg
- `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other)))
- `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main)))
- `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold)))
- `(color-rg-font-lock-flash ((,class :inherit modus-themes-intense-blue)))
- `(color-rg-font-lock-function-location ((,class :inherit modus-themes-special-calm)))
- `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active)))
- `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active)))
- `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active)))
- `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active)))
- `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm)))
- `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue)))
- `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red)))
- `(color-rg-font-lock-match ((,class :inherit modus-themes-special-calm)))
- `(color-rg-font-lock-position-splitter ((,class :inherit shadow)))
+;;;;; clojure-mode
+ `(clojure-keyword-face ((,c :inherit font-lock-builtin-face)))
;;;;; column-enforce-mode
- `(column-enforce-face ((,class :inherit modus-themes-refine-yellow)))
+ `(column-enforce-face ((,c :inherit modus-themes-prominent-error)))
;;;;; company-mode
- `(company-echo-common ((,class :inherit modus-themes-completion-match-0)))
- `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim)))
- `(company-preview-common ((,class :inherit company-echo-common)))
- `(company-preview-search ((,class :inherit modus-themes-special-calm)))
- `(company-template-field ((,class :inherit modus-themes-intense-magenta)))
- `(company-scrollbar-bg ((,class :background ,bg-active)))
- `(company-scrollbar-fg ((,class :background ,fg-active)))
- `(company-tooltip ((,class :background ,bg-alt)))
- `(company-tooltip-annotation ((,class :inherit completions-annotations)))
- `(company-tooltip-common ((,class :inherit company-echo-common)))
- `(company-tooltip-deprecated ((,class :inherit company-tooltip :strike-through t)))
- `(company-tooltip-mouse ((,class :inherit highlight)))
- `(company-tooltip-scrollbar-thumb ((,class :background ,fg-active)))
- `(company-tooltip-scrollbar-track ((,class :background ,bg-active)))
- `(company-tooltip-search ((,class :inherit (modus-themes-search-success-lazy bold))))
- `(company-tooltip-search-selection ((,class :inherit modus-themes-search-success :underline t)))
- `(company-tooltip-selection ((,class :inherit modus-themes-completion-selected-popup)))
-;;;;; company-posframe
- `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active)))
- `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active)))
- `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive)))
+ `(company-echo-common ((,c :inherit modus-themes-completion-match-0)))
+ `(company-preview ((,c :background ,bg-dim :foreground ,fg-dim)))
+ `(company-preview-common ((,c :inherit company-echo-common)))
+ `(company-preview-search ((,c :background ,bg-yellow-intense)))
+ `(company-scrollbar-bg ((,c :background ,bg-active)))
+ `(company-scrollbar-fg ((,c :background ,fg-main)))
+ `(company-template-field ((,c :background ,bg-active)))
+ `(company-tooltip ((,c :background ,bg-dim)))
+ `(company-tooltip-annotation ((,c :inherit completions-annotations)))
+ `(company-tooltip-common ((,c :inherit company-echo-common)))
+ `(company-tooltip-deprecated ((,c :inherit company-tooltip :strike-through t)))
+ `(company-tooltip-mouse ((,c :inherit highlight)))
+ `(company-tooltip-scrollbar-thumb ((,c :background ,fg-alt)))
+ `(company-tooltip-scrollbar-track ((,c :background ,bg-inactive)))
+ `(company-tooltip-search ((,c :inherit secondary-selection)))
+ `(company-tooltip-search-selection ((,c :inherit secondary-selection :underline t)))
+ `(company-tooltip-selection ((,c :inherit modus-themes-completion-selected)))
;;;;; compilation
- `(compilation-column-number ((,class :inherit compilation-line-number)))
- `(compilation-error ((,class :inherit modus-themes-bold :foreground ,red)))
- `(compilation-info ((,class :inherit modus-themes-bold :foreground ,fg-special-cold)))
- `(compilation-line-number ((,class :foreground ,fg-special-warm)))
- `(compilation-mode-line-exit ((,class :inherit bold)))
- `(compilation-mode-line-fail ((,class :inherit modus-themes-bold :foreground ,red-active)))
- `(compilation-mode-line-run ((,class :inherit modus-themes-bold :foreground ,cyan-active)))
- `(compilation-warning ((,class :inherit modus-themes-bold :foreground ,yellow-alt)))
+ `(compilation-column-number ((,c :inherit compilation-line-number)))
+ `(compilation-error ((,c :inherit modus-themes-bold :foreground ,err)))
+ `(compilation-info ((,c :inherit modus-themes-bold :foreground ,info)))
+ `(compilation-line-number ((,c :inherit shadow)))
+ `(compilation-mode-line-exit ((,c :inherit bold)))
+ `(compilation-mode-line-fail ((,c :inherit bold :foreground ,modeline-err)))
+ `(compilation-mode-line-run ((,c :inherit bold :foreground ,modeline-warning)))
+ `(compilation-warning ((,c :inherit modus-themes-bold :foreground ,warning)))
;;;;; completions
- `(completions-annotations ((,class :inherit modus-themes-slant :foreground ,cyan-faint)))
- `(completions-common-part ((,class :inherit modus-themes-completion-match-0)))
- `(completions-first-difference ((,class :inherit modus-themes-completion-match-1)))
+ `(completions-annotations ((,c :inherit modus-themes-slant :foreground ,docstring)))
+ `(completions-common-part ((,c :inherit modus-themes-completion-match-0)))
+ `(completions-first-difference ((,c :inherit modus-themes-completion-match-1)))
+ `(completions-highlight ((,c :inherit modus-themes-completion-selected)))
;;;;; consult
- `(consult-async-running ((,class :inherit bold :foreground ,blue)))
- `(consult-async-split ((,class :foreground ,magenta-alt)))
- `(consult-bookmark ((,class :foreground ,blue)))
- `(consult-file ((,class :foreground ,fg-special-cold)))
- `(consult-imenu-prefix ((,class :inherit shadow)))
- `(consult-key ((,class :inherit modus-themes-key-binding)))
- `(consult-line-number ((,class :foreground ,fg-special-warm)))
- `(consult-line-number-prefix ((,class :foreground ,fg-unfocused)))
- `(consult-narrow-indicator ((,class :foreground ,magenta-alt)))
- `(consult-preview-cursor ((,class :inherit modus-themes-intense-blue)))
- `(consult-preview-insertion ((,class :inherit modus-themes-special-warm)))
+ `(consult-async-split ((,c :inherit error)))
+ `(consult-file ((,c :inherit modus-themes-bold :foreground ,info)))
+ `(consult-key ((,c :inherit modus-themes-key-binding)))
+ `(consult-imenu-prefix ((,c :inherit shadow)))
+ `(consult-line-number ((,c :inherit shadow)))
+ `(consult-line-number-prefix ((,c :inherit shadow)))
+ `(consult-preview-insertion ((,c :background ,bg-dim)))
;;;;; corfu
- `(corfu-current ((,class :inherit modus-themes-completion-selected-popup)))
- `(corfu-bar ((,class :background ,fg-alt)))
- `(corfu-border ((,class :background ,bg-active)))
- `(corfu-default ((,class :background ,bg-alt)))
+ `(corfu-current ((,c :inherit modus-themes-completion-selected)))
+ `(corfu-bar ((,c :background ,fg-dim)))
+ `(corfu-border ((,c :background ,bg-active)))
+ `(corfu-default ((,c :background ,bg-dim)))
+;;;;; corfu-candidate-overlay
+ `(corfu-candidate-overlay-face ((t :inherit shadow)))
;;;;; corfu-quick
- `(corfu-quick1 ((,class :inherit bold :background ,bg-char-0)))
- `(corfu-quick2 ((,class :inherit bold :background ,bg-char-1)))
+ `(corfu-quick1 ((,c :inherit bold :background ,bg-char-0)))
+ `(corfu-quick2 ((,c :inherit bold :background ,bg-char-1)))
;;;;; counsel
- `(counsel-active-mode ((,class :foreground ,magenta-alt-other)))
- `(counsel-application-name ((,class :foreground ,red-alt-other)))
- `(counsel-key-binding ((,class :inherit modus-themes-key-binding)))
- `(counsel-outline-1 ((,class :inherit org-level-1)))
- `(counsel-outline-2 ((,class :inherit org-level-2)))
- `(counsel-outline-3 ((,class :inherit org-level-3)))
- `(counsel-outline-4 ((,class :inherit org-level-4)))
- `(counsel-outline-5 ((,class :inherit org-level-5)))
- `(counsel-outline-6 ((,class :inherit org-level-6)))
- `(counsel-outline-7 ((,class :inherit org-level-7)))
- `(counsel-outline-8 ((,class :inherit org-level-8)))
- `(counsel-outline-default ((,class :foreground ,fg-main)))
- `(counsel-variable-documentation ((,class :inherit modus-themes-slant :foreground ,yellow-alt-other)))
-;;;;; counsel-css
- `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue)))
- `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan)))
- `(counsel-css-selector-depth-face-3 ((,class :foreground ,green)))
- `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow)))
- `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta)))
- `(counsel-css-selector-depth-face-6 ((,class :foreground ,red)))
-;;;;; cov
- `(cov-coverage-not-run-face ((,class :foreground ,red-intense)))
- `(cov-coverage-run-face ((,class :foreground ,green-intense)))
- `(cov-heavy-face ((,class :foreground ,magenta-intense)))
- `(cov-light-face ((,class :foreground ,blue-intense)))
- `(cov-med-face ((,class :foreground ,yellow-intense)))
- `(cov-none-face ((,class :foreground ,cyan-intense)))
+ `(counsel-active-mode ((,c :foreground ,keyword)))
+ `(counsel-application-name ((,c :foreground ,name)))
+ `(counsel-key-binding ((,c :inherit modus-themes-key-binding)))
+ `(counsel-outline-default ((,c :foreground ,fg-main)))
+ `(counsel-variable-documentation ((,c :inherit font-lock-doc-face)))
;;;;; cperl-mode
- `(cperl-nonoverridable-face ((,class :foreground unspecified)))
- `(cperl-array-face ((,class :inherit font-lock-keyword-face)))
- `(cperl-hash-face ((,class :inherit font-lock-variable-name-face)))
+ `(cperl-nonoverridable-face ((,c :foreground unspecified)))
+ `(cperl-array-face ((,c :inherit font-lock-keyword-face)))
+ `(cperl-hash-face ((,c :inherit font-lock-variable-name-face)))
;;;;; crontab-mode
- `(crontab-minute ((,class :foreground ,blue-alt)))
- `(crontab-hour ((,class :foreground ,magenta-alt-other)))
- `(crontab-month-day ((,class :foreground ,magenta-alt)))
- `(crontab-month ((,class :foreground ,blue)))
- `(crontab-week-day ((,class :foreground ,cyan)))
- `(crontab-predefined ((,class :foreground ,blue-alt)))
-;;;;; css-mode
- `(css-property ((,class :inherit font-lock-type-face)))
- `(css-selector ((,class :inherit font-lock-keyword-face)))
+ `(crontab-minute ((,c :foreground ,string)))
+ `(crontab-hour ((,c :foreground ,keyword)))
+ `(crontab-month-day ((,c :foreground ,builtin)))
+ `(crontab-month ((,c :foreground ,constant)))
+ `(crontab-week-day ((,c :foreground ,variable)))
+ `(crontab-predefined ((,c :foreground ,string)))
;;;;; csv-mode
- `(csv-separator-face ((,class :foreground ,red-intense)))
+ `(csv-separator-face ((,c :foreground ,red-intense)))
;;;;; ctrlf
- `(ctrlf-highlight-active ((,class :inherit modus-themes-search-success)))
- `(ctrlf-highlight-line ((,class :inherit modus-themes-hl-line)))
- `(ctrlf-highlight-passive ((,class :inherit modus-themes-search-success-lazy)))
+ `(ctrlf-highlight-active ((,c :inherit modus-themes-search-current)))
+ `(ctrlf-highlight-line ((,c :background ,bg-hl-line :extend t)))
+ `(ctrlf-highlight-passive ((,c :inherit modus-themes-search-lazy)))
;;;;; custom (M-x customize)
- `(custom-button ((,class :inherit modus-themes-box-button)))
- `(custom-button-mouse ((,class :inherit (highlight custom-button))))
- `(custom-button-pressed ((,class :inherit modus-themes-box-button-pressed)))
- `(custom-changed ((,class :inherit modus-themes-subtle-cyan)))
- `(custom-comment ((,class :inherit shadow)))
- `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other)))
- `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense)))
- `(custom-group-tag ((,class :inherit modus-themes-pseudo-header :foreground ,magenta-alt)))
- `(custom-group-tag-1 ((,class :inherit modus-themes-special-warm)))
- `(custom-invalid ((,class :inherit (modus-themes-intense-red bold))))
- `(custom-modified ((,class :inherit modus-themes-subtle-cyan)))
- `(custom-rogue ((,class :inherit modus-themes-refine-magenta)))
- `(custom-set ((,class :foreground ,blue-alt)))
- `(custom-state ((,class :foreground ,red-alt-faint)))
- `(custom-themed ((,class :inherit modus-themes-subtle-blue)))
- `(custom-variable-obsolete ((,class :inherit shadow)))
- `(custom-variable-tag ((,class :foreground ,cyan)))
-;;;;; dap-mode
- `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil)
- :background ,bg-active :foreground ,fg-main)))
- `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active :style nil)
- :background ,bg-active :foreground ,fg-main)))
- `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground ,green-active)))
- `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense)))
- `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t)))
- `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan)))
- `(dap-ui-locals-variable-leaf-face ((,class :inherit italic :foreground ,cyan-alt-other)))
- `(dap-ui-marker-face ((,class :inherit modus-themes-subtle-blue)))
- `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt)))
- `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt)))
- `(dap-ui-sessions-terminated-face ((,class :inherit shadow)))
+ `(custom-button ((,c :inherit modus-themes-button)))
+ `(custom-button-mouse ((,c :inherit (highlight custom-button))))
+ `(custom-button-pressed ((,c :inherit (secondary-selection custom-button))))
+ `(custom-changed ((,c :background ,bg-changed)))
+ `(custom-comment ((,c :inherit shadow)))
+ `(custom-comment-tag ((,c :inherit (bold shadow))))
+ `(custom-invalid ((,c :inherit error :strike-through t)))
+ `(custom-modified ((,c :inherit custom-changed)))
+ `(custom-rogue ((,c :inherit custom-invalid)))
+ `(custom-set ((,c :inherit success)))
+ `(custom-state ((,c :foreground ,warning)))
+ `(custom-themed ((,c :inherit custom-changed)))
+ `(custom-variable-obsolete ((,c :inherit shadow)))
+ `(custom-face-tag ((,c :inherit bold :foreground ,type)))
+ `(custom-group-tag ((,c :inherit bold :foreground ,builtin)))
+ `(custom-group-tag-1 ((,c :inherit bold :foreground ,constant)))
+ `(custom-variable-tag ((,c :inherit bold :foreground ,variable)))
+;;;;; dashboard
+ `(dashboard-heading ((,c :foreground ,name)))
+ `(dashboard-items-face (( ))) ; use the underlying style of all-the-icons
;;;;; deadgrep
- `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
- `(deadgrep-match-face ((,class :inherit modus-themes-special-calm)))
- `(deadgrep-meta-face ((,class :inherit shadow)))
- `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense)))
- `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense)))
+ `(deadgrep-filename-face ((,c :inherit bold :foreground ,name)))
+ `(deadgrep-match-face ((,c :inherit match)))
+ `(deadgrep-meta-face ((,c :inherit shadow)))
+ `(deadgrep-regexp-metachar-face ((,c :inherit font-lock-regexp-grouping-construct)))
+ `(deadgrep-search-term-face ((,c :inherit success)))
;;;;; debbugs
- `(debbugs-gnu-archived ((,class :inverse-video t)))
- `(debbugs-gnu-done ((,class :inherit shadow)))
- `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm)))
- `(debbugs-gnu-handled ((,class :foreground ,blue)))
- `(debbugs-gnu-new ((,class :foreground ,red)))
- `(debbugs-gnu-pending ((,class :foreground ,cyan)))
- `(debbugs-gnu-stale-1 ((,class :foreground ,yellow-nuanced-fg)))
- `(debbugs-gnu-stale-2 ((,class :foreground ,yellow)))
- `(debbugs-gnu-stale-3 ((,class :foreground ,yellow-alt)))
- `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other)))
- `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt)))
- `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt)))
+ `(debbugs-gnu-archived ((,c :background ,bg-inactive :foreground ,fg-dim)))
+ `(debbugs-gnu-done ((,c :inherit success)))
+ `(debbugs-gnu-forwarded ((,c :inherit modus-themes-slant :foreground ,info)))
+ `(debbugs-gnu-handled (( )))
+ `(debbugs-gnu-marked ((,c :inherit modus-themes-mark-sel)))
+ `(debbugs-gnu-marked-stale ((,c :inherit modus-themes-mark-alt)))
+ `(debbugs-gnu-new ((,c :inherit error)))
+ `(debbugs-gnu-pending ((,c :inherit modus-themes-slant :foreground ,fg-alt)))
+ `(debbugs-gnu-stale-1 ((,c :foreground ,red-cooler)))
+ `(debbugs-gnu-stale-2 ((,c :foreground ,yellow-warmer)))
+ `(debbugs-gnu-stale-3 ((,c :foreground ,magenta-warmer)))
+ `(debbugs-gnu-stale-4 ((,c :foreground ,magenta-cooler)))
+ `(debbugs-gnu-stale-5 ((,c :foreground ,cyan-faint)))
+ `(debbugs-gnu-tagged ((,c :inherit modus-themes-mark-alt)))
+ `(debbugs-gnu-title ((,c :inherit bold)))
;;;;; deft
- `(deft-filter-string-face ((,class :inherit bold :foreground ,blue)))
- `(deft-header-face ((,class :foreground ,fg-special-warm)))
- `(deft-separator-face ((,class :foreground "gray50")))
- `(deft-summary-face ((,class :inherit (shadow modus-themes-slant))))
- `(deft-time-face ((,class :foreground ,cyan)))
- `(deft-title-face ((,class :inherit bold)))
+ `(deft-filter-string-face ((,c :inherit success)))
+ `(deft-header-face ((,c :inherit shadow)))
+ `(deft-separator-face ((,c :foreground "gray50")))
+ `(deft-summary-face ((,c :inherit (shadow modus-themes-slant))))
+ `(deft-time-face ((,c :foreground ,date-common)))
+ `(deft-title-face ((,c :inherit bold)))
;;;;; denote
- `(denote-faces-date ((,class :foreground ,cyan)))
- `(denote-faces-keywords ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
+ `(denote-faces-date ((,c :foreground ,date-common)))
+ `(denote-faces-delimiter ((,c :inherit shadow)))
+ `(denote-faces-extension ((,c :inherit shadow)))
+ `(denote-faces-keywords ((,c :inherit modus-themes-bold :foreground ,keyword)))
+ `(denote-faces-link ((,c :inherit link)))
+ `(denote-faces-prompt-current-name ((,c :inherit modus-themes-slant :foreground ,fg-changed-intense)))
+ `(denote-faces-prompt-new-name ((,c :inherit modus-themes-slant :foreground ,fg-added-intense)))
+ `(denote-faces-prompt-old-name ((,c :inherit modus-themes-slant :foreground ,fg-removed-intense)))
+ `(denote-faces-signature ((,c :inherit modus-themes-bold :foreground ,string)))
+ `(denote-faces-subdirectory ((,c :inherit modus-themes-bold :foreground ,fg-alt)))
+ `(denote-faces-time ((,c :inherit denote-faces-date)))
+ `(denote-faces-time-delimiter ((,c :inherit shadow)))
+ `(denote-faces-title (( )))
;;;;; devdocs
- `(devdocs-code-block ((,class :inherit modus-themes-fixed-pitch :background ,bg-dim :extend t)))
+ `(devdocs-code-block ((,c :inherit modus-themes-fixed-pitch :background ,bg-dim :extend t)))
;;;;; dictionary
- `(dictionary-button-face ((,class :inherit bold :foreground ,fg-special-cold)))
- `(dictionary-reference-face ((,class :inherit button)))
- `(dictionary-word-definition-face (()))
- `(dictionary-word-entry-face ((,class :inherit font-lock-comment-face)))
+ `(dictionary-button-face ((,c :inherit bold)))
+ `(dictionary-reference-face ((,c :inherit link)))
+ `(dictionary-word-definition-face (( )))
+ `(dictionary-word-entry-face ((,c :inherit font-lock-comment-face)))
;;;;; diff-hl
- `(diff-hl-change ((,class :inherit modus-themes-fringe-yellow)))
- `(diff-hl-delete ((,class :inherit modus-themes-fringe-red)))
- `(diff-hl-insert ((,class :inherit modus-themes-grue-background-active)))
- `(diff-hl-reverted-hunk-highlight ((,class :background ,fg-main :foreground ,bg-main)))
+ `(diff-hl-change ((,c :background ,bg-changed-fringe)))
+ `(diff-hl-delete ((,c :background ,bg-removed-fringe)))
+ `(diff-hl-insert ((,c :background ,bg-added-fringe)))
+ `(diff-hl-reverted-hunk-highlight ((,c :background ,fg-main :foreground ,bg-main)))
;;;;; diff-mode
- `(diff-added ((,class :inherit modus-themes-diff-added)))
- `(diff-changed ((,class :inherit modus-themes-diff-changed :extend t)))
- `(diff-changed-unspecified ((,class :inherit diff-changed)))
- `(diff-context ((,class ,@(unless (eq modus-themes-diffs 'bg-only) (list :foreground fg-unfocused)))))
- `(diff-error ((,class :inherit modus-themes-intense-red)))
- `(diff-file-header ((,class :inherit (bold diff-header))))
- `(diff-function ((,class :inherit modus-themes-diff-heading)))
- `(diff-header ((,class :foreground ,fg-main)))
- `(diff-hunk-header ((,class :inherit (bold modus-themes-diff-heading))))
- `(diff-index ((,class :inherit bold :foreground ,blue-alt)))
- `(diff-indicator-added ((,class :inherit (modus-themes-grue diff-added bold))))
- `(diff-indicator-changed ((,class :inherit (diff-changed bold) :foreground ,yellow)))
- `(diff-indicator-removed ((,class :inherit (diff-removed bold) :foreground ,red)))
- `(diff-nonexistent ((,class :inherit (modus-themes-neutral bold))))
- `(diff-refine-added ((,class :inherit modus-themes-diff-refine-added)))
- `(diff-refine-changed ((,class :inherit modus-themes-diff-refine-changed)))
- `(diff-refine-removed ((,class :inherit modus-themes-diff-refine-removed)))
- `(diff-removed ((,class :inherit modus-themes-diff-removed)))
+ `(diff-added ((,c :background ,bg-added :foreground ,fg-added)))
+ `(diff-changed ((,c :background ,bg-changed :foreground ,fg-changed :extend t)))
+ `(diff-changed-unspecified ((,c :inherit diff-changed)))
+ `(diff-removed ((,c :background ,bg-removed :foreground ,fg-removed)))
+ `(diff-refine-added ((,c :background ,bg-added-refine :foreground ,fg-added)))
+ `(diff-refine-changed ((,c :background ,bg-changed-refine :foreground ,fg-changed)))
+ `(diff-refine-removed ((,c :background ,bg-removed-refine :foreground ,fg-removed)))
+ `(diff-indicator-added ((,c :inherit diff-added :foreground ,fg-added-intense)))
+ `(diff-indicator-changed ((,c :inherit diff-changed :foreground ,fg-changed-intense)))
+ `(diff-indicator-removed ((,c :inherit diff-removed :foreground ,fg-removed-intense)))
+ `(diff-context (( )))
+ `(diff-error ((,c :inherit error)))
+ `(diff-file-header ((,c :inherit bold)))
+ `(diff-function ((,c :background ,bg-inactive)))
+ `(diff-header (( )))
+ `(diff-hunk-header ((,c :inherit bold :background ,bg-inactive)))
+ `(diff-index ((,c :inherit italic)))
+ `(diff-nonexistent ((,c :inherit bold)))
;;;;; dim-autoload
- `(dim-autoload-cookie-line ((,class :inherit font-lock-comment-face)))
-;;;;; dir-treeview
- `(dir-treeview-archive-face ((,class :foreground ,fg-special-warm)))
- `(dir-treeview-archive-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,yellow)))
- `(dir-treeview-audio-face ((,class :foreground ,magenta)))
- `(dir-treeview-audio-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt)))
- `(dir-treeview-control-face ((,class :inherit shadow)))
- `(dir-treeview-control-mouse-face ((,class :inherit highlight)))
- `(dir-treeview-default-icon-face ((,class :inherit (shadow bold) :family "Font Awesome")))
- `(dir-treeview-default-filename-face ((,class :foreground ,fg-main)))
- `(dir-treeview-directory-face ((,class :foreground ,blue)))
- `(dir-treeview-directory-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,blue-alt)))
- `(dir-treeview-executable-face ((,class :foreground ,red-alt)))
- `(dir-treeview-executable-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,red-alt-other)))
- `(dir-treeview-image-face ((,class :foreground ,green-alt-other)))
- `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt)))
- `(dir-treeview-indent-face ((,class :inherit shadow)))
- `(dir-treeview-label-mouse-face ((,class :inherit highlight)))
- `(dir-treeview-start-dir-face ((,class :inherit modus-themes-pseudo-header)))
- `(dir-treeview-symlink-face ((,class :inherit modus-themes-link-symlink)))
- `(dir-treeview-video-face ((,class :foreground ,magenta-alt-other)))
- `(dir-treeview-video-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt-other)))
+ `(dim-autoload-cookie-line ((,c :inherit font-lock-comment-face)))
;;;;; dired
- `(dired-broken-symlink ((,class :inherit modus-themes-link-broken)))
- `(dired-directory ((,class :foreground ,blue)))
- `(dired-flagged ((,class :inherit modus-themes-mark-del)))
- `(dired-header ((,class :inherit modus-themes-pseudo-header)))
- `(dired-ignored ((,class :inherit shadow)))
- `(dired-mark ((,class :inherit modus-themes-mark-symbol)))
- `(dired-marked ((,class :inherit modus-themes-mark-sel)))
- `(dired-perm-write ((,class :foreground ,fg-special-warm)))
- `(dired-symlink ((,class :inherit modus-themes-link-symlink)))
- `(dired-warning ((,class :inherit bold :foreground ,yellow)))
+ `(dired-broken-symlink ((,c :inherit button :foreground ,err)))
+ `(dired-directory ((,c :foreground ,accent-0)))
+ `(dired-flagged ((,c :inherit modus-themes-mark-del)))
+ `(dired-header ((,c :inherit bold)))
+ `(dired-ignored ((,c :inherit shadow)))
+ `(dired-mark ((,c :inherit bold)))
+ `(dired-marked ((,c :inherit modus-themes-mark-sel)))
+ `(dired-perm-write ((,c :inherit shadow)))
+ `(dired-symlink ((,c :inherit button :background ,bg-link-symbolic :foreground ,fg-link-symbolic :underline ,underline-link-symbolic)))
+ `(dired-warning ((,c :inherit warning)))
;;;;; dired-async
- `(dired-async-failures ((,class :inherit bold :foreground ,red-active)))
- `(dired-async-message ((,class :inherit bold :foreground ,blue-active)))
- `(dired-async-mode-message ((,class :inherit bold :foreground ,cyan-active)))
+ `(dired-async-failures ((,c :inherit error)))
+ `(dired-async-message ((,c :inherit bold)))
+ `(dired-async-mode-message ((,c :inherit bold)))
;;;;; dired-git
- `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt)))
- `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other)))
+ `(dired-git-branch-else ((,c :inherit bold :foreground ,accent-0)))
+ `(dired-git-branch-master ((,c :inherit bold :foreground ,accent-1)))
;;;;; dired-git-info
- `(dgi-commit-message-face ((,class :foreground ,cyan-alt-other)))
+ `(dgi-commit-message-face ((,c :foreground ,docstring)))
;;;;; dired-narrow
- `(dired-narrow-blink ((,class :inherit (modus-themes-subtle-cyan bold))))
+ `(dired-narrow-blink ((,c :inherit (modus-themes-prominent-warning bold))))
;;;;; dired-subtree
;; remove backgrounds from dired-subtree faces, else they break
;; dired-{flagged,marked} and any other face that sets a background
@@ -4974,2596 +2120,2036 @@ by virtue of calling either of `modus-themes-load-operandi' and
`(dired-subtree-depth-5-face (()))
`(dired-subtree-depth-6-face (()))
;;;;; diredfl
- `(diredfl-autofile-name ((,class :inherit modus-themes-special-cold)))
- `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm)))
- `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt)))
- `(diredfl-date-time ((,class :foreground ,cyan)))
- `(diredfl-deletion ((,class :inherit modus-themes-mark-del)))
- `(diredfl-deletion-file-name ((,class :inherit modus-themes-mark-del)))
- `(diredfl-dir-heading ((,class :inherit modus-themes-pseudo-header)))
- `(diredfl-dir-name ((,class :inherit dired-directory)))
- `(diredfl-dir-priv ((,class :foreground ,blue-alt)))
- `(diredfl-exec-priv ((,class :foreground ,magenta-alt)))
- `(diredfl-executable-tag ((,class :foreground ,magenta-alt)))
- `(diredfl-file-name ((,class :foreground ,fg-main)))
- `(diredfl-file-suffix ((,class :foreground ,magenta-alt-other)))
- `(diredfl-flag-mark ((,class :inherit modus-themes-mark-sel)))
- `(diredfl-flag-mark-line ((,class :inherit modus-themes-mark-sel)))
- `(diredfl-ignored-file-name ((,class :inherit shadow)))
- `(diredfl-link-priv ((,class :foreground ,blue-alt-other)))
- `(diredfl-no-priv ((,class :foreground "gray50")))
- `(diredfl-number ((,class :foreground ,cyan-alt-other-faint)))
- `(diredfl-other-priv ((,class :foreground ,yellow)))
- `(diredfl-rare-priv ((,class :foreground ,red)))
- `(diredfl-read-priv ((,class :foreground ,fg-main)))
- `(diredfl-symlink ((,class :inherit dired-symlink)))
- `(diredfl-tagged-autofile-name ((,class :inherit modus-themes-refine-magenta)))
- `(diredfl-write-priv ((,class :foreground ,cyan)))
-;;;;; dired+
- `(diredp-autofile-name ((,class :inherit modus-themes-special-cold)))
- `(diredp-compressed-file-name ((,class :foreground ,fg-special-warm)))
- `(diredp-compressed-file-suffix ((,class :foreground ,red-alt)))
- `(diredp-date-time ((,class :foreground ,cyan)))
- `(diredp-deletion ((,class :inherit modus-themes-mark-del)))
- `(diredp-deletion-file-name ((,class :inherit modus-themes-mark-del)))
- `(diredp-dir-heading ((,class :inherit modus-themes-pseudo-header)))
- `(diredp-dir-name ((,class :inherit dired-directory)))
- `(diredp-dir-priv ((,class :foreground ,blue-alt)))
- `(diredp-exec-priv ((,class :foreground ,magenta-alt)))
- `(diredp-executable-tag ((,class :foreground ,magenta-alt)))
- `(diredp-file-name ((,class :foreground ,fg-main)))
- `(diredp-file-suffix ((,class :foreground ,magenta-alt-other)))
- `(diredp-flag-mark ((,class :inherit modus-themes-mark-sel)))
- `(diredp-flag-mark-line ((,class :inherit modus-themes-mark-sel)))
- `(diredp-ignored-file-name ((,class :inherit shadow)))
- `(diredp-link-priv ((,class :foreground ,blue-alt-other)))
- `(diredp-mode-line-flagged ((,class :foreground ,red-active)))
- `(diredp-mode-line-marked ((,class :foreground ,green-active)))
- `(diredp-no-priv ((,class :foreground "gray50")))
- `(diredp-number ((,class :foreground ,cyan-alt-other-faint)))
- `(diredp-omit-file-name ((,class :inherit shadow :strike-through t)))
- `(diredp-other-priv ((,class :foreground ,yellow)))
- `(diredp-rare-priv ((,class :foreground ,red)))
- `(diredp-read-priv ((,class :foreground ,fg-main)))
- `(diredp-symlink ((,class :inherit dired-symlink)))
- `(diredp-tagged-autofile-name ((,class :inherit modus-themes-refine-magenta)))
- `(diredp-write-priv ((,class :foreground ,cyan)))
+ `(diredfl-autofile-name ((,c :background ,bg-inactive)))
+ `(diredfl-compressed-file-name ((,c :foreground ,warning)))
+ `(diredfl-compressed-file-suffix ((,c :foreground ,err)))
+ `(diredfl-date-time ((,c :foreground ,date-common)))
+ `(diredfl-deletion ((,c :inherit dired-flagged)))
+ `(diredfl-deletion-file-name ((,c :inherit diredfl-deletion)))
+ `(diredfl-dir-heading ((,c :inherit bold)))
+ `(diredfl-dir-name ((,c :inherit dired-directory)))
+ `(diredfl-dir-priv ((,c :inherit dired-directory)))
+ `(diredfl-exec-priv ((,c :foreground ,accent-1)))
+ `(diredfl-executable-tag ((,c :inherit diredfl-exec-priv)))
+ `(diredfl-file-name ((,c :foreground ,fg-main)))
+ `(diredfl-file-suffix ((,c :foreground ,variable)))
+ `(diredfl-flag-mark ((,c :inherit dired-marked)))
+ `(diredfl-flag-mark-line ((,c :inherit dired-marked)))
+ `(diredfl-ignored-file-name ((,c :inherit shadow)))
+ `(diredfl-link-priv ((,c :foreground ,fg-link)))
+ `(diredfl-no-priv ((,c :inherit shadow)))
+ `(diredfl-number ((,c :inherit shadow)))
+ `(diredfl-other-priv ((,c :foreground ,accent-2)))
+ `(diredfl-rare-priv ((,c :foreground ,accent-3)))
+ `(diredfl-read-priv ((,c :foreground ,fg-main)))
+ `(diredfl-symlink ((,c :inherit dired-symlink)))
+ `(diredfl-tagged-autofile-name ((,c :inherit (diredfl-autofile-name dired-marked))))
+ `(diredfl-write-priv ((,c :foreground ,accent-0)))
+;;;;; disk-usage
+ `(disk-usage-inaccessible ((,c :inherit error)))
+ `(disk-usage-percent ((,c :foreground ,accent-0)))
+ `(disk-usage-size ((,c :foreground ,accent-1)))
+ `(disk-usage-symlink ((,c :inherit dired-symlink)))
+ `(disk-usage-symlink-directory ((,c :inherit dired-symlink)))
;;;;; display-fill-column-indicator-mode
- `(fill-column-indicator ((,class :height 1 :background ,bg-region :foreground ,bg-region)))
+ `(fill-column-indicator ((,c :height 1 :background ,bg-active :foreground ,bg-active)))
;;;;; doom-modeline
- `(doom-modeline-bar ((,class :inherit modus-themes-active-blue)))
- `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main)))
- `(doom-modeline-battery-charging ((,class :foreground ,green-active)))
- `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active)))
- `(doom-modeline-battery-error ((,class :inherit bold :box (:line-width -2)
- :foreground ,red-active)))
- `(doom-modeline-battery-full ((,class :foreground ,blue-active)))
- `(doom-modeline-battery-normal ((,class :foreground ,fg-active)))
- `(doom-modeline-battery-warning ((,class :inherit bold :foreground ,yellow-active)))
- `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active)))
- `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground ,cyan-active)))
- `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive)))
- `(doom-modeline-buffer-modified ((,class :inherit bold :foreground ,magenta-active)))
- `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active)))
- `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active)))
- `(doom-modeline-debug-visual ((,class :inherit bold :foreground ,red-active)))
- `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground ,magenta-active)))
- `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground ,green-active)))
- `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground ,fg-inactive)))
- `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground ,fg-active)))
- `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground ,blue-active)))
- `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground ,red-active)))
- `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground ,cyan-active)))
- `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active)))
- `(doom-modeline-host ((,class :inherit italic)))
- `(doom-modeline-info ((,class :foreground ,green-active)))
- `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active)))
- `(doom-modeline-lsp-success ((,class :inherit (bold modus-themes-grue-active))))
- `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active)))
- `(doom-modeline-panel ((,class :inherit modus-themes-active-blue)))
- `(doom-modeline-persp-buffer-not-in-persp ((,class :inherit italic :foreground ,yellow-active)))
- `(doom-modeline-persp-name ((,class :foreground ,fg-active)))
- `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active)))
- `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active)))
- `(doom-modeline-project-root-dir ((,class :foreground ,fg-active)))
- `(doom-modeline-unread-number ((,class :inherit italic :foreground ,fg-active)))
- `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active)))
- `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active)))
-;;;;; easy-jekyll
- `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,blue-alt-other)))
-;;;;; ebdb
- `(ebdb-address-default ((,class :foreground ,fg-special-calm)))
- `(ebdb-defunct ((,class :inherit shadow)))
- `(ebdb-field-hidden ((,class :foreground ,magenta)))
- `(ebdb-label ((,class :foreground ,cyan-alt-other)))
- `(ebdb-mail-default ((,class :foreground ,fg-main)))
- `(ebdb-mail-primary ((,class :foreground ,magenta-alt)))
- `(ebdb-marked ((,class :background ,cyan-intense-bg)))
- `(ebdb-organization-name ((,class :foreground ,red-alt-other)))
- `(ebdb-person-name ((,class :foreground ,magenta-alt-other)))
- `(ebdb-phone-default ((,class :foreground ,cyan)))
- `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt)))
+ `(doom-modeline-bar ((,c :background ,blue)))
+ `(doom-modeline-bar-inactive ((,c :background ,border)))
+ `(doom-modeline-battery-charging ((,c :foreground ,modeline-info)))
+ `(doom-modeline-battery-critical ((,c :underline t :foreground ,modeline-err)))
+ `(doom-modeline-battery-error ((,c :underline t :foreground ,modeline-err)))
+ `(doom-modeline-battery-full (( )))
+ `(doom-modeline-battery-warning ((,c :inherit warning)))
+ `(doom-modeline-buffer-file ((,c :inherit bold)))
+ `(doom-modeline-buffer-major-mode (( )))
+ `(doom-modeline-buffer-minor-mode (( )))
+ `(doom-modeline-buffer-modified ((,c :foreground ,modeline-err)))
+ `(doom-modeline-buffer-path (( )))
+ `(doom-modeline-evil-emacs-state ((,c :inherit italic)))
+ `(doom-modeline-evil-insert-state ((,c :foreground ,modeline-info)))
+ `(doom-modeline-evil-motion-state (( )))
+ `(doom-modeline-evil-normal-state (( )))
+ `(doom-modeline-evil-operator-state ((,c :inherit bold)))
+ `(doom-modeline-evil-replace-state ((,c :inherit error)))
+ `(doom-modeline-evil-visual-state ((,c :inherit warning)))
+ `(doom-modeline-info ((,c :inherit success)))
+ `(doom-modeline-input-method (( )))
+ `(doom-modeline-lsp-error ((,c :inherit bold-italic)))
+ `(doom-modeline-lsp-running (( )))
+ `(doom-modeline-lsp-success ((,c :inherit success)))
+ `(doom-modeline-lsp-warning ((,c :inherit warning)))
+ `(doom-modeline-notification ((,c :inherit error)))
+ `(doom-modeline-project-dir (( )))
+ `(doom-modeline-project-parent-dir (( )))
+ `(doom-modeline-project-root-dir (( )))
+ `(doom-modeline-repl-success ((,c :inherit success)))
+ `(doom-modeline-repl-warning ((,c :inherit warning)))
+ `(doom-modeline-time (( )))
+ `(doom-modeline-urgent ((,c :inherit bold-italic :foreground ,modeline-err)))
+ `(doom-modeline-warning ((,c :inherit warning)))
;;;;; ediff
- `(ediff-current-diff-A ((,class :inherit modus-themes-diff-removed)))
- `(ediff-current-diff-Ancestor ((,class ,@(modus-themes--diff
- bg-special-cold fg-special-cold
- blue-nuanced-bg blue))))
- `(ediff-current-diff-B ((,class :inherit modus-themes-diff-added)))
- `(ediff-current-diff-C ((,class :inherit modus-themes-diff-changed)))
- `(ediff-even-diff-A ((,class :background ,bg-alt)))
- `(ediff-even-diff-Ancestor ((,class :background ,bg-alt)))
- `(ediff-even-diff-B ((,class :background ,bg-alt)))
- `(ediff-even-diff-C ((,class :background ,bg-alt)))
- `(ediff-fine-diff-A ((,class :inherit modus-themes-diff-refine-removed)))
- `(ediff-fine-diff-Ancestor ((,class :inherit modus-themes-refine-cyan)))
- `(ediff-fine-diff-B ((,class :inherit modus-themes-diff-refine-added)))
- `(ediff-fine-diff-C ((,class :inherit modus-themes-diff-refine-changed)))
- `(ediff-odd-diff-A ((,class :inherit ediff-even-diff-A)))
- `(ediff-odd-diff-Ancestor ((,class :inherit ediff-even-diff-Ancestor)))
- `(ediff-odd-diff-B ((,class :inherit ediff-even-diff-B)))
- `(ediff-odd-diff-C ((,class :inherit ediff-even-diff-C)))
+ `(ediff-current-diff-A ((,c :background ,bg-removed :foreground ,fg-removed)))
+ `(ediff-current-diff-Ancestor ((,c :background ,bg-region)))
+ `(ediff-current-diff-B ((,c :background ,bg-added :foreground ,fg-added)))
+ `(ediff-current-diff-C ((,c :background ,bg-changed :foreground ,fg-changed)))
+ `(ediff-even-diff-A ((,c :background ,bg-diff-context)))
+ `(ediff-even-diff-Ancestor ((,c :background ,bg-diff-context)))
+ `(ediff-even-diff-B ((,c :background ,bg-diff-context)))
+ `(ediff-even-diff-C ((,c :background ,bg-diff-context)))
+ `(ediff-fine-diff-A ((,c :background ,bg-removed-refine :foreground ,fg-removed)))
+ `(ediff-fine-diff-Ancestor ((,c :inherit modus-themes-subtle-cyan)))
+ `(ediff-fine-diff-B ((,c :background ,bg-added-refine :foreground ,fg-added)))
+ `(ediff-fine-diff-C ((,c :background ,bg-changed-refine :foreground ,fg-changed)))
+ `(ediff-odd-diff-A ((,c :inherit ediff-even-diff-A)))
+ `(ediff-odd-diff-Ancestor ((,c :inherit ediff-even-diff-Ancestor)))
+ `(ediff-odd-diff-B ((,c :inherit ediff-even-diff-B)))
+ `(ediff-odd-diff-C ((,c :inherit ediff-even-diff-C)))
;;;;; ein (Emacs IPython Notebook)
- `(ein:basecell-input-area-face ((,class :background ,bg-dim :extend t)))
+ `(ein:basecell-input-area-face ((,c :background ,bg-dim :extend t)))
`(ein:cell-output-area (( )))
- `(ein:cell-output-area-error ((,class :background ,red-nuanced-bg :extend t)))
- `(ein:cell-output-stderr ((,class :background ,red-nuanced-bg :extend t)))
+ `(ein:cell-output-area-error ((,c :background ,bg-removed :extend t)))
+ `(ein:cell-output-stderr ((,c :background ,bg-removed :extend t)))
`(ein:markdowncell-input-area-face (( )))
- `(ein:notification-tab-normal ((,class :underline t)))
+ `(ein:notification-tab-normal ((,c :underline t)))
;;;;; eglot
- `(eglot-mode-line ((,class :inherit modus-themes-bold :foreground ,magenta-active)))
+ `(eglot-mode-line ((,c :inherit modus-themes-bold :foreground ,modeline-info)))
+ `(eglot-diagnostic-tag-unnecessary-face ((,c :inherit modus-themes-lang-note)))
;;;;; el-search
- `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt)))
- `(el-search-match ((,class :inherit modus-themes-search-success)))
- `(el-search-other-match ((,class :inherit modus-themes-special-mild)))
- `(el-search-occur-match ((,class :inherit modus-themes-special-calm)))
+ `(el-search-highlight-in-prompt-face ((,c :inherit italic)))
+ `(el-search-match ((,c :inherit modus-themes-search-current)))
+ `(el-search-other-match ((,c :inherit modus-themes-search-lazy)))
+ `(el-search-occur-match ((,c :inherit match)))
;;;;; eldoc
;; NOTE: see https://github.com/purcell/package-lint/issues/187
- (list 'eldoc-highlight-function-argument `((,class :inherit bold
- :background ,yellow-nuanced-bg
- :foreground ,yellow-alt-other)))
+ (list 'eldoc-highlight-function-argument `((,c :inherit bold :background ,bg-active-argument :foreground ,fg-active-argument)))
;;;;; eldoc-box
- `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main)))
- `(eldoc-box-border ((,class :background ,fg-alt)))
+ `(eldoc-box-body ((,c :background ,bg-dim :foreground ,fg-main)))
+ `(eldoc-box-border ((,c :background ,border)))
;;;;; elfeed
- `(elfeed-log-date-face ((,class :inherit elfeed-search-date-face)))
- `(elfeed-log-debug-level-face ((,class :inherit elfeed-search-filter-face)))
- `(elfeed-log-error-level-face ((,class :inherit error)))
- `(elfeed-log-info-level-face ((,class :inherit success)))
- `(elfeed-log-warn-level-face ((,class :inherit warning)))
- `(elfeed-search-date-face ((,class :foreground ,cyan)))
- `(elfeed-search-feed-face ((,class :foreground ,blue-faint)))
- `(elfeed-search-filter-face ((,class :inherit bold :foreground ,magenta-active)))
- `(elfeed-search-last-update-face ((,class :inherit bold :foreground ,cyan-active)))
- `(elfeed-search-tag-face ((,class :foreground ,magenta-alt-faint)))
- `(elfeed-search-title-face ((,class :foreground ,fg-dim)))
- `(elfeed-search-unread-count-face ((,class :inherit bold :foreground ,fg-active)))
- `(elfeed-search-unread-title-face ((,class :inherit bold :foreground ,fg-main)))
+ `(elfeed-log-date-face ((,c :inherit elfeed-search-date-face)))
+ `(elfeed-log-debug-level-face ((,c :inherit elfeed-search-filter-face)))
+ `(elfeed-log-error-level-face ((,c :inherit error)))
+ `(elfeed-log-info-level-face ((,c :inherit success)))
+ `(elfeed-log-warn-level-face ((,c :inherit warning)))
+ `(elfeed-search-date-face ((,c :foreground ,date-common)))
+ `(elfeed-search-feed-face ((,c :foreground ,accent-1)))
+ `(elfeed-search-filter-face ((,c :inherit bold)))
+ `(elfeed-search-last-update-face ((,c :inherit bold :foreground ,date-common)))
+ `(elfeed-search-tag-face ((,c :foreground ,accent-0)))
+ `(elfeed-search-title-face ((,c :foreground ,fg-dim)))
+ `(elfeed-search-unread-count-face (( )))
+ `(elfeed-search-unread-title-face ((,c :inherit bold :foreground ,fg-main)))
;;;;; elfeed-score
- `(elfeed-score-date-face ((,class :foreground ,blue)))
- `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other)))
- `(elfeed-score-error-level-face ((,class :foreground ,red)))
- `(elfeed-score-info-level-face ((,class :foreground ,cyan)))
- `(elfeed-score-warn-level-face ((,class :foreground ,yellow)))
+ `(elfeed-score-date-face ((,c :foreground ,date-common)))
+ `(elfeed-score-debug-level-face ((,c :inherit bold)))
+ `(elfeed-score-error-level-face ((,c :inherit error)))
+ `(elfeed-score-info-level-face ((,c :inherit success)))
+ `(elfeed-score-warn-level-face ((,c :inherit warning)))
;;;;; elpher
- `(elpher-gemini-heading1 ((,class :inherit modus-themes-heading-1)))
- `(elpher-gemini-heading2 ((,class :inherit modus-themes-heading-2)))
- `(elpher-gemini-heading3 ((,class :inherit modus-themes-heading-3)))
+ `(elpher-gemini-heading1 ((,c :inherit modus-themes-heading-1)))
+ `(elpher-gemini-heading2 ((,c :inherit modus-themes-heading-2)))
+ `(elpher-gemini-heading3 ((,c :inherit modus-themes-heading-3)))
;;;;; embark
- `(embark-keybinding ((,class :inherit modus-themes-key-binding)))
- `(embark-collect-marked ((,class :inherit modus-themes-mark-sel)))
+ `(embark-keybinding ((,c :inherit modus-themes-key-binding)))
+ `(embark-collect-marked ((,c :inherit modus-themes-mark-sel)))
;;;;; ement (ement.el)
- `(ement-room-fully-read-marker ((,class :background ,cyan-subtle-bg)))
- `(ement-room-membership ((,class :inherit shadow)))
- `(ement-room-mention ((,class :background ,bg-hl-alt-intense)))
- `(ement-room-name ((,class :inherit bold)))
- `(ement-room-reactions ((,class :inherit shadow)))
- `(ement-room-read-receipt-marker ((,class :background ,yellow-subtle-bg)))
- `(ement-room-self ((,class :inherit bold :foreground ,magenta)))
- `(ement-room-self-message ((,class :foreground ,magenta-faint)))
- `(ement-room-timestamp ((,class :inherit shadow)))
- `(ement-room-timestamp-header ((,class :inherit bold :foreground ,cyan)))
- `(ement-room-user ((,class :inherit bold :foreground ,blue)))
+ `(ement-room-fully-read-marker ((,c :inherit success)))
+ `(ement-room-membership ((,c :inherit shadow)))
+ `(ement-room-mention ((,c :inherit highlight)))
+ `(ement-room-name ((,c :inherit bold)))
+ `(ement-room-reactions ((,c :inherit shadow)))
+ `(ement-room-read-receipt-marker ((,c :inherit match)))
+ `(ement-room-self ((,c :inherit bold :foreground ,accent-1)))
+ `(ement-room-self-message ((,c :foreground ,fg-alt)))
+ `(ement-room-timestamp ((,c :inherit shadow)))
+ `(ement-room-timestamp-header ((,c :inherit bold :foreground ,date-common)))
+ `(ement-room-user ((,c :inherit bold :foreground ,accent-0)))
;;;;; emms
- `(emms-browser-album-face ((,class :foreground ,magenta-alt-other)))
- `(emms-browser-artist-face ((,class :foreground ,cyan)))
- `(emms-browser-composer-face ((,class :foreground ,magenta-alt)))
- `(emms-browser-performer-face ((,class :inherit emms-browser-artist-face)))
- `(emms-browser-track-face ((,class :inherit emms-playlist-track-face)))
- `(emms-browser-year/genre-face ((,class :foreground ,cyan-alt-other)))
- `(emms-playlist-track-face ((,class :foreground ,blue-alt)))
- `(emms-playlist-selected-face ((,class :inherit bold :foreground ,blue-alt-other)))
- `(emms-metaplaylist-mode-current-face ((,class :inherit emms-playlist-selected-face)))
- `(emms-metaplaylist-mode-face ((,class :foreground ,cyan)))
+ `(emms-browser-album-face ((,c :foreground ,keyword)))
+ `(emms-browser-artist-face ((,c :foreground ,variable)))
+ `(emms-browser-composer-face ((,c :foreground ,builtin)))
+ `(emms-browser-performer-face ((,c :inherit emms-browser-artist-face)))
+ `(emms-browser-track-face ((,c :inherit emms-playlist-track-face)))
+ `(emms-browser-year/genre-face ((,c :foreground ,type)))
+ `(emms-playlist-track-face ((,c :foreground ,string)))
+ `(emms-playlist-selected-face ((,c :inherit bold :foreground ,constant)))
+ `(emms-metaplaylist-mode-current-face ((,c :inherit emms-playlist-selected-face)))
+ `(emms-metaplaylist-mode-face ((,c :foreground ,variable)))
;;;;; enh-ruby-mode (enhanced-ruby-mode)
- `(enh-ruby-heredoc-delimiter-face ((,class :inherit font-lock-constant-face)))
- `(enh-ruby-op-face ((,class :foreground ,fg-main)))
- `(enh-ruby-regexp-delimiter-face ((,class :inherit font-lock-regexp-grouping-construct)))
- `(enh-ruby-regexp-face ((,class :inherit font-lock-string-face)))
- `(enh-ruby-string-delimiter-face ((,class :inherit font-lock-string-face)))
- `(erm-syn-errline ((,class :inherit modus-themes-lang-error)))
- `(erm-syn-warnline ((,class :inherit modus-themes-lang-warning)))
+ `(enh-ruby-heredoc-delimiter-face ((,c :inherit font-lock-constant-face)))
+ `(enh-ruby-op-face ((,c :foreground ,fg-main)))
+ `(enh-ruby-regexp-delimiter-face ((,c :inherit font-lock-regexp-grouping-construct)))
+ `(enh-ruby-regexp-face ((,c :inherit font-lock-string-face)))
+ `(enh-ruby-string-delimiter-face ((,c :inherit font-lock-string-face)))
+ `(erm-syn-errline ((,c :inherit modus-themes-lang-error)))
+ `(erm-syn-warnline ((,c :inherit modus-themes-lang-warning)))
;;;;; epa
- `(epa-field-body ((,class :foreground ,fg-main)))
- `(epa-field-name ((,class :inherit bold :foreground ,fg-dim)))
- `(epa-mark ((,class :inherit bold :foreground ,magenta)))
- `(epa-string ((,class :foreground ,blue-alt)))
- `(epa-validity-disabled ((,class :foreground ,red)))
- `(epa-validity-high ((,class :inherit bold :foreground ,cyan)))
- `(epa-validity-low ((,class :inherit shadow)))
- `(epa-validity-medium ((,class :foreground ,green-alt)))
-;;;;; equake
- `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main)))
- `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground ,blue-active)))
- `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground ,red-active)))
- `(equake-shell-type-shell ((,class :background ,bg-inactive :foreground ,cyan-active)))
- `(equake-shell-type-term ((,class :background ,bg-inactive :foreground ,yellow-active)))
- `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground ,magenta-active)))
- `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt)))
- `(equake-tab-inactive ((,class :foreground ,fg-inactive)))
+ `(epa-field-body (( )))
+ `(epa-field-name ((,c :inherit bold :foreground ,fg-dim)))
+ `(epa-mark ((,c :inherit bold)))
+ `(epa-string ((,c :foreground ,string)))
+ `(epa-validity-disabled ((,c :foreground ,err)))
+ `(epa-validity-high ((,c :inherit success)))
+ `(epa-validity-low ((,c :inherit shadow)))
+ `(epa-validity-medium ((,c :foreground ,info)))
;;;;; erc
- `(erc-action-face ((,class :foreground ,cyan-alt-other)))
- `(erc-bold-face ((,class :inherit bold)))
- `(erc-button ((,class :inherit button)))
- `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt)))
- `(erc-current-nick-face ((,class :inherit bold :foreground ,red-alt)))
- `(erc-dangerous-host-face ((,class :inherit modus-themes-intense-red)))
- `(erc-direct-msg-face ((,class :foreground ,fg-special-warm)))
- `(erc-error-face ((,class :inherit bold :foreground ,red)))
- `(erc-fool-face ((,class :inherit shadow)))
- `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header)))
- `(erc-input-face ((,class :foreground ,magenta)))
- `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t)))
- `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt-other)))
- `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta)))
- `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face)))
- `(erc-nick-default-face ((,class :inherit bold :foreground ,blue)))
- `(erc-nick-msg-face ((,class :inherit warning)))
- `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face)))
- `(erc-notice-face ((,class :inherit font-lock-comment-face)))
- `(erc-pal-face ((,class :inherit bold :foreground ,magenta-alt)))
- `(erc-prompt-face ((,class :inherit modus-themes-prompt)))
- `(erc-timestamp-face ((,class :foreground ,cyan)))
- `(erc-underline-face ((,class :underline t)))
- `(bg:erc-color-face0 ((,class :background "white")))
- `(bg:erc-color-face1 ((,class :background "black")))
- `(bg:erc-color-face10 ((,class :background ,cyan-subtle-bg)))
- `(bg:erc-color-face11 ((,class :background ,cyan-intense-bg)))
- `(bg:erc-color-face12 ((,class :background ,blue-subtle-bg)))
- `(bg:erc-color-face13 ((,class :background ,magenta-subtle-bg)))
- `(bg:erc-color-face14 ((,class :background "gray60")))
- `(bg:erc-color-face15 ((,class :background "gray80")))
- `(bg:erc-color-face2 ((,class :background ,blue-intense-bg)))
- `(bg:erc-color-face3 ((,class :background ,green-intense-bg)))
- `(bg:erc-color-face4 ((,class :background ,red-subtle-bg)))
- `(bg:erc-color-face5 ((,class :background ,red-intense-bg)))
- `(bg:erc-color-face6 ((,class :background ,magenta-refine-bg)))
- `(bg:erc-color-face7 ((,class :background ,yellow-subtle-bg)))
- `(bg:erc-color-face8 ((,class :background ,yellow-refine-bg)))
- `(bg:erc-color-face9 ((,class :background ,green-subtle-bg)))
- `(fg:erc-color-face0 ((,class :foreground "white")))
- `(fg:erc-color-face1 ((,class :foreground "black")))
- `(fg:erc-color-face10 ((,class :foreground ,cyan)))
- `(fg:erc-color-face11 ((,class :foreground ,cyan-alt-other)))
- `(fg:erc-color-face12 ((,class :foreground ,blue)))
- `(fg:erc-color-face13 ((,class :foreground ,magenta-alt)))
- `(fg:erc-color-face14 ((,class :foreground "gray60")))
- `(fg:erc-color-face15 ((,class :foreground "gray80")))
- `(fg:erc-color-face2 ((,class :foreground ,blue-alt-other)))
- `(fg:erc-color-face3 ((,class :foreground ,green)))
- `(fg:erc-color-face4 ((,class :foreground ,red)))
- `(fg:erc-color-face5 ((,class :foreground ,red-alt)))
- `(fg:erc-color-face6 ((,class :foreground ,magenta-alt-other)))
- `(fg:erc-color-face7 ((,class :foreground ,yellow-alt-other)))
- `(fg:erc-color-face8 ((,class :foreground ,yellow-alt)))
- `(fg:erc-color-face9 ((,class :foreground ,green-alt-other)))
-;;;;; eros
- `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue)
- :background ,bg-dim :foreground ,fg-dim)))
+ `(erc-action-face ((,c :foreground ,accent-2)))
+ `(erc-bold-face ((,c :inherit bold)))
+ `(erc-button ((,c :inherit button)))
+ `(erc-command-indicator-face ((,c :inherit bold :foreground ,accent-3)))
+ `(erc-current-nick-face ((,c :inherit match)))
+ `(erc-dangerous-host-face ((,c :inherit error)))
+ `(erc-direct-msg-face ((,c :inherit shadow)))
+ `(erc-error-face ((,c :inherit error)))
+ `(erc-fill-wrap-merge-indicator-face ((,c :foreground ,fg-dim)))
+ `(erc-fool-face ((,c :inherit shadow)))
+ `(erc-input-face ((,c :foreground ,fnname)))
+ `(erc-inverse-face ((,c :inherit erc-default-face :inverse-video t)))
+ `(erc-keep-place-indicator-arrow ((,c :foreground ,info)))
+ `(erc-keyword-face ((,c :inherit bold :foreground ,keyword)))
+ `(erc-my-nick-face ((,c :inherit bold :foreground ,name)))
+ `(erc-my-nick-prefix-face ((,c :inherit erc-my-nick-face)))
+ `(erc-nick-default-face ((,c :inherit bold :foreground ,accent-0)))
+ `(erc-nick-msg-face ((,c :inherit warning)))
+ `(erc-nick-prefix-face ((,c :inherit erc-nick-default-face)))
+ `(erc-notice-face ((,c :inherit font-lock-comment-face)))
+ `(erc-pal-face ((,c :inherit bold :foreground ,accent-1)))
+ `(erc-prompt-face ((,c :inherit modus-themes-prompt)))
+ `(erc-timestamp-face ((,c :foreground ,date-common)))
+ `(erc-underline-face ((,c :underline t)))
;;;;; ert
- `(ert-test-result-expected ((,class :inherit modus-themes-intense-green)))
- `(ert-test-result-unexpected ((,class :inherit modus-themes-intense-red)))
+ `(ert-test-result-expected ((,c :inherit modus-themes-prominent-note)))
+ `(ert-test-result-unexpected ((,c :inherit modus-themes-prominent-error)))
+;;;;; erts-mode
+ `(erts-mode-end-test ((,c :inherit error)))
+ `(erts-mode-specification-name ((,c :inherit bold)))
+ `(erts-mode-specification-value ((,c :foreground ,string)))
+ `(erts-mode-start-test ((,c :inherit success)))
;;;;; eshell
- `(eshell-ls-archive ((,class :foreground ,cyan-alt)))
- `(eshell-ls-backup ((,class :inherit shadow)))
- `(eshell-ls-clutter ((,class :foreground ,red-alt)))
- `(eshell-ls-directory ((,class :foreground ,blue-alt)))
- `(eshell-ls-executable ((,class :foreground ,magenta-alt)))
- `(eshell-ls-missing ((,class :inherit modus-themes-intense-red)))
- `(eshell-ls-product ((,class :inherit shadow)))
- `(eshell-ls-readonly ((,class :foreground ,yellow-faint)))
- `(eshell-ls-special ((,class :foreground ,magenta)))
- `(eshell-ls-symlink ((,class :inherit modus-themes-link-symlink)))
- `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive)))
- `(eshell-prompt ((,class :inherit modus-themes-prompt)))
+ `(eshell-ls-archive ((,c :foreground ,accent-2)))
+ `(eshell-ls-backup ((,c :inherit shadow)))
+ `(eshell-ls-clutter ((,c :inherit shadow)))
+ `(eshell-ls-directory ((,c :foreground ,accent-0)))
+ `(eshell-ls-executable ((,c :foreground ,accent-1)))
+ `(eshell-ls-missing ((,c :inherit error)))
+ `(eshell-ls-product ((,c :inherit shadow)))
+ `(eshell-ls-readonly ((,c :foreground ,warning)))
+ `(eshell-ls-special ((,c :foreground ,accent-3)))
+ `(eshell-ls-symlink ((,c :inherit link)))
+ `(eshell-ls-unreadable ((,c :inherit shadow)))
+ `(eshell-prompt ((,c :inherit modus-themes-prompt)))
;;;;; eshell-fringe-status
- `(eshell-fringe-status-failure ((,class :inherit error)))
- `(eshell-fringe-status-success ((,class :inherit success)))
-;;;;; eshell-git-prompt
- `(eshell-git-prompt-add-face ((,class :foreground ,magenta-alt-other)))
- `(eshell-git-prompt-branch-face ((,class :foreground ,magenta-alt)))
- `(eshell-git-prompt-directory-face ((,class :inherit bold :foreground ,blue)))
- `(eshell-git-prompt-exit-fail-face ((,class :inherit error)))
- `(eshell-git-prompt-exit-success-face ((,class :inherit success)))
- `(eshell-git-prompt-modified-face ((,class :foreground ,yellow)))
- `(eshell-git-prompt-powerline-clean-face ((,class :background ,green-refine-bg)))
- `(eshell-git-prompt-powerline-dir-face ((,class :background ,blue-refine-bg)))
- `(eshell-git-prompt-powerline-not-clean-face ((,class :background ,yellow-fringe-bg)))
- `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,magenta-alt)))
- `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow)))
- `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,magenta-alt-other)))
-;;;;; eshell-prompt-extras (epe)
- `(epe-dir-face ((,class :inherit bold :foreground ,blue)))
- `(epe-git-dir-face ((,class :foreground ,red-alt-other)))
- `(epe-git-face ((,class :foreground ,magenta-alt)))
- `(epe-pipeline-delimiter-face ((,class :inherit shadow)))
- `(epe-pipeline-host-face ((,class :foreground ,fg-main)))
- `(epe-pipeline-time-face ((,class :foreground ,fg-main)))
- `(epe-pipeline-user-face ((,class :foreground ,magenta-alt-other)))
- `(epe-remote-face ((,class :inherit (shadow modus-themes-slant))))
- `(epe-status-face ((,class :foreground ,magenta-alt-other)))
- `(epe-venv-face ((,class :inherit (shadow modus-themes-slant))))
-;;;;; eshell-syntax-highlighting
- `(eshell-syntax-highlighting-directory-face ((,class :inherit eshell-ls-directory)))
- `(eshell-syntax-highlighting-invalid-face ((,class :foreground ,red)))
- `(eshell-syntax-highlighting-shell-command-face ((,class :foreground ,fg-main)))
+ `(eshell-fringe-status-failure ((,c :inherit error)))
+ `(eshell-fringe-status-success ((,c :inherit success)))
;;;;; evil-mode
- `(evil-ex-commands ((,class :foreground ,magenta-alt-other)))
- `(evil-ex-info ((,class :foreground ,cyan-alt-other)))
- `(evil-ex-lazy-highlight ((,class :inherit modus-themes-search-success-lazy)))
- `(evil-ex-search ((,class :inherit modus-themes-search-success)))
- `(evil-ex-substitute-matches ((,class :inherit modus-themes-refine-yellow :underline t)))
- `(evil-ex-substitute-replacement ((,class :inherit modus-themes-search-success)))
-;;;;; evil-goggles
- `(evil-goggles-change-face ((,class :inherit modus-themes-refine-yellow)))
- `(evil-goggles-commentary-face ((,class :inherit (modus-themes-subtle-neutral modus-themes-slant))))
- `(evil-goggles-default-face ((,class :inherit modus-themes-subtle-neutral)))
- `(evil-goggles-delete-face ((,class :inherit modus-themes-refine-red)))
- `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face)))
- `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face)))
- `(evil-goggles-join-face ((,class :inherit modus-themes-subtle-green)))
- `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face)))
- `(evil-goggles-paste-face ((,class :inherit modus-themes-subtle-cyan)))
- `(evil-goggles-record-macro-face ((,class :inherit modus-themes-special-cold)))
- `(evil-goggles-replace-with-register-face ((,class :inherit modus-themes-refine-magenta)))
- `(evil-goggles-set-marker-face ((,class :inherit modus-themes-intense-magenta)))
- `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face)))
- `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face)))
- `(evil-goggles-yank-face ((,class :inherit modus-themes-subtle-blue)))
-;;;;; evil-snipe
- `(evil-snipe-first-match-face ((,class :inherit (bold modus-themes-intense-blue))))
- `(evil-snipe-matches-face ((,class :inherit modus-themes-refine-magenta)))
-;;;;; evil-visual-mark-mode
- `(evil-visual-mark-face ((,class :inherit modus-themes-intense-magenta)))
+ `(evil-ex-commands ((,c :inherit font-lock-keyword-face)))
+ `(evil-ex-info ((,c :inherit font-lock-type-face)))
+ `(evil-ex-lazy-highlight ((,c :inherit modus-themes-search-lazy)))
+ `(evil-ex-search ((,c :inherit modus-themes-search-current)))
+ `(evil-ex-substitute-matches ((,c :inherit modus-themes-search-replace)))
+ `(evil-ex-substitute-replacement ((,c :inherit modus-themes-search-current)))
;;;;; eww
- `(eww-invalid-certificate ((,class :foreground ,red-faint)))
- `(eww-valid-certificate ((,class :foreground ,blue-faint)))
- `(eww-form-checkbox ((,class :inherit eww-form-text)))
- `(eww-form-file ((,class :inherit eww-form-submit)))
- `(eww-form-select ((,class :inherit eww-form-submit)))
- `(eww-form-submit ((,class :inherit modus-themes-box-button)))
- `(eww-form-text ((,class :inherit widget-field)))
- `(eww-form-textarea ((,class :inherit eww-form-text)))
+ `(eww-invalid-certificate ((,c :foreground ,err)))
+ `(eww-valid-certificate ((,c :foreground ,info)))
+ `(eww-form-checkbox ((,c :inherit eww-form-text)))
+ `(eww-form-file ((,c :inherit eww-form-submit)))
+ `(eww-form-select ((,c :inherit eww-form-submit)))
+ `(eww-form-submit ((,c :inherit modus-themes-button)))
+ `(eww-form-text ((,c :inherit widget-field)))
+ `(eww-form-textarea ((,c :inherit eww-form-text)))
;;;;; eyebrowse
- `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active)))
-;;;;; fancy-dabbrev
- `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt)))
- `(fancy-dabbrev-preview-face ((,class :inherit shadow :underline t)))
- `(fancy-dabbrev-selection-face ((,class :inherit (modus-themes-intense-cyan bold))))
+ `(eyebrowse-mode-line-active ((,c :inherit mode-line-emphasis)))
;;;;; flycheck
- `(flycheck-error ((,class :inherit modus-themes-lang-error)))
- `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active)))
- `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold)))
- `(flycheck-error-list-error ((,class :inherit modus-themes-bold :foreground ,red)))
- `(flycheck-error-list-filename ((,class :foreground ,blue)))
- `(flycheck-error-list-highlight ((,class :inherit modus-themes-hl-line)))
- `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other)))
- `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t)))
- `(flycheck-error-list-info ((,class :foreground ,cyan)))
- `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm)))
- `(flycheck-error-list-warning ((,class :foreground ,yellow)))
- `(flycheck-fringe-error ((,class :inherit modus-themes-fringe-red)))
- `(flycheck-fringe-info ((,class :inherit modus-themes-fringe-cyan)))
- `(flycheck-fringe-warning ((,class :inherit modus-themes-fringe-yellow)))
- `(flycheck-info ((,class :inherit modus-themes-lang-note)))
- `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button))))
- `(flycheck-warning ((,class :inherit modus-themes-lang-warning)))
+ `(flycheck-error ((,c :inherit modus-themes-lang-error)))
+ `(flycheck-fringe-error ((,c :inherit modus-themes-prominent-error)))
+ `(flycheck-fringe-info ((,c :inherit modus-themes-prominent-note)))
+ `(flycheck-fringe-warning ((,c :inherit modus-themes-prominent-warning)))
+ `(flycheck-info ((,c :inherit modus-themes-lang-note)))
+ `(flycheck-warning ((,c :inherit modus-themes-lang-warning)))
;;;;; flycheck-color-mode-line
- `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error)))
- `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info)))
- `(flycheck-color-mode-line-running-face ((,class :inherit italic :foreground ,fg-inactive)))
- `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning)))
+ `(flycheck-color-mode-line-error-face ((,c :inherit flycheck-fringe-error)))
+ `(flycheck-color-mode-line-info-face ((,c :inherit flycheck-fringe-info)))
+ `(flycheck-color-mode-line-running-face ((,c :inherit italic)))
+ `(flycheck-color-mode-line-info-face ((,c :inherit flycheck-fringe-warning)))
;;;;; flycheck-indicator
- `(flycheck-indicator-disabled ((,class :inherit modus-themes-slant :foreground ,fg-inactive)))
- `(flycheck-indicator-error ((,class :inherit modus-themes-bold :foreground ,red-active)))
- `(flycheck-indicator-info ((,class :inherit modus-themes-bold :foreground ,blue-active)))
- `(flycheck-indicator-running ((,class :inherit modus-themes-bold :foreground ,magenta-active)))
- `(flycheck-indicator-success ((,class :inherit (modus-themes-bold modus-themes-grue-active))))
- `(flycheck-indicator-warning ((,class :inherit modus-themes-bold :foreground ,yellow-active)))
-;;;;; flycheck-posframe
- `(flycheck-posframe-background-face ((,class :background ,bg-alt)))
- `(flycheck-posframe-border-face ((,class :inherit shadow)))
- `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red)))
- `(flycheck-posframe-face ((,class :inherit modus-themes-slant :foreground ,fg-main)))
- `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan)))
- `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow)))
+ `(flycheck-indicator-disabled ((,c :inherit modus-themes-slant :foreground ,fg-dim)))
+ `(flycheck-indicator-error ((,c :inherit error)))
+ `(flycheck-indicator-info ((,c :inherit bold)))
+ `(flycheck-indicator-running ((,c :inherit modus-themes-slant)))
+ `(flycheck-indicator-success ((,c :inherit success)))
+ `(flycheck-indicator-warning ((,c :inherit warning)))
;;;;; flymake
- `(flymake-error ((,class :inherit modus-themes-lang-error)))
- `(flymake-note ((,class :inherit modus-themes-lang-note)))
- `(flymake-warning ((,class :inherit modus-themes-lang-warning)))
+ `(flymake-end-of-line-diagnostics-face ((,c :inherit modus-themes-slant :height 0.85 :box ,border)))
+ `(flymake-error ((,c :inherit modus-themes-lang-error)))
+ `(flymake-error-echo ((,c :inherit error)))
+ `(flymake-error-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,err)))
+ `(flymake-note ((,c :inherit modus-themes-lang-note)))
+ `(flymake-note-echo ((,c :inherit success)))
+ `(flymake-note-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,info)))
+ `(flymake-warning ((,c :inherit modus-themes-lang-warning)))
+ `(flymake-warning-echo ((,c :inherit warning)))
+ `(flymake-note-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,warning)))
;;;;; flyspell
- `(flyspell-duplicate ((,class :inherit modus-themes-lang-warning)))
- `(flyspell-incorrect ((,class :inherit modus-themes-lang-error)))
+ `(flyspell-duplicate ((,c :inherit modus-themes-lang-warning)))
+ `(flyspell-incorrect ((,c :inherit modus-themes-lang-error)))
;;;;; flx
- `(flx-highlight-face ((,class :inherit modus-themes-completion-match-0)))
-;;;;; freeze-it
- `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm)))
+ `(flx-highlight-face ((,c :inherit modus-themes-completion-match-0)))
;;;;; focus
- `(focus-unfocused ((,class :foreground ,fg-unfocused)))
+ `(focus-unfocused ((,c :foreground "gray50")))
;;;;; fold-this
- `(fold-this-overlay ((,class :inherit modus-themes-special-mild)))
+ `(fold-this-overlay ((,c :background ,bg-inactive)))
;;;;; font-lock
- `(font-lock-builtin-face ((,class :inherit modus-themes-bold
- ,@(modus-themes--syntax-extra
- magenta-alt magenta-alt-faint
- magenta magenta-faint))))
- `(font-lock-comment-delimiter-face ((,class :inherit font-lock-comment-face)))
- `(font-lock-comment-face ((,class :inherit modus-themes-slant
- ,@(modus-themes--syntax-comment
- fg-alt fg-comment-yellow yellow-alt-other-faint))))
- `(font-lock-constant-face ((,class ,@(modus-themes--syntax-extra
- blue-alt-other blue-alt-other-faint
- magenta-alt-other magenta-alt-other-faint))))
- `(font-lock-doc-face ((,class :inherit modus-themes-slant
- ,@(modus-themes--syntax-string
- fg-docstring fg-special-cold
- fg-special-mild fg-special-calm
- fg-special-mild magenta-nuanced-fg))))
- `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra
- magenta magenta-faint
- magenta-alt magenta-alt-faint))))
- `(font-lock-keyword-face ((,class :inherit modus-themes-bold
- ,@(modus-themes--syntax-extra
- magenta-alt-other magenta-alt-other-faint
- cyan cyan-faint))))
- `(font-lock-negation-char-face ((,class :inherit modus-themes-bold
- ,@(modus-themes--syntax-foreground
- yellow yellow-faint))))
- `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-extra
- red-alt-other red-alt-other-faint
- cyan-alt-other cyan-alt-faint))))
- `(font-lock-regexp-grouping-backslash ((,class :inherit modus-themes-bold
- ,@(modus-themes--syntax-string
- fg-escape-char-backslash yellow-alt-faint
- yellow-alt magenta-alt
- red-faint green-alt-other-faint))))
- `(font-lock-regexp-grouping-construct ((,class :inherit modus-themes-bold
- ,@(modus-themes--syntax-string
- fg-escape-char-construct red-alt-other-faint
- red-alt-other blue-alt-other
- blue-faint blue-alt-other-faint))))
- `(font-lock-string-face ((,class ,@(modus-themes--syntax-string
- blue-alt blue-alt-faint
- green-alt-other red-alt-other
- green-alt-faint red-alt-faint))))
- `(font-lock-type-face ((,class :inherit modus-themes-bold
- ,@(modus-themes--syntax-extra
- cyan-alt-other cyan-alt-faint
- magenta-alt-other magenta-alt-other-faint))))
- `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra
- cyan cyan-faint
- blue-alt blue-alt-faint))))
- `(font-lock-warning-face ((,class :inherit modus-themes-bold
- ,@(modus-themes--syntax-comment
- yellow red yellow-alt-faint red-faint))))
-;;;;; forge
- `(forge-post-author ((,class :inherit bold :foreground ,fg-main)))
- `(forge-post-date ((,class :foreground ,fg-special-cold)))
- `(forge-topic-closed ((,class :inherit shadow)))
- `(forge-topic-merged ((,class :inherit shadow)))
- `(forge-topic-open ((,class :foreground ,fg-special-mild)))
- `(forge-topic-unmerged ((,class :inherit modus-themes-slant :foreground ,magenta)))
- `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main)))
-;;;;; fountain-mode
- `(fountain-character ((,class :foreground ,blue-alt-other)))
- `(fountain-comment ((,class :inherit font-lock-comment-face)))
- `(fountain-dialog ((,class :foreground ,blue-alt)))
- `(fountain-metadata-key ((,class :foreground ,green-alt-other)))
- `(fountain-metadata-value ((,class :foreground ,blue)))
- `(fountain-non-printing ((,class :inherit shadow)))
- `(fountain-note ((,class :inherit modus-themes-slant :foreground ,yellow)))
- `(fountain-page-break ((,class :inherit bold :foreground ,red-alt)))
- `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other)))
- `(fountain-paren ((,class :foreground ,cyan)))
- `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced-fg)))
- `(fountain-section-heading ((,class :inherit modus-themes-heading-1)))
- `(fountain-section-heading-1 ((,class :inherit modus-themes-heading-1)))
- `(fountain-section-heading-2 ((,class :inherit modus-themes-heading-2)))
- `(fountain-section-heading-3 ((,class :inherit modus-themes-heading-3)))
- `(fountain-section-heading-4 ((,class :inherit modus-themes-heading-4)))
- `(fountain-section-heading-5 ((,class :inherit modus-themes-heading-5)))
- `(fountain-synopsis ((,class :foreground ,cyan-alt)))
- `(fountain-trans ((,class :foreground ,yellow-alt-other)))
+ `(font-lock-builtin-face ((,c :inherit modus-themes-bold :foreground ,builtin)))
+ `(font-lock-comment-delimiter-face ((,c :inherit font-lock-comment-face)))
+ `(font-lock-comment-face ((,c :inherit modus-themes-slant :foreground ,comment)))
+ `(font-lock-constant-face ((,c :foreground ,constant)))
+ `(font-lock-doc-face ((,c :inherit modus-themes-slant :foreground ,docstring)))
+ `(font-lock-doc-markup-face ((,c :inherit modus-themes-slant :foreground ,docmarkup)))
+ `(font-lock-function-name-face ((,c :foreground ,fnname)))
+ `(font-lock-keyword-face ((,c :inherit modus-themes-bold :foreground ,keyword)))
+ `(font-lock-negation-char-face ((,c :inherit error)))
+ `(font-lock-preprocessor-face ((,c :foreground ,preprocessor)))
+ `(font-lock-regexp-grouping-backslash ((,c :inherit modus-themes-bold :foreground ,rx-backslash)))
+ `(font-lock-regexp-grouping-construct ((,c :inherit modus-themes-bold :foreground ,rx-construct)))
+ `(font-lock-string-face ((,c :foreground ,string)))
+ `(font-lock-type-face ((,c :inherit modus-themes-bold :foreground ,type)))
+ `(font-lock-variable-name-face ((,c :foreground ,variable)))
+ `(font-lock-warning-face ((,c :inherit modus-themes-bold :foreground ,warning)))
;;;;; geiser
- `(geiser-font-lock-autodoc-current-arg ((,class :inherit bold
- :background ,yellow-nuanced-bg
- :foreground ,yellow-alt-other)))
- `(geiser-font-lock-autodoc-identifier ((,class :foreground ,cyan)))
- `(geiser-font-lock-doc-button ((,class :inherit button :foreground ,fg-docstring)))
- `(geiser-font-lock-doc-link ((,class :inherit button)))
- `(geiser-font-lock-error-link ((,class :inherit button :foreground ,red)))
- `(geiser-font-lock-image-button ((,class :inherit button :foreground ,green-alt)))
- `(geiser-font-lock-repl-input ((,class :inherit bold)))
- `(geiser-font-lock-repl-output ((,class :inherit font-lock-keyword-face)))
- `(geiser-font-lock-repl-prompt ((,class :inherit modus-themes-prompt)))
- `(geiser-font-lock-xref-header ((,class :inherit bold)))
- `(geiser-font-lock-xref-link ((,class :inherit button)))
+ `(geiser-font-lock-autodoc-current-arg ((,c :inherit bold :background ,bg-active-argument :foreground ,fg-active-argument)))
+ `(geiser-font-lock-autodoc-identifier ((,c :foreground ,docstring)))
+ `(geiser-font-lock-doc-button ((,c :inherit button)))
+ `(geiser-font-lock-doc-link ((,c :inherit button)))
+ `(geiser-font-lock-error-link ((,c :inherit button :foreground ,err)))
+ `(geiser-font-lock-image-button ((,c :inherit button :foreground ,info)))
+ `(geiser-font-lock-repl-input ((,c :inherit bold)))
+ `(geiser-font-lock-repl-output ((,c :inherit font-lock-keyword-face)))
+ `(geiser-font-lock-repl-prompt ((,c :inherit modus-themes-prompt)))
+ `(geiser-font-lock-xref-header ((,c :inherit bold)))
+ `(geiser-font-lock-xref-link ((,c :inherit button)))
;;;;; git-commit
- `(git-commit-comment-action ((,class :inherit font-lock-comment-face)))
- `(git-commit-comment-branch-local ((,class :inherit font-lock-comment-face :foreground ,blue-alt)))
- `(git-commit-comment-branch-remote ((,class :inherit font-lock-comment-face :foreground ,magenta-alt)))
- `(git-commit-comment-detached ((,class :inherit font-lock-comment-face :foreground ,cyan-alt)))
- `(git-commit-comment-file ((,class :inherit font-lock-comment-face :foreground ,cyan)))
- `(git-commit-comment-heading ((,class :inherit (bold font-lock-comment-face))))
- `(git-commit-keyword ((,class :foreground ,magenta)))
- `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other)))
- `(git-commit-nonempty-second-line ((,class :inherit error)))
- `(git-commit-overlong-summary ((,class :inherit warning)))
- `(git-commit-pseudo-header ((,class :foreground ,blue)))
- `(git-commit-summary ((,class :inherit bold :foreground ,blue)))
+ `(git-commit-comment-action ((,c :inherit font-lock-comment-face)))
+ `(git-commit-comment-branch-local ((,c :inherit font-lock-comment-face :foreground ,accent-0)))
+ `(git-commit-comment-branch-remote ((,c :inherit font-lock-comment-face :foreground ,accent-1)))
+ `(git-commit-comment-heading ((,c :inherit (bold font-lock-comment-face))))
+ `(git-commit-comment-file ((,c :inherit font-lock-comment-face :foreground ,name)))
+ `(git-commit-keyword ((,c :foreground ,keyword)))
+ `(git-commit-nonempty-second-line ((,c :inherit error)))
+ `(git-commit-overlong-summary ((,c :inherit warning)))
+ `(git-commit-summary ((,c :inherit success)))
;;;;; git-gutter
- `(git-gutter:added ((,class :inherit modus-themes-grue-background-active)))
- `(git-gutter:deleted ((,class :inherit modus-themes-fringe-red)))
- `(git-gutter:modified ((,class :inherit modus-themes-fringe-yellow)))
- `(git-gutter:separator ((,class :inherit modus-themes-fringe-cyan)))
- `(git-gutter:unchanged ((,class :inherit modus-themes-fringe-magenta)))
+ `(git-gutter:added ((,c :background ,bg-added-fringe)))
+ `(git-gutter:deleted ((,c :background ,bg-removed-fringe)))
+ `(git-gutter:modified ((,c :background ,bg-changed-fringe)))
+ `(git-gutter:separator ((,c :inherit modus-themes-intense-cyan)))
+ `(git-gutter:unchanged ((,c :inherit modus-themes-intense-magenta)))
;;;;; git-gutter-fr
- `(git-gutter-fr:added ((,class :inherit modus-themes-grue-background-active)))
- `(git-gutter-fr:deleted ((,class :inherit modus-themes-fringe-red)))
- `(git-gutter-fr:modified ((,class :inherit modus-themes-fringe-yellow)))
+ `(git-gutter-fr:added ((,c :background ,bg-added-fringe)))
+ `(git-gutter-fr:deleted ((,c :background ,bg-removed-fringe)))
+ `(git-gutter-fr:modified ((,c :background ,bg-changed-fringe)))
;;;;; git-rebase
- `(git-rebase-comment-hash ((,class :inherit font-lock-comment-face :foreground ,cyan)))
- `(git-rebase-comment-heading ((,class :inherit (bold font-lock-comment-face))))
- `(git-rebase-description ((,class :foreground ,fg-main)))
- `(git-rebase-hash ((,class :foreground ,cyan-alt-other)))
+ `(git-rebase-comment-hash ((,c :inherit (bold font-lock-comment-face) :foreground ,identifier)))
+ `(git-rebase-comment-heading ((,c :inherit (bold font-lock-comment-face))))
+ `(git-rebase-description ((,c :foreground ,fg-main)))
+ `(git-rebase-hash ((,c :foreground ,identifier)))
;;;;; git-timemachine
- `(git-timemachine-commit ((,class :inherit bold :foreground ,yellow-active)))
- `(git-timemachine-minibuffer-author-face ((,class :foreground ,fg-special-warm)))
- `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt)))
+ `(git-timemachine-commit ((,c :inherit warning)))
+ `(git-timemachine-minibuffer-author-face ((,c :foreground ,name)))
+ `(git-timemachine-minibuffer-detail-face ((,c :foreground ,fg-main)))
;;;;; gnus
- `(gnus-button ((,class :inherit button)))
- `(gnus-cite-1 ((,class :inherit message-cited-text-1)))
- `(gnus-cite-2 ((,class :inherit message-cited-text-2)))
- `(gnus-cite-3 ((,class :inherit message-cited-text-3)))
- `(gnus-cite-4 ((,class :inherit message-cited-text-4)))
- `(gnus-cite-5 ((,class :inherit gnus-cite-1)))
- `(gnus-cite-6 ((,class :inherit gnus-cite-2)))
- `(gnus-cite-7 ((,class :inherit gnus-cite-3)))
- `(gnus-cite-8 ((,class :inherit gnus-cite-4)))
- `(gnus-cite-9 ((,class :inherit gnus-cite-1)))
- `(gnus-cite-10 ((,class :inherit gnus-cite-2)))
- `(gnus-cite-11 ((,class :inherit gnus-cite-3)))
- `(gnus-cite-attribution ((,class :inherit italic :foreground ,fg-main)))
- `(gnus-emphasis-bold ((,class :inherit bold)))
- `(gnus-emphasis-bold-italic ((,class :inherit bold-italic)))
- `(gnus-emphasis-highlight-words ((,class :inherit modus-themes-refine-yellow)))
- `(gnus-emphasis-italic ((,class :inherit italic)))
- `(gnus-emphasis-underline-bold ((,class :inherit gnus-emphasis-bold :underline t)))
- `(gnus-emphasis-underline-bold-italic ((,class :inherit gnus-emphasis-bold-italic :underline t)))
- `(gnus-emphasis-underline-italic ((,class :inherit gnus-emphasis-italic :underline t)))
- `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt)))
- `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt)))
- `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta)))
- `(gnus-group-mail-2-empty ((,class :foreground ,magenta)))
- `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other)))
- `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other)))
- `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced-fg)))
- `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced-fg)))
- `(gnus-group-news-1 ((,class :inherit bold :foreground ,green)))
- `(gnus-group-news-1-empty ((,class :foreground ,green)))
- `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan)))
- `(gnus-group-news-2-empty ((,class :foreground ,cyan)))
- `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced-fg)))
- `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced-fg)))
- `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced-fg)))
- `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced-fg)))
- `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced-fg)))
- `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced-fg)))
- `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-unfocused)))
- `(gnus-group-news-6-empty ((,class :foreground ,fg-unfocused)))
- `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced-fg)))
- `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced-fg)))
- `(gnus-header-content ((,class :inherit message-header-other)))
- `(gnus-header-from ((,class :inherit message-header-to :underline nil)))
- `(gnus-header-name ((,class :inherit message-header-name)))
- `(gnus-header-newsgroups ((,class :inherit message-header-newsgroups)))
- `(gnus-header-subject ((,class :inherit message-header-subject)))
- `(gnus-server-agent ((,class :inherit bold :foreground ,cyan)))
- `(gnus-server-closed ((,class :inherit bold :foreground ,magenta)))
- `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt)))
- `(gnus-server-cloud-host ((,class :inherit modus-themes-refine-cyan)))
- `(gnus-server-denied ((,class :inherit bold :foreground ,red)))
- `(gnus-server-offline ((,class :inherit bold :foreground ,yellow)))
- `(gnus-server-opened ((,class :inherit bold :foreground ,green)))
- `(gnus-signature ((,class :inherit italic :foreground ,fg-special-cold)))
- `(gnus-splash ((,class :inherit shadow)))
- `(gnus-summary-cancelled ((,class :inherit modus-themes-mark-alt :extend t)))
- `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt)))
- `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold)))
- `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other)))
- `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground ,yellow)))
- `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main)))
- `(gnus-summary-low-ancient ((,class :inherit italic :foreground ,fg-alt)))
- `(gnus-summary-low-read ((,class :inherit italic :foreground ,fg-alt)))
- `(gnus-summary-low-ticked ((,class :inherit italic :foreground ,red-refine-fg)))
- `(gnus-summary-low-undownloaded ((,class :inherit italic :foreground ,yellow-refine-fg)))
- `(gnus-summary-low-unread ((,class :inherit italic :foreground ,fg-special-cold)))
- `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm)))
- `(gnus-summary-normal-read ((,class :inherit shadow)))
- `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other)))
- `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow)))
- `(gnus-summary-normal-unread ((,class :foreground ,fg-main)))
- `(gnus-summary-selected ((,class :inherit highlight :extend t)))
+ `(gnus-button ((,c :inherit button :underline nil)))
+ `(gnus-cite-1 ((,c :inherit message-cited-text-1)))
+ `(gnus-cite-2 ((,c :inherit message-cited-text-2)))
+ `(gnus-cite-3 ((,c :inherit message-cited-text-3)))
+ `(gnus-cite-4 ((,c :inherit message-cited-text-4)))
+ `(gnus-cite-5 ((,c :inherit message-cited-text-1)))
+ `(gnus-cite-6 ((,c :inherit message-cited-text-2)))
+ `(gnus-cite-7 ((,c :inherit message-cited-text-3)))
+ `(gnus-cite-8 ((,c :inherit message-cited-text-4)))
+ `(gnus-cite-9 ((,c :inherit message-cited-text-1)))
+ `(gnus-cite-10 ((,c :inherit message-cited-text-2)))
+ `(gnus-cite-11 ((,c :inherit message-cited-text-3)))
+ `(gnus-cite-attribution ((,c :inherit italic)))
+ `(gnus-emphasis-bold ((,c :inherit bold)))
+ `(gnus-emphasis-bold-italic ((,c :inherit bold-italic)))
+ `(gnus-emphasis-highlight-words ((,c :inherit warning)))
+ `(gnus-emphasis-italic ((,c :inherit italic)))
+ `(gnus-emphasis-underline-bold ((,c :inherit gnus-emphasis-bold :underline t)))
+ `(gnus-emphasis-underline-bold-italic ((,c :inherit gnus-emphasis-bold-italic :underline t)))
+ `(gnus-emphasis-underline-italic ((,c :inherit gnus-emphasis-italic :underline t)))
+ `(gnus-group-mail-1 ((,c :inherit (bold gnus-group-mail-1-empty))))
+ `(gnus-group-mail-1-empty ((,c :foreground ,magenta-warmer)))
+ `(gnus-group-mail-2 ((,c :inherit (bold gnus-group-mail-2-empty))))
+ `(gnus-group-mail-2-empty ((,c :foreground ,magenta)))
+ `(gnus-group-mail-3 ((,c :inherit (bold gnus-group-mail-3-empty))))
+ `(gnus-group-mail-3-empty ((,c :foreground ,magenta-cooler)))
+ `(gnus-group-mail-low ((,c :inherit (bold gnus-group-mail-low-empty))))
+ `(gnus-group-mail-low-empty ((,c :foreground ,fg-dim)))
+ `(gnus-group-news-1 ((,c :inherit (bold gnus-group-news-1-empty))))
+ `(gnus-group-news-1-empty ((,c :foreground ,green)))
+ `(gnus-group-news-2 ((,c :inherit (bold gnus-group-news-2-empty))))
+ `(gnus-group-news-2-empty ((,c :foreground ,cyan)))
+ `(gnus-group-news-3 ((,c :inherit (bold gnus-group-news-3-empty))))
+ `(gnus-group-news-3-empty ((,c :foreground ,yellow-faint)))
+ `(gnus-group-news-4 ((,c :inherit (bold gnus-group-news-4-empty))))
+ `(gnus-group-news-4-empty ((,c :foreground ,magenta-faint)))
+ `(gnus-group-news-5 ((,c :inherit (bold gnus-group-news-5-empty))))
+ `(gnus-group-news-5-empty ((,c :foreground ,fg-alt)))
+ `(gnus-group-news-6 ((,c :inherit (bold gnus-group-news-6-empty))))
+ `(gnus-group-news-6-empty ((,c :foreground ,fg-dim)))
+ `(gnus-group-news-low ((,c :inherit (bold gnus-group-news-low-empty))))
+ `(gnus-group-news-low-empty ((,c :foreground ,fg-dim)))
+ `(gnus-header-content ((,c :inherit message-header-other)))
+ `(gnus-header-from ((,c :inherit message-header-to :underline nil)))
+ `(gnus-header-name ((,c :inherit message-header-name)))
+ `(gnus-header-newsgroups ((,c :inherit message-header-newsgroups)))
+ `(gnus-header-subject ((,c :inherit message-header-subject)))
+ `(gnus-server-agent ((,c :inherit bold)))
+ `(gnus-server-closed ((,c :inherit italic)))
+ `(gnus-server-cloud ((,c :inherit bold :foreground ,fg-alt)))
+ `(gnus-server-cloud-host ((,c :inherit bold :foreground ,fg-alt :underline t)))
+ `(gnus-server-denied ((,c :inherit error)))
+ `(gnus-server-offline ((,c :inherit shadow)))
+ `(gnus-server-opened ((,c :inherit success)))
+ `(gnus-summary-cancelled ((,c :inherit italic :foreground ,warning)))
+ `(gnus-summary-high-ancient ((,c :inherit bold :foreground ,fg-alt)))
+ `(gnus-summary-high-read ((,c :inherit bold :foreground ,fg-dim)))
+ `(gnus-summary-high-ticked ((,c :inherit bold :foreground ,err)))
+ `(gnus-summary-high-undownloaded ((,c :inherit bold-italic :foreground ,warning)))
+ `(gnus-summary-high-unread ((,c :inherit bold)))
+ `(gnus-summary-low-ancient ((,c :inherit italic)))
+ `(gnus-summary-low-read ((,c :inherit (shadow italic))))
+ `(gnus-summary-low-ticked ((,c :inherit italic :foreground ,err)))
+ `(gnus-summary-low-undownloaded ((,c :inherit italic :foreground ,warning)))
+ `(gnus-summary-low-unread ((,c :inherit italic)))
+ `(gnus-summary-normal-ancient (( )))
+ `(gnus-summary-normal-read ((,c :inherit shadow)))
+ `(gnus-summary-normal-ticked ((,c :foreground ,err)))
+ `(gnus-summary-normal-undownloaded ((,c :foreground ,warning)))
+ `(gnus-summary-normal-unread (( )))
+ `(gnus-summary-selected ((,c :inherit highlight)))
;;;;; gotest
- `(go-test--ok-face ((,class :inherit success)))
- `(go-test--error-face ((,class :inherit error)))
- `(go-test--warning-face ((,class :inherit warning)))
- `(go-test--pointer-face ((,class :foreground ,magenta-alt-other)))
- `(go-test--standard-face ((,class :foreground ,fg-special-cold)))
+ `(go-test--ok-face ((,c :inherit success)))
+ `(go-test--error-face ((,c :inherit error)))
+ `(go-test--warning-face ((,c :inherit warning)))
+ `(go-test--pointer-face ((,c :foreground ,accent-0)))
+ `(go-test--standard-face (( )))
;;;;; golden-ratio-scroll-screen
- `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
-;;;;; helm
- `(helm-M-x-key ((,class :inherit modus-themes-key-binding)))
- `(helm-action ((,class :underline t)))
- `(helm-bookmark-addressbook ((,class :foreground ,green-alt)))
- `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue)))
- `(helm-bookmark-file ((,class :foreground ,fg-main)))
- `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground ,fg-alt)))
- `(helm-bookmark-gnus ((,class :foreground ,magenta)))
- `(helm-bookmark-info ((,class :foreground ,cyan-alt)))
- `(helm-bookmark-man ((,class :foreground ,yellow-alt)))
- `(helm-bookmark-w3m ((,class :foreground ,blue-alt)))
- `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan)))
- `(helm-buffer-directory ((,class :inherit bold :foreground ,blue)))
- `(helm-buffer-file ((,class :foreground ,fg-main)))
- `(helm-buffer-modified ((,class :foreground ,yellow-alt)))
- `(helm-buffer-not-saved ((,class :foreground ,red-alt)))
- `(helm-buffer-process ((,class :foreground ,magenta)))
- `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt :foreground ,red)))
- `(helm-buffer-size ((,class :inherit shadow)))
- `(helm-candidate-number ((,class :foreground ,cyan-active)))
- `(helm-candidate-number-suspended ((,class :foreground ,yellow-active)))
- `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active)))
- `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active)))
- `(helm-delete-async-message ((,class :inherit bold :foreground ,magenta-active)))
- `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main)))
- `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active)))
- `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active)))
- `(helm-etags-file ((,class :foreground ,fg-dim :underline t)))
- `(helm-ff-backup-file ((,class :inherit shadow)))
- `(helm-ff-denied ((,class :inherit modus-themes-intense-red)))
- `(helm-ff-directory ((,class :inherit helm-buffer-directory)))
- `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other)))
- `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt :foreground ,fg-alt)))
- `(helm-ff-dotted-symlink-directory ((,class :inherit (button helm-ff-dotted-directory))))
- `(helm-ff-executable ((,class :foreground ,magenta-alt)))
- `(helm-ff-file ((,class :foreground ,fg-main)))
- `(helm-ff-file-extension ((,class :foreground ,fg-special-warm)))
- `(helm-ff-invalid-symlink ((,class :inherit modus-themes-link-broken)))
- `(helm-ff-pipe ((,class :inherit modus-themes-special-calm)))
- `(helm-ff-prefix ((,class :inherit modus-themes-special-warm)))
- `(helm-ff-socket ((,class :foreground ,red-alt-other)))
- `(helm-ff-suid ((,class :inherit modus-themes-special-warm)))
- `(helm-ff-symlink ((,class :inherit modus-themes-link-symlink)))
- `(helm-ff-truename ((,class :foreground ,blue-alt-other)))
- `(helm-fd-finish ((,class :inherit success)))
- `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other)))
- `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold)))
- `(helm-grep-finish ((,class :inherit bold)))
- `(helm-grep-lineno ((,class :foreground ,fg-special-warm)))
- `(helm-grep-match ((,class :inherit modus-themes-special-calm)))
- `(helm-header ((,class :inherit bold :foreground ,fg-special-cold)))
- `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense)))
- `(helm-history-deleted ((,class :inherit modus-themes-special-warm)))
- `(helm-history-remote ((,class :foreground ,red-alt-other)))
- `(helm-lisp-completion-info ((,class :inherit modus-themes-bold :foreground ,fg-special-cold)))
- `(helm-lisp-show-completion ((,class :inherit modus-themes-special-warm)))
- `(helm-locate-finish ((,class :inherit success)))
- `(helm-match ((,class :inherit modus-themes-completion-match-0)))
- `(helm-match-item ((,class :inherit helm-match)))
- `(helm-minibuffer-prompt ((,class :inherit modus-themes-prompt)))
- `(helm-moccur-buffer ((,class :inherit button :foreground ,cyan-alt-other)))
- `(helm-mode-prefix ((,class :inherit modus-themes-special-calm)))
- `(helm-non-file-buffer ((,class :inherit shadow)))
- `(helm-prefarg ((,class :foreground ,red-active)))
- `(helm-resume-need-update ((,class :inherit modus-themes-special-calm)))
- `(helm-selection ((,class :inherit modus-themes-completion-selected)))
- `(helm-selection-line ((,class :background ,bg-hl-alt-intense)))
- `(helm-separator ((,class :foreground ,fg-special-mild)))
- `(helm-time-zone-current ((,class :foreground ,green)))
- `(helm-time-zone-home ((,class :foreground ,magenta)))
- `(helm-source-header ((,class :inherit modus-themes-pseudo-header :foreground ,fg-special-warm)))
- `(helm-top-columns ((,class :inherit helm-header)))
- `(helm-ucs-char ((,class :foreground ,yellow-alt-other)))
- `(helm-visible-mark ((,class :inherit modus-themes-subtle-cyan)))
-;;;;; helm-ls-git
- `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense)))
- `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense)))
- `(helm-ls-git-conflict-face ((,class :inherit bold :foreground ,red-intense)))
- `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced-fg)))
- `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red)))
- `(helm-ls-git-modified-and-staged-face ((,class :foreground ,yellow-nuanced-fg)))
- `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow)))
- `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta)))
- `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold)))
-;;;;; helm-switch-shell
- `(helm-switch-shell-new-shell-face ((,class :inherit modus-themes-completion-match-0)))
-;;;;; helm-xref
- `(helm-xref-file-name ((,class :inherit modus-themes-bold :foreground ,fg-special-cold)))
+ `(golden-ratio-scroll-highlight-line-face ((,c :background ,bg-cyan-subtle :foreground ,fg-main)))
;;;;; helpful
- `(helpful-heading ((,class :inherit modus-themes-heading-1)))
+ `(helpful-heading ((,c :inherit modus-themes-heading-1)))
;;;;; highlight region or ad-hoc regexp
;; HACK 2022-06-23: The :inverse-video prevents hl-line-mode from
;; overriding the background. Such an override really defeats the
;; purpose of setting those highlights.
;;
- ;; NOTE 2022-10-04: We do not use the ,class here but instead
+ ;; NOTE 2022-10-04: We do not use the ,c here but instead
;; hardcode color values. We have to do this as the themes lack
;; entries in their palette for such an edge case. Defining those
;; entries is not appropriate.
`(hi-aquamarine ((((class color) (min-colors 88) (background light))
- :background "white" :foreground "#227f9f" :inverse-video t)
+ :background "#ffffff" :foreground "#227f9f" :inverse-video t)
(((class color) (min-colors 88) (background dark))
- :background "black" :foreground "#66cbdc" :inverse-video t)))
- `(hi-black-b ((,class :inverse-video t)))
- `(hi-black-hb ((,class :background ,bg-main :foreground ,fg-alt :inverse-video t)))
+ :background "#000000" :foreground "#66cbdc" :inverse-video t)))
+ `(hi-black-b ((,c :inverse-video t)))
+ `(hi-black-hb ((,c :background ,bg-main :foreground ,fg-dim :inverse-video t)))
`(hi-blue ((((class color) (min-colors 88) (background light))
- :background "white" :foreground "#3366dd" :inverse-video t)
+ :background "#ffffff" :foreground "#3366dd" :inverse-video t)
(((class color) (min-colors 88) (background dark))
- :background "black" :foreground "#aaccff" :inverse-video t)))
- `(hi-blue-b ((,class :inherit (bold hi-blue))))
+ :background "#000000" :foreground "#aaccff" :inverse-video t)))
+ `(hi-blue-b ((,c :inherit (bold hi-blue))))
`(hi-green ((((class color) (min-colors 88) (background light))
- :background "white" :foreground "#008a00" :inverse-video t)
- (((class color) (min-colors 88) (background dark))
- :background "black" :foreground "#66dd66" :inverse-video t)))
- `(hi-green-b ((,class :inherit (bold hi-green))))
+ :background "#ffffff" :foreground "#008a00" :inverse-video t)
+ (((class color) (min-colors 88) (background dark))
+ :background "#000000" :foreground "#66dd66" :inverse-video t)))
+ `(hi-green-b ((,c :inherit (bold hi-green))))
`(hi-pink ((((class color) (min-colors 88) (background light))
- :background "white" :foreground "#bd30aa" :inverse-video t)
- (((class color) (min-colors 88) (background dark))
- :background "black" :foreground "#ff88ee" :inverse-video t)))
+ :background "#ffffff" :foreground "#bd30aa" :inverse-video t)
+ (((class color) (min-colors 88) (background dark))
+ :background "#000000" :foreground "#ff88ee" :inverse-video t)))
`(hi-red-b ((((class color) (min-colors 88) (background light))
- :background "white" :foreground "#dd0000" :inverse-video t)
- (((class color) (min-colors 88) (background dark))
- :background "black" :foreground "#f06666" :inverse-video t)))
+ :background "#ffffff" :foreground "#dd0000" :inverse-video t)
+ (((class color) (min-colors 88) (background dark))
+ :background "#000000" :foreground "#f06666" :inverse-video t)))
`(hi-salmon ((((class color) (min-colors 88) (background light))
- :background "white" :foreground "#bf555a" :inverse-video t)
+ :background "#ffffff" :foreground "#bf555a" :inverse-video t)
(((class color) (min-colors 88) (background dark))
- :background "black" :foreground "#e08a50" :inverse-video t)))
+ :background "#000000" :foreground "#e08a50" :inverse-video t)))
`(hi-yellow ((((class color) (min-colors 88) (background light))
- :background "white" :foreground "#af6400" :inverse-video t)
+ :background "#ffffff" :foreground "#af6400" :inverse-video t)
(((class color) (min-colors 88) (background dark))
- :background "black" :foreground "#faea00" :inverse-video t)))
- `(highlight ((,class ,@(if modus-themes-intense-mouseovers
- (list :background blue-intense-bg :foreground fg-main)
- (list :background cyan-subtle-bg :foreground fg-main)))))
- `(highlight-changes ((,class :foreground ,red-alt :underline nil)))
- `(highlight-changes-delete ((,class :background ,red-nuanced-bg
- :foreground ,red :underline t)))
- `(hl-line ((,class :inherit modus-themes-hl-line)))
-;;;;; highlight-indentation
- `(highlight-indentation-face ((,class :inherit modus-themes-hl-line)))
- `(highlight-indentation-current-column-face ((,class :background ,bg-active)))
+ :background "#000000" :foreground "#faea00" :inverse-video t)))
+ `(highlight-changes ((,c :foreground ,warning :underline nil)))
+ `(highlight-changes-delete ((,c :foreground ,err :underline t)))
+ `(hl-line ((,c :background ,bg-hl-line :extend t)))
;;;;; highlight-numbers
- `(highlight-numbers-number ((,class :foreground ,blue-alt-other)))
+ `(highlight-numbers-number ((,c :foreground ,constant)))
;;;;; highlight-thing
- `(highlight-thing ((,class :inherit modus-themes-special-calm)))
-;;;;; hl-defined
- `(hdefd-functions ((,class :foreground ,blue)))
- `(hdefd-undefined ((,class :foreground ,red-alt)))
- `(hdefd-variables ((,class :foreground ,cyan-alt)))
+ `(highlight-thing ((,c :inherit match)))
;;;;; hl-fill-column
- `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active)))
+ `(hl-fill-column-face ((,c :background ,bg-active)))
;;;;; hl-todo
- `(hl-todo ((,class :inherit (bold modus-themes-slant) :foreground ,red-alt-other)))
+ `(hl-todo ((,c :inherit (bold font-lock-comment-face) :foreground ,err)))
;;;;; hydra
- `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow-alt)))
- `(hydra-face-blue ((,class :inherit bold :foreground ,blue)))
- `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt-faint)))
- `(hydra-face-red ((,class :inherit bold :foreground ,red-faint)))
- `(hydra-face-teal ((,class :inherit bold :foreground ,cyan-alt-other)))
+ `(hydra-face-amaranth ((,c :inherit bold :foreground ,yellow-warmer)))
+ `(hydra-face-blue ((,c :inherit bold :foreground ,blue)))
+ `(hydra-face-pink ((,c :inherit bold :foreground ,magenta)))
+ `(hydra-face-red ((,c :inherit bold :foreground ,red-faint)))
+ `(hydra-face-teal ((,c :inherit bold :foreground ,cyan-cooler)))
;;;;; icomplete
- `(icomplete-first-match ((,class :inherit modus-themes-completion-match-0)))
- `(icomplete-selected-match ((,class :inherit modus-themes-completion-selected)))
-;;;;; icomplete-vertical
- `(icomplete-vertical-separator ((,class :inherit shadow)))
+ `(icomplete-first-match ((,c :inherit modus-themes-completion-match-0)))
+ `(icomplete-selected-match ((,c :inherit modus-themes-completion-selected)))
;;;;; ido-mode
- `(ido-first-match ((,class :inherit modus-themes-completion-match-0)))
- `(ido-incomplete-regexp ((,class :inherit error)))
- `(ido-indicator ((,class :inherit modus-themes-subtle-yellow)))
- `(ido-only-match ((,class :inherit ido-first-match)))
- `(ido-subdir ((,class :foreground ,blue)))
- `(ido-virtual ((,class :foreground ,magenta-alt-other)))
+ `(ido-first-match ((,c :inherit modus-themes-completion-match-0)))
+ `(ido-incomplete-regexp ((,c :inherit error)))
+ `(ido-indicator ((,c :inherit bold)))
+ `(ido-only-match ((,c :inherit ido-first-match)))
+ `(ido-subdir ((,c :foreground ,accent-0)))
+ `(ido-virtual ((,c :foreground ,accent-1)))
;;;;; iedit
- `(iedit-occurrence ((,class :inherit modus-themes-refine-blue)))
- `(iedit-read-only-occurrence ((,class :inherit modus-themes-intense-yellow)))
+ `(iedit-occurrence ((,c :inherit modus-themes-search-lazy)))
+ `(iedit-read-only-occurrence ((,c :inherit modus-themes-search-current)))
;;;;; iflipb
- `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt)))
- `(iflipb-other-buffer-face ((,class :inherit shadow)))
+ `(iflipb-current-buffer-face ((,c :inherit bold :foreground ,name)))
+ `(iflipb-other-buffer-face ((,c :inherit shadow)))
;;;;; image-dired
- `(image-dired-thumb-flagged ((,class :background ,red-intense-bg)))
- `(image-dired-thumb-header-file-name ((,class :inherit bold)))
- `(image-dired-thumb-header-file-size ((,class :foreground ,blue-active)))
- `(image-dired-thumb-mark ((,class :inherit modus-themes-grue-background-intense)))
+ `(image-dired-thumb-flagged ((,c :inherit modus-themes-mark-del :box (:line-width -3))))
+ `(image-dired-thumb-header-file-name ((,c :inherit bold)))
+ `(image-dired-thumb-header-file-size ((,c :foreground ,constant)))
+ `(image-dired-thumb-mark ((,c :inherit modus-themes-mark-sel :box (:line-width -3))))
;;;;; imenu-list
- `(imenu-list-entry-face-0 ((,class :foreground ,cyan)))
- `(imenu-list-entry-face-1 ((,class :foreground ,blue)))
- `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other)))
- `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt)))
- `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground ,magenta-alt-other :underline t)))
- `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground ,magenta :underline t)))
- `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground ,green-alt-other :underline t)))
- `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground ,red-alt-other :underline t)))
+ `(imenu-list-entry-face-0 ((,c :foreground ,fg-heading-1)))
+ `(imenu-list-entry-face-1 ((,c :foreground ,fg-heading-2)))
+ `(imenu-list-entry-face-2 ((,c :foreground ,fg-heading-3)))
+ `(imenu-list-entry-face-3 ((,c :foreground ,fg-heading-4)))
+ `(imenu-list-entry-subalist-face-0 ((,c :inherit bold :foreground ,fg-heading-1 :underline t)))
+ `(imenu-list-entry-subalist-face-1 ((,c :inherit bold :foreground ,fg-heading-2 :underline t)))
+ `(imenu-list-entry-subalist-face-2 ((,c :inherit bold :foreground ,fg-heading-3 :underline t)))
+ `(imenu-list-entry-subalist-face-3 ((,c :inherit bold :foreground ,fg-heading-4 :underline t)))
;;;;; indium
- `(indium-breakpoint-face ((,class :foreground ,red-active)))
- `(indium-frame-url-face ((,class :inherit (shadow button))))
- `(indium-keyword-face ((,class :inherit font-lock-keyword-face)))
- `(indium-litable-face ((,class :inherit modus-themes-slant :foreground ,fg-special-warm)))
- `(indium-repl-error-face ((,class :inherit error)))
- `(indium-repl-prompt-face ((,class :inherit modus-themes-prompt)))
- `(indium-repl-stdout-face ((,class :foreground ,fg-main)))
+ `(indium-breakpoint-face ((,c :foreground ,err)))
+ `(indium-frame-url-face ((,c :inherit (shadow button))))
+ `(indium-keyword-face ((,c :inherit font-lock-keyword-face)))
+ `(indium-litable-face ((,c :inherit modus-themes-slant)))
+ `(indium-repl-error-face ((,c :inherit error)))
+ `(indium-repl-prompt-face ((,c :inherit modus-themes-prompt)))
+ `(indium-repl-stdout-face (( )))
;;;;; info
- `(Info-quoted ((,class :inherit modus-themes-markup-verbatim))) ; the capitalization is canonical
- `(info-header-node ((,class :inherit (shadow bold))))
- `(info-header-xref ((,class :foreground ,blue-active)))
- `(info-index-match ((,class :inherit match)))
- `(info-menu-header ((,class :inherit modus-themes-pseudo-header)))
- `(info-menu-star ((,class :foreground ,red)))
- `(info-node ((,class :inherit bold)))
- `(info-title-1 ((,class :inherit modus-themes-heading-1)))
- `(info-title-2 ((,class :inherit modus-themes-heading-2)))
- `(info-title-3 ((,class :inherit modus-themes-heading-3)))
- `(info-title-4 ((,class :inherit modus-themes-heading-4)))
+ `(Info-quoted ((,c :inherit modus-themes-prose-verbatim))) ; the capitalization is canonical
+ `(info-header-node ((,c :inherit (shadow bold))))
+ `(info-header-xref ((,c :foreground ,fg-link)))
+ `(info-index-match ((,c :inherit match)))
+ `(info-menu-header ((,c :inherit bold)))
+ `(info-menu-star ((,c :inherit error)))
+ `(info-node ((,c :inherit bold)))
+ `(info-title-1 ((,c :inherit modus-themes-heading-1)))
+ `(info-title-2 ((,c :inherit modus-themes-heading-2)))
+ `(info-title-3 ((,c :inherit modus-themes-heading-3)))
+ `(info-title-4 ((,c :inherit modus-themes-heading-4)))
;;;;; info+ (info-plus)
- `(info-command-ref-item ((,class :inherit font-lock-function-name-face)))
- `(info-constant-ref-item ((,class :inherit font-lock-constant-face)))
- `(info-custom-delimited ((,class :inherit modus-themes-markup-verbatim)))
- `(info-double-quoted-name ((,class :inherit font-lock-string-face)))
+ `(info-command-ref-item ((,c :inherit font-lock-function-name-face)))
+ `(info-constant-ref-item ((,c :inherit font-lock-constant-face)))
+ `(info-custom-delimited ((,c :inherit modus-themes-prose-verbatim)))
+ `(info-double-quoted-name ((,c :inherit font-lock-string-face)))
`(info-file (( )))
- `(info-function-ref-item ((,class :inherit font-lock-function-name-face)))
- `(info-glossary-word ((,class :inherit modus-themes-box-button)))
+ `(info-function-ref-item ((,c :inherit font-lock-function-name-face)))
+ `(info-glossary-word ((,c :inherit modus-themes-button)))
`(info-indented-text (( )))
`(info-isolated-backquote (( )))
`(info-isolated-quote (( )))
- `(info-macro-ref-item ((,class :inherit font-lock-keyword-face)))
- `(info-menu ((,class :inherit bold)))
- `(info-quoted-name ((,class :inherit modus-themes-markup-verbatim)))
- `(info-reference-item ((,class :inherit bold)))
- `(info-special-form-ref-item ((,class :inherit warning)))
- `(info-string ((,class :inherit font-lock-string-face)))
- `(info-syntax-class-item ((,class :inherit modus-themes-markup-code)))
- `(info-user-option-ref-item ((,class :inherit font-lock-variable-name-face)))
- `(info-variable-ref-item ((,class :inherit font-lock-variable-name-face)))
+ `(info-macro-ref-item ((,c :inherit font-lock-keyword-face)))
+ `(info-menu ((,c :inherit bold)))
+ `(info-quoted-name ((,c :inherit modus-themes-prose-verbatim)))
+ `(info-reference-item ((,c :inherit bold)))
+ `(info-special-form-ref-item ((,c :inherit warning)))
+ `(info-string ((,c :inherit font-lock-string-face)))
+ `(info-syntax-class-item ((,c :inherit modus-themes-prose-code)))
+ `(info-user-option-ref-item ((,c :inherit font-lock-variable-name-face)))
+ `(info-variable-ref-item ((,c :inherit font-lock-variable-name-face)))
;;;;; info-colors
- `(info-colors-lisp-code-block ((,class :inherit modus-themes-fixed-pitch)))
- `(info-colors-ref-item-command ((,class :inherit font-lock-function-name-face)))
- `(info-colors-ref-item-constant ((,class :inherit font-lock-constant-face)))
- `(info-colors-ref-item-function ((,class :inherit font-lock-function-name-face)))
- `(info-colors-ref-item-macro ((,class :inherit font-lock-keyword-face)))
- `(info-colors-ref-item-other ((,class :inherit font-lock-doc-face)))
- `(info-colors-ref-item-special-form ((,class :inherit font-lock-keyword-face)))
- `(info-colors-ref-item-syntax-class ((,class :inherit font-lock-builtin-face)))
- `(info-colors-ref-item-type ((,class :inherit font-lock-type-face)))
- `(info-colors-ref-item-user-option ((,class :inherit font-lock-variable-name-face)))
- `(info-colors-ref-item-variable ((,class :inherit font-lock-variable-name-face)))
-;;;;; interaction-log
- `(ilog-buffer-face ((,class :foreground ,magenta-alt-other)))
- `(ilog-change-face ((,class :foreground ,magenta-alt)))
- `(ilog-echo-face ((,class :foreground ,yellow-alt-other)))
- `(ilog-load-face ((,class :foreground ,green)))
- `(ilog-message-face ((,class :inherit shadow)))
- `(ilog-non-change-face ((,class :foreground ,blue)))
+ `(info-colors-lisp-code-block ((,c :inherit modus-themes-fixed-pitch)))
+ `(info-colors-ref-item-command ((,c :inherit font-lock-function-name-face)))
+ `(info-colors-ref-item-constant ((,c :inherit font-lock-constant-face)))
+ `(info-colors-ref-item-function ((,c :inherit font-lock-function-name-face)))
+ `(info-colors-ref-item-macro ((,c :inherit font-lock-keyword-face)))
+ `(info-colors-ref-item-other ((,c :inherit font-lock-doc-face)))
+ `(info-colors-ref-item-special-form ((,c :inherit font-lock-keyword-face)))
+ `(info-colors-ref-item-syntax-class ((,c :inherit font-lock-builtin-face)))
+ `(info-colors-ref-item-type ((,c :inherit font-lock-type-face)))
+ `(info-colors-ref-item-user-option ((,c :inherit font-lock-variable-name-face)))
+ `(info-colors-ref-item-variable ((,c :inherit font-lock-variable-name-face)))
;;;;; ioccur
- `(ioccur-cursor ((,class :foreground ,fg-main)))
- `(ioccur-invalid-regexp ((,class :foreground ,red)))
- `(ioccur-match-face ((,class :inherit modus-themes-special-calm)))
- `(ioccur-match-overlay-face ((,class :inherit modus-themes-special-cold :extend t)))
- `(ioccur-num-line-face ((,class :foreground ,fg-special-warm)))
- `(ioccur-overlay-face ((,class :inherit modus-themes-refine-blue :extend t)))
- `(ioccur-regexp-face ((,class :inherit (modus-themes-intense-magenta bold))))
- `(ioccur-title-face ((,class :inherit modus-themes-pseudo-header :foreground ,fg-special-cold)))
+ `(ioccur-cursor ((,c :foreground ,fg-main)))
+ `(ioccur-invalid-regexp ((,c :inherit error)))
+ `(ioccur-match-face ((,c :inherit match)))
+ `(ioccur-match-overlay-face ((,c :background ,bg-inactive :extend t)))
+ `(ioccur-num-line-face ((,c :inherit shadow)))
+ `(ioccur-overlay-face ((,c :background ,bg-hl-line :extend t)))
+ `(ioccur-regexp-face ((,c :inherit (modus-themes-search-current bold))))
+ `(ioccur-title-face ((,c :inherit bold :foreground ,name)))
;;;;; isearch, occur, and the like
- `(isearch ((,class :inherit modus-themes-search-success)))
- `(isearch-fail ((,class :inherit modus-themes-refine-red)))
- `(isearch-group-1 ((,class :inherit modus-themes-refine-blue)))
- `(isearch-group-2 ((,class :inherit modus-themes-refine-magenta)))
- `(lazy-highlight ((,class :inherit modus-themes-search-success-lazy)))
- `(match ((,class :inherit modus-themes-special-calm)))
- `(query-replace ((,class :inherit modus-themes-intense-red)))
+ `(isearch ((,c :inherit modus-themes-search-current)))
+ `(isearch-fail ((,c :inherit modus-themes-prominent-error)))
+ `(isearch-group-1 ((,c :inherit modus-themes-search-rx-group-0)))
+ `(isearch-group-2 ((,c :inherit modus-themes-search-rx-group-1)))
+ `(lazy-highlight ((,c :inherit modus-themes-search-lazy)))
+ `(match ((,c :background ,bg-magenta-subtle :foreground ,fg-main)))
+ `(query-replace ((,c :inherit modus-themes-search-replace)))
;;;;; ivy
- `(ivy-action ((,class :inherit modus-themes-key-binding)))
- `(ivy-confirm-face ((,class :inherit success)))
- `(ivy-current-match ((,class :inherit modus-themes-completion-selected)))
- `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main)))
- `(ivy-highlight-face ((,class :foreground ,magenta)))
- `(ivy-match-required-face ((,class :inherit error)))
+ `(ivy-action ((,c :inherit modus-themes-key-binding)))
+ `(ivy-confirm-face ((,c :inherit success)))
+ `(ivy-current-match ((,c :inherit modus-themes-completion-selected)))
+ `(ivy-match-required-face ((,c :inherit error)))
`(ivy-minibuffer-match-face-1 (( )))
- `(ivy-minibuffer-match-face-2 ((,class :inherit modus-themes-completion-match-0)))
- `(ivy-minibuffer-match-face-3 ((,class :inherit modus-themes-completion-match-1)))
- `(ivy-minibuffer-match-face-4 ((,class :inherit modus-themes-completion-match-2)))
- `(ivy-org ((,class :foreground ,cyan-alt-other)))
- `(ivy-remote ((,class :foreground ,magenta)))
- `(ivy-separator ((,class :inherit shadow)))
- `(ivy-subdir ((,class :foreground ,blue)))
- `(ivy-virtual ((,class :foreground ,magenta-alt-other)))
+ `(ivy-minibuffer-match-face-2 ((,c :inherit modus-themes-completion-match-0)))
+ `(ivy-minibuffer-match-face-3 ((,c :inherit modus-themes-completion-match-1)))
+ `(ivy-minibuffer-match-face-4 ((,c :inherit modus-themes-completion-match-2)))
+ `(ivy-remote ((,c :inherit italic)))
+ `(ivy-separator ((,c :inherit shadow)))
+ `(ivy-subdir ((,c :foreground ,accent-0)))
+ `(ivy-virtual ((,c :foreground ,accent-1)))
;;;;; ivy-posframe
- `(ivy-posframe-border ((,class :background ,fg-window-divider-inner)))
- `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main)))
+ `(ivy-posframe-border ((,c :background ,border)))
+ `(ivy-posframe-cursor ((,c :background ,fg-main :foreground ,bg-main)))
+;;;;; japanese-holidays
+ `(japanese-holiday-saturday ((,c :foreground ,date-holiday-other)))
;;;;; jira (org-jira)
- `(jiralib-comment-face ((,class :background ,bg-alt)))
- `(jiralib-comment-header-face ((,class :inherit bold)))
- `(jiralib-issue-info-face ((,class :inherit modus-themes-special-warm)))
- `(jiralib-issue-info-header-face ((,class :inherit (modus-themes-special-warm bold))))
- `(jiralib-issue-summary-face ((,class :inherit bold)))
- `(jiralib-link-filter-face ((,class :underline t)))
- `(jiralib-link-issue-face ((,class :underline t)))
- `(jiralib-link-project-face ((,class :underline t)))
+ `(jiralib-comment-face ((,c :background ,bg-inactive)))
+ `(jiralib-comment-header-face ((,c :inherit bold)))
+ `(jiralib-issue-info-face ((,c :background ,bg-inactive)))
+ `(jiralib-issue-info-header-face ((,c :inherit bold :background ,bg-inactive)))
+ `(jiralib-issue-summary-face ((,c :inherit bold)))
+ `(jiralib-link-filter-face ((,c :underline t)))
+ `(jiralib-link-issue-face ((,c :underline t)))
+ `(jiralib-link-project-face ((,c :underline t)))
+;;;;; jit-spell
+ `(jit-spell-misspelling ((,c :inherit modus-themes-lang-error)))
+;;;;; jinx
+ `(jinx-misspelled ((,c :inherit modus-themes-lang-warning)))
;;;;; journalctl-mode
- `(journalctl-error-face ((,class :inherit error)))
- `(journalctl-finished-face ((,class :inherit success)))
- `(journalctl-host-face ((,class :foreground ,blue)))
- `(journalctl-process-face ((,class :foreground ,cyan-alt-other)))
- `(journalctl-starting-face ((,class :foreground ,green)))
- `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold)))
- `(journalctl-warning-face ((,class :inherit warning)))
+ `(journalctl-error-face ((,c :inherit error)))
+ `(journalctl-finished-face ((,c :inherit success)))
+ `(journalctl-host-face ((,c :foreground ,name)))
+ `(journalctl-process-face ((,c :foreground ,warning)))
+ `(journalctl-starting-face ((,c :foreground ,info)))
+ `(journalctl-timestamp-face ((,c :foreground ,date-common)))
+ `(journalctl-warning-face ((,c :inherit warning)))
;;;;; js2-mode
- `(js2-error ((,class :inherit modus-themes-lang-error)))
- `(js2-external-variable ((,class :inherit font-lock-variable-name-face)))
- `(js2-function-call ((,class :inherit font-lock-function-name-face)))
- `(js2-function-param ((,class :inherit font-lock-constant-face)))
- `(js2-instance-member ((,class :inherit font-lock-keyword-face)))
- `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main)))
- `(js2-jsdoc-html-tag-name ((,class :inherit font-lock-function-name-face)))
- `(js2-jsdoc-tag ((,class :inherit (font-lock-builtin-face font-lock-comment-face) :weight normal)))
- `(js2-jsdoc-type ((,class :inherit (font-lock-type-face font-lock-comment-face) :weight normal)))
- `(js2-jsdoc-value ((,class :inherit (font-lock-constant-face font-lock-comment-face) :weight normal)))
- `(js2-object-property ((,class :foreground ,fg-main)))
- `(js2-object-property-access ((,class :foreground ,fg-main)))
- `(js2-private-function-call ((,class :inherit font-lock-preprocessor-face)))
- `(js2-private-member ((,class :inherit font-lock-warning-face)))
- `(js2-warning ((,class :inherit modus-themes-lang-warning)))
+ `(js2-error ((,c :inherit modus-themes-lang-error)))
+ `(js2-external-variable ((,c :inherit font-lock-variable-name-face)))
+ `(js2-function-call ((,c :inherit font-lock-function-name-face)))
+ `(js2-function-param ((,c :inherit font-lock-constant-face)))
+ `(js2-instance-member ((,c :inherit font-lock-keyword-face)))
+ `(js2-jsdoc-html-tag-delimiter ((,c :foreground ,fg-main)))
+ `(js2-jsdoc-html-tag-name ((,c :inherit font-lock-function-name-face)))
+ `(js2-jsdoc-tag ((,c :inherit (font-lock-builtin-face font-lock-comment-face) :weight normal)))
+ `(js2-jsdoc-type ((,c :inherit (font-lock-type-face font-lock-comment-face) :weight normal)))
+ `(js2-jsdoc-value ((,c :inherit (font-lock-constant-face font-lock-comment-face) :weight normal)))
+ `(js2-object-property ((,c :foreground ,fg-main)))
+ `(js2-object-property-access ((,c :foreground ,fg-main)))
+ `(js2-private-function-call ((,c :inherit font-lock-preprocessor-face)))
+ `(js2-private-member ((,c :inherit font-lock-warning-face)))
+ `(js2-warning ((,c :inherit modus-themes-lang-warning)))
;;;;; julia
- `(julia-macro-face ((,class :inherit font-lock-builtin-face)))
- `(julia-quoted-symbol-face ((,class :inherit font-lock-constant-face)))
-;;;;; jupyter
- `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue)))
- `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other)))
- `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other)))
- `(jupyter-repl-traceback ((,class :inherit modus-themes-intense-red)))
+ `(julia-macro-face ((,c :inherit font-lock-builtin-face)))
+ `(julia-quoted-symbol-face ((,c :inherit font-lock-constant-face)))
;;;;; kaocha-runner
- `(kaocha-runner-error-face ((,class :inherit error)))
- `(kaocha-runner-success-face ((,class :inherit success)))
- `(kaocha-runner-warning-face ((,class :inherit warning)))
+ `(kaocha-runner-error-face ((,c :inherit error)))
+ `(kaocha-runner-success-face ((,c :inherit success)))
+ `(kaocha-runner-warning-face ((,c :inherit warning)))
;;;;; keycast
- `(keycast-command ((,class :inherit bold :foreground ,blue-active)))
- ;; FIXME 2022-05-03: The padding breaks `keycast-tab-bar-mode'
- `(keycast-key ((,class ;; ,@(modus-themes--mode-line-padded-box blue-active)
- :background ,blue-active :foreground ,bg-main)))
+ `(keycast-command ((,c :inherit bold)))
+ `(keycast-key ((,c :inherit modus-themes-bold :background ,keybind :foreground ,bg-main)))
;;;;; ledger-mode
- `(ledger-font-auto-xact-face ((,class :foreground ,magenta)))
- `(ledger-font-account-name-face ((,class :foreground ,fg-special-cold)))
- `(ledger-font-directive-face ((,class :foreground ,magenta-alt-other)))
- `(ledger-font-posting-date-face ((,class :inherit bold :foreground ,fg-main)))
- `(ledger-font-periodic-xact-face ((,class :foreground ,cyan-alt-other)))
- `(ledger-font-posting-amount-face ((,class :foreground ,fg-special-mild)))
- `(ledger-font-payee-cleared-face ((,class :foreground ,blue-alt)))
- `(ledger-font-payee-pending-face ((,class :foreground ,yellow)))
- `(ledger-font-payee-uncleared-face ((,class :foreground ,red-alt-other)))
- `(ledger-font-xact-highlight-face ((,class :background ,bg-hl-alt)))
+ `(ledger-font-auto-xact-face ((,c :inherit font-lock-builtin-face)))
+ `(ledger-font-account-name-face ((,c :foreground ,name)))
+ `(ledger-font-directive-face ((,c :inherit font-lock-keyword-face)))
+ `(ledger-font-posting-date-face ((,c :inherit modus-themes-bold :foreground ,date-common)))
+ `(ledger-font-periodic-xact-face ((,c :inherit font-lock-variable-name-face)))
+ `(ledger-font-posting-amount-face ((,c :inherit font-lock-constant-face)))
+ `(ledger-font-payee-cleared-face ((,c :inherit success)))
+ `(ledger-font-payee-pending-face ((,c :inherit warning)))
+ `(ledger-font-payee-uncleared-face ((,c :inherit error)))
+ `(ledger-font-xact-highlight-face ((,c :background ,bg-hl-line :extend t)))
;;;;; leerzeichen
- `(leerzeichen ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
+ `(leerzeichen ((,c :background ,bg-inactive)))
;;;;; line numbers (display-line-numbers-mode and global variant)
;; Here we cannot inherit `modus-themes-fixed-pitch'. We need to
;; fall back to `default' otherwise line numbers do not scale when
;; using `text-scale-adjust'.
- `(line-number
- ((,class :inherit ,(if modus-themes-mixed-fonts '(fixed-pitch default) 'default)
- ,@(modus-themes--line-numbers
- fg-alt bg-dim
- fg-unfocused))))
- `(line-number-current-line
- ((,class :inherit (bold line-number)
- ,@(modus-themes--line-numbers
- fg-main bg-active
- blue-alt-other))))
- `(line-number-major-tick
- ((,class :inherit (bold line-number)
- ,@(modus-themes--line-numbers
- yellow-nuanced-fg yellow-nuanced-bg
- red-alt))))
- `(line-number-minor-tick
- ((,class :inherit (bold line-number)
- ,@(modus-themes--line-numbers
- fg-alt bg-inactive
- fg-inactive))))
-;;;;; lsp-mode
- `(lsp-face-highlight-read ((,class :inherit modus-themes-subtle-blue :underline t)))
- `(lsp-face-highlight-textual ((,class :inherit modus-themes-subtle-blue)))
- `(lsp-face-highlight-write ((,class :inherit (modus-themes-refine-blue bold))))
- `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other)))
- `(lsp-face-semhl-deprecated ((,class :inherit modus-themes-lang-warning)))
- `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other)))
- `(lsp-face-semhl-field ((,class :foreground ,cyan-alt)))
- `(lsp-face-semhl-field-static ((,class :inherit modus-themes-slant :foreground ,cyan-alt)))
- `(lsp-face-semhl-function ((,class :foreground ,magenta)))
- `(lsp-face-semhl-method ((,class :foreground ,magenta)))
- `(lsp-face-semhl-namespace ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
- `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other)))
- `(lsp-face-semhl-static-method ((,class :inherit modus-themes-slant :foreground ,magenta)))
- `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt)))
- `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt)))
- `(lsp-face-semhl-type-primitive ((,class :inherit modus-themes-slant :foreground ,magenta-alt)))
- `(lsp-face-semhl-type-template ((,class :inherit modus-themes-slant :foreground ,magenta-alt)))
- `(lsp-face-semhl-type-typedef ((,class :inherit modus-themes-slant :foreground ,magenta-alt)))
- `(lsp-face-semhl-variable ((,class :foreground ,cyan)))
- `(lsp-face-semhl-variable-local ((,class :foreground ,cyan)))
- `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other)))
- `(lsp-lens-face ((,class :inherit shadow :height 0.8)))
- `(lsp-lens-mouse-face ((,class :height 0.8 :foreground ,blue-alt-other :underline t)))
- `(lsp-ui-doc-background ((,class :background ,bg-alt)))
- `(lsp-ui-doc-header ((,class :background ,bg-header :foreground ,fg-header)))
- `(lsp-ui-doc-url ((,class :inherit button)))
- `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm)))
- `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header)))
- `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header)))
- `(lsp-ui-peek-highlight ((,class :inherit modus-themes-subtle-blue)))
- `(lsp-ui-peek-line-number ((,class :inherit shadow)))
- `(lsp-ui-peek-list ((,class :background ,bg-dim)))
- `(lsp-ui-peek-peek ((,class :background ,bg-alt)))
- `(lsp-ui-peek-selection ((,class :inherit modus-themes-subtle-cyan)))
- `(lsp-ui-sideline-code-action ((,class :foreground ,yellow)))
- `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main)))
- `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt)))
- `(lsp-ui-sideline-symbol-info ((,class :inherit italic :height 0.99)))
-;;;;; macrostep
- `(macrostep-compiler-macro-face ((,class :inherit italic)))
- `(macrostep-expansion-highlight-face ((,class :background ,blue-nuanced-bg)))
- `(macrostep-gensym-1 ((,class :inherit bold :foreground ,blue :box t)))
- `(macrostep-gensym-2 ((,class :inherit bold :foreground ,green :box t)))
- `(macrostep-gensym-3 ((,class :inherit bold :foreground ,yellow :box t)))
- `(macrostep-gensym-4 ((,class :inherit bold :foreground ,red :box t)))
- `(macrostep-gensym-5 ((,class :inherit bold :foreground ,magenta :box t)))
- `(macrostep-macro-face ((,class :inherit button :foreground ,green-alt)))
+ `(line-number ((,c :inherit ,(if modus-themes-mixed-fonts '(fixed-pitch default) 'default) :background ,bg-line-number-inactive :foreground ,fg-line-number-inactive)))
+ `(line-number-current-line ((,c :inherit (bold line-number) :background ,bg-line-number-active :foreground ,fg-line-number-active)))
+ `(line-number-major-tick ((,c :inherit line-number :foreground ,err)))
+ `(line-number-minor-tick ((,c :inherit line-number :foreground ,fg-alt)))
;;;;; magit
- `(magit-bisect-bad ((,class :inherit error)))
- `(magit-bisect-good ((,class :inherit success)))
- `(magit-bisect-skip ((,class :inherit warning)))
- `(magit-blame-date ((,class :foreground ,blue)))
- `(magit-blame-dimmed ((,class :inherit (shadow modus-themes-reset-hard))))
- `(magit-blame-hash ((,class :foreground ,fg-special-warm)))
- `(magit-blame-heading ((,class :inherit modus-themes-reset-hard :background ,bg-alt :extend t)))
- `(magit-blame-highlight ((,class :inherit modus-themes-nuanced-cyan)))
- `(magit-blame-margin ((,class :inherit (magit-blame-highlight modus-themes-reset-hard))))
- `(magit-blame-name ((,class :foreground ,magenta-alt-other)))
- `(magit-blame-summary ((,class :foreground ,cyan-alt-other)))
- ;; ;; NOTE 2021-11-23: we do not set the `magit-branch-current'
- ;; ;; because its definition checks if the :box attribute can be set
- ;; ;; and if not, it uses :inverse-video. Useful for terminal
- ;; ;; emulators.
- ;;
- ;; `(magit-branch-current ((,class :foreground ,blue-alt-other :box t)))
- `(magit-branch-local ((,class :foreground ,blue-alt)))
- `(magit-branch-remote ((,class :foreground ,magenta-alt)))
- `(magit-branch-remote-head ((,class :foreground ,magenta-alt-other :box t)))
- `(magit-branch-upstream ((,class :inherit italic)))
- `(magit-branch-warning ((,class :inherit warning)))
- `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense)))
- `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense)))
- ;; NOTE: here we break from the pattern of inheriting from the
- ;; modus-themes-diff-* faces, though only for the standard actions,
- ;; not the highlighted ones. This is because Magit's interaction
- ;; model relies on highlighting the current diff hunk.
- `(magit-diff-added ((,class ,@(modus-themes--diff
- bg-diff-added fg-diff-added
- green-nuanced-bg fg-diff-added
- bg-diff-added-deuteran fg-diff-added-deuteran
- blue-nuanced-bg fg-diff-added-deuteran))))
- `(magit-diff-added-highlight ((,class :inherit modus-themes-diff-focus-added)))
- `(magit-diff-base ((,class ,@(modus-themes--diff
- bg-diff-changed fg-diff-changed
- yellow-nuanced-bg fg-diff-changed))))
- `(magit-diff-base-highlight ((,class :inherit modus-themes-diff-focus-changed)))
- `(magit-diff-context ((,class ,@(unless (eq modus-themes-diffs 'bg-only) (list :foreground fg-unfocused)))))
- `(magit-diff-context-highlight ((,class ,@(modus-themes--diff
- bg-inactive fg-inactive
- bg-dim fg-alt
- bg-dim fg-alt))))
- `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold)))
- `(magit-diff-file-heading-highlight ((,class :inherit (modus-themes-special-cold bold))))
- `(magit-diff-file-heading-selection ((,class :inherit modus-themes-refine-cyan)))
- ;; NOTE: here we break from the pattern of inheriting from the
- ;; modus-themes-diff-* faces.
- `(magit-diff-hunk-heading ((,class :inherit bold
- ,@(modus-themes--diff
- bg-active fg-inactive
- bg-inactive fg-inactive
- bg-inactive fg-inactive
- nil nil
- t))))
- ;; NOTE: we do not follow the pattern of inheriting from
- ;; modus-themes-grue-* faces, as this is a special case.
- `(magit-diff-hunk-heading-highlight
- ((,class :inherit bold
- :background ,@(modus-themes--deuteran bg-active bg-diff-heading)
- :foreground ,@(modus-themes--deuteran fg-main fg-diff-heading))))
- `(magit-diff-hunk-heading-selection ((,class :inherit modus-themes-refine-blue)))
- `(magit-diff-hunk-region ((,class :inherit bold)))
- `(magit-diff-lines-boundary ((,class :background ,fg-main)))
- `(magit-diff-lines-heading ((,class :inherit modus-themes-refine-magenta)))
- `(magit-diff-removed ((,class ,@(modus-themes--diff
- bg-diff-removed fg-diff-removed
- red-nuanced-bg fg-diff-removed))))
- `(magit-diff-removed-highlight ((,class :inherit modus-themes-diff-focus-removed)))
- `(magit-diffstat-added ((,class :inherit modus-themes-grue)))
- `(magit-diffstat-removed ((,class :foreground ,red)))
- `(magit-dimmed ((,class :foreground ,fg-unfocused)))
- `(magit-filename ((,class :foreground ,fg-special-cold)))
- `(magit-hash ((,class :inherit shadow)))
- `(magit-head ((,class :inherit magit-branch-local)))
- `(magit-header-line ((,class :inherit bold :foreground ,magenta-active)))
- `(magit-header-line-key ((,class :inherit modus-themes-key-binding)))
- `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main)))
- `(magit-keyword ((,class :foreground ,magenta)))
- `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other)))
- `(magit-log-author ((,class :foreground ,cyan)))
- `(magit-log-date ((,class :inherit shadow)))
- `(magit-log-graph ((,class :foreground ,fg-dim)))
- `(magit-mode-line-process ((,class :inherit bold :foreground ,cyan-active)))
- `(magit-mode-line-process-error ((,class :inherit bold :foreground ,red-active)))
- `(magit-process-ng ((,class :inherit error)))
- `(magit-process-ok ((,class :inherit success)))
- `(magit-reflog-amend ((,class :inherit warning)))
- `(magit-reflog-checkout ((,class :inherit bold :foreground ,blue-alt)))
- `(magit-reflog-cherry-pick ((,class :inherit success)))
- `(magit-reflog-commit ((,class :inherit bold)))
- `(magit-reflog-merge ((,class :inherit success)))
- `(magit-reflog-other ((,class :inherit bold :foreground ,cyan)))
- `(magit-reflog-rebase ((,class :inherit bold :foreground ,magenta)))
- `(magit-reflog-remote ((,class :inherit bold :foreground ,magenta-alt-other)))
- `(magit-reflog-reset ((,class :inherit error)))
- `(magit-refname ((,class :inherit shadow)))
- `(magit-refname-pullreq ((,class :inherit shadow)))
- `(magit-refname-stash ((,class :inherit shadow)))
- `(magit-refname-wip ((,class :inherit shadow)))
- `(magit-section ((,class :background ,bg-dim :foreground ,fg-main)))
- `(magit-section-heading ((,class :inherit bold :foreground ,cyan)))
- `(magit-section-heading-selection ((,class :inherit (modus-themes-refine-cyan bold))))
- `(magit-section-highlight ((,class :background ,bg-alt)))
- `(magit-sequence-done ((,class :inherit success)))
- `(magit-sequence-drop ((,class :inherit error)))
- `(magit-sequence-exec ((,class :inherit bold :foreground ,magenta-alt)))
- `(magit-sequence-head ((,class :inherit bold :foreground ,cyan-alt)))
- `(magit-sequence-onto ((,class :inherit (bold shadow))))
- `(magit-sequence-part ((,class :inherit warning)))
- `(magit-sequence-pick ((,class :inherit bold)))
- `(magit-sequence-stop ((,class :inherit error)))
- `(magit-signature-bad ((,class :inherit error)))
- `(magit-signature-error ((,class :inherit error)))
- `(magit-signature-expired ((,class :inherit warning)))
- `(magit-signature-expired-key ((,class :foreground ,yellow)))
- `(magit-signature-good ((,class :inherit success)))
- `(magit-signature-revoked ((,class :inherit bold :foreground ,magenta)))
- `(magit-signature-untrusted ((,class :inherit (bold shadow))))
- `(magit-tag ((,class :foreground ,yellow-alt-other)))
-;;;;; magit-imerge
- `(magit-imerge-overriding-value ((,class :inherit bold :foreground ,red-alt)))
+ `(magit-bisect-bad ((,c :inherit error)))
+ `(magit-bisect-good ((,c :inherit success)))
+ `(magit-bisect-skip ((,c :inherit warning)))
+ `(magit-blame-date (( )))
+ `(magit-blame-dimmed ((,c :inherit shadow)))
+ `(magit-blame-hash (( )))
+ `(magit-blame-highlight ((,c :background ,bg-active :foreground ,fg-main)))
+ `(magit-blame-name (( )))
+ `(magit-blame-summary (( )))
+ `(magit-branch-local ((,c :foreground ,accent-0)))
+ `(magit-branch-remote ((,c :foreground ,accent-1)))
+ `(magit-branch-upstream ((,c :inherit italic)))
+ `(magit-branch-warning ((,c :inherit warning)))
+ `(magit-cherry-equivalent ((,c :foreground ,magenta)))
+ `(magit-cherry-unmatched ((,c :foreground ,cyan)))
+ `(magit-diff-added ((,c :background ,bg-added-faint :foreground ,fg-added)))
+ `(magit-diff-added-highlight ((,c :background ,bg-added :foreground ,fg-added)))
+ `(magit-diff-base ((,c :background ,bg-changed-faint :foreground ,fg-changed)))
+ `(magit-diff-base-highlight ((,c :background ,bg-changed :foreground ,fg-changed)))
+ `(magit-diff-context ((,c :inherit shadow)))
+ `(magit-diff-context-highlight ((,c :background ,bg-diff-context)))
+ `(magit-diff-file-heading ((,c :inherit bold :foreground ,accent-0)))
+ `(magit-diff-file-heading-highlight ((,c :inherit magit-diff-file-heading :background ,bg-inactive)))
+ `(magit-diff-file-heading-selection ((,c :inherit bold :background ,bg-hover-secondary)))
+ `(magit-diff-hunk-heading ((,c :background ,bg-inactive)))
+ `(magit-diff-hunk-heading-highlight ((,c :inherit bold :background ,bg-active)))
+ `(magit-diff-hunk-heading-selection ((,c :inherit bold :background ,bg-hover-secondary)))
+ `(magit-diff-hunk-region ((,c :inherit bold)))
+ `(magit-diff-lines-boundary ((,c :background ,fg-main)))
+ `(magit-diff-lines-heading ((,c :background ,fg-dim :foreground ,bg-main)))
+ `(magit-diff-removed ((,c :background ,bg-removed-faint :foreground ,fg-removed)))
+ `(magit-diff-removed-highlight ((,c :background ,bg-removed :foreground ,fg-removed)))
+ `(magit-diffstat-added ((,c :foreground ,fg-added-intense)))
+ `(magit-diffstat-removed ((,c :foreground ,fg-removed-intense)))
+ `(magit-dimmed ((,c :inherit shadow)))
+ `(magit-filename ((,c :foreground ,accent-2)))
+ `(magit-hash ((,c :foreground ,identifier)))
+ `(magit-head ((,c :inherit magit-branch-local)))
+ `(magit-header-line ((,c :inherit bold)))
+ `(magit-header-line-key ((,c :inherit modus-themes-key-binding)))
+ `(magit-header-line-log-select ((,c :inherit bold)))
+ `(magit-keyword ((,c :foreground ,keyword)))
+ `(magit-keyword-squash ((,c :inherit bold :foreground ,warning)))
+ `(magit-log-author ((,c :foreground ,name)))
+ `(magit-log-date ((,c :foreground ,date-common)))
+ `(magit-log-graph ((,c :inherit shadow)))
+ `(magit-mode-line-process ((,c :inherit bold :foreground ,modeline-info)))
+ `(magit-mode-line-process-error ((,c :inherit bold :foreground ,modeline-err)))
+ `(magit-process-ng ((,c :inherit error)))
+ `(magit-process-ok ((,c :inherit success)))
+ `(magit-reflog-amend ((,c :inherit warning)))
+ `(magit-reflog-checkout ((,c :inherit bold :foreground ,blue)))
+ `(magit-reflog-cherry-pick ((,c :inherit success)))
+ `(magit-reflog-commit ((,c :inherit bold)))
+ `(magit-reflog-merge ((,c :inherit success)))
+ `(magit-reflog-other ((,c :inherit bold :foreground ,cyan)))
+ `(magit-reflog-rebase ((,c :inherit bold :foreground ,magenta)))
+ `(magit-reflog-remote ((,c :inherit (bold magit-branch-remote))))
+ `(magit-reflog-reset ((,c :inherit error)))
+ `(magit-refname ((,c :inherit shadow)))
+ `(magit-refname-pullreq ((,c :inherit shadow)))
+ `(magit-refname-stash ((,c :inherit shadow)))
+ `(magit-refname-wip ((,c :inherit shadow)))
+ `(magit-section ((,c :background ,bg-dim :foreground ,fg-main)))
+ `(magit-section-heading ((,c :inherit bold)))
+ `(magit-section-heading-selection ((,c :inherit bold :background ,bg-hover-secondary)))
+ `(magit-section-highlight ((,c :background ,bg-dim)))
+ `(magit-sequence-done ((,c :inherit success)))
+ `(magit-sequence-drop ((,c :inherit error)))
+ `(magit-sequence-exec ((,c :inherit bold :foreground ,magenta)))
+ `(magit-sequence-head ((,c :inherit bold :foreground ,cyan)))
+ `(magit-sequence-onto ((,c :inherit (bold shadow))))
+ `(magit-sequence-part ((,c :inherit warning)))
+ `(magit-sequence-pick ((,c :inherit bold)))
+ `(magit-sequence-stop ((,c :inherit error)))
+ `(magit-signature-bad ((,c :inherit error)))
+ `(magit-signature-error ((,c :inherit error)))
+ `(magit-signature-expired ((,c :inherit warning)))
+ `(magit-signature-expired-key ((,c :foreground ,warning)))
+ `(magit-signature-good ((,c :inherit success)))
+ `(magit-signature-revoked ((,c :inherit bold :foreground ,warning)))
+ `(magit-signature-untrusted ((,c :inherit (bold shadow))))
+ `(magit-tag ((,c :foreground ,accent-3))) ; compare with branches
;;;;; make-mode (makefiles)
- `(makefile-makepp-perl ((,class :background ,cyan-nuanced-bg)))
- `(makefile-space ((,class :background ,magenta-nuanced-bg)))
+ `(makefile-makepp-perl ((,c :background ,bg-dim)))
+ `(makefile-space ((,c :background ,bg-inactive)))
;;;;; man
- `(Man-overstrike ((,class :inherit bold :foreground ,magenta-alt)))
- `(Man-reverse ((,class :inherit modus-themes-subtle-magenta)))
- `(Man-underline ((,class :foreground ,cyan-alt-other :underline t)))
+ `(Man-overstrike ((,c :inherit bold :foreground ,accent-0)))
+ `(Man-underline ((,c :foreground ,accent-1 :underline t)))
;;;;; marginalia
- `(marginalia-archive ((,class :foreground ,cyan-alt-other)))
- `(marginalia-char ((,class :foreground ,magenta)))
- `(marginalia-date ((,class :foreground ,cyan)))
- `(marginalia-documentation ((,class :inherit modus-themes-slant :foreground ,fg-docstring)))
- `(marginalia-file-name ((,class :foreground ,blue-faint)))
- `(marginalia-file-owner ((,class :foreground ,red-faint)))
- `(marginalia-file-priv-dir ((,class :foreground ,blue-alt)))
- `(marginalia-file-priv-exec ((,class :foreground ,magenta-alt)))
- `(marginalia-file-priv-link ((,class :foreground ,blue-alt-other)))
- `(marginalia-file-priv-no ((,class :foreground "gray50")))
- `(marginalia-file-priv-other ((,class :foreground ,yellow)))
- `(marginalia-file-priv-rare ((,class :foreground ,red)))
- `(marginalia-file-priv-read ((,class :foreground ,fg-main)))
- `(marginalia-file-priv-write ((,class :foreground ,cyan)))
- `(marginalia-function ((,class :foreground ,magenta-alt-faint)))
- `(marginalia-key ((,class :inherit modus-themes-key-binding)))
- `(marginalia-lighter ((,class :foreground ,blue-alt)))
- `(marginalia-list ((,class :foreground ,magenta-alt-other-faint)))
- `(marginalia-mode ((,class :foreground ,cyan)))
- `(marginalia-modified ((,class :foreground ,magenta-alt-faint)))
- `(marginalia-null ((,class :inherit shadow)))
- `(marginalia-number ((,class :foreground ,cyan)))
- `(marginalia-size ((,class :foreground ,cyan-alt-other-faint)))
- `(marginalia-string ((,class :foreground ,blue-alt)))
- `(marginalia-symbol ((,class :foreground ,blue-alt-other-faint)))
- `(marginalia-true ((,class :foreground ,fg-main)))
- `(marginalia-type ((,class :foreground ,cyan-alt-other)))
- `(marginalia-value ((,class :foreground ,cyan)))
- `(marginalia-version ((,class :foreground ,cyan)))
+ `(marginalia-archive ((,c :foreground ,accent-0)))
+ `(marginalia-char ((,c :foreground ,accent-2)))
+ `(marginalia-date ((,c :foreground ,date-common)))
+ `(marginalia-documentation ((,c :inherit modus-themes-slant :foreground ,docstring)))
+ `(marginalia-file-name (( )))
+ `(marginalia-file-owner ((,c :inherit shadow)))
+ `(marginalia-file-priv-dir ((,c :foreground ,accent-0)))
+ `(marginalia-file-priv-exec ((,c :foreground ,accent-1)))
+ `(marginalia-file-priv-link ((,c :foreground ,fg-link)))
+ `(marginalia-file-priv-no ((,c :inherit shadow)))
+ `(marginalia-file-priv-other ((,c :foreground ,accent-2)))
+ `(marginalia-file-priv-rare ((,c :foreground ,accent-3)))
+ `(marginalia-file-priv-read ((,c :foreground ,fg-main)))
+ `(marginalia-file-priv-write ((,c :foreground ,accent-0)))
+ `(marginalia-function ((,c :foreground ,fnname)))
+ `(marginalia-key ((,c :inherit modus-themes-key-binding)))
+ `(marginalia-lighter ((,c :inherit shadow)))
+ `(marginalia-liqst ((,c :inherit shadow)))
+ `(marginalia-mode ((,c :foreground ,constant)))
+ `(marginalia-modified ((,c :inherit warning)))
+ `(marginalia-null ((,c :inherit shadow)))
+ `(marginalia-number ((,c :foreground ,constant)))
+ `(marginalia-size ((,c :foreground ,variable)))
+ `(marginalia-string ((,c :foreground ,string)))
+ `(marginalia-symbol ((,c :foreground ,builtin)))
+ `(marginalia-true (( )))
+ `(marginalia-type ((,c :foreground ,type)))
+ `(marginalia-value ((,c :inherit shadow)))
+ `(marginalia-version ((,c :foreground ,date-common)))
;;;;; markdown-mode
- `(markdown-blockquote-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
- `(markdown-bold-face ((,class :inherit bold)))
- `(markdown-code-face ((,class :inherit modus-themes-fixed-pitch :background ,bg-dim :extend t)))
- `(markdown-comment-face ((,class :inherit font-lock-comment-face)))
- `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt)))
- `(markdown-footnote-text-face ((,class :inherit modus-themes-slant :foreground ,fg-main)))
- `(markdown-gfm-checkbox-face ((,class :foreground ,yellow-alt-other)))
- `(markdown-header-delimiter-face ((,class :inherit modus-themes-bold :foreground ,fg-dim)))
- `(markdown-header-face ((t nil)))
- `(markdown-header-face-1 ((,class :inherit modus-themes-heading-1)))
- `(markdown-header-face-2 ((,class :inherit modus-themes-heading-2)))
- `(markdown-header-face-3 ((,class :inherit modus-themes-heading-3)))
- `(markdown-header-face-4 ((,class :inherit modus-themes-heading-4)))
- `(markdown-header-face-5 ((,class :inherit modus-themes-heading-5)))
- `(markdown-header-face-6 ((,class :inherit modus-themes-heading-6)))
- `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm)))
- `(markdown-highlighting-face ((,class :inherit modus-themes-refine-yellow)))
- `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm)))
- `(markdown-html-attr-name-face ((,class :inherit modus-themes-fixed-pitch
- :foreground ,cyan)))
- `(markdown-html-attr-value-face ((,class :inherit modus-themes-fixed-pitch
- :foreground ,blue)))
- `(markdown-html-entity-face ((,class :inherit modus-themes-fixed-pitch
- :foreground ,cyan)))
- `(markdown-html-tag-delimiter-face ((,class :inherit modus-themes-fixed-pitch
- :foreground ,fg-special-mild)))
- `(markdown-html-tag-name-face ((,class :inherit modus-themes-fixed-pitch
- :foreground ,magenta-alt)))
- `(markdown-inline-code-face ((,class :inherit modus-themes-markup-verbatim)))
- `(markdown-italic-face ((,class :inherit italic)))
- `(markdown-language-info-face ((,class :inherit modus-themes-fixed-pitch
- :foreground ,fg-special-cold)))
- `(markdown-language-keyword-face ((,class :inherit modus-themes-fixed-pitch
- :background ,bg-alt
- :foreground ,fg-alt)))
- `(markdown-line-break-face ((,class :inherit modus-themes-refine-cyan :underline t)))
- `(markdown-link-face ((,class :inherit button)))
- `(markdown-link-title-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
- `(markdown-list-face ((,class :foreground ,fg-dim)))
- `(markdown-markup-face ((,class :inherit shadow)))
- `(markdown-math-face ((,class :foreground ,magenta-alt-other)))
- `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other)))
- `(markdown-metadata-value-face ((,class :foreground ,blue-alt)))
- `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow)))
- `(markdown-plain-url-face ((,class :inherit markdown-link-face)))
- `(markdown-pre-face ((,class :inherit markdown-code-face :foreground ,fg-special-mild)))
- `(markdown-reference-face ((,class :inherit markdown-markup-face)))
- `(markdown-strike-through-face ((,class :strike-through t)))
- `(markdown-table-face ((,class :inherit modus-themes-fixed-pitch
- :foreground ,fg-special-cold)))
- `(markdown-url-face ((,class :foreground ,blue-alt)))
+ `(markdown-blockquote-face ((,c :inherit font-lock-doc-face)))
+ `(markdown-bold-face ((,c :inherit bold)))
+ `(markdown-code-face ((,c :inherit modus-themes-fixed-pitch :background ,bg-dim :extend t)))
+ `(markdown-gfm-checkbox-face ((,c :foreground ,warning)))
+ `(markdown-header-face (( )))
+ `(markdown-header-face-1 ((,c :inherit modus-themes-heading-1)))
+ `(markdown-header-face-2 ((,c :inherit modus-themes-heading-2)))
+ `(markdown-header-face-3 ((,c :inherit modus-themes-heading-3)))
+ `(markdown-header-face-4 ((,c :inherit modus-themes-heading-4)))
+ `(markdown-header-face-5 ((,c :inherit modus-themes-heading-5)))
+ `(markdown-header-face-6 ((,c :inherit modus-themes-heading-6)))
+ `(markdown-highlighting-face ((,c :inherit secondary-selection)))
+ `(markdown-inline-code-face ((,c :inherit modus-themes-prose-code)))
+ `(markdown-italic-face ((,c :inherit italic)))
+ `(markdown-language-keyword-face ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-block-delimiter :foreground ,fg-prose-block-delimiter)))
+ `(markdown-line-break-face ((,c :inherit nobreak-space)))
+ `(markdown-link-face ((,c :inherit link)))
+ `(markdown-markup-face ((,c :inherit shadow)))
+ `(markdown-metadata-key-face ((,c :inherit bold)))
+ `(markdown-metadata-value-face ((,c :foreground ,string)))
+ `(markdown-missing-link-face ((,c :inherit warning)))
+ `(markdown-pre-face ((,c :inherit markdown-code-face)))
+ `(markdown-table-face ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-table)))
+ `(markdown-url-face ((,c :foreground ,fg-alt)))
;;;;; markup-faces (`adoc-mode')
- `(markup-attribute-face ((,class :inherit (italic markup-meta-face))))
- `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced-fg)))
- `(markup-code-face ((,class :foreground ,magenta)))
- `(markup-comment-face ((,class :inherit font-lock-comment-face)))
- `(markup-complex-replacement-face ((,class :background ,magenta-nuanced-bg :foreground ,magenta-alt-other)))
- `(markup-emphasis-face ((,class :inherit markup-italic-face)))
- `(markup-error-face ((,class :inherit error)))
- `(markup-gen-face ((,class :foreground ,magenta-alt)))
- `(markup-internal-reference-face ((,class :inherit modus-themes-slant :foreground ,fg-alt)))
- `(markup-italic-face ((,class :inherit italic)))
- `(markup-list-face ((,class :inherit modus-themes-special-cold)))
- `(markup-meta-face ((,class :inherit (modus-themes-fixed-pitch shadow))))
- `(markup-meta-hide-face ((,class :foreground "gray50")))
- `(markup-reference-face ((,class :inherit modus-themes-slant :foreground ,blue-alt)))
- `(markup-replacement-face ((,class :inherit modus-themes-fixed-pitch :foreground ,red-alt)))
- `(markup-secondary-text-face ((,class :height 0.9 :foreground ,cyan-alt-other)))
- `(markup-small-face ((,class :inherit markup-gen-face :height 0.9)))
- `(markup-strong-face ((,class :inherit markup-bold-face)))
- `(markup-subscript-face ((,class :height 0.9 :foreground ,magenta-alt-other)))
- `(markup-superscript-face ((,class :height 0.9 :foreground ,magenta-alt-other)))
- `(markup-table-cell-face ((,class :inherit modus-themes-subtle-neutral)))
- `(markup-table-face ((,class :inherit modus-themes-subtle-neutral)))
- `(markup-table-row-face ((,class :inherit modus-themes-special-cold)))
- `(markup-title-0-face ((,class :inherit modus-themes-heading-1)))
- `(markup-title-1-face ((,class :inherit modus-themes-heading-2)))
- `(markup-title-2-face ((,class :inherit modus-themes-heading-3)))
- `(markup-title-3-face ((,class :inherit modus-themes-heading-4)))
- `(markup-title-4-face ((,class :inherit modus-themes-heading-5)))
- `(markup-title-5-face ((,class :inherit modus-themes-heading-6)))
- `(markup-verbatim-face ((,class :inherit modus-themes-fixed-pitch :background ,bg-alt)))
-;;;;; mentor
- `(mentor-download-message ((,class :foreground ,fg-special-warm)))
- `(mentor-download-name ((,class :foreground ,fg-special-cold)))
- `(mentor-download-progress ((,class :foreground ,blue-alt-other)))
- `(mentor-download-size ((,class :foreground ,magenta-alt-other)))
- `(mentor-download-speed-down ((,class :foreground ,cyan-alt)))
- `(mentor-download-speed-up ((,class :foreground ,red-alt)))
- `(mentor-download-state ((,class :foreground ,yellow-alt)))
- `(mentor-highlight-face ((,class :inherit modus-themes-subtle-blue)))
- `(mentor-tracker-name ((,class :foreground ,magenta-alt)))
+ `(markup-attribute-face ((,c :inherit (modus-themes-slant markup-meta-face))))
+ `(markup-bold-face ((,c :inherit bold)))
+ `(markup-code-face ((,c :inherit modus-themes-prose-code)))
+ `(markup-comment-face ((,c :inherit font-lock-comment-face)))
+ `(markup-complex-replacement-face ((,c :inherit modus-themes-prose-macro)))
+ `(markup-emphasis-face ((,c :inherit markup-italic-face)))
+ `(markup-error-face ((,c :inherit error)))
+ `(markup-gen-face ((,c :inherit modus-themes-prose-verbatim)))
+ `(markup-internal-reference-face ((,c :inherit (shadow modus-themes-slant))))
+ `(markup-italic-face ((,c :inherit italic)))
+ `(markup-list-face ((,c :background ,bg-inactive)))
+ `(markup-meta-face ((,c :inherit (modus-themes-fixed-pitch shadow))))
+ `(markup-meta-hide-face ((,c :foreground "gray50")))
+ `(markup-reference-face ((,c :inherit modus-themes-slant :foreground ,fg-alt)))
+ `(markup-replacement-face ((,c :inherit modus-themes-fixed-pitch :foreground ,err)))
+ `(markup-secondary-text-face ((,c :height 0.9 :foreground ,fg-alt)))
+ `(markup-small-face ((,c :inherit markup-gen-face :height 0.9)))
+ `(markup-strong-face ((,c :inherit markup-bold-face)))
+ `(markup-subscript-face ((,c :height 0.9 :foreground ,fg-alt)))
+ `(markup-superscript-face ((,c :height 0.9 :foreground ,fg-alt)))
+ `(markup-table-cell-face (( )))
+ `(markup-table-face ((,c :foreground ,prose-table)))
+ `(markup-table-row-face (( )))
+ `(markup-title-0-face ((,c :inherit modus-themes-heading-1)))
+ `(markup-title-1-face ((,c :inherit modus-themes-heading-2)))
+ `(markup-title-2-face ((,c :inherit modus-themes-heading-3)))
+ `(markup-title-3-face ((,c :inherit modus-themes-heading-4)))
+ `(markup-title-4-face ((,c :inherit modus-themes-heading-5)))
+ `(markup-title-5-face ((,c :inherit modus-themes-heading-6)))
+ `(markup-verbatim-face ((,c :inherit modus-themes-prose-verbatim)))
+;;;;; mct
+ `(mct-highlight-candidate ((,c :inherit modus-themes-completion-selected)))
;;;;; messages
- `(message-cited-text-1 ((,class ,@(modus-themes--mail-cite blue-faint blue fg-special-cold))))
- `(message-cited-text-2 ((,class ,@(modus-themes--mail-cite yellow-faint yellow yellow-alt-faint))))
- `(message-cited-text-3 ((,class ,@(modus-themes--mail-cite magenta-alt-faint magenta-alt fg-special-calm))))
- `(message-cited-text-4 ((,class ,@(modus-themes--mail-cite cyan-alt-other-faint cyan-alt-other fg-special-mild))))
- `(message-header-cc ((,class :foreground ,blue-alt-other)))
- `(message-header-name ((,class :inherit bold :foreground ,cyan)))
- `(message-header-newsgroups ((,class :inherit message-header-other)))
- `(message-header-other ((,class :foreground ,fg-special-calm)))
- `(message-header-subject ((,class :inherit bold :foreground ,magenta-alt)))
- `(message-header-to ((,class :inherit bold :foreground ,magenta-alt-other)))
- `(message-header-xheader ((,class :foreground ,blue-alt)))
- `(message-mml ((,class :foreground ,cyan-alt-other)))
- `(message-separator ((,class :inherit modus-themes-intense-neutral)))
-;;;;; mini-modeline
- `(mini-modeline-mode-line ((,class :background ,blue-intense :height 0.14)))
- `(mini-modeline-mode-line-inactive ((,class :background ,fg-window-divider-inner :height 0.1)))
+ `(message-cited-text-1 ((,c :foreground ,mail-cite-0)))
+ `(message-cited-text-2 ((,c :foreground ,mail-cite-1)))
+ `(message-cited-text-3 ((,c :foreground ,mail-cite-2)))
+ `(message-cited-text-4 ((,c :foreground ,mail-cite-3)))
+ `(message-header-name ((,c :inherit bold)))
+ `(message-header-newsgroups ((,c :inherit message-header-other)))
+ `(message-header-to ((,c :inherit bold :foreground ,mail-recipient)))
+ `(message-header-cc ((,c :foreground ,mail-recipient)))
+ `(message-header-subject ((,c :inherit bold :foreground ,mail-subject)))
+ `(message-header-xheader ((,c :inherit message-header-other)))
+ `(message-header-other ((,c :foreground ,mail-other)))
+ `(message-mml ((,c :foreground ,mail-part)))
+ `(message-separator ((,c :background ,bg-inactive :foreground ,fg-main)))
;;;;; minimap
- `(minimap-active-region-background ((,class :background ,bg-active)))
- `(minimap-current-line-face ((,class :background ,cyan-intense-bg :foreground ,fg-main)))
-;;;;; mmm-mode
- `(mmm-cleanup-submode-face ((,class :background ,yellow-nuanced-bg)))
- `(mmm-code-submode-face ((,class :background ,bg-alt)))
- `(mmm-comment-submode-face ((,class :background ,blue-nuanced-bg)))
- `(mmm-declaration-submode-face ((,class :background ,cyan-nuanced-bg)))
- `(mmm-default-submode-face ((,class :background ,bg-dim)))
- `(mmm-init-submode-face ((,class :background ,magenta-nuanced-bg)))
- `(mmm-output-submode-face ((,class :background ,red-nuanced-bg)))
- `(mmm-special-submode-face ((,class :background ,green-nuanced-bg)))
+ `(minimap-active-region-background ((,c :background ,bg-active)))
+ `(minimap-current-line-face ((,c :background ,bg-cyan-intense :foreground ,fg-main)))
;;;;; mode-line
- `(mode-line ((,class :inherit modus-themes-ui-variable-pitch
- ,@(modus-themes--mode-line-attrs
- fg-active bg-active
- fg-dim bg-active
- fg-main bg-active-accent
- fg-alt bg-active
- 'alt-style bg-main))))
- `(mode-line-active ((,class :inherit mode-line)))
- `(mode-line-buffer-id ((,class :inherit bold)))
- `(mode-line-emphasis ((,class :inherit bold :foreground ,magenta-active)))
- `(mode-line-highlight ((,class ,@(if modus-themes-intense-mouseovers
- (list :inherit 'modus-themes-active-blue)
- (list :inherit 'highlight)))))
- `(mode-line-inactive ((,class :inherit modus-themes-ui-variable-pitch
- ,@(modus-themes--mode-line-attrs
- fg-inactive bg-inactive
- fg-alt bg-dim
- fg-inactive bg-inactive
- bg-region bg-active))))
+ `(mode-line ((,c :inherit modus-themes-ui-variable-pitch
+ :box ,border-mode-line-active
+ :background ,bg-mode-line-active
+ :foreground ,fg-mode-line-active)))
+ `(mode-line-active ((,c :inherit mode-line)))
+ `(mode-line-buffer-id ((,c :inherit bold)))
+ `(mode-line-emphasis ((,c :inherit bold :foreground ,modeline-info)))
+ `(mode-line-highlight ((,c :background ,bg-hover :foreground ,fg-main :box ,fg-main)))
+ `(mode-line-inactive ((,c :inherit modus-themes-ui-variable-pitch
+ :box ,border-mode-line-inactive
+ :background ,bg-mode-line-inactive
+ :foreground ,fg-mode-line-inactive)))
;;;;; mood-line
- `(mood-line-modified ((,class :foreground ,magenta-active)))
- `(mood-line-status-error ((,class :inherit bold :foreground ,red-active)))
- `(mood-line-status-info ((,class :foreground ,cyan-active)))
- `(mood-line-status-neutral ((,class :foreground ,blue-active)))
- `(mood-line-status-success ((,class :inherit modus-themes-grue-active)))
- `(mood-line-status-warning ((,class :inherit bold :foreground ,yellow-active)))
- `(mood-line-unimportant ((,class :foreground ,fg-inactive)))
+ `(mood-line-modified ((,c :inherit italic)))
+ `(mood-line-status-error ((,c :inherit error)))
+ `(mood-line-status-info ((,c :foreground ,info)))
+ `(mood-line-status-neutral (( )))
+ `(mood-line-status-success ((,c :inherit success)))
+ `(mood-line-status-warning ((,c :inherit warning)))
+ `(mood-line-unimportant ((,c :inherit shadow)))
;;;;; mpdel
- `(mpdel-browser-directory-face ((,class :foreground ,blue)))
- `(mpdel-playlist-current-song-face ((,class :inherit bold :foreground ,blue-alt-other)))
+ `(mpdel-browser-directory-face ((,c :foreground ,accent-0)))
+ `(mpdel-playlist-current-song-face ((,c :inherit bold :foreground ,accent-0)))
;;;;; mu4e
- `(mu4e-attach-number-face ((,class :inherit bold :foreground ,fg-dim)))
- `(mu4e-cited-1-face ((,class :inherit message-cited-text-1)))
- `(mu4e-cited-2-face ((,class :inherit message-cited-text-2)))
- `(mu4e-cited-3-face ((,class :inherit message-cited-text-3)))
- `(mu4e-cited-4-face ((,class :inherit message-cited-text-4)))
- `(mu4e-cited-5-face ((,class :inherit message-cited-text-1)))
- `(mu4e-cited-6-face ((,class :inherit message-cited-text-2)))
- `(mu4e-cited-7-face ((,class :inherit message-cited-text-3)))
- `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face)))
- `(mu4e-compose-separator-face ((,class :inherit modus-themes-intense-neutral)))
- `(mu4e-contact-face ((,class :inherit message-header-to)))
- `(mu4e-context-face ((,class :foreground ,blue-active)))
- `(mu4e-draft-face ((,class :foreground ,magenta-alt)))
- `(mu4e-flagged-face ((,class :foreground ,red-alt-other)))
- `(mu4e-footer-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
- `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other)))
- `(mu4e-header-face ((,class :inherit shadow)))
- `(mu4e-header-highlight-face ((,class :inherit modus-themes-hl-line)))
- `(mu4e-header-key-face ((,class :inherit message-header-name)))
- `(mu4e-header-marks-face ((,class :inherit mu4e-special-header-value-face)))
- `(mu4e-header-title-face ((,class :foreground ,fg-special-mild)))
- `(mu4e-header-value-face ((,class :inherit message-header-other)))
- `(mu4e-highlight-face ((,class :inherit modus-themes-key-binding)))
- `(mu4e-link-face ((,class :inherit button)))
- `(mu4e-modeline-face ((,class :foreground ,magenta-active)))
- `(mu4e-moved-face ((,class :inherit modus-themes-slant :foreground ,yellow)))
- `(mu4e-ok-face ((,class :inherit bold :foreground ,green)))
- `(mu4e-region-code ((,class :inherit modus-themes-special-calm)))
- `(mu4e-related-face ((,class :inherit (italic shadow))))
- `(mu4e-replied-face ((,class :foreground ,blue)))
- `(mu4e-special-header-value-face ((,class :inherit message-header-subject)))
- `(mu4e-system-face ((,class :inherit modus-themes-slant :foreground ,fg-mark-del)))
- `(mu4e-title-face ((,class :foreground ,fg-main)))
- `(mu4e-trashed-face ((,class :foreground ,red)))
- `(mu4e-unread-face ((,class :inherit bold)))
- `(mu4e-url-number-face ((,class :inherit shadow)))
- `(mu4e-view-body-face ((,class :foreground ,fg-main)))
- `(mu4e-warning-face ((,class :inherit warning)))
+ `(mu4e-attach-number-face ((,c :inherit bold :foreground ,fg-dim)))
+ `(mu4e-cited-1-face ((,c :inherit message-cited-text-1)))
+ `(mu4e-cited-2-face ((,c :inherit message-cited-text-2)))
+ `(mu4e-cited-3-face ((,c :inherit message-cited-text-3)))
+ `(mu4e-cited-4-face ((,c :inherit message-cited-text-4)))
+ `(mu4e-cited-5-face ((,c :inherit message-cited-text-1)))
+ `(mu4e-cited-6-face ((,c :inherit message-cited-text-2)))
+ `(mu4e-cited-7-face ((,c :inherit message-cited-text-3)))
+ `(mu4e-compose-header-face ((,c :inherit mu4e-compose-separator-face)))
+ `(mu4e-compose-separator-face ((,c :inherit message-separator)))
+ `(mu4e-contact-face ((,c :inherit message-header-to)))
+ `(mu4e-context-face ((,c :inherit bold)))
+ `(mu4e-draft-face ((,c :foreground ,warning)))
+ `(mu4e-flagged-face ((,c :foreground ,keyword)))
+ `(mu4e-footer-face ((,c :inherit italic :foreground ,fg-alt)))
+ `(mu4e-forwarded-face ((,c :inherit italic :foreground ,info)))
+ `(mu4e-header-face ((,c :inherit shadow)))
+ `(mu4e-header-highlight-face ((,c :background ,bg-hl-line :extend t)))
+ `(mu4e-header-key-face ((,c :inherit message-header-name)))
+ `(mu4e-header-marks-face ((,c :inherit mu4e-special-header-value-face)))
+ `(mu4e-header-title-face ((,c :foreground ,fg-alt)))
+ `(mu4e-header-value-face ((,c :inherit message-header-other)))
+ `(mu4e-highlight-face ((,c :inherit modus-themes-key-binding)))
+ `(mu4e-link-face ((,c :inherit link)))
+ `(mu4e-modeline-face (( )))
+ `(mu4e-moved-face ((,c :inherit italic :foreground ,warning)))
+ `(mu4e-ok-face ((,c :inherit success)))
+ `(mu4e-region-code ((,c :foreground ,builtin)))
+ `(mu4e-related-face ((,c :inherit (italic shadow))))
+ `(mu4e-replied-face ((,c :foreground ,info)))
+ `(mu4e-special-header-value-face ((,c :inherit message-header-subject)))
+ `(mu4e-system-face ((,c :inherit italic)))
+ `(mu4e-thread-fold-face ((,c :foreground ,border)))
+ `(mu4e-title-face (( )))
+ `(mu4e-trashed-face ((,c :foreground ,err)))
+ `(mu4e-unread-face ((,c :inherit bold)))
+ `(mu4e-url-number-face ((,c :inherit shadow)))
+ `(mu4e-view-body-face (( )))
+ `(mu4e-warning-face ((,c :inherit warning)))
;;;;; multiple-cursors
- `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main)))
- `(mc/cursor-face ((,class :inverse-video t)))
- `(mc/region-face ((,class :inherit region)))
-;;;;; nano-modeline
- `(nano-modeline-active-primary ((,class :inherit mode-line :foreground ,fg-special-mild)))
- `(nano-modeline-active-secondary ((,class :inherit mode-line :foreground ,fg-special-cold)))
- `(nano-modeline-active-status-** ((,class :inherit mode-line :background ,yellow-subtle-bg)))
- `(nano-modeline-active-status-RO ((,class :inherit mode-line :background ,red-subtle-bg)))
- `(nano-modeline-active-status-RW ((,class :inherit mode-line :background ,cyan-subtle-bg)))
- `(nano-modeline-inactive-primary ((,class :inherit mode-line-inactive :foreground ,fg-inactive)))
- `(nano-modeline-inactive-secondary ((,class :inherit mode-line-inactive :foreground ,fg-inactive)))
- `(nano-modeline-inactive-status-** ((,class :inherit mode-line-inactive :foreground ,yellow-active)))
- `(nano-modeline-inactive-status-RO ((,class :inherit mode-line-inactive :foreground ,red-active)))
- `(nano-modeline-inactive-status-RW ((,class :inherit mode-line-inactive :foreground ,cyan-active)))
+ `(mc/cursor-bar-face ((,c :height 1 :foreground ,fg-main :background ,bg-main)))
+ `(mc/cursor-face ((,c :inverse-video t)))
+ `(mc/region-face ((,c :inherit region)))
+;;;;; nerd-icons
+ `(nerd-icons-blue ((,c :foreground ,blue-cooler)))
+ `(nerd-icons-blue-alt ((,c :foreground ,blue-warmer)))
+ `(nerd-icons-cyan ((,c :foreground ,cyan)))
+ `(nerd-icons-cyan-alt ((,c :foreground ,cyan-warmer)))
+ `(nerd-icons-dblue ((,c :foreground ,blue-faint)))
+ `(nerd-icons-dcyan ((,c :foreground ,cyan-faint)))
+ `(nerd-icons-dgreen ((,c :foreground ,green-faint)))
+ `(nerd-icons-dmaroon ((,c :foreground ,magenta-faint)))
+ `(nerd-icons-dorange ((,c :foreground ,red-faint)))
+ `(nerd-icons-dpink ((,c :foreground ,magenta-faint)))
+ `(nerd-icons-dpurple ((,c :foreground ,magenta-cooler)))
+ `(nerd-icons-dred ((,c :foreground ,red)))
+ `(nerd-icons-dsilver ((,c :foreground ,cyan-faint)))
+ `(nerd-icons-dyellow ((,c :foreground ,yellow-faint)))
+ `(nerd-icons-green ((,c :foreground ,green)))
+ `(nerd-icons-lblue ((,c :foreground ,blue-cooler)))
+ `(nerd-icons-lcyan ((,c :foreground ,cyan)))
+ `(nerd-icons-lgreen ((,c :foreground ,green-warmer)))
+ `(nerd-icons-lmaroon ((,c :foreground ,magenta-warmer)))
+ `(nerd-icons-lorange ((,c :foreground ,red-warmer)))
+ `(nerd-icons-lpink ((,c :foreground ,magenta)))
+ `(nerd-icons-lpurple ((,c :foreground ,magenta-faint)))
+ `(nerd-icons-lred ((,c :foreground ,red-faint)))
+ `(nerd-icons-lsilver ((,c :foreground "gray50")))
+ `(nerd-icons-lyellow ((,c :foreground ,yellow-warmer)))
+ `(nerd-icons-maroon ((,c :foreground ,magenta)))
+ `(nerd-icons-orange ((,c :foreground ,yellow-warmer)))
+ `(nerd-icons-pink ((,c :foreground ,magenta-warmer)))
+ `(nerd-icons-purple ((,c :foreground ,magenta-cooler)))
+ `(nerd-icons-purple-alt ((,c :foreground ,blue-warmer)))
+ `(nerd-icons-red ((,c :foreground ,red)))
+ `(nerd-icons-red-alt ((,c :foreground ,red-cooler)))
+ `(nerd-icons-silver ((,c :foreground "gray50")))
+ `(nerd-icons-yellow ((,c :foreground ,yellow)))
+;;;;; nerd-icons-completion
+ `(nerd-icons-completion-dir-face ((,c :foreground ,cyan-faint)))
+;;;;; nerd-icons-dired
+ `(nerd-icons-dired-dir-face ((,c :foreground ,cyan-faint)))
+;;;;; nerd-icons-ibuffer
+ `(nerd-icons-ibuffer-dir-face ((,c :foreground ,cyan-faint)))
+ `(nerd-icons-ibuffer-file-face ((,c :foreground ,blue-faint)))
+ `(nerd-icons-ibuffer-mode-face ((,c :foreground ,cyan)))
+ `(nerd-icons-ibuffer-size-face ((,c :foreground ,cyan-cooler)))
;;;;; neotree
- `(neo-banner-face ((,class :foreground ,magenta)))
- `(neo-button-face ((,class :inherit button)))
- `(neo-dir-link-face ((,class :inherit bold :foreground ,blue)))
- `(neo-expand-btn-face ((,class :foreground ,cyan)))
- `(neo-file-link-face ((,class :foreground ,fg-main)))
- `(neo-header-face ((,class :inherit bold :foreground ,fg-main)))
- `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt)))
- `(neo-vc-added-face ((,class :inherit modus-themes-grue)))
- `(neo-vc-conflict-face ((,class :inherit error)))
- `(neo-vc-default-face ((,class :foreground ,fg-main)))
- `(neo-vc-edited-face ((,class :foreground ,yellow)))
- `(neo-vc-ignored-face ((,class :foreground ,fg-inactive)))
- `(neo-vc-missing-face ((,class :foreground ,red-alt)))
- `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt)))
- `(neo-vc-needs-update-face ((,class :underline t)))
- `(neo-vc-removed-face ((,class :strike-through t)))
- `(neo-vc-unlocked-changes-face ((,class :inherit modus-themes-refine-blue)))
- `(neo-vc-up-to-date-face ((,class :inherit shadow)))
- `(neo-vc-user-face ((,class :foreground ,magenta)))
+ `(neo-banner-face ((,c :foreground ,accent-0)))
+ `(neo-button-face ((,c :inherit button)))
+ `(neo-dir-link-face (( )))
+ `(neo-expand-btn-face (( )))
+ `(neo-file-link-face (( )))
+ `(neo-header-face ((,c :inherit bold)))
+ `(neo-root-dir-face ((,c :inherit bold :foreground ,accent-0)))
+ `(neo-vc-added-face ((,c :inherit success)))
+ `(neo-vc-conflict-face ((,c :inherit error)))
+ `(neo-vc-default-face (( )))
+ `(neo-vc-edited-face ((,c :inherit italic)))
+ `(neo-vc-ignored-face ((,c :inherit shadow)))
+ `(neo-vc-missing-face ((,c :inherit error)))
+ `(neo-vc-needs-merge-face ((,c :inherit italic)))
+ `(neo-vc-needs-update-face ((,c :underline t)))
+ `(neo-vc-removed-face ((,c :strike-through t)))
+ `(neo-vc-unlocked-changes-face ((,c :inherit success)))
+ `(neo-vc-up-to-date-face (( )))
+ `(neo-vc-user-face ((,c :inherit warning)))
;;;;; notmuch
- `(notmuch-crypto-decryption ((,class :inherit (shadow bold))))
- `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other)))
- `(notmuch-crypto-signature-bad ((,class :inherit error)))
- `(notmuch-crypto-signature-good ((,class :inherit success)))
- `(notmuch-crypto-signature-good-key ((,class :inherit bold :foreground ,cyan)))
- `(notmuch-crypto-signature-unknown ((,class :inherit warning)))
- `(notmuch-hello-logo-background ((,class :background "gray50")))
- `(notmuch-jump-key ((,class :inherit modus-themes-key-binding)))
- `(notmuch-message-summary-face ((,class :inherit (bold modus-themes-nuanced-cyan))))
- `(notmuch-search-count ((,class :inherit shadow)))
- `(notmuch-search-date ((,class :foreground ,cyan)))
- `(notmuch-search-flagged-face ((,class :foreground ,red-alt-other)))
- `(notmuch-search-matching-authors ((,class :foreground ,fg-special-cold)))
- `(notmuch-search-non-matching-authors ((,class :inherit shadow)))
- `(notmuch-search-subject ((,class :foreground ,fg-main)))
- `(notmuch-search-unread-face ((,class :inherit bold)))
- `(notmuch-tag-added ((,class :underline ,blue)))
- `(notmuch-tag-deleted ((,class :strike-through ,red)))
- `(notmuch-tag-face ((,class :foreground ,blue)))
- `(notmuch-tag-flagged ((,class :foreground ,red-alt)))
- `(notmuch-tag-unread ((,class :foreground ,magenta-alt)))
- `(notmuch-tree-match-author-face ((,class :inherit notmuch-search-matching-authors)))
- `(notmuch-tree-match-date-face ((,class :inherit notmuch-search-date)))
- `(notmuch-tree-match-face ((,class :foreground ,fg-main)))
- `(notmuch-tree-match-tag-face ((,class :inherit notmuch-tag-face)))
- `(notmuch-tree-no-match-face ((,class :inherit shadow)))
- `(notmuch-tree-no-match-date-face ((,class :inherit shadow)))
- `(notmuch-wash-cited-text ((,class :inherit message-cited-text-1)))
- `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground ,fg-alt)))
+ `(notmuch-crypto-decryption ((,c :inherit bold)))
+ `(notmuch-crypto-part-header ((,c :foreground ,mail-part))) ; like `message-mml'
+ `(notmuch-crypto-signature-bad ((,c :inherit error)))
+ `(notmuch-crypto-signature-good ((,c :inherit success)))
+ `(notmuch-crypto-signature-good-key ((,c :inherit success)))
+ `(notmuch-crypto-signature-unknown ((,c :inherit warning)))
+ `(notmuch-jump-key ((,c :inherit modus-themes-key-binding)))
+ `(notmuch-message-summary-face ((,c :inherit bold :background ,bg-inactive)))
+ `(notmuch-search-count ((,c :foreground ,fg-dim)))
+ `(notmuch-search-date ((,c :foreground ,date-common)))
+ `(notmuch-search-flagged-face ((,c :foreground ,keyword)))
+ `(notmuch-search-matching-authors ((,c :foreground ,mail-recipient)))
+ `(notmuch-search-non-matching-authors ((,c :inherit shadow)))
+ `(notmuch-search-subject ((,c :foreground ,fg-main)))
+ `(notmuch-search-unread-face ((,c :inherit bold)))
+ `(notmuch-tag-added ((,c :underline ,info)))
+ `(notmuch-tag-deleted ((,c :strike-through ,err)))
+ `(notmuch-tag-face ((,c :foreground ,accent-0)))
+ `(notmuch-tag-flagged ((,c :foreground ,keyword)))
+ `(notmuch-tag-unread ((,c :foreground ,accent-1)))
+ `(notmuch-tree-match-author-face ((,c :inherit notmuch-search-matching-authors)))
+ `(notmuch-tree-match-date-face ((,c :inherit notmuch-search-date)))
+ `(notmuch-tree-match-face ((,c :foreground ,fg-main)))
+ `(notmuch-tree-match-tag-face ((,c :inherit notmuch-tag-face)))
+ `(notmuch-tree-no-match-face ((,c :inherit shadow)))
+ `(notmuch-tree-no-match-date-face ((,c :inherit shadow)))
+ `(notmuch-wash-cited-text ((,c :inherit message-cited-text-1)))
+ `(notmuch-wash-toggle-button ((,c :background ,bg-dim)))
;;;;; num3-mode
- `(num3-face-even ((,class :inherit bold :background ,bg-alt)))
+ `(num3-face-even ((,c :inherit bold :background ,bg-inactive)))
;;;;; nxml-mode
- `(nxml-attribute-colon ((,class :foreground ,fg-main)))
- `(nxml-attribute-local-name ((,class :inherit font-lock-variable-name-face)))
- `(nxml-attribute-prefix ((,class :inherit font-lock-type-face)))
- `(nxml-attribute-value ((,class :inherit font-lock-constant-face)))
- `(nxml-cdata-section-CDATA ((,class :inherit error)))
- `(nxml-cdata-section-delimiter ((,class :inherit error)))
- `(nxml-char-ref-delimiter ((,class :foreground ,fg-special-mild)))
- `(nxml-char-ref-number ((,class :inherit modus-themes-bold :foreground ,fg-special-mild)))
- `(nxml-delimited-data ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
- `(nxml-delimiter ((,class :foreground ,fg-dim)))
- `(nxml-element-colon ((,class :foreground ,fg-main)))
- `(nxml-element-local-name ((,class :inherit font-lock-function-name-face)))
- `(nxml-element-prefix ((,class :inherit font-lock-builtin-face)))
- `(nxml-entity-ref-delimiter ((,class :foreground ,fg-special-mild)))
- `(nxml-entity-ref-name ((,class :inherit modus-themes-bold :foreground ,fg-special-mild)))
- `(nxml-glyph ((,class :inherit modus-themes-intense-neutral)))
- `(nxml-hash ((,class :inherit (bold font-lock-string-face))))
- `(nxml-heading ((,class :inherit bold)))
- `(nxml-name ((,class :inherit font-lock-builtin-face)))
- `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main)))
- `(nxml-namespace-attribute-prefix ((,class :inherit font-lock-variable-name-face)))
- `(nxml-processing-instruction-target ((,class :inherit font-lock-keyword-face)))
- `(nxml-prolog-keyword ((,class :inherit font-lock-keyword-face)))
- `(nxml-ref ((,class :inherit modus-themes-bold :foreground ,fg-special-mild)))
- `(rng-error ((,class :inherit error)))
+ `(nxml-attribute-colon ((,c :foreground ,fg-main)))
+ `(nxml-attribute-local-name ((,c :inherit font-lock-variable-name-face)))
+ `(nxml-attribute-prefix ((,c :inherit font-lock-type-face)))
+ `(nxml-attribute-value ((,c :inherit font-lock-constant-face)))
+ `(nxml-cdata-section-CDATA ((,c :inherit error)))
+ `(nxml-cdata-section-delimiter ((,c :inherit error)))
+ `(nxml-char-ref-delimiter ((,c :inherit shadow)))
+ `(nxml-char-ref-number ((,c :inherit (shadow modus-themes-bold))))
+ `(nxml-delimited-data ((,c :inherit (shadow modus-themes-slant))))
+ `(nxml-delimiter ((,c :foreground ,fg-dim)))
+ `(nxml-element-colon ((,c :foreground ,fg-main)))
+ `(nxml-element-local-name ((,c :inherit font-lock-function-name-face)))
+ `(nxml-element-prefix ((,c :inherit font-lock-builtin-face)))
+ `(nxml-entity-ref-delimiter ((,c :inherit shadow)))
+ `(nxml-entity-ref-name ((,c :inherit (shadow modus-themes-bold))))
+ `(nxml-glyph ((,c :background ,bg-active :foreground ,fg-main)))
+ `(nxml-hash ((,c :inherit (bold font-lock-string-face))))
+ `(nxml-heading ((,c :inherit bold)))
+ `(nxml-name ((,c :inherit font-lock-builtin-face)))
+ `(nxml-namespace-attribute-colon ((,c :foreground ,fg-main)))
+ `(nxml-namespace-attribute-prefix ((,c :inherit font-lock-variable-name-face)))
+ `(nxml-processing-instruction-target ((,c :inherit font-lock-keyword-face)))
+ `(nxml-prolog-keyword ((,c :inherit font-lock-keyword-face)))
+ `(nxml-ref ((,c :inherit (shadow modus-themes-bold))))
+ `(rng-error ((,c :inherit error)))
;;;;; olivetti
- `(olivetti-fringe ((,class :background ,bg-main)))
+ `(olivetti-fringe ((,c :background ,fringe)))
;;;;; orderless
- `(orderless-match-face-0 ((,class :inherit modus-themes-completion-match-0)))
- `(orderless-match-face-1 ((,class :inherit modus-themes-completion-match-1)))
- `(orderless-match-face-2 ((,class :inherit modus-themes-completion-match-2)))
- `(orderless-match-face-3 ((,class :inherit modus-themes-completion-match-3)))
+ `(orderless-match-face-0 ((,c :inherit modus-themes-completion-match-0)))
+ `(orderless-match-face-1 ((,c :inherit modus-themes-completion-match-1)))
+ `(orderless-match-face-2 ((,c :inherit modus-themes-completion-match-2)))
+ `(orderless-match-face-3 ((,c :inherit modus-themes-completion-match-3)))
;;;;; org
- `(org-agenda-calendar-event ((,class ,@(modus-themes--agenda-event blue-alt))))
- `(org-agenda-calendar-sexp ((,class ,@(modus-themes--agenda-event blue-alt t))))
- `(org-agenda-clocking ((,class :background ,yellow-nuanced-bg :foreground ,red-alt)))
- `(org-agenda-column-dateline ((,class :background ,bg-alt)))
- `(org-agenda-current-time ((,class :foreground ,blue-alt-other-faint)))
- `(org-agenda-date ((,class ,@(modus-themes--agenda-date cyan fg-main))))
- `(org-agenda-date-today
- ((,class ,@(modus-themes--agenda-date cyan fg-main nil nil bg-special-cold t t))))
- `(org-agenda-date-weekend
- ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt cyan fg-main))))
- `(org-agenda-date-weekend-today
- ((,class ,@(modus-themes--agenda-date cyan-alt-other-faint fg-alt cyan fg-main bg-special-cold t t))))
- `(org-agenda-diary ((,class :inherit org-agenda-calendar-sexp)))
- `(org-agenda-dimmed-todo-face ((,class :inherit shadow)))
- `(org-agenda-done ((,class :inherit modus-themes-grue-nuanced)))
- `(org-agenda-filter-category ((,class :inherit bold :foreground ,cyan-active)))
- `(org-agenda-filter-effort ((,class :inherit bold :foreground ,cyan-active)))
- `(org-agenda-filter-regexp ((,class :inherit bold :foreground ,cyan-active)))
- `(org-agenda-filter-tags ((,class :inherit bold :foreground ,cyan-active)))
- `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground ,fg-dim)))
- `(org-agenda-structure ((,class ,@(modus-themes--agenda-structure blue-alt))))
- `(org-agenda-structure-filter ((,class :inherit org-agenda-structure :foreground ,yellow)))
- `(org-agenda-structure-secondary ((,class :foreground ,cyan)))
- `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt)))
- `(org-block ((,class :inherit modus-themes-fixed-pitch
- ,@(modus-themes--org-block bg-dim fg-main))))
- `(org-block-begin-line ((,class :inherit modus-themes-fixed-pitch
- ,@(modus-themes--org-block-delim
- bg-dim fg-special-cold
- bg-alt fg-alt))))
- `(org-block-end-line ((,class :inherit org-block-begin-line)))
- `(org-checkbox ((,class :foreground ,yellow-alt-other)))
- `(org-checkbox-statistics-done ((,class :inherit org-done)))
- `(org-checkbox-statistics-todo ((,class :inherit org-todo)))
- `(org-clock-overlay ((,class :background ,yellow-nuanced-bg :foreground ,red-alt-faint)))
- `(org-code ((,class :inherit modus-themes-markup-code :extend t)))
- `(org-column ((,class :inherit (modus-themes-fixed-pitch default)
- :background ,bg-alt)))
- `(org-column-title ((,class :inherit (bold modus-themes-fixed-pitch default)
- :underline t :background ,bg-alt)))
- `(org-date ((,class :inherit (modus-themes-link-symlink modus-themes-fixed-pitch))))
- `(org-date-selected ((,class :foreground ,blue-alt :inverse-video t)))
- `(org-dispatcher-highlight ((,class :inherit (bold modus-themes-mark-alt))))
- `(org-document-info ((,class :foreground ,fg-special-cold)))
- `(org-document-info-keyword ((,class :inherit (shadow modus-themes-fixed-pitch))))
- `(org-document-title ((,class :inherit modus-themes-heading-0)))
- `(org-done ((,class :inherit modus-themes-grue)))
- `(org-drawer ((,class :inherit (shadow modus-themes-fixed-pitch))))
- `(org-ellipsis (())) ; inherits from the heading's color
- `(org-footnote ((,class :inherit button
- ,@(modus-themes--link-color
- blue-alt blue-alt-faint))))
- `(org-formula ((,class :inherit modus-themes-fixed-pitch :foreground ,red-alt)))
- `(org-habit-alert-face ((,class ,@(modus-themes--agenda-habit
- yellow-graph-0-bg
- yellow-graph-0-bg
- yellow-graph-1-bg)
- :foreground "black"))) ; special case
- `(org-habit-alert-future-face ((,class ,@(modus-themes--agenda-habit
- yellow-graph-1-bg
- yellow-graph-0-bg
- yellow-graph-1-bg))))
- `(org-habit-clear-face ((,class ,@(modus-themes--agenda-habit
- blue-graph-0-bg
- green-graph-1-bg
- blue-graph-1-bg
- blue-graph-1-bg
- blue-graph-1-bg)
- :foreground "black"))) ; special case
- `(org-habit-clear-future-face ((,class ,@(modus-themes--agenda-habit
- blue-graph-1-bg
- green-graph-1-bg
- blue-graph-1-bg
- blue-graph-1-bg
- blue-graph-1-bg))))
- `(org-habit-overdue-face ((,class ,@(modus-themes--agenda-habit
- red-graph-0-bg
- red-graph-0-bg
- red-graph-1-bg))))
- `(org-habit-overdue-future-face ((,class ,@(modus-themes--agenda-habit
- red-graph-1-bg
- red-graph-0-bg
- red-graph-1-bg))))
- `(org-habit-ready-face ((,class ,@(modus-themes--agenda-habit
- green-graph-0-bg
- green-graph-0-bg
- green-graph-1-bg
- cyan-graph-0-bg
- blue-graph-0-bg
- cyan-graph-1-bg)
- :foreground "black"))) ; special case
- `(org-habit-ready-future-face ((,class ,@(modus-themes--agenda-habit
- green-graph-1-bg
- green-graph-0-bg
- green-graph-1-bg
- cyan-graph-1-bg
- blue-graph-0-bg
- cyan-graph-1-bg))))
- `(org-headline-done ((,class :inherit (modus-themes-variable-pitch modus-themes-grue-nuanced))))
- `(org-headline-todo ((,class :inherit modus-themes-variable-pitch :foreground ,red-nuanced-fg)))
- `(org-hide ((,class :foreground ,bg-main)))
- `(org-indent ((,class :inherit (fixed-pitch org-hide))))
- `(org-imminent-deadline ((,class :foreground ,red-intense)))
- `(org-latex-and-related ((,class :foreground ,magenta-faint)))
- `(org-level-1 ((,class :inherit modus-themes-heading-1)))
- `(org-level-2 ((,class :inherit modus-themes-heading-2)))
- `(org-level-3 ((,class :inherit modus-themes-heading-3)))
- `(org-level-4 ((,class :inherit modus-themes-heading-4)))
- `(org-level-5 ((,class :inherit modus-themes-heading-5)))
- `(org-level-6 ((,class :inherit modus-themes-heading-6)))
- `(org-level-7 ((,class :inherit modus-themes-heading-7)))
- `(org-level-8 ((,class :inherit modus-themes-heading-8)))
- `(org-link ((,class :inherit button)))
- `(org-list-dt ((,class :inherit bold)))
- `(org-macro ((,class :inherit modus-themes-markup-macro)))
- `(org-meta-line ((,class :inherit (shadow modus-themes-fixed-pitch))))
- `(org-mode-line-clock ((,class :foreground ,fg-main)))
- `(org-mode-line-clock-overrun ((,class :inherit bold :foreground ,red-active)))
- `(org-priority ((,class :foreground ,magenta)))
- `(org-property-value ((,class :inherit modus-themes-fixed-pitch :foreground ,fg-special-cold)))
- `(org-quote ((,class ,@(modus-themes--org-block bg-dim fg-special-cold fg-main))))
- `(org-scheduled ((,class ,@(modus-themes--agenda-scheduled yellow-faint fg-special-warm magenta-alt))))
- `(org-scheduled-previously ((,class ,@(modus-themes--agenda-scheduled yellow fg-special-warm yellow-alt-other))))
- `(org-scheduled-today ((,class ,@(modus-themes--agenda-scheduled yellow fg-special-warm magenta-alt-other))))
- `(org-sexp-date ((,class :foreground ,cyan-alt-other)))
- `(org-special-keyword ((,class :inherit (shadow modus-themes-fixed-pitch))))
- `(org-table ((,class :inherit modus-themes-fixed-pitch :foreground ,fg-special-cold)))
- `(org-table-header ((,class :inherit (fixed-pitch modus-themes-special-cold))))
- `(org-tag ((,class :foreground ,magenta-nuanced-fg)))
- `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced-fg)))
- `(org-target ((,class :underline t)))
- `(org-time-grid ((,class :inherit shadow)))
- `(org-todo ((,class :foreground ,red)))
- `(org-upcoming-deadline ((,class :foreground ,red-alt-other)))
- `(org-upcoming-distant-deadline ((,class :foreground ,red-faint)))
- `(org-verbatim ((,class :inherit modus-themes-markup-verbatim)))
- `(org-verse ((,class :inherit org-quote)))
- `(org-warning ((,class :inherit bold :foreground ,red-alt-other)))
+ `(org-agenda-calendar-daterange ((,c :foreground ,date-range)))
+ `(org-agenda-calendar-event ((,c :foreground ,date-event)))
+ `(org-agenda-calendar-sexp ((,c :inherit (modus-themes-slant org-agenda-calendar-event))))
+ `(org-agenda-clocking ((,c :inherit bold :background ,bg-active-argument :foreground ,fg-active-argument)))
+ `(org-agenda-column-dateline ((,c :background ,bg-inactive)))
+ `(org-agenda-current-time ((,c :foreground ,date-now)))
+ `(org-agenda-date ((,c ,@(modus-themes--heading 'agenda-date date-weekday))))
+ `(org-agenda-date-today ((,c :inherit org-agenda-date :underline t)))
+ `(org-agenda-date-weekend ((,c :inherit org-agenda-date :foreground ,date-weekend)))
+ `(org-agenda-date-weekend-today ((,c :inherit org-agenda-date-today :foreground ,date-weekend)))
+ `(org-agenda-diary ((,c :inherit org-agenda-calendar-sexp)))
+ `(org-agenda-dimmed-todo-face ((,c :inherit shadow)))
+ `(org-agenda-done ((,c :inherit org-done)))
+ `(org-agenda-filter-category ((,c :inherit bold :foreground ,modeline-err)))
+ `(org-agenda-filter-effort ((,c :inherit bold :foreground ,modeline-err)))
+ `(org-agenda-filter-regexp ((,c :inherit bold :foreground ,modeline-err)))
+ `(org-agenda-filter-tags ((,c :inherit bold :foreground ,modeline-err)))
+ `(org-agenda-restriction-lock ((,c :background ,bg-dim :foreground ,fg-dim)))
+ `(org-agenda-structure ((,c ,@(modus-themes--heading 'agenda-structure fg-alt))))
+ `(org-agenda-structure-filter ((,c :inherit org-agenda-structure :foreground ,warning)))
+ `(org-agenda-structure-secondary ((,c :inherit font-lock-doc-face)))
+ `(org-archived ((,c :background ,bg-inactive :foreground ,fg-main)))
+ `(org-block ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-block-contents :extend t)))
+ `(org-block-begin-line ((,c :inherit modus-themes-fixed-pitch :background ,bg-prose-block-delimiter :foreground ,fg-prose-block-delimiter :extend t)))
+ `(org-block-end-line ((,c :inherit org-block-begin-line)))
+ `(org-checkbox ((,c :inherit modus-themes-fixed-pitch :foreground ,warning)))
+ `(org-checkbox-statistics-done ((,c :inherit org-done)))
+ `(org-checkbox-statistics-todo ((,c :inherit org-todo)))
+ `(org-clock-overlay ((,c :inherit secondary-selection)))
+ `(org-code ((,c :inherit modus-themes-prose-code)))
+ `(org-column ((,c :inherit default :background ,bg-dim)))
+ `(org-column-title ((,c :inherit (bold default) :underline t :background ,bg-dim)))
+ `(org-date ((,c :inherit modus-themes-fixed-pitch :foreground ,date-common)))
+ `(org-date-selected ((,c :foreground ,date-common :inverse-video t)))
+ ;; NOTE 2024-03-17: Normally we do not want to add this padding
+ ;; with the :box, but I do it here because the keys are otherwise
+ ;; very hard to read. The square brackets around them are not
+ ;; colored, which is what is causing the problem.
+ `(org-dispatcher-highlight ((,c :inherit modus-themes-bold :box (:line-width 2 :color ,bg-hover-secondary) :background ,bg-hover-secondary :foreground ,fg-main)))
+ `(org-document-info ((,c :foreground ,prose-metadata-value)))
+ `(org-document-info-keyword ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata)))
+ `(org-document-title ((,c :inherit modus-themes-heading-0)))
+ `(org-done ((,c :foreground ,prose-done)))
+ `(org-drawer ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata)))
+ `(org-ellipsis (( ))) ; inherits from the heading's color
+ `(org-footnote ((,c :inherit link)))
+ `(org-formula ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-table-formula)))
+ `(org-headline-done ((,c :inherit org-done)))
+ `(org-headline-todo ((,c :inherit org-todo)))
+ `(org-hide ((,c :foreground ,bg-main)))
+ `(org-indent ((,c :inherit (fixed-pitch org-hide))))
+ `(org-imminent-deadline ((,c :inherit modus-themes-bold :foreground ,date-deadline)))
+ `(org-latex-and-related ((,c :foreground ,type)))
+ `(org-level-1 ((,c :inherit modus-themes-heading-1)))
+ `(org-level-2 ((,c :inherit modus-themes-heading-2)))
+ `(org-level-3 ((,c :inherit modus-themes-heading-3)))
+ `(org-level-4 ((,c :inherit modus-themes-heading-4)))
+ `(org-level-5 ((,c :inherit modus-themes-heading-5)))
+ `(org-level-6 ((,c :inherit modus-themes-heading-6)))
+ `(org-level-7 ((,c :inherit modus-themes-heading-7)))
+ `(org-level-8 ((,c :inherit modus-themes-heading-8)))
+ `(org-link ((,c :inherit link)))
+ `(org-list-dt ((,c :inherit bold)))
+ `(org-macro ((,c :inherit modus-themes-prose-macro)))
+ `(org-meta-line ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata)))
+ `(org-mode-line-clock (( )))
+ `(org-mode-line-clock-overrun ((,c :inherit bold :foreground ,modeline-err)))
+ `(org-priority ((,c :foreground ,prose-tag)))
+ `(org-property-value ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata-value)))
+ `(org-quote ((,c :inherit org-block)))
+ `(org-scheduled ((,c :foreground ,date-scheduled)))
+ `(org-scheduled-previously ((,c :inherit org-scheduled)))
+ `(org-scheduled-today ((,c :inherit (modus-themes-bold org-scheduled))))
+ `(org-sexp-date ((,c :foreground ,date-common)))
+ `(org-special-keyword ((,c :inherit org-drawer)))
+ `(org-table ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-table)))
+ `(org-table-header ((,c :inherit (bold org-table))))
+ `(org-tag ((,c :foreground ,prose-tag)))
+ `(org-tag-group ((,c :inherit (bold org-tag))))
+ `(org-target ((,c :underline t)))
+ `(org-time-grid ((,c :foreground ,fg-dim)))
+ `(org-todo ((,c :foreground ,prose-todo)))
+ `(org-upcoming-deadline ((,c :foreground ,date-deadline)))
+ `(org-upcoming-distant-deadline ((,c :inherit org-upcoming-deadline)))
+ `(org-verbatim ((,c :inherit modus-themes-prose-verbatim)))
+ `(org-verse ((,c :inherit org-block)))
+ `(org-warning ((,c :inherit warning)))
+;;;;; org-habit
+ `(org-habit-alert-face ((,c :background ,bg-graph-yellow-0 :foreground "#000000"))) ; fg is special case
+ `(org-habit-alert-future-face ((,c :background ,bg-graph-yellow-1)))
+ `(org-habit-clear-face ((,c :background ,bg-graph-blue-0 :foreground "#000000"))) ; fg is special case
+ `(org-habit-clear-future-face ((,c :background ,bg-graph-blue-1)))
+ `(org-habit-overdue-face ((,c :background ,bg-graph-red-0)))
+ `(org-habit-overdue-future-face ((,c :background ,bg-graph-red-1)))
+ `(org-habit-ready-face ((,c :background ,bg-graph-green-0 :foreground "#000000"))) ; fg is special case
+ `(org-habit-ready-future-face ((,c :background ,bg-graph-green-1)))
;;;;; org-journal
- `(org-journal-calendar-entry-face ((,class :inherit modus-themes-slant :foreground ,yellow-alt-other)))
- `(org-journal-calendar-scheduled-face ((,class :inherit modus-themes-slant :foreground ,red-alt-other)))
- `(org-journal-highlight ((,class :foreground ,magenta-alt)))
+ `(org-journal-calendar-entry-face ((,c :inherit modus-themes-slant :foreground ,date-common)))
+ `(org-journal-calendar-scheduled-face ((,c :inherit (modus-themes-slant org-scheduled))))
+ `(org-journal-highlight ((,c :foreground ,err)))
;;;;; org-noter
- `(org-noter-no-notes-exist-face ((,class :inherit error)))
- `(org-noter-notes-exist-face ((,class :inherit success)))
+ `(org-noter-no-notes-exist-face ((,c :inherit error)))
+ `(org-noter-notes-exist-face ((,c :inherit success)))
;;;;; org-pomodoro
- `(org-pomodoro-mode-line ((,class :foreground ,red-active)))
- `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active)))
- `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground ,red-active)))
+ `(org-pomodoro-mode-line ((,c :foreground ,err)))
+ `(org-pomodoro-mode-line-break ((,c :foreground ,info)))
+ `(org-pomodoro-mode-line-overtime ((,c :inherit error)))
;;;;; org-recur
- `(org-recur ((,class :foreground ,magenta-active)))
+ `(org-recur ((,c :foreground ,fg-alt)))
;;;;; org-roam
- `(org-roam-dim ((,class :foreground "gray50")))
- `(org-roam-header-line ((,class :inherit bold :foreground ,magenta-active)))
- `(org-roam-olp ((,class :inherit shadow)))
- `(org-roam-preview-heading ((,class :inherit modus-themes-subtle-neutral)))
- `(org-roam-preview-heading-highlight ((,class :inherit modus-themes-intense-neutral)))
- `(org-roam-preview-heading-selection ((,class :inherit modus-themes-special-cold)))
- `(org-roam-preview-region ((,class :inherit bold)))
- `(org-roam-title ((,class :inherit modus-themes-pseudo-header)))
+ `(org-roam-dim ((,c :foreground "gray50")))
+ `(org-roam-olp ((,c :inherit shadow)))
+ `(org-roam-preview-heading ((,c :background ,bg-inactive)))
+ `(org-roam-preview-heading-highlight ((,c :background ,bg-active :foreground ,fg-main)))
+ `(org-roam-preview-region ((,c :inherit bold)))
+ `(org-roam-title ((,c :inherit bold)))
;;;;; org-superstar
- `(org-superstar-item ((,class :foreground ,fg-main)))
- `(org-superstar-leading ((,class :foreground ,fg-whitespace)))
-;;;;; org-table-sticky-header
- `(org-table-sticky-header-face ((,class :inherit modus-themes-special-cold)))
+ `(org-superstar-item ((,c :foreground ,fg-main)))
;;;;; org-tree-slide
- `(org-tree-slide-header-overlay-face ((,class :inherit org-document-title)))
+ `(org-tree-slide-header-overlay-face ((,c :inherit org-document-title)))
;;;;; origami
- `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t)))
- `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt)))
+ `(origami-fold-header-face ((,c :background ,bg-dim :foreground ,fg-dim :box t)))
+ `(origami-fold-replacement-face ((,c :background ,bg-inactive :foreground ,fg-dim)))
;;;;; outline-mode
- `(outline-1 ((,class :inherit modus-themes-heading-1)))
- `(outline-2 ((,class :inherit modus-themes-heading-2)))
- `(outline-3 ((,class :inherit modus-themes-heading-3)))
- `(outline-4 ((,class :inherit modus-themes-heading-4)))
- `(outline-5 ((,class :inherit modus-themes-heading-5)))
- `(outline-6 ((,class :inherit modus-themes-heading-6)))
- `(outline-7 ((,class :inherit modus-themes-heading-7)))
- `(outline-8 ((,class :inherit modus-themes-heading-8)))
+ `(outline-1 ((,c :inherit modus-themes-heading-1)))
+ `(outline-2 ((,c :inherit modus-themes-heading-2)))
+ `(outline-3 ((,c :inherit modus-themes-heading-3)))
+ `(outline-4 ((,c :inherit modus-themes-heading-4)))
+ `(outline-5 ((,c :inherit modus-themes-heading-5)))
+ `(outline-6 ((,c :inherit modus-themes-heading-6)))
+ `(outline-7 ((,c :inherit modus-themes-heading-7)))
+ `(outline-8 ((,c :inherit modus-themes-heading-8)))
;;;;; outline-minor-faces
`(outline-minor-0 (()))
;;;;; package (M-x list-packages)
- `(package-description ((,class :foreground ,fg-special-cold)))
- `(package-help-section-name ((,class :inherit bold :foreground ,cyan)))
- `(package-name ((,class :inherit button)))
- `(package-status-available ((,class :foreground ,cyan-alt-other)))
- `(package-status-avail-obso ((,class :inherit error)))
- `(package-status-built-in ((,class :foreground ,magenta)))
- `(package-status-dependency ((,class :foreground ,magenta-alt-other)))
- `(package-status-disabled ((,class :inherit modus-themes-subtle-red)))
- `(package-status-external ((,class :foreground ,cyan-alt-other)))
- `(package-status-held ((,class :foreground ,yellow-alt)))
- `(package-status-incompat ((,class :inherit warning)))
- `(package-status-installed ((,class :foreground ,fg-special-warm)))
- `(package-status-new ((,class :inherit success)))
- `(package-status-unsigned ((,class :inherit error)))
+ `(package-description ((,c :foreground ,docstring)))
+ `(package-help-section-name ((,c :inherit bold)))
+ `(package-name ((,c :inherit link)))
+ `(package-status-available ((,c :foreground ,date-common)))
+ `(package-status-avail-obso ((,c :inherit error)))
+ `(package-status-built-in ((,c :foreground ,builtin)))
+ `(package-status-dependency ((,c :foreground ,warning)))
+ `(package-status-disabled ((,c :inherit error :strike-through t)))
+ `(package-status-from-source ((,c :foreground ,type)))
+ `(package-status-held ((,c :foreground ,warning)))
+ `(package-status-incompat ((,c :inherit warning)))
+ `(package-status-installed ((,c :foreground ,fg-alt)))
+ `(package-status-new ((,c :inherit success)))
+ `(package-status-unsigned ((,c :inherit error)))
;;;;; page-break-lines
- `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer)))
+ `(page-break-lines ((,c :inherit default :foreground "gray50")))
;;;;; pandoc-mode
- `(pandoc-citation-key-face ((,class :background ,bg-dim :foreground ,magenta-alt)))
- `(pandoc-directive-@@-face ((,class :background ,bg-dim :foreground ,blue-alt-other)))
- `(pandoc-directive-braces-face ((,class :foreground ,blue-alt-other)))
- `(pandoc-directive-contents-face ((,class :foreground ,cyan-alt-other)))
- `(pandoc-directive-type-face ((,class :foreground ,magenta)))
+ `(pandoc-citation-key-face ((,c :inherit font-lock-builtin-face)))
+ `(pandoc-directive-@@-face ((,c :inherit font-lock-keyword-face)))
+ `(pandoc-directive-braces-face ((,c :inherit font-lock-constant-face)))
+ `(pandoc-directive-contents-face ((,c :inherit font-lock-string-face)))
+ `(pandoc-directive-type-face ((,c :inherit font-lock-type-face)))
;;;;; paren-face
- `(parenthesis ((,class :foreground ,fg-unfocused)))
+ `(parenthesis ((,c :inherit shadow)))
;;;;; pass
- `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold)))
- `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main)))
- `(pass-mode-header-face ((,class :foreground ,fg-special-warm)))
+ `(pass-mode-directory-face ((,c :inherit bold :foreground ,accent-0)))
+ `(pass-mode-entry-face ((,c :background ,bg-main :foreground ,fg-main)))
+ `(pass-mode-header-face ((,c :inherit shadow)))
;;;;; pdf-tools
- `(pdf-links-read-link ((,class :background ,fg-main :foreground ,magenta-intense-bg :inherit bold))) ; Foreground is background and vice versa
- `(pdf-occur-document-face ((,class :inherit shadow)))
- `(pdf-occur-page-face ((,class :inherit shadow)))
+ `(pdf-links-read-link ((,c :background ,fg-main :foreground ,bg-magenta-intense :inherit bold))) ; Foreground is background and vice versa
+ `(pdf-occur-document-face ((,c :inherit shadow)))
+ `(pdf-occur-page-face ((,c :inherit shadow)))
;;;;; persp-mode
- `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-themes-intense-red)))
- `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active)))
- `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active)))
+ `(persp-face-lighter-buffer-not-in-persp ((,c :inherit error)))
+ `(persp-face-lighter-default ((,c :inherit bold :foreground ,name)))
+ `(persp-face-lighter-nil-persp ((,c :inherit bold)))
;;;;; perspective
- `(persp-selected-face ((,class :inherit bold :foreground ,blue-active)))
-;;;;; phi-grep
- `(phi-grep-heading-face ((,class :inherit modus-themes-pseudo-header :foreground ,fg-special-cold)))
- `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm)))
- `(phi-grep-match-face ((,class :inherit modus-themes-special-calm)))
- `(phi-grep-modified-face ((,class :inherit modus-themes-refine-yellow)))
- `(phi-grep-overlay-face ((,class :inherit modus-themes-refine-blue)))
-;;;;; pomidor
- `(pomidor-break-face ((,class :foreground ,blue-alt-other)))
- `(pomidor-overwork-face ((,class :foreground ,red-alt-other)))
- `(pomidor-skip-face ((,class :inherit (shadow modus-themes-slant))))
- `(pomidor-work-face ((,class :inherit modus-themes-grue)))
+ `(persp-selected-face ((,c :inherit bold :foreground ,name)))
+;;;;; proced
+ `(proced-cpu ((,c :foreground ,keyword)))
+ `(proced-emacs-pid ((,c :foreground ,identifier :underline t)))
+ `(proced-executable ((,c :foreground ,name)))
+ `(proced-interruptible-sleep-status-code ((,c :inherit shadow)))
+ `(proced-mem ((,c :foreground ,type)))
+ `(proced-memory-high-usage ((,c :foreground ,err)))
+ `(proced-memory-low-usage ((,c :foreground ,info)))
+ `(proced-memory-medium-usage ((,c :foreground ,warning)))
+ `(proced-pgrp ((,c :inherit proced-pid)))
+ `(proced-pid ((,c :foreground ,identifier)))
+ `(proced-ppid ((,c :inherit proced-pid)))
+ `(proced-run-status-code ((,c :inherit success)))
+ `(proced-sess ((,c :inherit proced-pid)))
+ `(proced-session-leader-pid ((,c :inherit bold :foreground ,identifier)))
+ `(proced-time-colon (( )))
+ `(proced-uninterruptible-sleep-status-code ((,c :inherit error)))
+ `(proced-user (( )))
;;;;; popup
- `(popup-face ((,class :background ,bg-alt :foreground ,fg-main)))
- `(popup-isearch-match ((,class :inherit modus-themes-search-success)))
- `(popup-menu-mouse-face ((,class :inherit highlight)))
- `(popup-menu-selection-face ((,class :inherit modus-themes-completion-selected-popup)))
- `(popup-scroll-bar-background-face ((,class :background ,bg-active)))
- `(popup-scroll-bar-foreground-face ((,class :foreground ,fg-active)))
- `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive)))
- `(popup-tip-face ((,class :inherit modus-themes-refine-yellow)))
+ `(popup-face ((,c :background ,bg-inactive :foreground ,fg-main)))
+ `(popup-isearch-match ((,c :inherit modus-themes-search-current)))
+ `(popup-menu-mouse-face ((,c :inherit highlight)))
+ `(popup-menu-selection-face ((,c :inherit modus-themes-completion-selected)))
+ `(popup-scroll-bar-background-face ((,c :background ,bg-active)))
+ `(popup-scroll-bar-foreground-face (( )))
+ `(popup-summary-face ((,c :background ,bg-active :foreground ,fg-dim)))
+ `(popup-tip-face ((,c :inherit modus-themes-intense-yellow)))
;;;;; powerline
- `(powerline-active0 ((,class :background ,fg-unfocused :foreground ,bg-main)))
- `(powerline-active1 ((,class :inherit mode-line-active)))
- `(powerline-active2 ((,class :inherit mode-line-inactive)))
- `(powerline-inactive0 ((,class :background ,bg-active :foreground ,fg-alt)))
- `(powerline-inactive1 ((,class :background ,bg-main :foreground ,fg-alt)))
- `(powerline-inactive2 ((,class :inherit mode-line-inactive)))
+ `(powerline-active0 ((,c :background ,fg-dim :foreground ,bg-main)))
+ `(powerline-active1 ((,c :inherit mode-line)))
+ `(powerline-active2 ((,c :inherit mode-line-inactive)))
+ `(powerline-inactive0 ((,c :background ,bg-active :foreground ,fg-dim)))
+ `(powerline-inactive1 ((,c :background ,bg-main :foreground ,fg-dim)))
+ `(powerline-inactive2 ((,c :inherit mode-line-inactive)))
;;;;; powerline-evil
- `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main)))
- `(powerline-evil-emacs-face ((,class :inherit modus-themes-active-magenta)))
- `(powerline-evil-insert-face ((,class :inherit modus-themes-active-green)))
- `(powerline-evil-motion-face ((,class :inherit modus-themes-active-blue)))
- `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main)))
- `(powerline-evil-operator-face ((,class :inherit modus-themes-active-yellow)))
- `(powerline-evil-replace-face ((,class :inherit modus-themes-active-red)))
- `(powerline-evil-visual-face ((,class :inherit modus-themes-active-cyan)))
+ `(powerline-evil-base-face ((,c :background ,fg-main :foreground ,bg-main)))
+ `(powerline-evil-emacs-face ((,c :inherit bold :background ,bg-main)))
+ `(powerline-evil-insert-face ((,c :inherit success :background ,bg-main)))
+ `(powerline-evil-motion-face ((,c :inherit italic :background ,bg-main)))
+ `(powerline-evil-normal-face ((,c :background ,bg-main :foreground ,fg-alt)))
+ `(powerline-evil-operator-face ((,c :inherit warning :background ,bg-main)))
+ `(powerline-evil-replace-face ((,c :inherit error :background ,bg-main)))
+ `(powerline-evil-visual-face ((,c :inherit bold :background ,bg-main)))
;;;;; prescient
- `(prescient-primary-highlight ((,class :inherit modus-themes-completion-match-0)))
- `(prescient-secondary-highlight ((,class :inherit modus-themes-completion-match-1)))
+ `(prescient-primary-highlight ((,c :inherit modus-themes-completion-match-0)))
+ `(prescient-secondary-highlight ((,c :inherit modus-themes-completion-match-1)))
;;;;; proced
- `(proced-mark ((,class :inherit modus-themes-mark-symbol)))
- `(proced-marked ((,class :inherit modus-themes-mark-alt)))
- `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t)))
+ `(proced-mark ((,c :inherit bold)))
+ `(proced-marked ((,c :inherit modus-themes-mark-alt)))
+ `(proced-sort-header ((,c :inherit bold :underline t)))
;;;;; prodigy
- `(prodigy-green-face ((,class :inherit success)))
- `(prodigy-red-face ((,class :inherit error)))
- `(prodigy-yellow-face ((,class :inherit warning)))
+ `(prodigy-green-face ((,c :inherit success)))
+ `(prodigy-red-face ((,c :inherit error)))
+ `(prodigy-yellow-face ((,c :inherit warning)))
;;;;; pulse
- `(pulse-highlight-start-face ((,class :background ,bg-active-accent :extend t)))
+ `(pulse-highlight-start-face ((,c :background ,bg-blue-intense :extend t)))
;;;;; pyim
- `(pyim-page ((,class :background ,bg-active :foreground ,fg-active)))
- `(pyim-page-selection ((,class :inherit bold :background ,bg-active :foreground ,blue-active)))
- `(pyim-page-subword ((,class :background ,bg-inactive)))
+ `(pyim-page ((,c :background ,bg-active)))
+ `(pyim-page-selection ((,c :inherit bold :background ,bg-active :foreground ,info)))
+ `(pyim-page-subword ((,c :background ,bg-inactive)))
;;;;; quick-peek
- `(quick-peek-background-face ((,class :background ,bg-alt)))
- `(quick-peek-border-face ((,class :background ,fg-window-divider-inner :height 1)))
- `(quick-peek-padding-face ((,class :background ,bg-alt :height 0.15)))
-;;;;; racket-mode
- `(racket-debug-break-face ((,class :inherit modus-themes-intense-red)))
- `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil)
- :foreground ,green-alt-other)))
- `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil)
- :foreground ,green)))
- `(racket-here-string-face ((,class :foreground ,blue-alt)))
- `(racket-keyword-argument-face ((,class :foreground ,red-alt)))
- `(racket-logger-config-face ((,class :inherit (shadow modus-themes-slant))))
- `(racket-logger-debug-face ((,class :foreground ,blue-alt-other)))
- `(racket-logger-info-face ((,class :foreground ,fg-lang-note)))
- `(racket-logger-topic-face ((,class :inherit modus-themes-slant :foreground ,magenta)))
- `(racket-selfeval-face ((,class :foreground ,green-alt)))
- `(racket-xp-error-face ((,class :inherit modus-themes-lang-error)))
-;;;;; rainbow-blocks
- `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other)))
- `(rainbow-blocks-depth-2-face ((,class :foreground ,blue)))
- `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt)))
- `(rainbow-blocks-depth-4-face ((,class :foreground ,green)))
- `(rainbow-blocks-depth-5-face ((,class :foreground ,magenta)))
- `(rainbow-blocks-depth-6-face ((,class :foreground ,cyan)))
- `(rainbow-blocks-depth-7-face ((,class :foreground ,yellow)))
- `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt)))
- `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt)))
- `(rainbow-blocks-unmatched-face ((,class :foreground ,red)))
+ `(quick-peek-background-face ((,c :background ,bg-inactive)))
+ `(quick-peek-border-face ((,c :background ,border :height 1)))
+ `(quick-peek-padding-face ((,c :background ,bg-inactive :height 0.15)))
;;;;; rainbow-delimiters
- `(rainbow-delimiters-base-error-face ((,class :background ,red-subtle-bg :foreground ,fg-main)))
- `(rainbow-delimiters-base-face ((,class :foreground ,fg-main)))
- `(rainbow-delimiters-depth-1-face ((,class :foreground ,fg-main)))
- `(rainbow-delimiters-depth-2-face ((,class :foreground ,magenta-intense)))
- `(rainbow-delimiters-depth-3-face ((,class :foreground ,cyan-intense)))
- `(rainbow-delimiters-depth-4-face ((,class :foreground ,orange-intense)))
- `(rainbow-delimiters-depth-5-face ((,class :foreground ,purple-intense)))
- `(rainbow-delimiters-depth-6-face ((,class :foreground ,green-intense)))
- `(rainbow-delimiters-depth-7-face ((,class :foreground ,red-intense)))
- `(rainbow-delimiters-depth-8-face ((,class :foreground ,blue-intense)))
- `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-intense)))
- `(rainbow-delimiters-mismatched-face ((,class :inherit (bold modus-themes-refine-yellow))))
- `(rainbow-delimiters-unmatched-face ((,class :inherit (bold modus-themes-refine-red))))
+ `(rainbow-delimiters-base-error-face ((,c :inherit modus-themes-prominent-error)))
+ `(rainbow-delimiters-base-face ((,c :foreground ,fg-main)))
+ `(rainbow-delimiters-depth-1-face ((,c :foreground ,rainbow-0)))
+ `(rainbow-delimiters-depth-2-face ((,c :foreground ,rainbow-1)))
+ `(rainbow-delimiters-depth-3-face ((,c :foreground ,rainbow-2)))
+ `(rainbow-delimiters-depth-4-face ((,c :foreground ,rainbow-3)))
+ `(rainbow-delimiters-depth-5-face ((,c :foreground ,rainbow-4)))
+ `(rainbow-delimiters-depth-6-face ((,c :foreground ,rainbow-5)))
+ `(rainbow-delimiters-depth-7-face ((,c :foreground ,rainbow-6)))
+ `(rainbow-delimiters-depth-8-face ((,c :foreground ,rainbow-7)))
+ `(rainbow-delimiters-depth-9-face ((,c :foreground ,rainbow-8)))
+ `(rainbow-delimiters-mismatched-face ((,c :inherit (bold modus-themes-prominent-warning))))
+ `(rainbow-delimiters-unmatched-face ((,c :inherit (bold modus-themes-prominent-error))))
;;;;; rcirc
- `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-intense)))
- `(rcirc-dim-nick ((,class :inherit shadow)))
- `(rcirc-monospace-text ((,class :inherit fixed-pitch)))
- `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta)))
- `(rcirc-nick-in-message ((,class :inherit bold :foreground ,red-alt)))
- `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,cyan-alt-other)))
- `(rcirc-other-nick ((,class :inherit bold :foreground ,blue)))
- `(rcirc-prompt ((,class :inherit modus-themes-prompt)))
- `(rcirc-server ((,class :inherit shadow)))
- `(rcirc-timestamp ((,class :foreground ,cyan)))
- `(rcirc-track-keyword ((,class :inherit bold)))
- `(rcirc-track-nick ((,class :inherit bold :foreground ,red-active)))
- `(rcirc-url ((,class :inherit link)))
+ `(rcirc-bright-nick ((,c :inherit bold :foreground ,accent-2)))
+ `(rcirc-dim-nick ((,c :inherit shadow)))
+ `(rcirc-monospace-text ((,c :inherit fixed-pitch)))
+ `(rcirc-my-nick ((,c :inherit bold :foreground ,accent-1)))
+ `(rcirc-nick-in-message ((,c :inherit rcirc-my-nick)))
+ `(rcirc-nick-in-message-full-line ((,c :inherit rcirc-my-nick)))
+ `(rcirc-other-nick ((,c :inherit bold :foreground ,accent-0)))
+ `(rcirc-prompt ((,c :inherit minibuffer-prompt)))
+ `(rcirc-server ((,c :inherit font-lock-comment-face)))
+ `(rcirc-timestamp ((,c :foreground ,date-common)))
+ `(rcirc-track-keyword ((,c :inherit bold :foreground ,modeline-warning)))
+ `(rcirc-track-nick ((,c :inherit rcirc-my-nick)))
+ `(rcirc-url ((,c :inherit link)))
;;;;; recursion-indicator
- `(recursion-indicator-general ((,class :foreground ,blue-active)))
- `(recursion-indicator-minibuffer ((,class :foreground ,red-active)))
+ `(recursion-indicator-general ((,c :foreground ,modeline-err)))
+ `(recursion-indicator-minibuffer ((,c :foreground ,modeline-info)))
;;;;; regexp-builder (re-builder)
- `(reb-match-0 ((,class :inherit modus-themes-refine-cyan)))
- `(reb-match-1 ((,class :inherit modus-themes-subtle-magenta)))
- `(reb-match-2 ((,class :inherit modus-themes-subtle-green)))
- `(reb-match-3 ((,class :inherit modus-themes-refine-yellow)))
- `(reb-regexp-grouping-backslash ((,class :inherit font-lock-regexp-grouping-backslash)))
- `(reb-regexp-grouping-construct ((,class :inherit font-lock-regexp-grouping-construct)))
+ `(reb-match-0 ((,c :inherit modus-themes-search-rx-group-0)))
+ `(reb-match-1 ((,c :inherit modus-themes-search-rx-group-1)))
+ `(reb-match-2 ((,c :inherit modus-themes-search-rx-group-2)))
+ `(reb-match-3 ((,c :inherit modus-themes-search-rx-group-3)))
+ `(reb-regexp-grouping-backslash ((,c :inherit font-lock-regexp-grouping-backslash)))
+ `(reb-regexp-grouping-construct ((,c :inherit font-lock-regexp-grouping-construct)))
;;;;; rg (rg.el)
- `(rg-column-number-face ((,class :foreground ,magenta-alt-other)))
- `(rg-context-face ((,class :foreground ,fg-unfocused)))
- `(rg-error-face ((,class :inherit bold :foreground ,red)))
- `(rg-file-tag-face ((,class :foreground ,fg-special-cold)))
- `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
- `(rg-line-number-face ((,class :foreground ,fg-special-warm)))
- `(rg-literal-face ((,class :foreground ,blue-alt)))
- `(rg-match-face ((,class :inherit modus-themes-special-calm)))
- `(rg-regexp-face ((,class :foreground ,magenta-active)))
- `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive)))
- `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active)))
- `(rg-warning-face ((,class :inherit bold :foreground ,yellow)))
+ `(rg-column-number-face ((,c :inherit shadow)))
+ `(rg-context-face ((,c :inherit shadow)))
+ `(rg-error-face ((,c :inherit error)))
+ `(rg-file-tag-face ((,c :inherit font-lock-builtin-face)))
+ `(rg-filename-face ((,c :inherit bold :foreground ,name)))
+ `(rg-line-number-face ((,c :inherit shadow)))
+ `(rg-literal-face ((,c :inherit font-lock-constant-face)))
+ `(rg-match-face ((,c :inherit match)))
+ `(rg-regexp-face ((,c :foreground ,name)))
+ `(rg-toggle-off-face ((,c :inherit (shadow bold))))
+ `(rg-toggle-on-face ((,c :inherit success)))
+ `(rg-warning-face ((,c :inherit warning)))
;;;;; ripgrep
- `(ripgrep-context-face ((,class :foreground ,fg-unfocused)))
- `(ripgrep-error-face ((,class :inherit bold :foreground ,red)))
- `(ripgrep-hit-face ((,class :foreground ,cyan)))
- `(ripgrep-match-face ((,class :inherit modus-themes-special-calm)))
+ `(ripgrep-context-face ((,c :inherit shadow)))
+ `(ripgrep-error-face ((,c :inherit error)))
+ `(ripgrep-hit-face ((,c :inherit success)))
+ `(ripgrep-match-face ((,c :inherit match)))
;;;;; rmail
- `(rmail-header-name ((,class :foreground ,cyan-alt-other)))
- `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt)))
+ `(rmail-header-name ((,c :inherit bold)))
+ `(rmail-highlight ((,c :inherit bold :foreground ,mail-other)))
+;;;;; rst-mode
+ `(rst-level-1 ((,c :inherit modus-themes-heading-1)))
+ `(rst-level-2 ((,c :inherit modus-themes-heading-2)))
+ `(rst-level-3 ((,c :inherit modus-themes-heading-3)))
+ `(rst-level-4 ((,c :inherit modus-themes-heading-4)))
+ `(rst-level-5 ((,c :inherit modus-themes-heading-5)))
+ `(rst-level-6 ((,c :inherit modus-themes-heading-6)))
;;;;; ruler-mode
- `(ruler-mode-column-number ((,class :inherit ruler-mode-default :foreground ,fg-main)))
- `(ruler-mode-comment-column ((,class :inherit ruler-mode-default :foreground ,red)))
- `(ruler-mode-current-column ((,class :inherit ruler-mode-default :background ,blue-subtle-bg :foreground ,fg-main)))
- `(ruler-mode-default ((,class :inherit default :background ,bg-alt :foreground ,fg-unfocused)))
- `(ruler-mode-fill-column ((,class :inherit ruler-mode-default :foreground ,green)))
- `(ruler-mode-fringes ((,class :inherit ruler-mode-default :foreground ,cyan)))
- `(ruler-mode-goal-column ((,class :inherit ruler-mode-default :foreground ,blue)))
- `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground ,bg-main)))
- `(ruler-mode-pad ((,class :inherit ruler-mode-default :background ,bg-active :foreground ,fg-inactive)))
- `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground ,fg-special-warm)))
-;;;;; selectrum
- `(selectrum-current-candidate ((,class :inherit modus-themes-completion-selected)))
- `(selectrum-mouse-highlight ((,class :inherit highlight)))
- `(selectrum-quick-keys-highlight ((,class :inherit bold :background ,bg-char-0)))
- `(selectrum-quick-keys-match ((,class :inherit bold :background ,bg-char-1)))
-;;;;; semantic
- `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t)))
- `(semantic-decoration-on-fileless-includes ((,class :inherit modus-themes-refine-green)))
- `(semantic-decoration-on-private-members-face ((,class :inherit modus-themes-refine-cyan)))
- `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim)))
- `(semantic-decoration-on-unknown-includes ((,class :inherit modus-themes-refine-red)))
- `(semantic-decoration-on-unparsed-includes ((,class :inherit modus-themes-refine-yellow)))
- `(semantic-highlight-edits-face ((,class :background ,bg-alt)))
- `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt)))
- `(semantic-idle-symbol-highlight ((,class :inherit modus-themes-special-mild)))
- `(semantic-tag-boundary-face ((,class :overline ,blue-intense)))
- `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error)))
+ `(ruler-mode-column-number ((,c :inherit ruler-mode-default)))
+ `(ruler-mode-comment-column ((,c :inherit ruler-mode-default :foreground ,red)))
+ `(ruler-mode-current-column ((,c :inherit ruler-mode-default :background ,bg-active :foreground ,fg-main)))
+ `(ruler-mode-default ((,c :inherit default :background ,bg-dim :foreground ,fg-dim)))
+ `(ruler-mode-fill-column ((,c :inherit ruler-mode-default :foreground ,green)))
+ `(ruler-mode-fringes ((,c :inherit ruler-mode-default :foreground ,cyan)))
+ `(ruler-mode-goal-column ((,c :inherit ruler-mode-default :foreground ,blue)))
+ `(ruler-mode-margins ((,c :inherit ruler-mode-default :foreground ,bg-main)))
+ `(ruler-mode-pad ((,c :inherit ruler-mode-default :background ,bg-inactive :foreground ,fg-dim)))
+ `(ruler-mode-tab-stop ((,c :inherit ruler-mode-default :foreground ,yellow)))
;;;;; sesman
- `(sesman-browser-button-face ((,class :inherit button)))
- `(sesman-browser-highligh-face ((,class :inherit highlight)))
- `(sesman-buffer-face ((,class :foreground ,magenta)))
- `(sesman-directory-face ((,class :inherit bold :foreground ,blue)))
- `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other)))
+ `(sesman-browser-button-face ((,c :inherit button)))
+ `(sesman-browser-highligh-face ((,c :inherit highlight)))
+ `(sesman-buffer-face ((,c :foreground ,accent-1)))
+ `(sesman-directory-face ((,c :inherit bold :foreground ,accent-0)))
+ `(sesman-project-face ((,c :inherit bold :foreground ,accent-2)))
;;;;; shell-script-mode
- `(sh-heredoc ((,class :foreground ,blue-alt)))
- `(sh-quoted-exec ((,class :inherit modus-themes-bold :foreground ,magenta-alt)))
+ `(sh-heredoc ((,c :inherit font-lock-string-face)))
+ `(sh-quoted-exec ((,c :inherit font-lock-builtin-face)))
;;;;; shortdoc
- `(shortdoc-heading ((,class :inherit modus-themes-pseudo-header)))
+ `(shortdoc-heading ((,c :inherit bold)))
`(shortdoc-section (())) ; remove the default's variable-pitch style
;;;;; show-paren-mode
- `(show-paren-match ((,class ,@(modus-themes--paren bg-paren-match
- bg-paren-match-intense)
- :foreground ,fg-main)))
- `(show-paren-match-expression ((,class :background ,bg-paren-expression)))
- `(show-paren-mismatch ((,class :inherit modus-themes-intense-red)))
+ `(show-paren-match ((,c :background ,bg-paren-match :foreground ,fg-paren-match :underline ,underline-paren-match)))
+ `(show-paren-match-expression ((,c :background ,bg-paren-expression)))
+ `(show-paren-mismatch ((,c :inherit modus-themes-prominent-error)))
;;;;; shr
- `(shr-abbreviation ((,class :inherit modus-themes-lang-note)))
- `(shr-code ((,class :inherit modus-themes-markup-verbatim)))
- `(shr-h1 ((,class :inherit modus-themes-heading-1)))
- `(shr-h2 ((,class :inherit modus-themes-heading-2)))
- `(shr-h3 ((,class :inherit modus-themes-heading-3)))
- `(shr-h4 ((,class :inherit modus-themes-heading-4)))
- `(shr-h5 ((,class :inherit modus-themes-heading-5)))
- `(shr-h6 ((,class :inherit modus-themes-heading-6)))
- `(shr-selected-link ((,class :inherit modus-themes-subtle-red)))
+ `(shr-abbreviation ((,c :inherit modus-themes-lang-note)))
+ `(shr-code ((,c :inherit modus-themes-prose-verbatim)))
+ `(shr-h1 ((,c :inherit modus-themes-heading-1)))
+ `(shr-h2 ((,c :inherit modus-themes-heading-2)))
+ `(shr-h3 ((,c :inherit modus-themes-heading-3)))
+ `(shr-h4 ((,c :inherit modus-themes-heading-4)))
+ `(shr-h5 ((,c :inherit modus-themes-heading-5)))
+ `(shr-h6 ((,c :inherit modus-themes-heading-6)))
+ `(shr-mark ((,c :inherit match)))
+ `(shr-selected-link ((,c :inherit modus-themes-mark-sel)))
;;;;; side-notes
- `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim)))
+ `(side-notes ((,c :background ,bg-dim :foreground ,fg-dim)))
;;;;; sieve-mode
- `(sieve-action-commands ((,class :inherit font-lock-builtin-face)))
- `(sieve-control-commands ((,class :inherit font-lock-keyword-face)))
- `(sieve-tagged-arguments ((,class :inherit font-lock-type-face)))
- `(sieve-test-commands ((,class :inherit font-lock-function-name-face)))
+ `(sieve-action-commands ((,c :inherit font-lock-builtin-face)))
+ `(sieve-control-commands ((,c :inherit font-lock-keyword-face)))
+ `(sieve-tagged-arguments ((,c :inherit font-lock-type-face)))
+ `(sieve-test-commands ((,c :inherit font-lock-function-name-face)))
;;;;; skewer-mode
- `(skewer-error-face ((,class :foreground ,red :underline t)))
+ `(skewer-error-face ((,c :inherit modus-themes-lang-error)))
;;;;; slime (sldb)
- `(sldb-condition-face ((,class :inherit font-lock-preprocessor-face)))
- `(sldb-restart-number-face ((,class :inherit bold)))
- `(sldb-restart-type-face ((,class :inherit font-lock-type-face)))
- `(sldb-restartable-frame-line-face ((,class :inherit success)))
- `(sldb-section-face ((,class :inherit modus-themes-pseudo-header)))
- `(slime-error-face ((,class :inherit modus-themes-lang-error)))
- `(slime-note-face ((,class :underline t)))
- `(slime-repl-input-face ((,class :inherit bold)))
- `(slime-repl-inputed-output-face ((,class :inherit font-lock-string-face)))
- `(slime-repl-output-mouseover-face ((,class :inherit highlight)))
- `(slime-repl-prompt-face ((,class :inherit modus-themes-prompt)))
- `(slime-style-warning-face ((,class :inherit modus-themes-lang-note)))
- `(slime-warning-face ((,class :inherit modus-themes-lang-warning)))
+ `(sldb-condition-face ((,c :inherit font-lock-preprocessor-face)))
+ `(sldb-restart-number-face ((,c :inherit bold)))
+ `(sldb-restart-type-face ((,c :inherit font-lock-type-face)))
+ `(sldb-restartable-frame-line-face ((,c :inherit success)))
+ `(sldb-section-face ((,c :inherit bold)))
+ `(slime-error-face ((,c :inherit modus-themes-lang-error)))
+ `(slime-note-face ((,c :underline t)))
+ `(slime-repl-input-face ((,c :inherit bold)))
+ `(slime-repl-inputed-output-face ((,c :inherit font-lock-string-face)))
+ `(slime-repl-output-mouseover-face ((,c :inherit highlight)))
+ `(slime-repl-prompt-face ((,c :inherit modus-themes-prompt)))
+ `(slime-style-warning-face ((,c :inherit modus-themes-lang-note)))
+ `(slime-warning-face ((,c :inherit modus-themes-lang-warning)))
;;;;; sly
- `(sly-action-face ((,class :inherit font-lock-type-face)))
- `(sly-db-condition-face ((,class :inherit font-lock-preprocessor-face)))
- `(sly-db-restartable-frame-line-face ((,class :inherit success)))
- `(sly-error-face ((,class :inherit modus-themes-lang-error)))
- `(sly-mode-line ((,class :inherit mode-line-emphasis)))
- `(sly-mrepl-output-face ((,class :inherit font-lock-string-face)))
- `(sly-mrepl-output-face ((,class :inherit font-lock-string-face)))
- `(sly-mrepl-prompt-face ((,class :inherit modus-themes-prompt)))
- `(sly-note-face ((,class :inherit modus-themes-lang-note)))
- `(sly-stickers-placed-face ((,class :inherit modus-themes-subtle-neutral)))
- `(sly-style-warning-face ((,class :inherit modus-themes-lang-note)))
- `(sly-warning-face ((,class :inherit modus-themes-lang-warning)))
+ `(sly-action-face ((,c :inherit font-lock-type-face)))
+ `(sly-db-condition-face ((,c :inherit font-lock-preprocessor-face)))
+ `(sly-db-restartable-frame-line-face ((,c :inherit success)))
+ `(sly-error-face ((,c :inherit modus-themes-lang-error)))
+ `(sly-mode-line ((,c :inherit mode-line-emphasis)))
+ `(sly-mrepl-output-face ((,c :inherit font-lock-string-face)))
+ `(sly-mrepl-output-face ((,c :inherit font-lock-string-face)))
+ `(sly-mrepl-prompt-face ((,c :inherit modus-themes-prompt)))
+ `(sly-note-face ((,c :inherit modus-themes-lang-note)))
+ `(sly-stickers-placed-face ((,c :background ,bg-inactive)))
+ `(sly-style-warning-face ((,c :inherit modus-themes-lang-note)))
+ `(sly-warning-face ((,c :inherit modus-themes-lang-warning)))
;;;;; smart-mode-line
- `(sml/charging ((,class :foreground ,green-active)))
- `(sml/discharging ((,class :foreground ,red-active)))
- `(sml/filename ((,class :inherit bold :foreground ,blue-active)))
- `(sml/folder ((,class :foreground ,fg-active)))
- `(sml/git ((,class :inherit bold :foreground ,green-active)))
- `(sml/global ((,class :foreground ,fg-active)))
- `(sml/line-number ((,class :inherit sml/global)))
- `(sml/minor-modes ((,class :inherit sml/global)))
- `(sml/modes ((,class :inherit bold :foreground ,fg-active)))
- `(sml/modified ((,class :inherit bold :foreground ,magenta-active)))
- `(sml/mule-info ((,class :inherit sml/global)))
- `(sml/name-filling ((,class :foreground ,yellow-active)))
- `(sml/not-modified ((,class :inherit sml/global)))
- `(sml/numbers-separator ((,class :inherit sml/global)))
- `(sml/outside-modified ((,class :inherit modus-themes-intense-red)))
- `(sml/position-percentage ((,class :inherit sml/global)))
- `(sml/prefix ((,class :foreground ,green-active)))
- `(sml/process ((,class :inherit sml/prefix)))
- `(sml/projectile ((,class :inherit sml/git)))
- `(sml/read-only ((,class :inherit bold :foreground ,cyan-active)))
- `(sml/remote ((,class :inherit sml/global)))
- `(sml/sudo ((,class :inherit modus-themes-subtle-red)))
- `(sml/time ((,class :inherit sml/global)))
- `(sml/vc ((,class :inherit sml/git)))
- `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active)))
-;;;;; smartparens
- `(sp-pair-overlay-face ((,class :inherit modus-themes-special-warm)))
- `(sp-show-pair-enclosing ((,class :inherit modus-themes-special-mild)))
- `(sp-show-pair-match-face ((,class ,@(modus-themes--paren bg-paren-match
- bg-paren-match-intense)
- :foreground ,fg-main)))
- `(sp-show-pair-mismatch-face ((,class :inherit modus-themes-intense-red)))
- `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face)))
- `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face)))
- `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face)))
- `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face)))
+ `(sml/charging ((,c :foreground ,info)))
+ `(sml/discharging ((,c :foreground ,err)))
+ `(sml/filename ((,c :inherit bold :foreground ,name)))
+ `(sml/folder (( )))
+ `(sml/git ((,c :inherit success)))
+ `(sml/global (( )))
+ `(sml/line-number ((,c :inherit sml/global)))
+ `(sml/minor-modes ((,c :inherit sml/global)))
+ `(sml/modes ((,c :inherit bold)))
+ `(sml/modified ((,c :inherit italic)))
+ `(sml/mule-info ((,c :inherit sml/global)))
+ `(sml/name-filling ((,c :inherit warning)))
+ `(sml/not-modified ((,c :inherit sml/global)))
+ `(sml/numbers-separator ((,c :inherit sml/global)))
+ `(sml/outside-modified ((,c :inherit modus-themes-prominent-error)))
+ `(sml/position-percentage ((,c :inherit sml/global)))
+ `(sml/prefix ((,c :foreground ,fg-alt)))
+ `(sml/process ((,c :inherit sml/prefix)))
+ `(sml/projectile ((,c :inherit sml/git)))
+ `(sml/read-only (( )))
+ `(sml/remote ((,c :inherit sml/global)))
+ `(sml/sudo ((,c :inherit warning)))
+ `(sml/time ((,c :inherit sml/global)))
+ `(sml/vc ((,c :inherit sml/git)))
+ `(sml/vc-edited ((,c :inherit italic)))
;;;;; smerge
- `(smerge-base ((,class :inherit modus-themes-diff-changed)))
- `(smerge-lower ((,class :inherit modus-themes-diff-added)))
- `(smerge-markers ((,class :inherit modus-themes-diff-heading)))
- `(smerge-refined-added ((,class :inherit modus-themes-diff-refine-added)))
+ `(smerge-base ((,c :inherit diff-changed)))
+ `(smerge-lower ((,c :inherit diff-added)))
+ `(smerge-markers ((,c :inherit diff-header)))
+ `(smerge-refined-added ((,c :inherit diff-refine-added)))
`(smerge-refined-changed (()))
- `(smerge-refined-removed ((,class :inherit modus-themes-diff-refine-removed)))
- `(smerge-upper ((,class :inherit modus-themes-diff-removed)))
-;;;;; spaceline
- `(spaceline-evil-emacs ((,class :inherit modus-themes-active-magenta)))
- `(spaceline-evil-insert ((,class :inherit modus-themes-active-green)))
- `(spaceline-evil-motion ((,class :inherit modus-themes-active-blue)))
- `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt)))
- `(spaceline-evil-replace ((,class :inherit modus-themes-active-red)))
- `(spaceline-evil-visual ((,class :inherit modus-themes-active-cyan)))
- `(spaceline-flycheck-error ((,class :foreground ,red-active)))
- `(spaceline-flycheck-info ((,class :foreground ,cyan-active)))
- `(spaceline-flycheck-warning ((,class :foreground ,yellow-active)))
- `(spaceline-highlight-face ((,class :inherit modus-themes-fringe-blue)))
- `(spaceline-modified ((,class :inherit modus-themes-fringe-magenta)))
- `(spaceline-python-venv ((,class :foreground ,magenta-active)))
- `(spaceline-read-only ((,class :inherit modus-themes-fringe-red)))
- `(spaceline-unmodified ((,class :inherit modus-themes-fringe-cyan)))
+ `(smerge-refined-removed ((,c :inherit diff-refine-removed)))
+ `(smerge-upper ((,c :inherit diff-removed)))
;;;;; speedbar
- `(speedbar-button-face ((,class :inherit button)))
- `(speedbar-directory-face ((,class :inherit bold :foreground ,blue)))
- `(speedbar-file-face ((,class :foreground ,fg-main)))
- `(speedbar-highlight-face ((,class :inherit highlight)))
- `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan)))
- `(speedbar-separator-face ((,class :inherit modus-themes-intense-neutral)))
- `(speedbar-tag-face ((,class :foreground ,yellow-alt-other)))
+ `(speedbar-button-face ((,c :inherit button)))
+ `(speedbar-directory-face ((,c :inherit bold :foreground ,accent-0)))
+ `(speedbar-file-face ((,c :foreground ,fg-main)))
+ `(speedbar-highlight-face ((,c :inherit highlight)))
+ `(speedbar-selected-face ((,c :inherit modus-themes-mark-sel)))
+ `(speedbar-separator-face ((,c :background ,bg-active :foreground ,fg-main)))
+ `(speedbar-tag-face ((,c :foreground ,accent-1)))
;;;;; spell-fu
- `(spell-fu-incorrect-face ((,class :inherit modus-themes-lang-error)))
+ `(spell-fu-incorrect-face ((,c :inherit modus-themes-lang-error)))
;;;;; stripes
- `(stripes ((,class :background ,bg-alt)))
+ `(stripes ((,c :background ,bg-inactive)))
;;;;; suggest
- `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other)))
+ `(suggest-heading ((,c :inherit warning)))
;;;;; switch-window
- `(switch-window-background ((,class :background ,bg-dim)))
- `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense)))
+ `(switch-window-background ((,c :background ,bg-inactive)))
+ `(switch-window-label ((,c :height 3.0 :foreground ,red-intense)))
;;;;; swiper
`(swiper-background-match-face-1 (( )))
- `(swiper-background-match-face-2 ((,class :inherit modus-themes-completion-match-0)))
- `(swiper-background-match-face-3 ((,class :inherit modus-themes-completion-match-1)))
- `(swiper-background-match-face-4 ((,class :inherit modus-themes-completion-match-2)))
- `(swiper-line-face ((,class :background ,bg-hl-alt-intense)))
+ `(swiper-background-match-face-2 ((,c :inherit modus-themes-completion-match-0)))
+ `(swiper-background-match-face-3 ((,c :inherit modus-themes-completion-match-1)))
+ `(swiper-background-match-face-4 ((,c :inherit modus-themes-completion-match-2)))
+ `(swiper-line-face ((,c :background ,bg-hl-line :extend t)))
`(swiper-match-face-1 (( )))
- `(swiper-match-face-2 ((,class :inherit modus-themes-completion-match-0)))
- `(swiper-match-face-3 ((,class :inherit modus-themes-completion-match-1)))
- `(swiper-match-face-4 ((,class :inherit modus-themes-completion-match-2)))
-;;;;; sx
- `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other)))
- `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold))))
- `(sx-question-list-answers ((,class :foreground ,green)))
- `(sx-question-list-answers-accepted ((,class :box t :foreground ,green)))
- `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt :foreground ,yellow)))
- `(sx-question-list-date ((,class :foreground ,fg-special-cold)))
- `(sx-question-list-favorite ((,class :inherit bold :foreground ,fg-special-warm)))
- `(sx-question-list-parent ((,class :foreground ,fg-main)))
- `(sx-question-list-read-question ((,class :inherit shadow)))
- `(sx-question-list-score ((,class :foreground ,fg-special-mild)))
- `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold))))
- `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main)))
- `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green)))
- `(sx-question-mode-closed ((,class :inherit modus-themes-active-yellow :box (:line-width 2 :color nil))))
- `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main)))
- `(sx-question-mode-content-face ((,class :background ,bg-dim)))
- `(sx-question-mode-date ((,class :foreground ,blue)))
- `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan)))
- `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main)))
- `(sx-question-mode-score ((,class :foreground ,fg-dim)))
- `(sx-question-mode-score-downvoted ((,class :foreground ,yellow)))
- `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground ,magenta)))
- `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main)))
- `(sx-question-mode-title-comments ((,class :inherit (shadow bold))))
- `(sx-tag ((,class :foreground ,magenta-alt)))
- `(sx-user-name ((,class :foreground ,blue-alt)))
- `(sx-user-reputation ((,class :inherit shadow)))
+ `(swiper-match-face-2 ((,c :inherit modus-themes-completion-match-0)))
+ `(swiper-match-face-3 ((,c :inherit modus-themes-completion-match-1)))
+ `(swiper-match-face-4 ((,c :inherit modus-themes-completion-match-2)))
;;;;; symbol-overlay
- `(symbol-overlay-default-face ((,class :inherit modus-themes-special-warm)))
- `(symbol-overlay-face-1 ((,class :inherit modus-themes-intense-blue)))
- `(symbol-overlay-face-2 ((,class :inherit modus-themes-refine-magenta)))
- `(symbol-overlay-face-3 ((,class :inherit modus-themes-intense-yellow)))
- `(symbol-overlay-face-4 ((,class :inherit modus-themes-intense-magenta)))
- `(symbol-overlay-face-5 ((,class :inherit modus-themes-intense-red)))
- `(symbol-overlay-face-6 ((,class :inherit modus-themes-refine-red)))
- `(symbol-overlay-face-7 ((,class :inherit modus-themes-intense-cyan)))
- `(symbol-overlay-face-8 ((,class :inherit modus-themes-refine-cyan)))
+ `(symbol-overlay-default-face ((,c :background ,bg-inactive)))
+ `(symbol-overlay-face-1 ((,c :inherit modus-themes-intense-blue)))
+ `(symbol-overlay-face-2 ((,c :inherit modus-themes-intense-magenta)))
+ `(symbol-overlay-face-3 ((,c :inherit modus-themes-intense-yellow)))
+ `(symbol-overlay-face-4 ((,c :inherit modus-themes-intense-magenta)))
+ `(symbol-overlay-face-5 ((,c :inherit modus-themes-intense-red)))
+ `(symbol-overlay-face-6 ((,c :inherit modus-themes-intense-red)))
+ `(symbol-overlay-face-7 ((,c :inherit modus-themes-intense-cyan)))
+ `(symbol-overlay-face-8 ((,c :inherit modus-themes-intense-cyan)))
;;;;; syslog-mode
- `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other)))
- `(syslog-error ((,class :inherit error)))
- `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold)))
- `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main)))
- `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other)))
- `(syslog-info ((,class :inherit success)))
- `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t)))
- `(syslog-su ((,class :inherit bold :foreground ,red-alt)))
- `(syslog-warn ((,class :inherit warning)))
-;;;;; tab-bar-groups
- `(tab-bar-groups-tab-1 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,blue-tab)))
- `(tab-bar-groups-tab-2 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,red-tab)))
- `(tab-bar-groups-tab-3 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,green-tab)))
- `(tab-bar-groups-tab-4 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,orange-tab)))
- `(tab-bar-groups-tab-5 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,purple-tab)))
- `(tab-bar-groups-tab-6 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,cyan-tab)))
- `(tab-bar-groups-tab-7 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,yellow-tab)))
- `(tab-bar-groups-tab-8 ((,class :inherit modus-themes-ui-variable-pitch :foreground ,magenta-tab)))
+ `(syslog-debug ((,c :inherit italic)))
+ `(syslog-error ((,c :inherit error)))
+ `(syslog-file ((,c :inherit bold :foreground ,name)))
+ `(syslog-hide ((,c :background ,bg-main :foreground ,fg-main)))
+ `(syslog-hour ((,c :inherit bold :foreground ,date-common)))
+ `(syslog-info ((,c :inherit success)))
+ `(syslog-ip ((,c :inherit bold :foreground ,name :underline t)))
+ `(syslog-su ((,c :inherit error :underline t)))
+ `(syslog-warn ((,c :inherit warning)))
;;;;; tab-bar-mode
- `(tab-bar ((,class :inherit modus-themes-tab-backdrop)))
- `(tab-bar-tab-group-current ((,class ,@(modus-themes--tab bg-tab-active)
- :box (:line-width (2 . -2) :color "gray50"))))
- `(tab-bar-tab-group-inactive ((,class ,@(modus-themes--tab bg-tab-inactive bg-tab-inactive-accent fg-dim)
- :box (:line-width (2 . -2) :color "gray50"))))
- `(tab-bar-tab ((,class :inherit modus-themes-tab-active)))
- `(tab-bar-tab-inactive ((,class :inherit modus-themes-tab-inactive)))
+ `(tab-bar ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-tab-bar)))
+ `(tab-bar-tab-group-current ((,c :inherit bold :background ,bg-tab-current :box (:line-width -2 :color ,bg-tab-current) :foreground ,fg-alt)))
+ `(tab-bar-tab-group-inactive ((,c :background ,bg-tab-bar :box (:line-width -2 :color ,bg-tab-bar) :foreground ,fg-alt)))
+ `(tab-bar-tab ((,c :inherit bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current)))
+ `(tab-bar-tab-inactive ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other)))
+ `(tab-bar-tab-ungrouped ((,c :inherit tab-bar-tab-inactive)))
;;;;; tab-line-mode
- `(tab-line ((,class :inherit modus-themes-tab-backdrop :height 0.95)))
- `(tab-line-close-highlight ((,class :foreground ,red)))
- `(tab-line-highlight ((,class :inherit modus-themes-active-blue)))
- `(tab-line-tab ((,class :inherit modus-themes-tab-active)))
- `(tab-line-tab-current ((,class :inherit tab-line-tab)))
- `(tab-line-tab-inactive ((,class :inherit modus-themes-tab-inactive)))
- `(tab-line-tab-inactive-alternate ((,class ,@(modus-themes--tab bg-tab-inactive-alt
- bg-tab-inactive-alt-accent fg-main nil t))))
- `(tab-line-tab-modified ((,class :foreground ,red-alt-other-faint)))
+ `(tab-line ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-tab-bar :height 0.95)))
+ `(tab-line-close-highlight ((,c :foreground ,err)))
+ `(tab-line-highlight ((,c :inherit highlight)))
+ `(tab-line-tab (( )))
+ `(tab-line-tab-current ((,c :inherit bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current)))
+ `(tab-line-tab-inactive ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other)))
+ `(tab-line-tab-inactive-alternate ((,c :inherit tab-line-tab-inactive :foreground ,fg-alt)))
+ `(tab-line-tab-modified ((,c :foreground ,warning)))
;;;;; table (built-in table.el)
- `(table-cell ((,class :background ,blue-nuanced-bg)))
+ `(table-cell ((,c :background ,bg-dim)))
;;;;; telega
- `(telega-button ((,class :box t :foreground ,blue)))
- `(telega-button-active ((,class :box ,blue-intense-bg :background ,blue-intense-bg :foreground ,fg-main)))
- `(telega-button-highlight ((,class :inherit modus-themes-subtle-magenta)))
- `(telega-chat-prompt ((,class :inherit bold)))
- `(telega-entity-type-code ((,class :inherit modus-themes-markup-verbatim)))
- `(telega-entity-type-mention ((,class :foreground ,cyan)))
- `(telega-entity-type-pre ((,class :inherit modus-themes-markup-code)))
- `(telega-entity-type-spoiler ((,class :background ,fg-main :foreground ,fg-main)))
- `(telega-msg-heading ((,class :background ,bg-alt)))
- `(telega-msg-self-title ((,class :inherit bold)))
- `(telega-root-heading ((,class :inherit modus-themes-subtle-neutral)))
- `(telega-secret-title ((,class :foreground ,magenta-alt)))
- `(telega-unmuted-count ((,class :foreground ,blue-alt-other)))
- `(telega-user-online-status ((,class :foreground ,cyan-active)))
- `(telega-username ((,class :foreground ,cyan-alt-other)))
- `(telega-webpage-chat-link ((,class :background ,bg-alt)))
- `(telega-webpage-fixed ((,class :inherit modus-themes-fixed-pitch :height 0.85)))
- `(telega-webpage-header ((,class :inherit modus-themes-variable-pitch :height 1.3)))
- `(telega-webpage-preformatted ((,class :inherit modus-themes-fixed-pitch :background ,bg-alt)))
- `(telega-webpage-subheader ((,class :inherit modus-themes-variable-pitch :height 1.15)))
-;;;;; telephone-line
- `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive)))
- `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active)))
- `(telephone-line-error ((,class :inherit bold :foreground ,red-active)))
- `(telephone-line-evil ((,class :foreground ,fg-main)))
- `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil :background ,magenta-intense-bg)))
- `(telephone-line-evil-insert ((,class :inherit telephone-line-evil :background ,green-intense-bg)))
- `(telephone-line-evil-motion ((,class :inherit telephone-line-evil :background ,yellow-intense-bg)))
- `(telephone-line-evil-normal ((,class :inherit telephone-line-evil :background ,bg-alt)))
- `(telephone-line-evil-operator ((,class :inherit telephone-line-evil :background ,yellow-subtle-bg)))
- `(telephone-line-evil-replace ((,class :inherit telephone-line-evil :background ,red-intense-bg)))
- `(telephone-line-evil-visual ((,class :inherit telephone-line-evil :background ,cyan-intense-bg)))
- `(telephone-line-projectile ((,class :foreground ,cyan-active)))
- `(telephone-line-unimportant ((,class :foreground ,fg-inactive)))
- `(telephone-line-warning ((,class :inherit bold :foreground ,yellow-active)))
+ `(telega-button ((,c :box t :foreground ,fg-link)))
+ `(telega-button-active ((,c :box ,fg-link :background ,fg-link :foreground ,bg-main)))
+ `(telega-button-highlight ((,c :inherit secondary-selection)))
+ `(telega-chat-prompt ((,c :inherit modus-themes-prompt)))
+ `(telega-entity-type-code ((,c :inherit modus-themes-prose-verbatim)))
+ `(telega-entity-type-mention ((,c :foreground ,cyan)))
+ `(telega-entity-type-pre ((,c :inherit modus-themes-prose-code)))
+ `(telega-entity-type-spoiler ((,c :background ,fg-main :foreground ,fg-main)))
+ `(telega-msg-heading ((,c :background ,bg-inactive)))
+ `(telega-msg-self-title ((,c :inherit bold)))
+ `(telega-root-heading ((,c :background ,bg-inactive)))
+ `(telega-secret-title ((,c :foreground ,magenta-warmer)))
+ `(telega-unmuted-count ((,c :foreground ,blue-cooler)))
+ `(telega-user-online-status ((,c :foreground ,cyan)))
+ `(telega-username ((,c :foreground ,cyan-cooler)))
+ `(telega-webpage-chat-link ((,c :background ,bg-inactive)))
+ `(telega-webpage-fixed ((,c :inherit modus-themes-fixed-pitch :height 0.85)))
+ `(telega-webpage-header ((,c :inherit modus-themes-variable-pitch :height 1.3)))
+ `(telega-webpage-preformatted ((,c :inherit modus-themes-fixed-pitch :background ,bg-inactive)))
+ `(telega-webpage-subheader ((,c :inherit modus-themes-variable-pitch :height 1.15)))
;;;;; terraform-mode
- `(terraform--resource-name-face ((,class ,@(modus-themes--syntax-string
- magenta-alt-other magenta-alt-other-faint
- red-alt red-alt))))
- `(terraform--resource-type-face ((,class ,@(modus-themes--syntax-string
- green green-faint
- blue-alt magenta-alt))))
+ `(terraform--resource-name-face ((,c :foreground ,keyword)))
+ `(terraform--resource-type-face ((,c :foreground ,type)))
;;;;; term
- `(term ((,class :background ,bg-main :foreground ,fg-main)))
- `(term-bold ((,class :inherit bold)))
- `(term-color-black ((,class :background "gray35" :foreground "gray35")))
- `(term-color-blue ((,class :background ,blue :foreground ,blue)))
- `(term-color-cyan ((,class :background ,cyan :foreground ,cyan)))
- `(term-color-green ((,class :background ,green :foreground ,green)))
- `(term-color-magenta ((,class :background ,magenta :foreground ,magenta)))
- `(term-color-red ((,class :background ,red :foreground ,red)))
- `(term-color-white ((,class :background "gray65" :foreground "gray65")))
- `(term-color-yellow ((,class :background ,yellow :foreground ,yellow)))
- `(term-underline ((,class :underline t)))
+ ;; NOTE 2023-08-10: `term-color-black' and `term-color-white' use
+ ;; the "bright" semantic color mappings to make sure they are
+ ;; distinct from `term'.
+ `(term ((,c :background ,bg-main :foreground ,fg-main)))
+ `(term-bold ((,c :inherit bold)))
+ `(term-color-black ((,c :background ,bg-term-black-bright :foreground ,fg-term-black-bright)))
+ `(term-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue)))
+ `(term-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan)))
+ `(term-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green)))
+ `(term-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta)))
+ `(term-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red)))
+ `(term-color-white ((,c :background ,bg-term-white-bright :foreground ,fg-term-white-bright)))
+ `(term-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow)))
+ `(term-underline ((,c :underline t)))
;;;;; textsec
- `(textsec-suspicious (()))
-;;;;; tomatinho
- `(tomatinho-ok-face ((,class :foreground ,blue-intense)))
- `(tomatinho-pause-face ((,class :foreground ,yellow-intense)))
- `(tomatinho-reset-face ((,class :inherit shadow)))
+ `(textsec-suspicious (( )))
;;;;; transient
- `(transient-active-infix ((,class :inherit modus-themes-special-mild)))
- `(transient-amaranth ((,class :inherit bold :foreground ,yellow-alt)))
+ `(transient-active-infix ((,c :inherit highlight)))
+ `(transient-amaranth ((,c :inherit bold :foreground ,yellow-warmer)))
;; Placate the compiler for what is a spurious warning. We also
;; have to do this with `eldoc-highlight-function-argument'.
- (list 'transient-argument `((,class :inherit bold :background ,cyan-nuanced-bg :foreground ,cyan)))
- `(transient-blue ((,class :inherit bold :foreground ,blue)))
- `(transient-disabled-suffix ((,class :inherit modus-themes-intense-red)))
- `(transient-enabled-suffix ((,class :inherit modus-themes-grue-background-subtle)))
- `(transient-heading ((,class :inherit bold :foreground ,fg-main)))
- `(transient-inactive-argument ((,class :inherit shadow)))
- `(transient-inactive-value ((,class :inherit shadow)))
- `(transient-key ((,class :inherit modus-themes-key-binding)))
- `(transient-mismatched-key ((,class :underline t)))
- `(transient-nonstandard-key ((,class :underline t)))
- `(transient-pink ((,class :inherit bold :foreground ,magenta-alt-faint)))
- `(transient-purple ((,class :inherit bold :foreground ,magenta-alt-other)))
- `(transient-red ((,class :inherit bold :foreground ,red-faint)))
- `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other)))
- `(transient-unreachable ((,class :inherit shadow)))
- `(transient-unreachable-key ((,class :inherit shadow)))
- `(transient-value ((,class :inherit bold :background ,yellow-nuanced-bg :foreground ,yellow-alt-other)))
+ (list 'transient-argument `((,c :inherit bold :background ,bg-active-argument :foreground ,fg-active-argument)))
+ `(transient-blue ((,c :inherit bold :foreground ,blue)))
+ `(transient-disabled-suffix ((,c :inherit modus-themes-mark-del)))
+ `(transient-enabled-suffix ((,c :inherit modus-themes-subtle-cyan)))
+ `(transient-heading ((,c :inherit bold :foreground ,fg-main)))
+ `(transient-inactive-argument ((,c :inherit shadow)))
+ `(transient-inactive-value ((,c :inherit shadow)))
+ ;; NOTE 2023-12-09 10:30:09 +0200: The new user option
+ ;; `transient-semantic-coloring' is enabled by default. This is
+ ;; not good for us, because we are making it harder for users who
+ ;; need accessible colors to use the transient interfaces. I
+ ;; could set that user option to nil, but I think it is less
+ ;; intrusive to enforce uniformity among the relevant faces.
+ ;; Those who want semantic coloring can modify these faces.
+ `(transient-key ((,c :inherit modus-themes-key-binding)))
+ `(transient-key-exit ((,c :inherit modus-themes-key-binding)))
+ `(transient-key-noop ((,c :inherit (shadow modus-themes-key-binding))))
+ `(transient-key-return ((,c :inherit modus-themes-key-binding)))
+ `(transient-key-stay ((,c :inherit modus-themes-key-binding)))
+ `(transient-mismatched-key ((,c :underline t)))
+ `(transient-nonstandard-key ((,c :underline t)))
+ `(transient-pink ((,c :inherit bold :foreground ,magenta)))
+ `(transient-purple ((,c :inherit bold :foreground ,magenta-cooler)))
+ `(transient-red ((,c :inherit bold :foreground ,red-faint)))
+ `(transient-teal ((,c :inherit bold :foreground ,cyan-cooler)))
+ `(transient-unreachable ((,c :inherit shadow)))
+ `(transient-unreachable-key ((,c :inherit shadow)))
+ `(transient-value ((,c :inherit bold :background ,bg-active-value :foreground ,fg-active-value)))
;;;;; trashed
- `(trashed-deleted ((,class :inherit modus-themes-mark-del)))
- `(trashed-directory ((,class :foreground ,blue)))
- `(trashed-mark ((,class :inherit modus-themes-mark-symbol)))
- `(trashed-marked ((,class :inherit modus-themes-mark-alt)))
- `(trashed-restored ((,class :inherit modus-themes-mark-sel)))
- `(trashed-symlink ((,class :inherit modus-themes-link-symlink)))
+ `(trashed-deleted ((,c :inherit modus-themes-mark-del)))
+ `(trashed-directory ((,c :foreground ,accent-0)))
+ `(trashed-mark ((,c :inherit bold)))
+ `(trashed-marked ((,c :inherit modus-themes-mark-alt)))
+ `(trashed-restored ((,c :inherit modus-themes-mark-sel)))
;;;;; tree-sitter
- `(tree-sitter-hl-face:attribute ((,class :inherit font-lock-variable-name-face)))
- `(tree-sitter-hl-face:constant.builtin ((,class :inherit tree-sitter-hl-face:constant)))
- `(tree-sitter-hl-face:escape ((,class :inherit font-lock-regexp-grouping-backslash)))
- `(tree-sitter-hl-face:function ((,class :inherit font-lock-function-name-face)))
- `(tree-sitter-hl-face:function.call ((,class :inherit tree-sitter-hl-face:function)))
+ `(tree-sitter-hl-face:attribute ((,c :inherit font-lock-variable-name-face)))
+ `(tree-sitter-hl-face:constant.builtin ((,c :inherit tree-sitter-hl-face:constant)))
+ `(tree-sitter-hl-face:escape ((,c :inherit font-lock-regexp-grouping-backslash)))
+ `(tree-sitter-hl-face:function ((,c :inherit font-lock-function-name-face)))
+ `(tree-sitter-hl-face:function.call ((,c :inherit tree-sitter-hl-face:function)))
`(tree-sitter-hl-face:label (( )))
`(tree-sitter-hl-face:method.call (( )))
- `(tree-sitter-hl-face:operator ((,class :inherit modus-themes-bold)))
+ `(tree-sitter-hl-face:operator ((,c :inherit modus-themes-bold)))
`(tree-sitter-hl-face:property (( )))
- `(tree-sitter-hl-face:property.definition ((,class :inherit font-lock-variable-name-face)))
+ `(tree-sitter-hl-face:property.definition ((,c :inherit font-lock-variable-name-face)))
`(tree-sitter-hl-face:punctuation (( )))
`(tree-sitter-hl-face:punctuation.bracket (( )))
`(tree-sitter-hl-face:punctuation.delimiter (( )))
- `(tree-sitter-hl-face:punctuation.special ((,class :inherit font-lock-regexp-grouping-construct)))
- `(tree-sitter-hl-face:string.special ((,class :inherit tree-sitter-hl-face:string)))
- `(tree-sitter-hl-face:tag ((,class :inherit font-lock-function-name-face)))
+ `(tree-sitter-hl-face:punctuation.special ((,c :inherit font-lock-regexp-grouping-construct)))
+ `(tree-sitter-hl-face:string.special ((,c :inherit tree-sitter-hl-face:string)))
+ `(tree-sitter-hl-face:tag ((,c :inherit font-lock-function-name-face)))
`(tree-sitter-hl-face:type.argument (( )))
-;;;;; treemacs
- `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt)))
- `(treemacs-directory-face ((,class :inherit dired-directory)))
- `(treemacs-file-face ((,class :foreground ,fg-main)))
- `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main)))
- `(treemacs-git-added-face ((,class :inherit success)))
- `(treemacs-git-conflict-face ((,class :inherit error)))
- `(treemacs-git-ignored-face ((,class :inherit shadow)))
- `(treemacs-git-modified-face ((,class :inherit warning)))
- `(treemacs-git-renamed-face ((,class :inherit italic)))
- `(treemacs-git-unmodified-face ((,class :foreground ,fg-main)))
- `(treemacs-git-untracked-face ((,class :inherit shadow)))
- `(treemacs-help-column-face ((,class :inherit modus-themes-bold :foreground ,magenta-alt-other :underline t)))
- `(treemacs-help-title-face ((,class :foreground ,blue-alt-other)))
- `(treemacs-on-failure-pulse-face ((,class :inherit modus-themes-intense-red)))
- `(treemacs-on-success-pulse-face ((,class :inherit modus-themes-grue-background-intense)))
- `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t)))
- `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow)))
- `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta)))
- `(treemacs-root-remote-unreadable-face ((,class :inherit treemacs-root-unreadable-face)))
- `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face :strike-through t)))
- `(treemacs-tags-face ((,class :foreground ,blue-alt)))
;;;;; tty-menu
- `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt)))
- `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main)))
- `(tty-menu-selected-face ((,class :inherit modus-themes-intense-blue)))
+ `(tty-menu-disabled-face ((,c :background ,bg-inactive :foreground ,fg-dim)))
+ `(tty-menu-enabled-face ((,c :inherit bold :background ,bg-inactive :foreground ,fg-main)))
+ `(tty-menu-selected-face ((,c :inherit modus-themes-intense-blue)))
;;;;; tuareg
- `(caml-types-def-face ((,class :inherit modus-themes-subtle-red)))
- `(caml-types-expr-face ((,class :inherit modus-themes-subtle-green)))
- `(caml-types-occ-face ((,class :inherit modus-themes-subtle-green)))
- `(caml-types-scope-face ((,class :inherit modus-themes-subtle-blue)))
- `(caml-types-typed-face ((,class :inherit modus-themes-subtle-magenta)))
- `(tuareg-font-double-semicolon-face ((,class :inherit font-lock-preprocessor-face)))
- `(tuareg-font-lock-attribute-face ((,class :inherit font-lock-function-name-face)))
- `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main)))
- `(tuareg-font-lock-error-face ((,class :inherit (modus-themes-intense-red bold))))
- `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta)))
- `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main)))
- `(tuareg-font-lock-infix-extension-node-face ((,class :inherit font-lock-function-name-face)))
- `(tuareg-font-lock-interactive-directive-face ((,class :foreground ,fg-special-cold)))
- `(tuareg-font-lock-interactive-error-face ((,class :inherit error)))
- `(tuareg-font-lock-interactive-output-face ((,class :inherit font-lock-constant-face)))
- `(tuareg-font-lock-label-face ((,class :inherit font-lock-type-face)))
- `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm)))
- `(tuareg-font-lock-module-face ((,class :inherit font-lock-builtin-face)))
- `(tuareg-font-lock-multistage-face ((,class :inherit bold :background ,bg-alt :foreground ,blue)))
- `(tuareg-font-lock-operator-face ((,class :inherit font-lock-preprocessor-face)))
- `(tuareg-opam-error-face ((,class :inherit error)))
- `(tuareg-opam-pkg-variable-name-face ((,class :inherit font-lock-variable-name-face)))
+ `(caml-types-def-face ((,c :inherit modus-themes-subtle-red)))
+ `(caml-types-expr-face ((,c :inherit modus-themes-subtle-green)))
+ `(caml-types-occ-face ((,c :inherit modus-themes-subtle-green)))
+ `(caml-types-scope-face ((,c :inherit modus-themes-subtle-blue)))
+ `(caml-types-typed-face ((,c :inherit modus-themes-subtle-magenta)))
+ `(tuareg-font-double-semicolon-face ((,c :inherit font-lock-preprocessor-face)))
+ `(tuareg-font-lock-attribute-face ((,c :inherit font-lock-function-name-face)))
+ `(tuareg-font-lock-constructor-face ((,c :foreground ,fg-main)))
+ `(tuareg-font-lock-error-face ((,c :inherit (modus-themes-intense-red bold))))
+ ;; `(tuareg-font-lock-extension-node-face ((,c :background ,bg-inactive :foreground ,magenta)))
+ `(tuareg-font-lock-governing-face ((,c :inherit bold :foreground ,fg-main)))
+ `(tuareg-font-lock-infix-extension-node-face ((,c :inherit font-lock-function-name-face)))
+ `(tuareg-font-lock-interactive-directive-face ((,c :inherit font-lock-preprocessor-face)))
+ `(tuareg-font-lock-interactive-error-face ((,c :inherit error)))
+ `(tuareg-font-lock-interactive-output-face ((,c :inherit font-lock-constant-face)))
+ `(tuareg-font-lock-label-face ((,c :inherit font-lock-type-face)))
+ `(tuareg-font-lock-line-number-face ((,c :inherit shadow)))
+ `(tuareg-font-lock-module-face ((,c :inherit font-lock-builtin-face)))
+ ;; `(tuareg-font-lock-multistage-face ((,c :inherit bold :background ,bg-inactive :foreground ,blue)))
+ `(tuareg-font-lock-operator-face ((,c :inherit font-lock-preprocessor-face)))
+ `(tuareg-opam-error-face ((,c :inherit error)))
+ `(tuareg-opam-pkg-variable-name-face ((,c :inherit font-lock-variable-name-face)))
;;;;; typescript
- `(typescript-jsdoc-tag ((,class :inherit (font-lock-builtin-face font-lock-comment-face) :weight normal)))
- `(typescript-jsdoc-type ((,class :inherit (font-lock-type-face font-lock-comment-face) :weight normal)))
- `(typescript-jsdoc-value ((,class :inherit (font-lock-constant-face font-lock-comment-face) :weight normal)))
+ `(typescript-jsdoc-tag ((,c :inherit (font-lock-builtin-face font-lock-comment-face) :weight normal)))
+ `(typescript-jsdoc-type ((,c :inherit (font-lock-type-face font-lock-comment-face) :weight normal)))
+ `(typescript-jsdoc-value ((,c :inherit (font-lock-constant-face font-lock-comment-face) :weight normal)))
;;;;; undo-tree
- `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main)))
- `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense)))
- `(undo-tree-visualizer-default-face ((,class :inherit shadow)))
- `(undo-tree-visualizer-register-face ((,class :foreground ,magenta-intense)))
- `(undo-tree-visualizer-unmodified-face ((,class :foreground ,green-intense)))
+ `(undo-tree-visualizer-active-branch-face ((,c :inherit bold :foreground ,fg-main)))
+ `(undo-tree-visualizer-current-face ((,c :foreground ,blue-intense)))
+ `(undo-tree-visualizer-default-face ((,c :inherit shadow)))
+ `(undo-tree-visualizer-register-face ((,c :foreground ,magenta-intense)))
+ `(undo-tree-visualizer-unmodified-face ((,c :foreground ,green-intense)))
;;;;; vc (vc-dir.el, vc-hooks.el)
- `(vc-dir-directory ((,class :foreground ,blue)))
- `(vc-dir-file ((,class :foreground ,fg-main)))
- `(vc-dir-header ((,class :foreground ,cyan-alt-other)))
- `(vc-dir-header-value ((,class :foreground ,magenta-alt-other)))
- `(vc-dir-mark-indicator ((,class :foreground ,blue-alt-other)))
- `(vc-dir-status-edited ((,class :foreground ,yellow)))
- `(vc-dir-status-ignored ((,class :inherit shadow)))
- `(vc-dir-status-up-to-date ((,class :foreground ,cyan)))
- `(vc-dir-status-warning ((,class :inherit error)))
- `(vc-conflict-state ((,class :inherit bold :foreground ,red-active)))
- `(vc-edited-state ((,class :foreground ,yellow-active)))
- `(vc-locally-added-state ((,class :foreground ,cyan-active)))
- `(vc-locked-state ((,class :foreground ,blue-active)))
- `(vc-missing-state ((,class :inherit modus-themes-slant :foreground ,magenta-active)))
- `(vc-needs-update-state ((,class :inherit modus-themes-slant :foreground ,green-active)))
- `(vc-removed-state ((,class :foreground ,red-active)))
- `(vc-state-base ((,class :foreground ,fg-active)))
- `(vc-up-to-date-state ((,class :foreground ,fg-special-cold)))
+ `(vc-dir-directory (( )))
+ `(vc-dir-file ((,c :foreground ,name)))
+ `(vc-dir-header ((,c :inherit bold)))
+ `(vc-dir-header-value ((,c :foreground ,string)))
+ `(vc-dir-mark-indicator (( )))
+ `(vc-dir-status-edited ((,c :inherit italic)))
+ `(vc-dir-status-ignored ((,c :inherit shadow)))
+ `(vc-dir-status-up-to-date ((,c :foreground ,info)))
+ `(vc-dir-status-warning ((,c :inherit error)))
+ `(vc-conflict-state ((,c :inherit error)))
+ `(vc-edited-state ((,c :inherit italic)))
+ `(vc-git-log-edit-summary-max-warning ((,c :inherit error)))
+ `(vc-git-log-edit-summary-target-warning ((,c :inherit warning)))
+ `(vc-locally-added-state ((,c :inherit italic)))
+ `(vc-locked-state ((,c :inherit success)))
+ `(vc-missing-state ((,c :inherit error)))
+ `(vc-needs-update-state ((,c :inherit error)))
+ `(vc-removed-state ((,c :inherit error)))
+ `(vc-state-base (( )))
+ `(vc-up-to-date-state (( )))
;;;;; vertico
- `(vertico-current ((,class :inherit modus-themes-completion-selected)))
+ `(vertico-current ((,c :inherit modus-themes-completion-selected)))
;;;;; vertico-quick
- `(vertico-quick1 ((,class :inherit bold :background ,bg-char-0)))
- `(vertico-quick2 ((,class :inherit bold :background ,bg-char-1)))
+ `(vertico-quick1 ((,c :inherit bold :background ,bg-char-0)))
+ `(vertico-quick2 ((,c :inherit bold :background ,bg-char-1)))
;;;;; vimish-fold
- `(vimish-fold-fringe ((,class :foreground ,cyan-active)))
- `(vimish-fold-mouse-face ((,class :inherit modus-themes-intense-blue)))
- `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold)))
+ `(vimish-fold-fringe ((,c :foreground ,cyan)))
+ `(vimish-fold-mouse-face ((,c :inherit modus-themes-intense-blue)))
+ `(vimish-fold-overlay ((,c :background ,bg-inactive)))
;;;;; visible-mark
- `(visible-mark-active ((,class :background ,blue-intense-bg)))
- `(visible-mark-face1 ((,class :background ,cyan-intense-bg)))
- `(visible-mark-face2 ((,class :background ,yellow-intense-bg)))
- `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg)))
- `(visible-mark-forward-face2 ((,class :background ,green-intense-bg)))
+ `(visible-mark-active ((,c :background ,bg-blue-intense)))
+ `(visible-mark-face1 ((,c :background ,bg-cyan-intense)))
+ `(visible-mark-face2 ((,c :background ,bg-yellow-intense)))
+ `(visible-mark-forward-face1 ((,c :background ,bg-magenta-intense)))
+ `(visible-mark-forward-face2 ((,c :background ,bg-green-intense)))
;;;;; visual-regexp
- `(vr/group-0 ((,class :inherit modus-themes-intense-blue)))
- `(vr/group-1 ((,class :inherit modus-themes-intense-magenta)))
- `(vr/group-2 ((,class :inherit modus-themes-intense-green)))
- `(vr/match-0 ((,class :inherit modus-themes-refine-yellow)))
- `(vr/match-1 ((,class :inherit modus-themes-refine-yellow)))
- `(vr/match-separator-face ((,class :inherit (modus-themes-intense-neutral bold))))
+ `(vr/group-0 ((,c :inherit modus-themes-search-rx-group-0)))
+ `(vr/group-1 ((,c :inherit modus-themes-search-rx-group-1)))
+ `(vr/group-2 ((,c :inherit modus-themes-search-rx-group-2)))
+ `(vr/match-0 ((,c :inherit modus-themes-search-current)))
+ `(vr/match-1 ((,c :inherit modus-themes-search-lazy)))
+ `(vr/match-separator-face ((,c :inherit bold :background ,bg-active)))
;;;;; vterm
- `(vterm-color-black ((,class :background "gray35" :foreground "gray35")))
- `(vterm-color-blue ((,class :background ,blue :foreground ,blue)))
- `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan)))
- `(vterm-color-default ((,class :background ,bg-main :foreground ,fg-main)))
- `(vterm-color-green ((,class :background ,green :foreground ,green)))
- `(vterm-color-inverse-video ((,class :background ,bg-main :inverse-video t)))
- `(vterm-color-magenta ((,class :background ,magenta :foreground ,magenta)))
- `(vterm-color-red ((,class :background ,red :foreground ,red)))
- `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t)))
- `(vterm-color-white ((,class :background "gray65" :foreground "gray65")))
- `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow)))
+ ;; NOTE 2023-08-10: `vterm-color-black' and `vterm-color-white'
+ ;; use the "bright" semantic color mappings to make sure they are
+ ;; distinct from `vterm-color-default'.
+ `(vterm-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black)))
+ `(vterm-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue)))
+ `(vterm-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan)))
+ `(vterm-color-default ((,c :background ,bg-main :foreground ,fg-main)))
+ `(vterm-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green)))
+ `(vterm-color-inverse-video ((,c :background ,bg-main :inverse-video t)))
+ `(vterm-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta)))
+ `(vterm-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red)))
+ `(vterm-color-underline ((,c :underline t)))
+ `(vterm-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white)))
+ `(vterm-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow)))
;;;;; vundo
- `(vundo-highlight ((,class :inherit (bold vundo-node) :foreground ,red-intense)))
+ `(vundo-default ((,c :inherit shadow)))
+ `(vundo-highlight ((,c :inherit (bold vundo-node) :foreground ,red)))
+ `(vundo-last-saved ((,c :inherit (bold vundo-node) :foreground ,blue)))
+ `(vundo-saved ((,c :inherit vundo-node :foreground ,blue-intense)))
;;;;; wcheck-mode
- `(wcheck-default-face ((,class :foreground ,red :underline t)))
+ `(wcheck-default-face ((,c :foreground ,red :underline t)))
;;;;; web-mode
- `(web-mode-annotation-face ((,class :inherit web-mode-comment-face)))
- `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face)))
- `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face :underline t)))
- `(web-mode-block-attr-name-face ((,class :inherit font-lock-constant-face)))
- `(web-mode-block-attr-value-face ((,class :inherit font-lock-type-face)))
- `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face)))
- `(web-mode-block-control-face ((,class :inherit font-lock-builtin-face)))
- `(web-mode-block-delimiter-face ((,class :foreground ,fg-main)))
- `(web-mode-block-face ((,class :background ,bg-dim)))
- `(web-mode-block-string-face ((,class :inherit web-mode-string-face)))
- `(web-mode-bold-face ((,class :inherit bold)))
- `(web-mode-builtin-face ((,class :inherit font-lock-builtin-face)))
- `(web-mode-comment-face ((,class :inherit font-lock-comment-face)))
- `(web-mode-comment-keyword-face ((,class :inherit font-lock-warning-face)))
- `(web-mode-constant-face ((,class :inherit font-lock-constant-face)))
- `(web-mode-css-at-rule-face ((,class :inherit font-lock-constant-face)))
- `(web-mode-css-color-face ((,class :inherit font-lock-builtin-face)))
- `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face)))
- `(web-mode-css-function-face ((,class :inherit font-lock-builtin-face)))
- `(web-mode-css-priority-face ((,class :inherit font-lock-warning-face)))
- `(web-mode-css-property-name-face ((,class :inherit font-lock-keyword-face)))
- `(web-mode-css-pseudo-class-face ((,class :inherit font-lock-doc-face)))
- `(web-mode-css-selector-face ((,class :inherit font-lock-keyword-face)))
- `(web-mode-css-string-face ((,class :inherit web-mode-string-face)))
- `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm)))
- `(web-mode-current-column-highlight-face ((,class :background ,bg-alt)))
- `(web-mode-current-element-highlight-face ((,class :inherit modus-themes-special-mild)))
- `(web-mode-doctype-face ((,class :inherit modus-themes-slant :foreground ,fg-special-cold)))
- `(web-mode-error-face ((,class :inherit modus-themes-intense-red)))
- `(web-mode-filter-face ((,class :inherit font-lock-function-name-face)))
- `(web-mode-folded-face ((,class :underline t)))
- `(web-mode-function-call-face ((,class :inherit font-lock-function-name-face)))
- `(web-mode-function-name-face ((,class :inherit font-lock-function-name-face)))
- `(web-mode-html-attr-custom-face ((,class :inherit font-lock-variable-name-face)))
- `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main)))
- `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main)))
- `(web-mode-html-attr-name-face ((,class :inherit font-lock-variable-name-face)))
- `(web-mode-html-attr-value-face ((,class :inherit font-lock-constant-face)))
- `(web-mode-html-entity-face ((,class :inherit font-lock-negation-char-face)))
- `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim)))
- `(web-mode-html-tag-custom-face ((,class :inherit font-lock-function-name-face)))
- `(web-mode-html-tag-face ((,class :inherit font-lock-function-name-face)))
- `(web-mode-html-tag-namespaced-face ((,class :inherit font-lock-builtin-face)))
- `(web-mode-html-tag-unclosed-face ((,class :inherit error :underline t)))
- `(web-mode-inlay-face ((,class :background ,bg-alt)))
- `(web-mode-italic-face ((,class :inherit italic)))
- `(web-mode-javascript-comment-face ((,class :inherit web-mode-comment-face)))
- `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face)))
- `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face)))
- `(web-mode-json-context-face ((,class :inherit font-lock-builtin-face)))
- `(web-mode-json-key-face ((,class :foreground ,blue-nuanced-fg)))
- `(web-mode-json-string-face ((,class :inherit web-mode-string-face)))
- `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg :foreground ,fg-main)))
- `(web-mode-jsx-depth-2-face ((,class :background ,blue-subtle-bg :foreground ,fg-main)))
- `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
- `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg)))
- `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg)))
- `(web-mode-keyword-face ((,class :inherit font-lock-keyword-face)))
- `(web-mode-param-name-face ((,class :inherit font-lock-function-name-face)))
- `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face)))
- `(web-mode-part-face ((,class :inherit web-mode-block-face)))
- `(web-mode-part-string-face ((,class :inherit web-mode-string-face)))
- `(web-mode-preprocessor-face ((,class :inherit font-lock-preprocessor-face)))
- `(web-mode-script-face ((,class :inherit web-mode-part-face)))
- `(web-mode-sql-keyword-face ((,class :inherit font-lock-negation-char-face)))
- `(web-mode-string-face ((,class :inherit font-lock-string-face)))
- `(web-mode-style-face ((,class :inherit web-mode-part-face)))
- `(web-mode-symbol-face ((,class :inherit font-lock-constant-face)))
- `(web-mode-type-face ((,class :inherit font-lock-builtin-face)))
- `(web-mode-underline-face ((,class :underline t)))
- `(web-mode-variable-name-face ((,class :inherit font-lock-variable-name-face)))
- `(web-mode-warning-face ((,class :inherit font-lock-warning-face)))
- `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
+ `(web-mode-annotation-face ((,c :inherit web-mode-comment-face)))
+ `(web-mode-annotation-html-face ((,c :inherit web-mode-comment-face)))
+ `(web-mode-annotation-tag-face ((,c :inherit web-mode-comment-face :underline t)))
+ `(web-mode-block-attr-name-face ((,c :inherit font-lock-constant-face)))
+ `(web-mode-block-attr-value-face ((,c :inherit font-lock-type-face)))
+ `(web-mode-block-comment-face ((,c :inherit web-mode-comment-face)))
+ `(web-mode-block-control-face ((,c :inherit font-lock-builtin-face)))
+ `(web-mode-block-delimiter-face ((,c :foreground ,fg-main)))
+ `(web-mode-block-face ((,c :background ,bg-dim)))
+ `(web-mode-block-string-face ((,c :inherit web-mode-string-face)))
+ `(web-mode-bold-face ((,c :inherit bold)))
+ `(web-mode-builtin-face ((,c :inherit font-lock-builtin-face)))
+ `(web-mode-comment-face ((,c :inherit font-lock-comment-face)))
+ `(web-mode-comment-keyword-face ((,c :inherit font-lock-warning-face)))
+ `(web-mode-constant-face ((,c :inherit font-lock-constant-face)))
+ `(web-mode-css-at-rule-face ((,c :inherit font-lock-constant-face)))
+ `(web-mode-css-color-face ((,c :inherit font-lock-builtin-face)))
+ `(web-mode-css-comment-face ((,c :inherit web-mode-comment-face)))
+ `(web-mode-css-function-face ((,c :inherit font-lock-builtin-face)))
+ `(web-mode-css-priority-face ((,c :inherit font-lock-warning-face)))
+ `(web-mode-css-property-name-face ((,c :inherit font-lock-keyword-face)))
+ `(web-mode-css-pseudo-class-face ((,c :inherit font-lock-doc-face)))
+ `(web-mode-css-selector-face ((,c :inherit font-lock-keyword-face)))
+ `(web-mode-css-string-face ((,c :inherit web-mode-string-face)))
+ `(web-mode-css-variable-face ((,c :inherit font-lock-variable-name-face)))
+ `(web-mode-current-column-highlight-face ((,c :background ,bg-inactive)))
+ `(web-mode-current-element-highlight-face ((,c :inherit modus-themes-cyan-subtle)))
+ `(web-mode-doctype-face ((,c :inherit font-lock-doc-face)))
+ `(web-mode-error-face ((,c :inherit error)))
+ `(web-mode-filter-face ((,c :inherit font-lock-function-name-face)))
+ `(web-mode-folded-face ((,c :underline t)))
+ `(web-mode-function-call-face ((,c :inherit font-lock-function-name-face)))
+ `(web-mode-function-name-face ((,c :inherit font-lock-function-name-face)))
+ `(web-mode-html-attr-custom-face ((,c :inherit font-lock-variable-name-face)))
+ `(web-mode-html-attr-engine-face ((,c :foreground ,fg-main)))
+ `(web-mode-html-attr-equal-face ((,c :foreground ,fg-main)))
+ `(web-mode-html-attr-name-face ((,c :inherit font-lock-variable-name-face)))
+ `(web-mode-html-attr-value-face ((,c :inherit font-lock-constant-face)))
+ `(web-mode-html-entity-face ((,c :inherit font-lock-negation-char-face)))
+ `(web-mode-html-tag-bracket-face ((,c :foreground ,fg-dim)))
+ `(web-mode-html-tag-custom-face ((,c :inherit font-lock-function-name-face)))
+ `(web-mode-html-tag-face ((,c :inherit font-lock-function-name-face)))
+ `(web-mode-html-tag-namespaced-face ((,c :inherit font-lock-builtin-face)))
+ `(web-mode-html-tag-unclosed-face ((,c :inherit error :underline t)))
+ `(web-mode-inlay-face ((,c :background ,bg-inactive)))
+ `(web-mode-italic-face ((,c :inherit italic)))
+ `(web-mode-javascript-comment-face ((,c :inherit web-mode-comment-face)))
+ `(web-mode-javascript-string-face ((,c :inherit web-mode-string-face)))
+ `(web-mode-json-comment-face ((,c :inherit web-mode-comment-face)))
+ `(web-mode-json-context-face ((,c :inherit font-lock-builtin-face)))
+ `(web-mode-json-key-face ((,c :foreground ,blue-faint)))
+ `(web-mode-json-string-face ((,c :inherit web-mode-string-face)))
+ `(web-mode-keyword-face ((,c :inherit font-lock-keyword-face)))
+ `(web-mode-param-name-face ((,c :inherit font-lock-function-name-face)))
+ `(web-mode-part-comment-face ((,c :inherit web-mode-comment-face)))
+ `(web-mode-part-face ((,c :inherit web-mode-block-face)))
+ `(web-mode-part-string-face ((,c :inherit web-mode-string-face)))
+ `(web-mode-preprocessor-face ((,c :inherit font-lock-preprocessor-face)))
+ `(web-mode-script-face ((,c :inherit web-mode-part-face)))
+ `(web-mode-sql-keyword-face ((,c :inherit font-lock-negation-char-face)))
+ `(web-mode-string-face ((,c :inherit font-lock-string-face)))
+ `(web-mode-style-face ((,c :inherit web-mode-part-face)))
+ `(web-mode-symbol-face ((,c :inherit font-lock-constant-face)))
+ `(web-mode-type-face ((,c :inherit font-lock-builtin-face)))
+ `(web-mode-underline-face ((,c :underline t)))
+ `(web-mode-variable-name-face ((,c :inherit font-lock-variable-name-face)))
+ `(web-mode-warning-face ((,c :inherit warning)))
+ `(web-mode-whitespace-face ((,c :background ,bg-inactive)))
;;;;; wgrep
- `(wgrep-delete-face ((,class :inherit warning)))
- `(wgrep-done-face ((,class :inherit success)))
- `(wgrep-face ((,class :inherit bold)))
- `(wgrep-file-face ((,class :foreground ,fg-special-warm)))
- `(wgrep-reject-face ((,class :inherit error)))
+ `(wgrep-delete-face ((,c :inherit warning)))
+ `(wgrep-done-face ((,c :inherit success)))
+ `(wgrep-face ((,c :inherit bold)))
+ `(wgrep-file-face ((,c :foreground ,fg-alt)))
+ `(wgrep-reject-face ((,c :inherit error)))
;;;;; which-function-mode
- `(which-func ((,class :foreground ,magenta-active)))
+ `(which-func ((,c :inherit bold :foreground ,modeline-info))) ; same as `breadcrumb-imenu-leaf-face'
;;;;; which-key
- `(which-key-command-description-face ((,class :foreground ,fg-main)))
- `(which-key-group-description-face ((,class :foreground ,magenta-alt)))
- `(which-key-highlighted-command-face ((,class :foreground ,yellow :underline t)))
- `(which-key-key-face ((,class :inherit modus-themes-key-binding)))
- `(which-key-local-map-description-face ((,class :foreground ,fg-main)))
- `(which-key-note-face ((,class :foreground ,fg-special-warm)))
- `(which-key-separator-face ((,class :inherit shadow)))
- `(which-key-special-key-face ((,class :inherit bold :foreground ,red-alt)))
+ `(which-key-command-description-face ((,c :foreground ,fg-main)))
+ `(which-key-group-description-face ((,c :foreground ,type)))
+ `(which-key-highlighted-command-face ((,c :foreground ,warning :underline t)))
+ `(which-key-key-face ((,c :inherit modus-themes-key-binding)))
+ `(which-key-local-map-description-face ((,c :foreground ,fg-main)))
+ `(which-key-note-face ((,c :inherit shadow)))
+ `(which-key-separator-face ((,c :inherit shadow)))
+ `(which-key-special-key-face ((,c :inherit error)))
;;;;; whitespace-mode
- `(whitespace-big-indent ((,class :inherit modus-themes-subtle-red)))
- `(whitespace-empty ((,class :inherit modus-themes-intense-magenta)))
- `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
- `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
- `(whitespace-line ((,class :inherit modus-themes-subtle-yellow)))
- `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
- `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
- `(whitespace-space-after-tab ((,class :inherit modus-themes-subtle-magenta)))
- `(whitespace-space-before-tab ((,class :inherit modus-themes-subtle-cyan)))
- `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
- `(whitespace-trailing ((,class :inherit modus-themes-intense-red)))
+ `(whitespace-big-indent ((,c :background ,bg-space-err)))
+ `(whitespace-empty ((,c :background ,bg-space)))
+ `(whitespace-hspace ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-indentation ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-line ((,c :background ,bg-space :foreground ,warning)))
+ `(whitespace-newline ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-space ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-space-after-tab ((,c :inherit warning :background ,bg-space)))
+ `(whitespace-space-before-tab ((,c :inherit warning :background ,bg-space)))
+ `(whitespace-tab ((,c :background ,bg-space :foreground ,fg-space)))
+ `(whitespace-trailing ((,c :background ,bg-space-err)))
;;;;; window-divider-mode
- `(window-divider ((,class :foreground ,fg-window-divider-inner)))
- `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer)))
- `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer)))
-;;;;; winum
- `(winum-face ((,class :inherit modus-themes-bold :foreground ,cyan-active)))
+ `(window-divider ((,c :foreground ,border)))
+ `(window-divider-first-pixel ((,c :foreground ,bg-inactive)))
+ `(window-divider-last-pixel ((,c :foreground ,bg-inactive)))
+;;;;; widget
+ `(widget-button ((,c :inherit bold :foreground ,fg-link)))
+ `(widget-button-pressed ((,c :inherit widget-button :foreground ,fg-link-visited)))
+ `(widget-documentation ((,c :inherit font-lock-doc-face)))
+ `(widget-field ((,c :background ,bg-inactive :foreground ,fg-main :extend nil)))
+ `(widget-inactive ((,c :background ,bg-button-inactive :foreground ,fg-button-inactive)))
+ `(widget-single-line-field ((,c :inherit widget-field)))
;;;;; writegood-mode
- `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t)))
- `(writegood-passive-voice-face ((,class :inherit modus-themes-lang-warning)))
- `(writegood-weasels-face ((,class :inherit modus-themes-lang-error)))
+ `(writegood-duplicates-face ((,c :inherit modus-themes-lang-error)))
+ `(writegood-passive-voice-face ((,c :inherit modus-themes-lang-warning)))
+ `(writegood-weasels-face ((,c :inherit modus-themes-lang-warning)))
;;;;; woman
- `(woman-addition ((,class :foreground ,magenta-alt-other)))
- `(woman-bold ((,class :inherit bold :foreground ,magenta-alt)))
- `(woman-italic ((,class :inherit italic :foreground ,cyan)))
- `(woman-unknown ((,class :foreground ,green-alt)))
+ `(woman-addition ((,c :foreground ,accent-2)))
+ `(woman-bold ((,c :inherit bold :foreground ,accent-0)))
+ `(woman-italic ((,c :inherit italic :foreground ,accent-1)))
+ `(woman-unknown ((,c :foreground ,accent-3)))
;;;;; xah-elisp-mode
- `(xah-elisp-at-symbol ((,class :inherit font-lock-warning-face)))
- `(xah-elisp-cap-variable ((,class :inherit font-lock-preprocessor-face)))
- `(xah-elisp-command-face ((,class :inherit font-lock-type-face)))
- `(xah-elisp-dollar-symbol ((,class :inherit font-lock-variable-name-face)))
-;;;;; xref
- `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold)))
- `(xref-line-number ((,class :inherit shadow)))
- `(xref-match ((,class :inherit match)))
+ `(xah-elisp-at-symbol ((,c :inherit font-lock-warning-face)))
+ `(xah-elisp-cap-variable ((,c :inherit font-lock-preprocessor-face)))
+ `(xah-elisp-command-face ((,c :inherit font-lock-type-face)))
+ `(xah-elisp-dollar-symbol ((,c :inherit font-lock-variable-name-face)))
;;;;; yaml-mode
- `(yaml-tab-face ((,class :inherit modus-themes-intense-red)))
+ `(yaml-tab-face ((,c :background ,bg-space-err)))
;;;;; yasnippet
- `(yas-field-highlight-face ((,class :background ,bg-hl-alt-intense)))
+ `(yas-field-highlight-face ((,c :inherit highlight)))
;;;;; ztree
- `(ztreep-arrow-face ((,class :foreground ,fg-inactive)))
- `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold)))
- `(ztreep-diff-header-small-face ((,class :foreground ,fg-main)))
- `(ztreep-diff-model-add-face ((,class :inherit modus-themes-grue)))
- `(ztreep-diff-model-diff-face ((,class :foreground ,red)))
- `(ztreep-diff-model-ignored-face ((,class :inherit shadow :strike-through t)))
- `(ztreep-diff-model-normal-face ((,class :inherit shadow)))
- `(ztreep-expand-sign-face ((,class :inherit ztreep-arrow-face)))
- `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold)))
- `(ztreep-leaf-face ((,class :foreground ,cyan)))
- `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm)))
- `(ztreep-node-face ((,class :foreground ,fg-main))))
+ `(ztreep-arrow-face ((,c :inherit shadow)))
+ `(ztreep-diff-header-face ((,c :inherit modus-themes-heading-0)))
+ `(ztreep-diff-header-small-face ((,c :inherit font-lock-doc-face)))
+ `(ztreep-diff-model-add-face ((,c :foreground ,info)))
+ `(ztreep-diff-model-diff-face ((,c :foreground ,err)))
+ `(ztreep-diff-model-ignored-face ((,c :foreground ,fg-dim :strike-through t)))
+ `(ztreep-diff-model-normal-face (( )))
+ `(ztreep-expand-sign-face ((,c :inherit shadow)))
+ `(ztreep-header-face ((,c :inherit modus-themes-heading-0)))
+ `(ztreep-leaf-face (( )))
+ `(ztreep-node-count-children-face ((,c :inherit (shadow italic))))
+ `(ztreep-node-face ((,c :foreground ,accent-0))))
"Face specs for use with `modus-themes-theme'.")
(defconst modus-themes-custom-variables
'(
;;;; ansi-colors
`(ansi-color-faces-vector [default bold shadow italic underline success warning error])
- `(ansi-color-names-vector ["gray35" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"])
-;;;; awesome-tray
- `(awesome-tray-mode-line-active-color ,blue)
- `(awesome-tray-mode-line-inactive-color ,bg-active)
+ `(ansi-color-names-vector ["#595959" ,red ,green ,yellow ,blue ,magenta ,cyan "#a6a6a6"])
;;;; chart
`(chart-face-color-list
- '( ,red-graph-0-bg ,green-graph-0-bg ,yellow-graph-0-bg ,blue-graph-0-bg ,magenta-graph-0-bg ,cyan-graph-0-bg
- ,red-graph-1-bg ,green-graph-1-bg ,yellow-graph-1-bg ,blue-graph-1-bg ,magenta-graph-1-bg ,cyan-graph-1-bg))
+ '( ,bg-graph-red-0 ,bg-graph-green-0 ,bg-graph-yellow-0 ,bg-graph-blue-0 ,bg-graph-magenta-0 ,bg-graph-cyan-0
+ ,bg-graph-red-1 ,bg-graph-green-1 ,bg-graph-yellow-1 ,bg-graph-blue-1 ,bg-graph-magenta-1 ,bg-graph-cyan-1))
;;;; exwm
- `(exwm-floating-border-color ,fg-window-divider-inner)
+ `(exwm-floating-border-color ,border)
;;;; flymake fringe indicators
- `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-themes-fringe-red))
- `(flymake-warning-bitmap '(exclamation-mark modus-themes-fringe-yellow))
- `(flymake-note-bitmap '(exclamation-mark modus-themes-fringe-cyan))
+ `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-themes-prominent-error))
+ `(flymake-warning-bitmap '(exclamation-mark modus-themes-prominent-warning))
+ `(flymake-note-bitmap '(exclamation-mark modus-themes-prominent-note))
;;;; highlight-changes
`(highlight-changes-colors nil)
`(highlight-changes-face-list '(success warning error bold bold-italic))
;;;; ibuffer
`(ibuffer-deletion-face 'modus-themes-mark-del)
- `(ibuffer-filter-group-name-face 'modus-themes-pseudo-header)
+ `(ibuffer-filter-group-name-face 'bold)
`(ibuffer-marked-face 'modus-themes-mark-sel)
`(ibuffer-title-face 'default)
;;;; hl-todo
`(hl-todo-keyword-faces
- '(("HOLD" . ,yellow-alt)
- ("TODO" . ,magenta)
- ("NEXT" . ,magenta-alt-other)
- ("THEM" . ,magenta-alt)
- ("PROG" . ,cyan)
- ("OKAY" . ,cyan-alt)
- ("DONT" . ,green-alt)
- ("FAIL" . ,red)
- ("BUG" . ,red)
- ("DONE" . ,green)
- ("NOTE" . ,yellow-alt-other)
- ("KLUDGE" . ,yellow)
- ("HACK" . ,yellow)
- ("TEMP" . ,red-nuanced-fg)
- ("FIXME" . ,red-alt-other)
- ("XXX+" . ,red-alt)
- ("REVIEW" . ,cyan-alt-other)
- ("DEPRECATED" . ,blue-nuanced-fg)))
-;;;; mini-modeline
- `(mini-modeline-face-attr '(:background unspecified))
+ '(("HOLD" . ,warning)
+ ("TODO" . ,err)
+ ("NEXT" . ,fg-alt)
+ ("THEM" . ,fg-alt)
+ ("PROG" . ,info)
+ ("OKAY" . ,info)
+ ("DONT" . ,warning)
+ ("FAIL" . ,err)
+ ("BUG" . ,err)
+ ("DONE" . ,info)
+ ("NOTE" . ,warning)
+ ("KLUDGE" . ,warning)
+ ("HACK" . ,warning)
+ ("TEMP" . ,warning)
+ ("FIXME" . ,err)
+ ("XXX+" . ,err)
+ ("REVIEW" . ,info)
+ ("DEPRECATED" . ,info)))
;;;; pdf-tools
- `(pdf-view-midnight-colors
- '(,fg-main . ,bg-dim))
-;;;; wid-edit
- `(widget-link-prefix ,(if (memq 'all-buttons modus-themes-box-buttons)
- " "
- "["))
- `(widget-link-suffix ,(if (memq 'all-buttons modus-themes-box-buttons)
- " "
- "]"))
- `(widget-mouse-face '(highlight widget-button))
- `(widget-push-button-prefix ,(if (memq 'all-buttons modus-themes-box-buttons)
- " "
- "["))
- `(widget-push-button-suffix ,(if (memq 'all-buttons modus-themes-box-buttons)
- " "
- "]"))
+ `(pdf-view-midnight-colors '(,fg-main . ,bg-dim))
+;;;; rcirc-color
+ `(rcirc-colors
+ '(modus-themes-fg-red
+ modus-themes-fg-green
+ modus-themes-fg-blue
+ modus-themes-fg-yellow
+ modus-themes-fg-magenta
+ modus-themes-fg-cyan
+ modus-themes-fg-red-warmer
+ modus-themes-fg-green-warmer
+ modus-themes-fg-blue-warmer
+ modus-themes-fg-yellow-warmer
+ modus-themes-fg-magenta-warmer
+ modus-themes-fg-cyan-warmer
+ modus-themes-fg-red-cooler
+ modus-themes-fg-green-cooler
+ modus-themes-fg-blue-cooler
+ modus-themes-fg-yellow-cooler
+ modus-themes-fg-magenta-cooler
+ modus-themes-fg-cyan-cooler
+ modus-themes-fg-red-faint
+ modus-themes-fg-green-faint
+ modus-themes-fg-blue-faint
+ modus-themes-fg-yellow-faint
+ modus-themes-fg-magenta-faint
+ modus-themes-fg-cyan-faint
+ modus-themes-fg-red-intense
+ modus-themes-fg-green-intense
+ modus-themes-fg-blue-intense
+ modus-themes-fg-yellow-intense
+ modus-themes-fg-magenta-intense
+ modus-themes-fg-cyan-intense))
+;;;; rustic-ansi-faces
+ `(rustic-ansi-faces
+ [,fg-term-black
+ ,fg-term-red
+ ,fg-term-green
+ ,fg-term-yellow
+ ,fg-term-blue
+ ,fg-term-magenta
+ ,fg-term-cyan
+ ,fg-term-white])
;;;; xterm-color
- `(xterm-color-names ["black" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"])
- `(xterm-color-names-bright ["gray35" ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt "white"])
- (if (or (eq modus-themes-org-blocks 'tinted-background)
- (eq modus-themes-org-blocks 'rainbow))
- `(org-src-block-faces
- `(("emacs-lisp" modus-themes-nuanced-magenta)
- ("elisp" modus-themes-nuanced-magenta)
- ("clojure" modus-themes-nuanced-magenta)
- ("clojurescript" modus-themes-nuanced-magenta)
- ("c" modus-themes-nuanced-blue)
- ("c++" modus-themes-nuanced-blue)
- ("sh" modus-themes-nuanced-green)
- ("shell" modus-themes-nuanced-green)
- ("html" modus-themes-nuanced-yellow)
- ("xml" modus-themes-nuanced-yellow)
- ("css" modus-themes-nuanced-red)
- ("scss" modus-themes-nuanced-red)
- ("python" modus-themes-nuanced-green)
- ("ipython" modus-themes-nuanced-magenta)
- ("r" modus-themes-nuanced-cyan)
- ("yaml" modus-themes-nuanced-cyan)
- ("conf" modus-themes-nuanced-cyan)
- ("docker" modus-themes-nuanced-cyan)))
- `(org-src-block-faces '())))
+ `(xterm-color-names
+ [,fg-term-black
+ ,fg-term-red
+ ,fg-term-green
+ ,fg-term-yellow
+ ,fg-term-blue
+ ,fg-term-magenta
+ ,fg-term-cyan
+ ,fg-term-white])
+ `(xterm-color-names-bright
+ [,fg-term-black-bright
+ ,fg-term-red-bright
+ ,fg-term-green-bright
+ ,fg-term-yellow-bright
+ ,fg-term-blue-bright
+ ,fg-term-magenta-bright
+ ,fg-term-cyan-bright
+ ,fg-term-white-bright]))
"Custom variables for `modus-themes-theme'.")
+;;; Theme macros
+
+;;;; Instantiate a Modus theme
+
+;;;###autoload
+(defmacro modus-themes-theme (name palette &optional overrides)
+ "Bind NAME's color PALETTE around face specs and variables.
+Face specifications are passed to `custom-theme-set-faces'.
+While variables are handled by `custom-theme-set-variables'.
+Those are stored in `modus-themes-faces' and
+`modus-themes-custom-variables' respectively.
+
+Optional OVERRIDES are appended to PALETTE, overriding
+corresponding entries."
+ (declare (indent 0))
+ (let ((sym (gensym))
+ (colors (mapcar #'car (symbol-value palette))))
+ `(let* ((c '((class color) (min-colors 256)))
+ (,sym (modus-themes--palette-value ',name ',overrides))
+ ,@(mapcar (lambda (color)
+ (list color
+ `(modus-themes--retrieve-palette-value ',color ,sym)))
+ colors))
+ (ignore c ,@colors) ; Silence unused variable warnings
+ (custom-theme-set-faces ',name ,@modus-themes-faces)
+ (custom-theme-set-variables ',name ,@modus-themes-custom-variables))))
+
+;;;; Use theme colors
+
+(defmacro modus-themes-with-colors (&rest body)
+ "Evaluate BODY with colors from current palette bound."
+ (declare (indent 0))
+ (let* ((sym (gensym))
+ ;; NOTE 2022-08-23: We just give it a sample palette at this
+ ;; stage. It only needs to collect each car. Then we
+ ;; instantiate the actual theme's palette. We have to do this
+ ;; otherwise the macro does not work properly when called from
+ ;; inside a function.
+ (colors (mapcar #'car (modus-themes--current-theme-palette))))
+ `(let* ((c '((class color) (min-colors 256)))
+ (,sym (modus-themes--current-theme-palette :overrides))
+ ,@(mapcar (lambda (color)
+ (list color
+ `(modus-themes--retrieve-palette-value ',color ,sym)))
+ colors))
+ (ignore c ,@colors) ; Silence unused variable warnings
+ ,@body)))
+
+;;;; Add themes from package to path
+
;;;###autoload
(when load-file-name
(let ((dir (file-name-directory load-file-name)))