aboutsummaryrefslogtreecommitdiffstats
path: root/etc/themes/modus-vivendi-theme.el
diff options
context:
space:
mode:
Diffstat (limited to 'etc/themes/modus-vivendi-theme.el')
-rw-r--r--etc/themes/modus-vivendi-theme.el4670
1 files changed, 36 insertions, 4634 deletions
diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el
index 171313244b5..fd7f5df24d7 100644
--- a/etc/themes/modus-vivendi-theme.el
+++ b/etc/themes/modus-vivendi-theme.el
@@ -1,4663 +1,65 @@
1;;; modus-vivendi-theme.el --- Accessible dark theme (WCAG AAA) -*- lexical-binding:t -*- 1;;; modus-vivendi-theme.el --- Accessible dark theme (WCAG AAA) -*- lexical-binding:t -*-
2 2
3;; Copyright (C) 2019-2021 Free Software Foundation, Inc. 3;; Copyright (C) 2019-2021 Free Software Foundation, Inc.
4 4
5;; Author: Protesilaos Stavrou <info@protesilaos.com> 5;; Author: Protesilaos Stavrou <info@protesilaos.com>
6;; URL: https://gitlab.com/protesilaos/modus-themes 6;; URL: https://gitlab.com/protesilaos/modus-themes
7;; Version: 0.13.0 7;; Version: 1.2.0
8;; Package-Requires: ((emacs "26.1")) 8;; Package-Requires: ((emacs "26.1"))
9;; Keywords: faces, theme, accessibility 9;; Keywords: faces, theme, accessibility
10 10
11;; This file is part of GNU Emacs. 11;; This file is part of GNU Emacs.
12 12
13;; GNU Emacs is free software: you can redistribute it and/or modify 13;; This program is free software; you can redistribute it and/or modify
14;; it under the terms of the GNU General Public License as published by 14;; it under the terms of the GNU General Public License as published by
15;; the Free Software Foundation, either version 3 of the License, or 15;; the Free Software Foundation, either version 3 of the License, or (at
16;; (at your option) any later version. 16;; your option) any later version.
17 17;;
18;; GNU Emacs is distributed in the hope that it will be useful, 18;; This program is distributed in the hope that it will be useful, but
19;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19;; WITHOUT ANY WARRANTY; without even the implied warranty of
20;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21;; GNU General Public License for more details. 21;; General Public License for more details.
22 22;;
23;; You should have received a copy of the GNU General Public License 23;; You should have received a copy of the GNU General Public License
24;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. 24;; along with this program. If not, see <https://www.gnu.org/licenses/>.
25 25
26;;; Commentary: 26;;; Commentary:
27;; 27;;
28;; This theme is designed for colour-contrast accessibility. 28;; Modus Vivendi is the dark variant of the Modus themes (Modus Operandi
29;; 29;; is the light one). The themes are designed for color-contrast
30;; 1. Provide a consistent minimum contrast ratio between background and 30;; accessibility. More specifically:
31;; foreground values of 7:1 or higher. This meets the highest such
32;; accessibility criterion per the guidelines of the Worldwide Web
33;; Consortium's Working Group on Accessibility (WCAG AAA standard).
34;; 31;;
35;; 2. Offer as close to full face coverage as possible. The list is 32;; 1. Provide a consistent minimum contrast ratio between background
36;; already quite long (see further below), with more additions to follow 33;; and foreground values of 7:1 or higher. This meets the highest
37;; as part of the ongoing development process. 34;; such accessibility criterion per the guidelines of the Worldwide
35;; Web Consortium's Working Group on Accessibility (WCAG AAA
36;; standard).
38;; 37;;
39;; The theme provides the following customisation options, all of which 38;; 2. Offer as close to full face coverage as possible. The list is
40;; are disabled by default: 39;; already quite long, with more additions to follow as part of the
40;; ongoing development process.
41;; 41;;
42;; modus-vivendi-theme-slanted-constructs (boolean) 42;; For a complete view of the project, also refer to the following files
43;; modus-vivendi-theme-bold-constructs (boolean) 43;; (should be distributed in the same repository/directory as the
44;; modus-vivendi-theme-variable-pitch-headings (boolean) 44;; current item):
45;; modus-vivendi-theme-no-mixed-fonts (boolean)
46;; modus-vivendi-theme-headings (alist)
47;; modus-vivendi-theme-scale-headings (boolean)
48;; modus-vivendi-theme-fringes (choice)
49;; modus-vivendi-theme-org-blocks (choice)
50;; modus-vivendi-theme-prompts (choice)
51;; modus-vivendi-theme-mode-line (choice)
52;; modus-vivendi-theme-diffs (choice)
53;; modus-vivendi-theme-faint-syntax (boolean)
54;; modus-vivendi-theme-intense-hl-line (boolean)
55;; modus-vivendi-theme-intense-paren-match (boolean)
56;; modus-vivendi-theme-no-link-underline (boolean)
57;; modus-vivendi-theme-completions (choice)
58;; modus-vivendi-theme-override-colors-alist (alist)
59;; 45;;
60;; The default scale is as follows (it can be customised as well): 46;; - modus-themes.el (Main code shared between the themes)
61;; 47;; - modus-operandi-theme.el (Light theme)
62;; modus-vivendi-theme-scale-1 1.05
63;; modus-vivendi-theme-scale-2 1.1
64;; modus-vivendi-theme-scale-3 1.15
65;; modus-vivendi-theme-scale-4 1.2
66;; modus-vivendi-theme-scale-5 1.3
67;;
68;; What follows is the list of explicitly supported packages or face
69;; groups (there are implicitly supported packages as well, which
70;; inherit from font-lock or some basic group). You are encouraged to
71;; notify me of any missing package or change you would like to see.
72;;
73;; ace-window
74;; ag
75;; alert
76;; all-the-icons
77;; annotate
78;; anzu
79;; apropos
80;; apt-sources-list
81;; artbollocks-mode
82;; auctex and TeX
83;; auto-dim-other-buffers
84;; avy
85;; awesome-tray
86;; binder
87;; bm
88;; bongo
89;; boon
90;; breakpoint (provided by built-in gdb-mi.el)
91;; buffer-expose
92;; calendar and diary
93;; calfw
94;; centaur-tabs
95;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
96;; cider
97;; circe
98;; color-rg
99;; column-enforce-mode
100;; company-mode
101;; company-posframe
102;; compilation-mode
103;; completions
104;; counsel
105;; counsel-css
106;; counsel-notmuch
107;; counsel-org-capture-string
108;; cov
109;; cperl-mode
110;; csv-mode
111;; ctrlf
112;; custom (M-x customize)
113;; dap-mode
114;; dashboard (emacs-dashboard)
115;; deadgrep
116;; debbugs
117;; define-word
118;; deft
119;; dictionary
120;; diff-hl
121;; diff-mode
122;; dim-autoload
123;; dir-treeview
124;; dired
125;; dired-async
126;; dired-git
127;; dired-git-info
128;; dired-narrow
129;; dired-subtree
130;; diredfl
131;; disk-usage
132;; doom-modeline
133;; dynamic-ruler
134;; easy-jekyll
135;; easy-kill
136;; ebdb
137;; ediff
138;; eglot
139;; el-search
140;; eldoc
141;; eldoc-box
142;; elfeed
143;; elfeed-score
144;; emms
145;; enhanced-ruby-mode
146;; epa
147;; equake
148;; erc
149;; eros
150;; ert
151;; eshell
152;; eshell-fringe-status
153;; eshell-git-prompt
154;; eshell-prompt-extras (epe)
155;; eshell-syntax-highlighting
156;; evil (evil-mode)
157;; evil-goggles
158;; evil-visual-mark-mode
159;; eww
160;; eyebrowse
161;; fancy-dabbrev
162;; flycheck
163;; flycheck-color-mode-line
164;; flycheck-indicator
165;; flycheck-posframe
166;; flymake
167;; flyspell
168;; flyspell-correct
169;; flx
170;; freeze-it
171;; frog-menu
172;; focus
173;; fold-this
174;; font-lock (generic syntax highlighting)
175;; forge
176;; fountain (fountain-mode)
177;; geiser
178;; git-commit
179;; git-gutter (and variants)
180;; git-lens
181;; git-rebase
182;; git-timemachine
183;; git-walktree
184;; gnus
185;; golden-ratio-scroll-screen
186;; helm
187;; helm-ls-git
188;; helm-switch-shell
189;; helm-xref
190;; helpful
191;; highlight-blocks
192;; highlight-defined
193;; highlight-escape-sequences (`hes-mode')
194;; highlight-indentation
195;; highlight-numbers
196;; highlight-symbol
197;; highlight-tail
198;; highlight-thing
199;; hl-defined
200;; hl-fill-column
201;; hl-line-mode
202;; hl-todo
203;; hydra
204;; hyperlist
205;; ibuffer
206;; icomplete
207;; ido-mode
208;; iedit
209;; iflipb
210;; imenu-list
211;; indium
212;; info
213;; info-colors
214;; interaction-log
215;; ioccur
216;; isearch, occur, etc.
217;; ivy
218;; ivy-posframe
219;; jira (org-jira)
220;; journalctl-mode
221;; js2-mode
222;; julia
223;; jupyter
224;; kaocha-runner
225;; keycast
226;; line numbers (`display-line-numbers-mode' and global variant)
227;; lsp-mode
228;; lsp-ui
229;; magit
230;; magit-imerge
231;; man
232;; markdown-mode
233;; markup-faces (`adoc-mode')
234;; mentor
235;; messages
236;; minibuffer-line
237;; minimap
238;; modeline
239;; mood-line
240;; mpdel
241;; mu4e
242;; mu4e-conversation
243;; multiple-cursors
244;; neotree
245;; no-emoji
246;; notmuch
247;; num3-mode
248;; nxml-mode
249;; objed
250;; orderless
251;; org
252;; org-journal
253;; org-noter
254;; org-pomodoro
255;; org-recur
256;; org-roam
257;; org-superstar
258;; org-table-sticky-header
259;; org-treescope
260;; origami
261;; outline-mode
262;; outline-minor-faces
263;; package (M-x list-packages)
264;; page-break-lines
265;; paradox
266;; paren-face
267;; parrot
268;; pass
269;; persp-mode
270;; perspective
271;; phi-grep
272;; phi-search
273;; pkgbuild-mode
274;; pomidor
275;; powerline
276;; powerline-evil
277;; proced
278;; prodigy
279;; racket-mode
280;; rainbow-blocks
281;; rainbow-identifiers
282;; rainbow-delimiters
283;; rcirc
284;; regexp-builder (also known as `re-builder')
285;; rg
286;; ripgrep
287;; rmail
288;; ruler-mode
289;; sallet
290;; selectrum
291;; semantic
292;; sesman
293;; shell-script-mode
294;; show-paren-mode
295;; side-notes
296;; skewer-mode
297;; smart-mode-line
298;; smartparens
299;; smerge
300;; spaceline
301;; speedbar
302;; spell-fu
303;; stripes
304;; suggest
305;; switch-window
306;; swiper
307;; swoop
308;; sx
309;; symbol-overlay
310;; tab-bar-mode
311;; tab-line-mode
312;; syslog-mode
313;; table (built-in table.el)
314;; telephone-line
315;; term
316;; tomatinho
317;; transient (pop-up windows like Magit's)
318;; trashed
319;; treemacs
320;; tty-menu
321;; tuareg
322;; typescript
323;; undo-tree
324;; vc (built-in mode line status for version control)
325;; vc-annotate (C-x v g)
326;; vdiff
327;; vimish-fold
328;; visible-mark
329;; visual-regexp
330;; volatile-highlights
331;; vterm
332;; wcheck-mode
333;; web-mode
334;; wgrep
335;; which-function-mode
336;; which-key
337;; whitespace-mode
338;; window-divider-mode
339;; winum
340;; writegood-mode
341;; woman
342;; xah-elisp-mode
343;; xref
344;; xterm-color (and ansi-colors)
345;; yaml-mode
346;; yasnippet
347;; ztree
348 48
349;;; Code: 49;;; Code:
350 50
351 51
352 52
353(deftheme modus-vivendi 53(require-theme 'modus-themes)
354 "Dark theme that conforms with the highest accessibility
355 standard for colour contrast between background and
356 foreground elements (WCAG AAA).")
357
358;;; Custom faces
359
360;; These faces will be inherited by actual constructs. They are meant
361;; for those cases where a face needs to distinguish its output from
362;; the rest of the text, such as `isearch' and `occur'… We define
363;; these separately in order to combine each colour with its
364;; appropriate foreground value. This is to ensure a consistent
365;; contrast ratio of >= 7:1.
366(defgroup modus-theme ()
367 "Theme that ensures WCAG AAA accessibility (contrast ratio
368between foreground and background is >= 7:1)."
369 :group 'faces
370 :prefix "modus-theme-"
371 :link '(url-link :tag "GitLab" "https://gitlab.com/protesilaos/modus-themes")
372 :tag "Modus Vivendi")
373
374(defface modus-theme-subtle-red nil nil)
375(defface modus-theme-subtle-green nil nil)
376(defface modus-theme-subtle-yellow nil nil)
377(defface modus-theme-subtle-blue nil nil)
378(defface modus-theme-subtle-magenta nil nil)
379(defface modus-theme-subtle-cyan nil nil)
380(defface modus-theme-subtle-neutral nil nil)
381(defface modus-theme-intense-red nil nil)
382(defface modus-theme-intense-green nil nil)
383(defface modus-theme-intense-yellow nil nil)
384(defface modus-theme-intense-blue nil nil)
385(defface modus-theme-intense-magenta nil nil)
386(defface modus-theme-intense-cyan nil nil)
387(defface modus-theme-intense-neutral nil nil)
388(defface modus-theme-refine-red nil nil)
389(defface modus-theme-refine-green nil nil)
390(defface modus-theme-refine-yellow nil nil)
391(defface modus-theme-refine-blue nil nil)
392(defface modus-theme-refine-magenta nil nil)
393(defface modus-theme-refine-cyan nil nil)
394(defface modus-theme-active-red nil nil)
395(defface modus-theme-active-green nil nil)
396(defface modus-theme-active-yellow nil nil)
397(defface modus-theme-active-blue nil nil)
398(defface modus-theme-active-magenta nil nil)
399(defface modus-theme-active-cyan nil nil)
400(defface modus-theme-fringe-red nil nil)
401(defface modus-theme-fringe-green nil nil)
402(defface modus-theme-fringe-yellow nil nil)
403(defface modus-theme-fringe-blue nil nil)
404(defface modus-theme-fringe-magenta nil nil)
405(defface modus-theme-fringe-cyan nil nil)
406(defface modus-theme-nuanced-red nil nil)
407(defface modus-theme-nuanced-green nil nil)
408(defface modus-theme-nuanced-yellow nil nil)
409(defface modus-theme-nuanced-blue nil nil)
410(defface modus-theme-nuanced-magenta nil nil)
411(defface modus-theme-nuanced-cyan nil nil)
412(defface modus-theme-special-cold nil nil)
413(defface modus-theme-special-mild nil nil)
414(defface modus-theme-special-warm nil nil)
415(defface modus-theme-special-calm nil nil)
416(defface modus-theme-diff-added nil nil)
417(defface modus-theme-diff-changed nil nil)
418(defface modus-theme-diff-removed nil nil)
419(defface modus-theme-diff-refine-added nil nil)
420(defface modus-theme-diff-refine-changed nil nil)
421(defface modus-theme-diff-refine-removed nil nil)
422(defface modus-theme-diff-focus-added nil nil)
423(defface modus-theme-diff-focus-changed nil nil)
424(defface modus-theme-diff-focus-removed nil nil)
425(defface modus-theme-diff-heading nil nil)
426(defface modus-theme-pseudo-header nil nil)
427(defface modus-theme-mark-alt nil nil)
428(defface modus-theme-mark-del nil nil)
429(defface modus-theme-mark-sel nil nil)
430(defface modus-theme-mark-symbol nil nil)
431(defface modus-theme-heading-1 nil nil)
432(defface modus-theme-heading-2 nil nil)
433(defface modus-theme-heading-3 nil nil)
434(defface modus-theme-heading-4 nil nil)
435(defface modus-theme-heading-5 nil nil)
436(defface modus-theme-heading-6 nil nil)
437(defface modus-theme-heading-7 nil nil)
438(defface modus-theme-heading-8 nil nil)
439(defface modus-theme-hl-line nil nil)
440
441;;; Customisation options
442
443;; User-facing customisation options. They are all deactivated by
444;; default (users must opt in).
445(defcustom modus-vivendi-theme-slanted-constructs nil
446 "Use slanted text in more code constructs (italics or oblique)."
447 :type 'boolean)
448
449(defcustom modus-vivendi-theme-bold-constructs nil
450 "Use bold text in more code constructs."
451 :type 'boolean)
452
453(define-obsolete-variable-alias 'modus-vivendi-theme-proportional-fonts
454 'modus-vivendi-theme-variable-pitch-headings "`modus-vivendi-theme' 0.11.0")
455
456(defcustom modus-vivendi-theme-proportional-fonts nil
457 "Use proportional fonts (variable-pitch) in headings."
458 :type 'boolean)
459
460(defcustom modus-vivendi-theme-variable-pitch-headings nil
461 "Use proportional fonts (variable-pitch) in headings."
462 :type 'boolean)
463
464(defcustom modus-vivendi-theme-no-mixed-fonts nil
465 "Disable inheritance from `fixed-pitch' in some faces.
466
467This is done by default to allow spacing-sensitive constructs,
468such as Org tables and code blocks, to remain monospaced when
469users opt for something like the command `variable-pitch-mode'.
470The downside with the default is that users need to explicitly
471configure the font family of `fixed-pitch' in order to get a
472consistent experience. That may be something they do not want to
473do. Hence this option to disable any kind of technique for
474mixing fonts."
475 :type 'boolean)
476
477(make-obsolete 'modus-vivendi-theme-rainbow-headings
478 'modus-vivendi-theme-headings
479 "`modus-vivendi-theme' 0.13.0")
480
481(defcustom modus-vivendi-theme-rainbow-headings nil
482 "Use more saturated colours for headings."
483 :type 'boolean)
484
485(make-obsolete 'modus-vivendi-theme-section-headings
486 'modus-vivendi-theme-headings
487 "`modus-vivendi-theme' 0.13.0")
488
489(defcustom modus-vivendi-theme-section-headings nil
490 "Use a background and an overline in headings."
491 :type 'boolean)
492
493(defcustom modus-vivendi-theme-headings
494 '((t . nil))
495 "Alist of styles for headings, with optional value per level.
496
497To control faces per level from 1-8, use something like this:
498
499 (setq modus-vivendi-theme-headings
500 '((1 . highlight)
501 (2 . line)
502 (t . rainbow-line-no-bold)))
503
504To set a uniform value for all heading levels, use this pattern:
505
506 (setq modus-vivendi-theme-headings
507 '((t . rainbow-line-no-bold)))
508
509The default uses a fairly desaturated foreground value in
510combination with a bold typographic weight. To specify this
511style for a given level N (assuming you wish to have another
512fallback option), just specify the value t like this:
513
514 (setq modus-vivendi-theme-headings
515 '((1 . t)
516 (2 . line)
517 (t . rainbow-line-no-bold)))
518
519A description of all possible values:
520
521+ `no-bold' retains the default text colour while removing
522 the typographic weight.
523
524+ `line' is the same as the default plus an overline over the
525 heading.
526
527+ `line-no-bold' is the same as `line' without bold weight.
528
529+ `rainbow' uses a more colourful foreground in combination
530 with bold weight.
531
532+ `rainbow-line' is the same as `rainbow' plus an overline.
533
534+ `rainbow-line-no-bold' is the same as `rainbow-line' without
535 the bold weight.
536
537+ `highlight' retains the default style of a fairly desaturated
538 foreground combined with a bold weight and add to it a subtle
539 accented background.
540
541+ `highlight-no-bold' is the same as `highlight' without a bold
542 weight.
543
544+ `rainbow-highlight' is the same as `highlight' but with a more
545 colourful foreground.
546
547+ `rainbow-highlight-no-bold' is the same as `rainbow-highlight'
548 without a bold weight.
549
550+ `section' retains the default looks and adds to them both an
551 overline and a slightly accented background. It is, in effect,
552 a combination of the `line' and `highlight' values.
553
554+ `section-no-bold' is the same as `section' without a bold
555 weight.
556
557+ `rainbow-section' is the same as `section' but with a more
558 colourful foreground.
559
560+ `rainbow-section-no-bold' is the same as `rainbow-section'
561 without a bold weight."
562 :type
563 '(alist
564 :key-type symbol
565 :value-type
566 (choice (const :tag "Fairly desaturated foreground with bold weight (default)" t)
567 (const :tag "Like the default without bold weight" no-bold)
568 (const :tag "Like the default plus overline" line)
569 (const :tag "Like `line' without bold weight" line-no-bold)
570 (const :tag "Like the default but with more colourful foreground" rainbow)
571 (const :tag "Like `rainbow' plus overline" rainbow-line)
572 (const :tag "Like `rainbow' without bold weight" rainbow-no-bold)
573 (const :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold)
574 (const :tag "Like the default plus subtle background" highlight)
575 (const :tag "Like `highlight' without bold weight" highlight-no-bold)
576 (const :tag "Like `highlight' with more colourful foreground" rainbow-highlight)
577 (const :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold)
578 (const :tag "Like `highlight' plus overline" section)
579 (const :tag "Like `section' without bold weight" section-no-bold)
580 (const :tag "Like `section' with more colourful foreground" rainbow-section)
581 (const :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold))))
582
583(defcustom modus-vivendi-theme-scale-headings nil
584 "Use font scaling for headings."
585 :type 'boolean)
586
587(defcustom modus-vivendi-theme-scale-1 1.05
588 "Font size that is slightly larger than the base value.
589The default is a floating point that is interpreted as a multiple
590of the base font size. However, the variable also accepts an
591integer, understood as an absolute height (e.g. a value of 140 is
592the same as setting the font at 14 point size).
593
594For more on the matter, read the documentation of
595`set-face-attribute', specifically the ':height' section."
596 :type 'number)
597
598(defcustom modus-vivendi-theme-scale-2 1.1
599 "Font size slightly larger than `modus-vivendi-theme-scale-1'.
600The default is a floating point that is interpreted as a multiple
601of the base font size. However, the variable also accepts an
602integer, understood as an absolute height (e.g. a value of 140 is
603the same as setting the font at 14 point size).
604
605For more on the matter, read the documentation of
606`set-face-attribute', specifically the ':height' section."
607 :type 'number)
608
609(defcustom modus-vivendi-theme-scale-3 1.15
610 "Font size slightly larger than `modus-vivendi-theme-scale-2'.
611The default is a floating point that is interpreted as a multiple
612of the base font size. However, the variable also accepts an
613integer, understood as an absolute height (e.g. a value of 140 is
614the same as setting the font at 14 point size).
615
616For more on the matter, read the documentation of
617`set-face-attribute', specifically the ':height' section."
618 :type 'number)
619
620(defcustom modus-vivendi-theme-scale-4 1.2
621 "Font size slightly larger than `modus-vivendi-theme-scale-3'.
622The default is a floating point that is interpreted as a multiple
623of the base font size. However, the variable also accepts an
624integer, understood as an absolute height (e.g. a value of 140 is
625the same as setting the font at 14 point size).
626
627For more on the matter, read the documentation of
628`set-face-attribute', specifically the ':height' section."
629 :type 'number)
630
631(defcustom modus-vivendi-theme-scale-5 1.3
632 "Font size slightly larger than `modus-vivendi-theme-scale-4'.
633The default is a floating point that is interpreted as a multiple
634of the base font size. However, the variable also accepts an
635integer, understood as an absolute height (e.g. a value of 140 is
636the same as setting the font at 14 point size).
637
638For more on the matter, read the documentation of
639`set-face-attribute', specifically the ':height' section."
640 :type 'number)
641
642(make-obsolete 'modus-vivendi-theme-visible-fringes
643 'modus-vivendi-theme-fringes
644 "`modus-vivendi-theme' 0.12.0")
645
646(defcustom modus-vivendi-theme-visible-fringes nil
647 "Use a visible style for fringes."
648 :type 'boolean)
649
650(defcustom modus-vivendi-theme-fringes nil
651 "Define the visibility of fringes.
652
653Nil means the fringes have no background colour. Option `subtle'
654will apply a greyscale value that is visible yet close to the
655main buffer background colour. Option `intense' will use a more
656pronounced greyscale value."
657 :type '(choice
658 (const :tag "No visible fringes (default)" nil)
659 (const :tag "Subtle greyscale background" subtle)
660 (const :tag "Intense greyscale background" intense)))
661
662(make-obsolete 'modus-vivendi-theme-distinct-org-blocks
663 'modus-vivendi-theme-org-blocks
664 "`modus-vivendi-theme' 0.11.0")
665
666(defcustom modus-vivendi-theme-distinct-org-blocks nil
667 "Use a distinct neutral background for `org-mode' blocks."
668 :type 'boolean)
669
670(make-obsolete 'modus-vivendi-theme-rainbow-org-src-blocks
671 'modus-vivendi-theme-org-blocks
672 "`modus-vivendi-theme' 0.11.0")
673
674(defcustom modus-vivendi-theme-rainbow-org-src-blocks nil
675 "Use colour-coded backgrounds for `org-mode' source blocks.
676The colour in use depends on the language (send feedback to
677include more languages)."
678 :type 'boolean)
679
680(defcustom modus-vivendi-theme-org-blocks nil
681 "Use a subtle grey or colour-coded background for Org blocks.
682
683Nil means that the block will have no background of its own and
684will use the default that applies to the rest of the buffer.
685
686Option `greyscale' will apply a subtle neutral grey background to
687the block's contents. It also affects the begin and end lines of
688the block: their background will be extended to the edge of the
689window for Emacs version >= 27 where the ':extend' keyword is
690recognised by `set-face-attribute'.
691
692Option `rainbow' will use an accented background for the contents
693of the block. The exact colour will depend on the programming
694language and is controlled by the `org-src-block-faces'
695variable (refer to the theme's source code for the current
696association list)."
697 :type '(choice
698 (const :tag "No Org block background (default)" nil)
699 (const :tag "Subtle grey block background" greyscale)
700 (const :tag "Colour-coded background per programming language" rainbow)))
701
702(make-obsolete 'modus-vivendi-theme-3d-modeline
703 'modus-vivendi-theme-mode-line
704 "`modus-vivendi-theme' 0.13.0")
705
706(defcustom modus-vivendi-theme-3d-modeline nil
707 "Use a three-dimensional style for the active mode line."
708 :type 'boolean)
709
710(defcustom modus-vivendi-theme-mode-line nil
711 "Adjust the overall style of the mode line.
712
713Nil is a two-dimensional rectangle with a border around it. The
714active and the inactive modelines use different shades of
715greyscale values for the background and foreground.
716
717A `3d' value will apply a three-dimensional effect to the active
718modeline. The inactive modelines remain two-dimensional and are
719toned down a bit, relative to the nil value.
720
721The `moody' option is meant to optimise the modeline for use with
722the library of the same name. This practically means to remove
723the box effect and rely on underline and overline properties
724instead. It also tones down the inactive modelines. Despite its
725intended purpose, this option can also be used without the
726`moody' library."
727 :type '(choice
728 (const :tag "Two-dimensional box (default)" nil)
729 (const :tag "Three-dimensional style for the active mode line" 3d)
730 (const :tag "No box effects, which are optimal for use with the `moody' library" moody)))
731
732(make-obsolete 'modus-vivendi-theme-subtle-diffs
733 'modus-vivendi-theme-diffs
734 "`modus-vivendi-theme' 0.13.0")
735
736(defcustom modus-vivendi-theme-subtle-diffs nil
737 "Use fewer/dim backgrounds in `diff-mode', `ediff',`magit'."
738 :type 'boolean)
739 54
740(defcustom modus-vivendi-theme-diffs nil 55(deftheme modus-vivendi
741 "Adjust the overall styles of diffs. 56 "Accessible and customizable dark theme (WCAG AAA standard).
742 57Conforms with the highest legibility standard for color contrast
743Nil means to use fairly intense colour combinations for diffs. 58between background and foreground in any given piece of text,
744For example, you get a rich green background with a green 59which corresponds to a minimum contrast in relative luminance of
745foreground for added lines. Word-wise or 'refined' diffs follow 607:1.")
746the same pattern but use different shades of those colours to
747remain distinct.
748
749A `desaturated' value follows the same principles as with the nil
750option, while it tones down all relevant colours.
751
752Option `fg-only' will remove all accented backgrounds, except
753from word-wise changes. It instead uses colour-coded foreground
754values to differentiate between added/removed/changed lines. If
755a background is necessary, such as with `ediff', then a subtle
756greyscale value is used."
757 :type '(choice
758 (const :tag "Intensely coloured backgrounds (default)" nil)
759 (const :tag "Slightly accented backgrounds with tinted text" desaturated)
760 (const :tag "No backgrounds, except for refined diffs" fg-only)))
761
762(make-obsolete 'modus-vivendi-theme-intense-standard-completions
763 'modus-vivendi-theme-completions
764 "`modus-vivendi-theme' 0.12.0")
765
766(defcustom modus-vivendi-theme-intense-standard-completions nil
767 "Use prominent backgrounds for Icomplete, Ido, or similar."
768 :type 'boolean)
769
770(defcustom modus-vivendi-theme-completions nil
771 "Apply special styles to the UI of completion frameworks.
772
773This concerns Icomplete, Ivy, Helm, Selectrum, Ido, as well as
774any other tool meant to enhance their experience. The effect
775will vary depending on the completion framework.
776
777Nil means to remain faithful to the metaphors that each UI
778establishes. For example, Icomplete and Ido only use foreground
779colours to style their matches, whereas Ivy or Helm rely on an
780aesthetic that combines coloured backgrounds with appropriate
781text colour.
782
783Option `moderate' will apply a combination of background and
784foreground that is fairly subtle. For Icomplete and the like,
785this constitutes a departure from their standard style. While
786Ivy, Helm, and the others, will use less pronounced colours for
787applicable contexts.
788
789Option `opinionated' will apply colour combinations that
790refashion the completion UI. So Icomplete et al will now use
791styles that resemble the defaults of Ivy and co., while the
792latter group will revert to an even more nuanced aesthetic."
793 :type '(choice
794 (const :tag "Respect the framework's established aesthetic (default)" nil)
795 (const :tag "Subtle backgrounds for various elements" moderate)
796 (const :tag "Radical alternative to the framework's looks" opinionated)))
797
798(defcustom modus-vivendi-theme-prompts nil
799 "Use subtle or intense styles for minibuffer and REPL prompts.
800
801Nil means to only use an accented foreground colour.
802
803Options `subtle' and `intense' will change both the background
804and the foreground values. The latter has a more pronounced
805effect than the former."
806 :type '(choice
807 (const :tag "No prompt background (default)" nil)
808 (const :tag "Subtle accented background for the prompt" subtle)
809 (const :tag "Intense background and foreground for the prompt" intense)))
810
811(defcustom modus-vivendi-theme-intense-hl-line nil
812 "Use more prominent background for command `hl-line-mode'."
813 :type 'boolean)
814
815(defcustom modus-vivendi-theme-intense-paren-match nil
816 "Use more prominent colour for parenthesis matching."
817 :type 'boolean)
818
819(defcustom modus-vivendi-theme-faint-syntax nil
820 "Use less saturated colours for code syntax highlighting."
821 :type 'boolean)
822
823(defcustom modus-vivendi-theme-no-link-underline nil
824 "Do not underline links."
825 :type 'boolean)
826
827;;; Internal functions
828
829;; Helper functions that are meant to ease the implementation of the
830;; above customisation options.
831(defun modus-vivendi-theme-bold-weight ()
832 "Conditional use of a heavier text weight."
833 (when modus-vivendi-theme-bold-constructs
834 (list :inherit 'bold)))
835
836(defun modus-vivendi-theme-mixed-fonts ()
837 "Conditional application of `fixed-pitch' inheritance."
838 (unless modus-vivendi-theme-no-mixed-fonts
839 (list :inherit 'fixed-pitch)))
840
841(defun modus-vivendi-theme-fringe (subtlebg intensebg)
842 "Conditional use of background colours for fringes.
843SUBTLEBG should be a subtle greyscale value. INTENSEBG must be a
844more pronounced greyscale colour."
845 (pcase modus-vivendi-theme-fringes
846 ('intense (list :background intensebg))
847 ('subtle (list :background subtlebg))
848 (_ (list :background nil))))
849
850(defun modus-vivendi-theme-prompt (mainfg subtlebg subtlefg intensebg intensefg)
851 "Conditional use of background colours for prompts.
852MAINFG is the prompt's standard foreground. SUBTLEBG should be a
853subtle accented background that works with SUBTLEFG. INTENSEBG
854must be a more pronounced accented colour that should be
855combinable with INTENSEFG."
856 (pcase modus-vivendi-theme-prompts
857 ('intense (list :background intensebg :foreground intensefg))
858 ('subtle (list :background subtlebg :foreground subtlefg))
859 (_ (list :background nil :foreground mainfg))))
860
861(defun modus-vivendi-theme-paren (normalbg intensebg)
862 "Conditional use of intense colours for matching parentheses.
863NORMALBG should the special palette colour 'bg-paren-match' or
864something similar. INTENSEBG must be easier to discern next to
865other backgrounds, such as the special palette colour
866'bg-paren-match-intense'."
867 (if modus-vivendi-theme-intense-paren-match
868 (list :background intensebg)
869 (list :background normalbg)))
870
871(defun modus-vivendi-theme-syntax-foreground (normal faint)
872 "Apply foreground value to code syntax.
873NORMAL is the more saturated colour, which should be the default.
874FAINT is the less saturated colour."
875 (if modus-vivendi-theme-faint-syntax
876 (list :foreground faint)
877 (list :foreground normal)))
878
879(defun modus-vivendi-theme-heading-p (key)
880 "Query style of KEY in `modus-vivendi-theme-headings'."
881 (cdr (assoc key modus-vivendi-theme-headings)))
882
883(defun modus-vivendi-theme-heading (level fg fg-alt bg border)
884 "Conditional styles for `modus-vivendi-theme-headings'.
885
886LEVEL is the heading's position in their order. FG is the
887default text colour. FG-ALT is an accented, more saturated value
888than the default. BG is a nuanced, typically accented,
889background that can work well with either of the foreground
890values. BORDER is a colour value that combines well with the
891background and alternative foreground."
892 (let* ((key (modus-vivendi-theme-heading-p `,level))
893 (style (or key (modus-vivendi-theme-heading-p t)))
894 (var (if modus-vivendi-theme-variable-pitch-headings
895 'variable-pitch
896 'default)))
897 (pcase style
898 ('no-bold
899 (list :inherit `,var :foreground fg))
900 ('line
901 (list :inherit `(bold ,var) :foreground fg :overline border))
902 ('line-no-bold
903 (list :inherit `,var :foreground fg :overline border))
904 ('rainbow
905 (list :inherit `(bold ,var) :foreground fg-alt))
906 ('rainbow-no-bold
907 (list :inherit `,var :foreground fg-alt))
908 ('rainbow-line
909 (list :inherit `(bold ,var) :foreground fg-alt :overline border))
910 ('rainbow-line-no-bold
911 (list :inherit `,var :foreground fg-alt :overline border))
912 ('highlight
913 (list :inherit `(bold ,var) :background bg :foreground fg))
914 ('highlight-no-bold
915 (list :inherit `,var :background bg :foreground fg))
916 ('rainbow-highlight
917 (list :inherit `(bold ,var) :background bg :foreground fg-alt))
918 ('rainbow-highlight-no-bold
919 (list :inherit `,var :background bg :foreground fg-alt))
920 ('section
921 (append
922 (and (>= emacs-major-version 27) '(:extend t))
923 (list :inherit `(bold ,var) :background bg :foreground fg :overline border)))
924 ('section-no-bold
925 (append
926 (and (>= emacs-major-version 27) '(:extend t))
927 (list :inherit `,var :background bg :foreground fg :overline border)))
928 ('rainbow-section
929 (append
930 (and (>= emacs-major-version 27) '(:extend t))
931 (list :inherit `(bold ,var) :background bg :foreground fg-alt :overline border)))
932 ('rainbow-section-no-bold
933 (append
934 (and (>= emacs-major-version 27) '(:extend t))
935 (list :inherit `,var :background bg :foreground fg-alt :overline border)))
936 (_
937 (list :inherit `(bold ,var) :foreground fg)))))
938
939(defun modus-vivendi-theme-org-block (bgblk)
940 "Conditionally set the background of Org blocks.
941BGBLK applies to a distinct neutral background. Else blocks have
942no background of their own (the default), so they look the same
943as the rest of the buffer.
944
945`modus-vivendi-theme-org-blocks' also accepts a `rainbow' option
946which is applied conditionally to `org-src-block-faces' (see the
947theme's source code)."
948 (if (eq modus-vivendi-theme-org-blocks 'greyscale)
949 (append
950 (and (>= emacs-major-version 27) '(:extend t))
951 (list :background bgblk))
952 (list :background nil)))
953
954(defun modus-vivendi-theme-org-block-delim (bgaccent fgaccent bg fg)
955 "Conditionally set the styles of Org block delimiters.
956BG, FG, BGACCENT, FGACCENT apply a background and foreground
957colour respectively.
958
959The former pair is a greyscale combination that should be more
960distinct than the background of the block. It is applied to the
961default styles or when `modus-vivendi-theme-org-blocks' is set
962to `greyscale'.
963
964The latter pair should be more subtle than the background of the
965block, as it is used when `modus-vivendi-theme-org-blocks' is
966set to `rainbow'."
967 (pcase modus-vivendi-theme-org-blocks
968 ('greyscale (append (and (>= emacs-major-version 27) '(:extend t))
969 (list :background bg :foreground fg)))
970 ('rainbow (list :background bgaccent :foreground fgaccent))
971 (_ (list :background bg :foreground fg))))
972
973(defun modus-vivendi-theme-mode-line-attrs
974 (fg bg fg-alt bg-alt border border-3d &optional alt-style border-width fg-distant)
975 "Colour combinations for `modus-vivendi-theme-mode-line'.
976
977FG and BG are the default colours. FG-ALT and BG-ALT are meant
978to accommodate the options for a 3D modeline or a `moody'
979compliant one. BORDER applies to all permutations of the
980modeline, except the three-dimensional effect, where BORDER-3D is
981used instead.
982
983Optional ALT-STYLE applies an appropriate style to the mode
984line's box property.
985
986Optional BORDER-WIDTH specifies an integer for the width of the
987rectangle that produces the box effect.
988
989Optional FG-DISTANT should be close to the main background
990values. It is intended to be used as a distant-foreground
991property."
992 (pcase modus-vivendi-theme-mode-line
993 ('3d
994 `(:background ,bg-alt :foreground ,fg-alt
995 :box (:line-width ,(or border-width 1)
996 :color ,border-3d
997 :style ,(and alt-style 'released-button))))
998 ('moody
999 `(:background ,bg-alt :foreground ,fg-alt :underline ,border :overline ,border
1000 :distant-foreground ,fg-distant))
1001 (_
1002 `(:foreground ,fg :background ,bg :box ,border))))
1003
1004(defun modus-vivendi-theme-diff (fg-only-bg fg-only-fg mainbg mainfg altbg altfg)
1005 "Colour combinations for `modus-vivendi-theme-diffs'.
1006
1007FG-ONLY-BG should be similar or the same as the main background.
1008FG-ONLY-FG should be a saturated accent value that can be
1009combined with the former.
1010
1011MAINBG must be one of the dedicated backgrounds for diffs while
1012MAINFG must be the same for the foreground.
1013
1014ALTBG needs to be a slightly accented background that is meant to
1015be combined with ALTFG. Both must be less intense than MAINBG
1016and MAINFG respectively."
1017 (pcase modus-vivendi-theme-diffs
1018 ('fg-only (list :background fg-only-bg :foreground fg-only-fg))
1019 ('desaturated (list :background altbg :foreground altfg))
1020 (_ (list :background mainbg :foreground mainfg))))
1021
1022(defun modus-vivendi-theme-standard-completions (mainfg subtlebg intensebg intensefg)
1023 "Combinations for `modus-vivendi-theme-completions'.
1024
1025MAINFG is an accented foreground value. SUBTLEBG is an accented
1026background value that can be combined with MAINFG. INTENSEBG and
1027INTENSEFG are accented colours that are designed to be used in
1028tandem.
1029
1030These are intended for Icomplete, Ido, and related."
1031 (pcase modus-vivendi-theme-completions
1032 ('opinionated (list :background intensebg :foreground intensefg))
1033 ('moderate (list :background subtlebg :foreground mainfg))
1034 (_ (list :foreground mainfg))))
1035
1036(defun modus-vivendi-theme-extra-completions (subtleface intenseface altface &optional altfg bold)
1037 "Combinations for `modus-vivendi-theme-completions'.
1038
1039SUBTLEFACE and INTENSEFACE are custom theme faces that combine a
1040background and foreground value. The difference between the two
1041is a matter of degree.
1042
1043ALTFACE is a combination of colours that represents a departure
1044from the UI's default aesthetics. Optional ALTFG is meant to be
1045used in tandem with it.
1046
1047Optional BOLD will apply a heavier weight to the text.
1048
1049These are intended for Helm, Ivy, etc."
1050 (pcase modus-vivendi-theme-completions
1051 ('opinionated (list :inherit (list altface bold)
1052 :foreground (or altfg 'unspecified)))
1053 ('moderate (list :inherit (list subtleface bold)))
1054 (_ (list :inherit (list intenseface bold)))))
1055
1056(defun modus-vivendi-theme-scale (amount)
1057 "Scale heading by AMOUNT.
1058
1059AMOUNT is a customisation option."
1060 (when modus-vivendi-theme-scale-headings
1061 (list :height amount)))
1062
1063;;; Colour palette
1064
1065;; Define colour palette. Each colour must have a >= 7:1 contrast
1066;; ratio relative to the foreground/background colour it is rendered
1067;; against.
1068;;
1069;; The design of the colour palette as a macro that maps it to faces is
1070;; adapted from zenbern-theme.el, last seen at commit 7dd7968:
1071;; https://github.com/bbatsov/zenburn-emacs
1072(eval-and-compile
1073 (defconst modus-vivendi-theme-default-colors-alist
1074 '(;; base values
1075 ("bg-main" . "#000000") ("fg-main" . "#ffffff")
1076 ("bg-alt" . "#181a20") ("fg-alt" . "#a8a8a8")
1077 ("bg-dim" . "#110b11") ("fg-dim" . "#e0e6f0")
1078 ;; specifically for on/off states (e.g. `mode-line')
1079 ;;
1080 ;; must be combined with themselves
1081 ("bg-active" . "#323232") ("fg-active" . "#f4f4f4")
1082 ("bg-inactive" . "#1e1e1e") ("fg-inactive" . "#bfc0c4")
1083 ;; special base values, used only for cases where the above
1084 ;; fg-* or bg-* cannot or should not be used (to avoid confusion)
1085 ;; must be combined with: {fg,bg}-{main,alt,dim}
1086 ("bg-special-cold" . "#203448") ("fg-special-cold" . "#c6eaff")
1087 ("bg-special-mild" . "#00322e") ("fg-special-mild" . "#bfebe0")
1088 ("bg-special-warm" . "#382f27") ("fg-special-warm" . "#f8dec0")
1089 ("bg-special-calm" . "#392a48") ("fg-special-calm" . "#fbd6f4")
1090 ;; styles for the main constructs
1091 ;;
1092 ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
1093 ("red" . "#ff8059") ("green" . "#44bc44")
1094 ("yellow" . "#eecc00") ("blue" . "#2fafff")
1095 ("magenta" . "#feacd0") ("cyan" . "#00d3d0")
1096 ;; styles for common, but still specialised constructs
1097 ;;
1098 ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
1099 ("red-alt" . "#f4923b") ("green-alt" . "#80d200")
1100 ("yellow-alt" . "#cfdf30") ("blue-alt" . "#79a8ff")
1101 ("magenta-alt" . "#f78fe7") ("cyan-alt" . "#4ae8fc")
1102 ;; same purpose as above, just slight differences
1103 ;;
1104 ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
1105 ("red-alt-other" . "#ff9977") ("green-alt-other" . "#00cd68")
1106 ("yellow-alt-other" . "#f0ce43") ("blue-alt-other" . "#00bcff")
1107 ("magenta-alt-other" . "#b6a0ff") ("cyan-alt-other" . "#6ae4b9")
1108 ;; styles for desaturated foreground text, intended for use with
1109 ;; the `modus-vivendi-theme-faint-syntax' option
1110 ;;
1111 ;; must be combined with: `bg-main', `bg-alt', `bg-dim'
1112 ("red-faint" . "#ffa0a0") ("green-faint" . "#88cf88")
1113 ("yellow-faint" . "#d2b580") ("blue-faint" . "#92baff")
1114 ("magenta-faint" . "#e0b2d6") ("cyan-faint" . "#a0bfdf")
1115
1116 ("red-alt-faint" . "#f5aa80") ("green-alt-faint" . "#a8cf88")
1117 ("yellow-alt-faint" . "#cabf77") ("blue-alt-faint" . "#a4b0ff")
1118 ("magenta-alt-faint" . "#ef9fe4") ("cyan-alt-faint" . "#90c4ed")
1119
1120 ("red-alt-other-faint" . "#ff9fbf") ("green-alt-other-faint" . "#88cfaf")
1121 ("yellow-alt-other-faint" . "#d0ba95") ("blue-alt-other-faint" . "#8fc5ff")
1122 ("magenta-alt-other-faint" . "#d0b4ff") ("cyan-alt-other-faint" . "#a4d0bb")
1123 ;; styles for elements that should be very subtle, yet accented
1124 ;;
1125 ;; must be combined with: `bg-main', `bg-alt', `bg-dim' or any of
1126 ;; the "nuanced" backgrounds
1127 ("red-nuanced" . "#ffcccc") ("green-nuanced" . "#b8e2b8")
1128 ("yellow-nuanced" . "#dfdfb0") ("blue-nuanced" . "#bfd9ff")
1129 ("magenta-nuanced" . "#e5cfef") ("cyan-nuanced" . "#a8e5e5")
1130 ;; styles for slightly accented background
1131 ;;
1132 ;; must be combined with any of the above foreground values
1133 ("red-nuanced-bg" . "#2c0614") ("green-nuanced-bg" . "#001904")
1134 ("yellow-nuanced-bg" . "#221000") ("blue-nuanced-bg" . "#0f0e39")
1135 ("magenta-nuanced-bg" . "#230631") ("cyan-nuanced-bg" . "#041529")
1136 ;; styles for elements that should draw attention to themselves
1137 ;;
1138 ;; must be combined with: `bg-main'
1139 ("red-intense" . "#fb6859") ("green-intense" . "#00fc50")
1140 ("yellow-intense" . "#ffdd00") ("blue-intense" . "#00a2ff")
1141 ("magenta-intense" . "#ff8bd4") ("cyan-intense" . "#30ffc0")
1142 ;; styles for background elements that should be visible yet
1143 ;; subtle
1144 ;;
1145 ;; must be combined with: `fg-dim'
1146 ("red-subtle-bg" . "#762422") ("green-subtle-bg" . "#2f4a00")
1147 ("yellow-subtle-bg" . "#604200") ("blue-subtle-bg" . "#10387c")
1148 ("magenta-subtle-bg" . "#49366e") ("cyan-subtle-bg" . "#00415e")
1149 ;; styles for background elements that should be visible and
1150 ;; distinguishable
1151 ;;
1152 ;; must be combined with: `fg-main'
1153 ("red-intense-bg" . "#a4202a") ("green-intense-bg" . "#006800")
1154 ("yellow-intense-bg" . "#874900") ("blue-intense-bg" . "#2a40b8")
1155 ("magenta-intense-bg" . "#7042a2") ("cyan-intense-bg" . "#005f88")
1156 ;; styles for refined contexts where both the foreground and the
1157 ;; background need to have the same/similar hue
1158 ;;
1159 ;; must be combined with themselves OR the foregrounds can be
1160 ;; combined with any of the base backgrounds
1161 ("red-refine-bg" . "#77002a") ("red-refine-fg" . "#ffb9ab")
1162 ("green-refine-bg" . "#00422a") ("green-refine-fg" . "#9ff0cf")
1163 ("yellow-refine-bg" . "#693200") ("yellow-refine-fg" . "#e2d980")
1164 ("blue-refine-bg" . "#242679") ("blue-refine-fg" . "#8ec6ff")
1165 ("magenta-refine-bg" . "#71206a") ("magenta-refine-fg" . "#ffcaf0")
1166 ("cyan-refine-bg" . "#004065") ("cyan-refine-fg" . "#8ae4f2")
1167 ;; styles that are meant exclusively for the mode line
1168 ;;
1169 ;; must be combined with: `bg-active', `bg-inactive'
1170 ("red-active" . "#ffa7ba") ("green-active" . "#70d73f")
1171 ("yellow-active" . "#dbbe5f") ("blue-active" . "#34cfff")
1172 ("magenta-active" . "#d5b1ff") ("cyan-active" . "#00d8b4")
1173 ;; styles that are meant exclusively for the fringes
1174 ;;
1175 ;; must be combined with `fg-main'
1176 ("red-fringe-bg" . "#8f1f4b") ("green-fringe-bg" . "#006700")
1177 ("yellow-fringe-bg" . "#6f4f00") ("blue-fringe-bg" . "#3f33af")
1178 ("magenta-fringe-bg" . "#6f2f89") ("cyan-fringe-bg" . "#004f8f")
1179 ;; styles reserved for specific faces
1180 ;;
1181 ;; `bg-hl-line' is between `bg-dim' and `bg-alt', so it should
1182 ;; work with all accents that cover those two, plus `bg-main'
1183 ;;
1184 ;; `bg-hl-alt' and `bg-hl-alt-intense' should only be used when no
1185 ;; other greyscale or fairly neutral background is available to
1186 ;; properly draw attention to a given construct
1187 ;;
1188 ;; `bg-header' is between `bg-active' and `bg-inactive', so it
1189 ;; can be combined with any of the "active" values, plus the
1190 ;; "special" and base foreground colours
1191 ;;
1192 ;; `bg-paren-match', `bg-paren-match-intense', `bg-region' and
1193 ;; `bg-tab-active' must be combined with `fg-main', while
1194 ;; `bg-tab-inactive' should be combined with `fg-dim'
1195 ;;
1196 ;; `bg-tab-bar' is only intended for the bar that holds the tabs and
1197 ;; can only be combined with `fg-main'
1198 ;;
1199 ;; `fg-tab-active' is meant to be combined with `bg-tab-active',
1200 ;; though only for styling special elements, such as underlining
1201 ;; the current tab
1202 ;;
1203 ;; `fg-escape-char-construct' and `fg-escape-char-backslash' can
1204 ;; be combined `bg-main', `bg-dim', `bg-alt'
1205 ;;
1206 ;; `fg-lang-error', `fg-lang-warning', `fg-lang-note' can be
1207 ;; combined with `bg-main', `bg-dim', `bg-alt'
1208 ;;
1209 ;; `fg-mark-sel', `fg-mark-del', `fg-mark-alt' can be combined
1210 ;; with `bg-main', `bg-dim', `bg-alt', `bg-hl-line'
1211 ;;
1212 ;; `fg-unfocused' must be combined with `fg-main'
1213 ;;
1214 ;; the window divider colours apply to faces with just an fg value
1215 ;;
1216 ;; all pairs are combinable with themselves
1217 ("bg-hl-line" . "#151823")
1218 ("bg-hl-line-intense" . "#2f2f2f")
1219 ("bg-hl-alt" . "#181732")
1220 ("bg-hl-alt-intense" . "#282e46")
1221 ("bg-paren-match" . "#5f362f")
1222 ("bg-paren-match-intense" . "#7416b5")
1223 ("bg-region" . "#3c3c3c")
1224
1225 ("bg-tab-bar" . "#2c2c2c")
1226 ("bg-tab-active" . "#0e0e0e")
1227 ("bg-tab-inactive" . "#3d3d3d")
1228 ("fg-tab-active" . "#5ac3cf")
1229
1230 ("fg-escape-char-construct" . "#e7a59a")
1231 ("fg-escape-char-backslash" . "#abab00")
1232
1233 ("fg-lang-error" . "#ef8690")
1234 ("fg-lang-warning" . "#b0aa00")
1235 ("fg-lang-note" . "#9d9def")
1236
1237 ("fg-window-divider-inner" . "#646464")
1238 ("fg-window-divider-outer" . "#969696")
1239
1240 ("fg-unfocused" . "#93959b")
1241
1242 ("bg-header" . "#212121") ("fg-header" . "#dddddd")
1243
1244 ("bg-whitespace" . "#170016") ("fg-whitespace" . "#a4959f")
1245
1246 ("bg-diff-heading" . "#304466") ("fg-diff-heading" . "#dadffe")
1247 ("bg-diff-added" . "#0a280a") ("fg-diff-added" . "#94ba94")
1248 ("bg-diff-changed" . "#2a2000") ("fg-diff-changed" . "#b0ba9f")
1249 ("bg-diff-removed" . "#40160f") ("fg-diff-removed" . "#c6adaa")
1250
1251 ("bg-diff-refine-added" . "#005a36") ("fg-diff-refine-added" . "#e0f6e0")
1252 ("bg-diff-refine-changed" . "#585800") ("fg-diff-refine-changed" . "#ffffcc")
1253 ("bg-diff-refine-removed" . "#852828") ("fg-diff-refine-removed" . "#ffd9eb")
1254
1255 ("bg-diff-focus-added" . "#203d20") ("fg-diff-focus-added" . "#b4ddb4")
1256 ("bg-diff-focus-changed" . "#4a3a10") ("fg-diff-focus-changed" . "#d0daaf")
1257 ("bg-diff-focus-removed" . "#5e2526") ("fg-diff-focus-removed" . "#eebdba")
1258
1259 ("bg-diff-neutral-0" . "#575757") ("fg-diff-neutral-0" . "#fcfcfc")
1260 ("bg-diff-neutral-1" . "#454545") ("fg-diff-neutral-1" . "#dddddd")
1261 ("bg-diff-neutral-2" . "#313131") ("fg-diff-neutral-2" . "#bfbfbf")
1262
1263 ("bg-mark-sel" . "#002f2f") ("fg-mark-sel" . "#60cfa2")
1264 ("bg-mark-del" . "#5a0000") ("fg-mark-del" . "#ff99aa")
1265 ("bg-mark-alt" . "#3f2210") ("fg-mark-alt" . "#f0aa20"))
1266 "The entire palette of `modus-vivendi-theme'.
1267Each element has the form (NAME . HEX).")
1268
1269 (defcustom modus-vivendi-theme-override-colors-alist '()
1270 "Association list of palette colour overrides.
1271Values can be mapped to variables, using the same syntax as the
1272one present in `modus-vivendi-theme-default-colors-alist'.
1273
1274This is only meant for do-it-yourself usage, with the
1275understanding that the user is responsible for the resulting
1276contrast ratio between new and existing colours."
1277 :type '(alist
1278 :key-type (string :tag "Name")
1279 :value-type (string :tag " Hex")))
1280
1281 (defmacro modus-vivendi-theme-with-color-variables (&rest body)
1282 "`let' bind all colours around BODY.
1283Also bind `class' to ((class color) (min-colors 89))."
1284 (declare (indent 0))
1285 `(let ((class '((class color) (min-colors 89)))
1286 ,@(mapcar (lambda (cons)
1287 (list (intern (car cons)) (cdr cons)))
1288 (append modus-vivendi-theme-default-colors-alist
1289 modus-vivendi-theme-override-colors-alist))
1290 ;; simple conditional styles that evaluate user-facing
1291 ;; customisation options
1292 (modus-theme-slant
1293 (if modus-vivendi-theme-slanted-constructs 'italic 'normal))
1294 (modus-theme-variable-pitch
1295 (if modus-vivendi-theme-variable-pitch-headings 'variable-pitch 'default)))
1296 ,@body)))
1297
1298
1299
1300;;; Faces
1301
1302(modus-vivendi-theme-with-color-variables
1303 (custom-theme-set-faces
1304 'modus-vivendi
1305;;;; custom faces
1306 ;; these bespoke faces are inherited by other constructs below
1307;;;;; subtle coloured backgrounds
1308 `(modus-theme-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim)))
1309 `(modus-theme-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim)))
1310 `(modus-theme-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim)))
1311 `(modus-theme-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim)))
1312 `(modus-theme-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim)))
1313 `(modus-theme-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim)))
1314 `(modus-theme-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive)))
1315;;;;; intense coloured backgrounds
1316 `(modus-theme-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main)))
1317 `(modus-theme-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main)))
1318 `(modus-theme-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main)))
1319 `(modus-theme-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main)))
1320 `(modus-theme-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main)))
1321 `(modus-theme-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main)))
1322 `(modus-theme-intense-neutral ((,class :background ,bg-active :foreground ,fg-main)))
1323;;;;; refined background and foreground combinations
1324 ;; general purpose styles that use an accented foreground against an
1325 ;; accented background
1326 `(modus-theme-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg)))
1327 `(modus-theme-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg)))
1328 `(modus-theme-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg)))
1329 `(modus-theme-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg)))
1330 `(modus-theme-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg)))
1331 `(modus-theme-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg)))
1332;;;;; "active" combinations, mostly for use on the mode line
1333 `(modus-theme-active-red ((,class :background ,red-active :foreground ,bg-active)))
1334 `(modus-theme-active-green ((,class :background ,green-active :foreground ,bg-active)))
1335 `(modus-theme-active-yellow ((,class :background ,yellow-active :foreground ,bg-active)))
1336 `(modus-theme-active-blue ((,class :background ,blue-active :foreground ,bg-active)))
1337 `(modus-theme-active-magenta ((,class :background ,magenta-active :foreground ,bg-active)))
1338 `(modus-theme-active-cyan ((,class :background ,cyan-active :foreground ,bg-active)))
1339;;;;; nuanced backgrounds
1340 ;; useful for adding an accented background that is suitable for all
1341 ;; main foreground colours (intended for use in Org source blocks)
1342 `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg
1343 ,@(and (>= emacs-major-version 27) '(:extend t)))))
1344 `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg
1345 ,@(and (>= emacs-major-version 27) '(:extend t)))))
1346 `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg
1347 ,@(and (>= emacs-major-version 27) '(:extend t)))))
1348 `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg
1349 ,@(and (>= emacs-major-version 27) '(:extend t)))))
1350 `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg
1351 ,@(and (>= emacs-major-version 27) '(:extend t)))))
1352 `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg
1353 ,@(and (>= emacs-major-version 27) '(:extend t)))))
1354;;;;; fringe-specific combinations
1355 `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main)))
1356 `(modus-theme-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main)))
1357 `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main)))
1358 `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main)))
1359 `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main)))
1360 `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main)))
1361;;;;; special base values
1362 ;; these are closer to the grayscale than the accents defined above
1363 ;; and should only be used when the next closest alternative would be
1364 ;; a greyscale value than an accented one
1365 `(modus-theme-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
1366 `(modus-theme-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild)))
1367 `(modus-theme-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm)))
1368 `(modus-theme-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm)))
1369;;;;; diff-specific combinations
1370 ;; intended for `diff-mode' or equivalent
1371 `(modus-theme-diff-added
1372 ((,class ,@(modus-vivendi-theme-diff
1373 bg-main green
1374 bg-diff-focus-added fg-diff-focus-added
1375 green-nuanced-bg fg-diff-added))))
1376 `(modus-theme-diff-changed
1377 ((,class ,@(modus-vivendi-theme-diff
1378 bg-main yellow
1379 bg-diff-focus-changed fg-diff-focus-changed
1380 yellow-nuanced-bg fg-diff-changed))))
1381 `(modus-theme-diff-removed
1382 ((,class ,@(modus-vivendi-theme-diff
1383 bg-main red
1384 bg-diff-focus-removed fg-diff-focus-removed
1385 red-nuanced-bg fg-diff-removed))))
1386 `(modus-theme-diff-refine-added
1387 ((,class ,@(modus-vivendi-theme-diff
1388 bg-diff-added fg-diff-added
1389 bg-diff-refine-added fg-diff-refine-added
1390 bg-diff-focus-added fg-diff-focus-added))))
1391 `(modus-theme-diff-refine-changed
1392 ((,class ,@(modus-vivendi-theme-diff
1393 bg-diff-changed fg-diff-changed
1394 bg-diff-refine-changed fg-diff-refine-changed
1395 bg-diff-focus-changed fg-diff-focus-changed))))
1396 `(modus-theme-diff-refine-removed
1397 ((,class ,@(modus-vivendi-theme-diff
1398 bg-diff-removed fg-diff-removed
1399 bg-diff-refine-removed fg-diff-refine-removed
1400 bg-diff-focus-removed fg-diff-focus-removed))))
1401 `(modus-theme-diff-focus-added
1402 ((,class ,@(modus-vivendi-theme-diff
1403 bg-dim green
1404 bg-diff-focus-added fg-diff-focus-added
1405 bg-diff-added fg-diff-added))))
1406 `(modus-theme-diff-focus-changed
1407 ((,class ,@(modus-vivendi-theme-diff
1408 bg-dim yellow
1409 bg-diff-focus-changed fg-diff-focus-changed
1410 bg-diff-changed fg-diff-changed))))
1411 `(modus-theme-diff-focus-removed
1412 ((,class ,@(modus-vivendi-theme-diff
1413 bg-dim red
1414 bg-diff-focus-removed fg-diff-focus-removed
1415 bg-diff-removed fg-diff-removed))))
1416 `(modus-theme-diff-heading
1417 ((,class ,@(modus-vivendi-theme-diff
1418 bg-alt blue-alt
1419 bg-diff-heading fg-diff-heading
1420 blue-nuanced-bg blue))))
1421;;;;; mark indicators
1422 ;; colour combinations intended for Dired, Ibuffer, or equivalent
1423 `(modus-theme-pseudo-header ((,class :inherit bold :foreground ,fg-main)))
1424 `(modus-theme-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt)))
1425 `(modus-theme-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del)))
1426 `(modus-theme-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel)))
1427 `(modus-theme-mark-symbol ((,class :inherit bold :foreground ,blue-alt)))
1428;;;;; heading levels
1429 ;; styles for regular headings used in Org, Markdown, Info, etc.
1430 `(modus-theme-heading-1
1431 ((,class ,@(modus-vivendi-theme-heading
1432 1 fg-main magenta-alt-other magenta-nuanced-bg bg-region)
1433 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
1434 `(modus-theme-heading-2
1435 ((,class ,@(modus-vivendi-theme-heading
1436 2 fg-special-warm magenta-alt red-nuanced-bg bg-region)
1437 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-3))))
1438 `(modus-theme-heading-3
1439 ((,class ,@(modus-vivendi-theme-heading
1440 3 fg-special-cold blue blue-nuanced-bg bg-region)
1441 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-2))))
1442 `(modus-theme-heading-4
1443 ((,class ,@(modus-vivendi-theme-heading
1444 4 fg-special-mild cyan cyan-nuanced-bg bg-region)
1445 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-1))))
1446 `(modus-theme-heading-5
1447 ((,class ,@(modus-vivendi-theme-heading
1448 5 fg-special-calm green-alt-other green-nuanced-bg bg-region))))
1449 `(modus-theme-heading-6
1450 ((,class ,@(modus-vivendi-theme-heading
1451 6 yellow-nuanced yellow-alt-other yellow-nuanced-bg bg-region))))
1452 `(modus-theme-heading-7
1453 ((,class ,@(modus-vivendi-theme-heading
1454 7 red-nuanced red-alt red-nuanced-bg bg-region))))
1455 `(modus-theme-heading-8
1456 ((,class ,@(modus-vivendi-theme-heading
1457 8 fg-dim magenta bg-alt bg-region))))
1458;;;;; other custom faces
1459 `(modus-theme-hl-line ((,class :background ,(if modus-vivendi-theme-intense-hl-line
1460 bg-hl-line-intense bg-hl-line)
1461 (and (>= emacs-major-version 27) '(:extend t)))))
1462;;;; standard faces
1463;;;;; absolute essentials
1464 `(default ((,class :background ,bg-main :foreground ,fg-main)))
1465 `(cursor ((,class :background ,fg-main)))
1466 `(fringe ((,class ,@(modus-vivendi-theme-fringe bg-inactive bg-active)
1467 :foreground ,fg-main)))
1468 `(vertical-border ((,class :foreground ,fg-window-divider-inner)))
1469;;;;; basic and/or ungrouped styles
1470 ;; Modify the `bold' face to change the weight of all "bold" elements
1471 ;; defined by the theme. You need a typeface that supports a
1472 ;; multitude of heavier weights than the regular one and then you
1473 ;; must specify the exact name of the one you wish to apply. Example
1474 ;; for your init.el:
1475 ;;
1476 ;; (set-face-attribute 'bold nil :weight 'semibold)
1477 `(bold ((,class :weight bold)))
1478 `(comint-highlight-input ((,class :inherit bold)))
1479 `(comint-highlight-prompt ((,class ,@(modus-vivendi-theme-bold-weight)
1480 ,@(modus-vivendi-theme-prompt
1481 cyan
1482 blue-nuanced-bg blue-alt
1483 blue-refine-bg fg-main))))
1484 `(error ((,class :inherit bold :foreground ,red)))
1485 `(escape-glyph ((,class :foreground ,fg-escape-char-construct)))
1486 `(file-name-shadow ((,class :foreground ,fg-unfocused)))
1487 `(header-line ((,class :background ,bg-header :foreground ,fg-header)))
1488 `(header-line-highlight ((,class :inherit modus-theme-active-blue)))
1489 `(help-argument-name ((,class :foreground ,cyan :slant ,modus-theme-slant)))
1490 `(homoglyph ((,class :foreground ,fg-escape-char-construct)))
1491 `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other)))
1492 `(italic ((,class :slant italic)))
1493 `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct)))
1494 `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t)))
1495 `(minibuffer-prompt ((,class ,@(modus-vivendi-theme-prompt
1496 cyan-alt-other
1497 cyan-nuanced-bg cyan
1498 cyan-refine-bg fg-main))))
1499 `(mm-command-output ((,class :foreground ,red-alt-other)))
1500 `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild)))
1501 `(next-error ((,class :inherit modus-theme-subtle-red)))
1502 `(rectangle-preview ((,class :inherit modus-theme-special-mild)))
1503 `(region ((,class :background ,bg-region :foreground ,fg-main)))
1504 `(secondary-selection ((,class :inherit modus-theme-special-cold)))
1505 `(shadow ((,class :foreground ,fg-alt)))
1506 `(success ((,class :inherit bold :foreground ,green)))
1507 `(trailing-whitespace ((,class :background ,red-intense-bg)))
1508 `(warning ((,class :inherit bold :foreground ,yellow)))
1509;;;;; buttons, links, widgets
1510 `(button ((,class :foreground ,blue-alt-other
1511 ,@(unless modus-vivendi-theme-no-link-underline
1512 (list :underline t)))))
1513 `(link ((,class :inherit button)))
1514 `(link-visited ((,class :inherit link :foreground ,magenta-alt-other)))
1515 `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main)))
1516 `(widget-button ((,class :inherit button)))
1517 `(widget-button-pressed ((,class :inherit button :foreground ,magenta)))
1518 `(widget-documentation ((,class :foreground ,green)))
1519 `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim)))
1520 `(widget-inactive ((,class :background ,bg-inactive :foreground ,fg-inactive)))
1521 `(widget-single-line-field ((,class :inherit widget-field)))
1522;;;;; ag
1523 `(ag-hit-face ((,class :foreground ,fg-special-cold)))
1524 `(ag-match-face ((,class :inherit modus-theme-special-calm)))
1525;;;;; alert
1526 `(alert-high-face ((,class :inherit bold :foreground ,red-alt)))
1527 `(alert-low-face ((,class :foreground ,fg-special-mild)))
1528 `(alert-moderate-face ((,class :inherit bold :foreground ,yellow)))
1529 `(alert-trivial-face ((,class :foreground ,fg-special-calm)))
1530 `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense)))
1531;;;;; all-the-icons
1532 `(all-the-icons-blue ((,class :foreground ,blue)))
1533 `(all-the-icons-blue-alt ((,class :foreground ,blue-alt)))
1534 `(all-the-icons-cyan ((,class :foreground ,cyan)))
1535 `(all-the-icons-cyan-alt ((,class :foreground ,cyan-alt)))
1536 `(all-the-icons-dblue ((,class :foreground ,blue-alt-other)))
1537 `(all-the-icons-dcyan ((,class :foreground ,cyan-alt-other)))
1538 `(all-the-icons-dgreen ((,class :foreground ,green-alt-other)))
1539 `(all-the-icons-dired-dir-face ((,class :foreground ,blue)))
1540 `(all-the-icons-dmaroon ((,class :foreground ,magenta-alt-other)))
1541 `(all-the-icons-dorange ((,class :foreground ,red-alt-other)))
1542 `(all-the-icons-dpink ((,class :foreground ,magenta)))
1543 `(all-the-icons-dpurple ((,class :foreground ,magenta-alt)))
1544 `(all-the-icons-dred ((,class :foreground ,red)))
1545 `(all-the-icons-dsilver ((,class :foreground ,fg-special-cold)))
1546 `(all-the-icons-dyellow ((,class :foreground ,yellow)))
1547 `(all-the-icons-green ((,class :foreground ,green)))
1548 `(all-the-icons-lblue ((,class :foreground ,blue-refine-fg)))
1549 `(all-the-icons-lcyan ((,class :foreground ,cyan-refine-fg)))
1550 `(all-the-icons-lgreen ((,class :foreground ,green-refine-fg)))
1551 `(all-the-icons-lmaroon ((,class :foreground ,magenta-refine-fg)))
1552 `(all-the-icons-lorange ((,class :foreground ,red-refine-fg)))
1553 `(all-the-icons-lpink ((,class :foreground ,magenta-refine-fg)))
1554 `(all-the-icons-lpurple ((,class :foreground ,magenta-refine-fg)))
1555 `(all-the-icons-lred ((,class :foreground ,red-refine-fg)))
1556 `(all-the-icons-lsilver ((,class :foreground ,fg-special-cold)))
1557 `(all-the-icons-lyellow ((,class :foreground ,yellow-refine-fg)))
1558 `(all-the-icons-maroon ((,class :foreground ,magenta)))
1559 `(all-the-icons-orange ((,class :foreground ,red-alt)))
1560 `(all-the-icons-pink ((,class :foreground ,magenta)))
1561 `(all-the-icons-purple ((,class :foreground ,magenta-alt)))
1562 `(all-the-icons-purple-alt ((,class :foreground ,magenta-alt-other)))
1563 `(all-the-icons-red ((,class :foreground ,red)))
1564 `(all-the-icons-red-alt ((,class :foreground ,red-alt)))
1565 `(all-the-icons-silver ((,class :foreground ,fg-special-cold)))
1566 `(all-the-icons-yellow ((,class :foreground ,yellow)))
1567;;;;; annotate
1568 `(annotate-annotation ((,class :inherit modus-theme-subtle-blue)))
1569 `(annotate-annotation-secondary ((,class :inherit modus-theme-subtle-green)))
1570 `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense)))
1571 `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense)))
1572;;;;; anzu
1573 `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan)))
1574 `(anzu-match-2 ((,class :inherit modus-theme-subtle-green)))
1575 `(anzu-match-3 ((,class :inherit modus-theme-subtle-yellow)))
1576 `(anzu-mode-line ((,class :inherit bold :foreground ,green-active)))
1577 `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active)))
1578 `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow :underline t)))
1579 `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold))))
1580;;;;; apropos
1581 `(apropos-function-button ((,class :inherit button :foreground ,magenta-alt-other)))
1582 `(apropos-keybinding ((,class :inherit bold :foreground ,cyan)))
1583 `(apropos-misc-button ((,class :inherit button :foreground ,cyan-alt-other)))
1584 `(apropos-property ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt)))
1585 `(apropos-symbol ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue-alt-other)))
1586 `(apropos-user-option-button ((,class :inherit button :foreground ,green-alt-other)))
1587 `(apropos-variable-button ((,class :inherit button :foreground ,blue)))
1588;;;;; apt-sources-list
1589 `(apt-sources-list-components ((,class :foreground ,cyan)))
1590 `(apt-sources-list-options ((,class :foreground ,yellow)))
1591 `(apt-sources-list-suite ((,class :foreground ,green)))
1592 `(apt-sources-list-type ((,class :foreground ,magenta)))
1593 `(apt-sources-list-uri ((,class :foreground ,blue)))
1594;;;;; artbollocks-mode
1595 `(artbollocks-face ((,class :foreground ,cyan-nuanced :underline ,fg-lang-note)))
1596 `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t)))
1597 `(artbollocks-passive-voice-face ((,class :foreground ,yellow-nuanced :underline ,fg-lang-warning)))
1598 `(artbollocks-weasel-words-face ((,class :foreground ,red-nuanced :underline ,fg-lang-error)))
1599;;;;; auctex and Tex
1600 `(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm)))
1601 `(font-latex-doctex-documentation-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
1602 `(font-latex-doctex-preprocessor-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red-alt-other)))
1603 `(font-latex-italic-face ((,class :foreground ,fg-special-calm :slant italic)))
1604 `(font-latex-math-face ((,class :foreground ,cyan-alt-other)))
1605 `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other)))
1606 `(font-latex-sectioning-0-face ((,class :inherit ,modus-theme-variable-pitch :foreground ,blue-nuanced)))
1607 `(font-latex-sectioning-1-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
1608 `(font-latex-sectioning-2-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
1609 `(font-latex-sectioning-3-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
1610 `(font-latex-sectioning-4-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
1611 `(font-latex-sectioning-5-face ((,class :inherit ,modus-theme-variable-pitch :foreground ,blue-nuanced)))
1612 `(font-latex-sedate-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other)))
1613 `(font-latex-slide-title-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,cyan-nuanced
1614 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
1615 `(font-latex-string-face ((,class :foreground ,blue-alt)))
1616 `(font-latex-subscript-face ((,class :height 0.95)))
1617 `(font-latex-superscript-face ((,class :height 0.95)))
1618 `(font-latex-verbatim-face ((,class :background ,bg-dim :foreground ,fg-special-mild)))
1619 `(font-latex-warning-face ((,class :foreground ,yellow-alt-other)))
1620 `(tex-match ((,class :foreground ,blue-alt-other)))
1621 `(tex-verbatim ((,class :background ,bg-dim :foreground ,fg-special-mild)))
1622 `(texinfo-heading ((,class :foreground ,magenta)))
1623 `(TeX-error-description-error ((,class :inherit bold :foreground ,red)))
1624 `(TeX-error-description-help ((,class :foreground ,blue)))
1625 `(TeX-error-description-tex-said ((,class :foreground ,blue)))
1626 `(TeX-error-description-warning ((,class :inherit bold :foreground ,yellow)))
1627;;;;; auto-dim-other-buffers
1628 `(auto-dim-other-buffers-face ((,class :background ,bg-alt)))
1629;;;;; avy
1630 `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim)))
1631 `(avy-goto-char-timer-face ((,class :inherit (modus-theme-intense-yellow bold))))
1632 `(avy-lead-face ((,class :inherit (modus-theme-intense-magenta bold))))
1633 `(avy-lead-face-0 ((,class :inherit (modus-theme-intense-blue bold))))
1634 `(avy-lead-face-1 ((,class :inherit (modus-theme-intense-red bold))))
1635 `(avy-lead-face-2 ((,class :inherit (modus-theme-intense-green bold))))
1636;;;;; aw (ace-window)
1637 `(aw-background-face ((,class :background ,bg-dim :foreground ,fg-dim)))
1638 `(aw-key-face ((,class :inherit bold :foreground ,blue-intense)))
1639 `(aw-leading-char-face ((,class :inherit bold :height 1.5 :background ,bg-main :foreground ,red-intense)))
1640 `(aw-minibuffer-leading-char-face ((,class :foreground ,magenta-active)))
1641 `(aw-mode-line-face ((,class :inherit bold)))
1642;;;;; awesome-tray
1643 `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other)))
1644 `(awesome-tray-module-battery-face ((,class :inherit bold :foreground ,cyan-alt-other)))
1645 `(awesome-tray-module-buffer-name-face ((,class :inherit bold :foreground ,yellow-alt-other)))
1646 `(awesome-tray-module-circe-face ((,class :inherit bold :foreground ,blue-alt)))
1647 `(awesome-tray-module-date-face ((,class :inherit bold :foreground ,fg-dim)))
1648 `(awesome-tray-module-evil-face ((,class :inherit bold :foreground ,green-alt)))
1649 `(awesome-tray-module-git-face ((,class :inherit bold :foreground ,magenta)))
1650 `(awesome-tray-module-last-command-face ((,class :inherit bold :foreground ,blue-alt-other)))
1651 `(awesome-tray-module-location-face ((,class :inherit bold :foreground ,yellow)))
1652 `(awesome-tray-module-mode-name-face ((,class :inherit bold :foreground ,green)))
1653 `(awesome-tray-module-parent-dir-face ((,class :inherit bold :foreground ,cyan)))
1654 `(awesome-tray-module-rvm-face ((,class :inherit bold :foreground ,magenta-alt-other)))
1655;;;;; binder
1656 `(binder-sidebar-highlight ((,class :inherit modus-theme-subtle-cyan)))
1657 `(binder-sidebar-marked ((,class :inherit modus-theme-mark-sel)))
1658 `(binder-sidebar-missing ((,class :inherit modus-theme-subtle-red)))
1659 `(binder-sidebar-tags ((,class :foreground ,cyan)))
1660;;;;; bm
1661 `(bm-face ((,class :inherit modus-theme-subtle-yellow
1662 ,@(and (>= emacs-major-version 27) '(:extend t)))))
1663 `(bm-fringe-face ((,class :inherit modus-theme-fringe-yellow)))
1664 `(bm-fringe-persistent-face ((,class :inherit modus-theme-fringe-blue)))
1665 `(bm-persistent-face ((,class :inherit modus-theme-intense-blue
1666 ,@(and (>= emacs-major-version 27) '(:extend t)))))
1667;;;;; bongo
1668 `(bongo-album-title ((,class :foreground ,cyan-active)))
1669 `(bongo-artist ((,class :foreground ,magenta-active)))
1670 `(bongo-currently-playing-track ((,class :inherit bold)))
1671 `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta :underline t)))
1672 `(bongo-filled-seek-bar ((,class :background ,blue-subtle-bg :foreground ,fg-main)))
1673 `(bongo-marked-track ((,class :foreground ,fg-mark-alt)))
1674 `(bongo-marked-track-line ((,class :background ,bg-mark-alt)))
1675 `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t)))
1676 `(bongo-track-length ((,class :foreground ,blue-alt-other)))
1677 `(bongo-track-title ((,class :foreground ,blue-active)))
1678 `(bongo-unfilled-seek-bar ((,class :background ,blue-nuanced-bg :foreground ,fg-main)))
1679;;;;; boon
1680 `(boon-modeline-cmd ((,class :inherit modus-theme-active-blue)))
1681 `(boon-modeline-ins ((,class :inherit modus-theme-active-red)))
1682 `(boon-modeline-off ((,class :inherit modus-theme-active-yellow)))
1683 `(boon-modeline-spc ((,class :inherit modus-theme-active-green)))
1684;;;;; breakpoint (built-in gdb-mi.el)
1685 `(breakpoint-disabled ((,class :foreground ,fg-alt)))
1686 `(breakpoint-enabled ((,class :inherit bold :foreground ,red)))
1687;;;;; buffer-expose
1688 `(buffer-expose-ace-char-face ((,class :inherit bold :foreground ,red-active)))
1689 `(buffer-expose-mode-line-face ((,class :foreground ,cyan-active)))
1690 `(buffer-expose-selected-face ((,class :inherit modus-theme-special-mild)))
1691;;;;; calendar and diary
1692 `(calendar-month-header ((,class :inherit bold :foreground ,fg-main)))
1693 `(calendar-today ((,class :underline t)))
1694 `(calendar-weekday-header ((,class :foreground ,fg-dim)))
1695 `(calendar-weekend-header ((,class :foreground ,fg-alt)))
1696 `(diary ((,class :foreground ,cyan-alt-other)))
1697 `(diary-anniversary ((,class :foreground ,red-alt-other)))
1698 `(diary-time ((,class :foreground ,blue-alt)))
1699 `(holiday ((,class :foreground ,magenta-alt)))
1700;;;;; calfw
1701 `(cfw:face-annotation ((,class :foreground ,fg-special-warm)))
1702 `(cfw:face-day-title ((,class :foreground ,fg-main)))
1703 `(cfw:face-default-content ((,class :foreground ,green-alt)))
1704 `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold))))
1705 `(cfw:face-disable ((,class :foreground ,fg-unfocused)))
1706 `(cfw:face-grid ((,class :foreground ,fg-window-divider-outer)))
1707 `(cfw:face-header ((,class :inherit bold :foreground ,fg-main)))
1708 `(cfw:face-holiday ((,class :foreground ,magenta-alt-other)))
1709 `(cfw:face-periods ((,class :foreground ,cyan-alt-other)))
1710 `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other)))
1711 `(cfw:face-select ((,class :inherit modus-theme-intense-blue)))
1712 `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other)))
1713 `(cfw:face-title ((,class :inherit ,modus-theme-variable-pitch
1714 :foreground ,fg-special-cold
1715 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-5))))
1716 `(cfw:face-today ((,class :background ,bg-inactive)))
1717 `(cfw:face-today-title ((,class :background ,bg-active)))
1718 `(cfw:face-toolbar ((,class :background ,bg-alt :foreground ,bg-alt)))
1719 `(cfw:face-toolbar-button-off ((,class :foreground ,fg-alt)))
1720 `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg
1721 :foreground ,blue-alt)))
1722;;;;; centaur-tabs
1723 `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active)))
1724 `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t)))
1725 `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected)))
1726 `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected)))
1727 `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected)))
1728 `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected)))
1729 `(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main)))
1730 `(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active :foreground ,fg-main)))
1731 `(centaur-tabs-selected-modified ((,class :background ,bg-tab-active :foreground ,fg-main :slant italic)))
1732 `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground ,fg-dim)))
1733 `(centaur-tabs-unselected-modified ((,class :background ,bg-tab-inactive :foreground ,fg-dim :slant italic)))
1734;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
1735 `(change-log-acknowledgment ((,class :foreground ,fg-alt)))
1736 `(change-log-conditionals ((,class :foreground ,magenta-alt)))
1737 `(change-log-date ((,class :foreground ,cyan-alt-other)))
1738 `(change-log-email ((,class :foreground ,cyan)))
1739 `(change-log-file ((,class :foreground ,blue)))
1740 `(change-log-function ((,class :foreground ,green-alt-other)))
1741 `(change-log-list ((,class :foreground ,magenta-alt-other)))
1742 `(change-log-name ((,class :foreground ,cyan)))
1743 `(log-edit-header ((,class :foreground ,fg-special-warm)))
1744 `(log-edit-summary ((,class :inherit bold :foreground ,cyan)))
1745 `(log-edit-unknown-header ((,class :foreground ,fg-alt)))
1746 `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold)))
1747 `(log-view-message ((,class :foreground ,fg-alt)))
1748;;;;; cider
1749 `(cider-debug-code-overlay-face ((,class :background ,bg-alt)))
1750 `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t)))
1751 `(cider-deprecated-face ((,class :inherit modus-theme-refine-yellow)))
1752 `(cider-docview-emphasis-face ((,class :foreground ,fg-special-cold :slant italic)))
1753 `(cider-docview-literal-face ((,class :foreground ,blue-alt)))
1754 `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold)))
1755 `(cider-docview-table-border-face ((,class :foreground ,fg-alt)))
1756 `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim)))
1757 `(cider-enlightened-local-face ((,class :inherit bold :foreground ,yellow-alt-other)))
1758 `(cider-error-highlight-face ((,class :foreground ,red :underline t)))
1759 `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,yellow)))
1760 `(cider-fringe-good-face ((,class :foreground ,green-active)))
1761 `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim)))
1762 `(cider-reader-conditional-face ((,class :foreground ,fg-special-warm :slant italic)))
1763 `(cider-repl-input-face ((,class :inherit bold)))
1764 `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other)))
1765 `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red)))
1766 `(cider-repl-stdout-face ((,class :foreground ,blue)))
1767 `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim)))
1768 `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground ,red)))
1769 `(cider-stacktrace-error-message-face ((,class :foreground ,red-alt-other :slant italic)))
1770 `(cider-stacktrace-face ((,class :foreground ,fg-main)))
1771 `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt :underline t)))
1772 `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt)))
1773 `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main)))
1774 `(cider-stacktrace-ns-face ((,class :foreground ,fg-alt :slant italic)))
1775 `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red)))
1776 `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button)
1777 :background ,bg-alt :foreground ,fg-alt)))
1778 `(cider-test-error-face ((,class :inherit modus-theme-subtle-red)))
1779 `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red bold))))
1780 `(cider-test-success-face ((,class :inherit modus-theme-intense-green)))
1781 `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim)))
1782 `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t)))
1783;;;;; circe (and lui)
1784 `(circe-fool-face ((,class :foreground ,fg-alt)))
1785 `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue)))
1786 `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other)))
1787 `(circe-server-face ((,class :foreground ,fg-unfocused)))
1788 `(lui-button-face ((,class :inherit button :foreground ,blue)))
1789 `(lui-highlight-face ((,class :foreground ,magenta-alt)))
1790 `(lui-time-stamp-face ((,class :foreground ,blue-nuanced)))
1791;;;;; color-rg
1792 `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other)))
1793 `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main)))
1794 `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold)))
1795 `(color-rg-font-lock-flash ((,class :inherit modus-theme-intense-blue)))
1796 `(color-rg-font-lock-function-location ((,class :inherit modus-theme-special-calm)))
1797 `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active)))
1798 `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active)))
1799 `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active)))
1800 `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active)))
1801 `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm)))
1802 `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue)))
1803 `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red)))
1804 `(color-rg-font-lock-match ((,class :inherit modus-theme-special-calm)))
1805 `(color-rg-font-lock-position-splitter ((,class :foreground ,fg-alt)))
1806;;;;; column-enforce-mode
1807 `(column-enforce-face ((,class :inherit modus-theme-refine-yellow)))
1808;;;;; company-mode
1809 `(company-echo-common ((,class :foreground ,magenta-alt-other)))
1810 `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim)))
1811 `(company-preview-common ((,class :foreground ,blue-alt)))
1812 `(company-preview-search ((,class :inherit modus-theme-special-calm)))
1813 `(company-scrollbar-bg ((,class :background ,bg-active)))
1814 `(company-scrollbar-fg ((,class :background ,fg-active)))
1815 `(company-template-field ((,class :inherit modus-theme-intense-magenta)))
1816 `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt)))
1817 `(company-tooltip-annotation ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
1818 `(company-tooltip-annotation-selection ((,class :inherit bold :foreground ,fg-main)))
1819 `(company-tooltip-common ((,class :inherit bold :foreground ,blue-alt)))
1820 `(company-tooltip-common-selection ((,class :foreground ,fg-main)))
1821 `(company-tooltip-mouse ((,class :inherit modus-theme-intense-blue)))
1822 `(company-tooltip-search ((,class :inherit (modus-theme-refine-cyan bold))))
1823 `(company-tooltip-search-selection ((,class :inherit (modus-theme-intense-green bold) :underline t)))
1824 `(company-tooltip-selection ((,class :inherit (modus-theme-subtle-cyan bold))))
1825;;;;; company-posframe
1826 `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active)))
1827 `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active)))
1828 `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive)))
1829;;;;; compilation feedback
1830 `(compilation-column-number ((,class :foreground ,magenta-alt-other)))
1831 `(compilation-error ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red)))
1832 `(compilation-info ((,class :foreground ,fg-special-cold)))
1833 `(compilation-line-number ((,class :foreground ,fg-special-warm)))
1834 `(compilation-mode-line-exit ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue-active)))
1835 `(compilation-mode-line-fail ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red-active)))
1836 `(compilation-mode-line-run ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-active)))
1837 `(compilation-warning ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,yellow)))
1838;;;;; completions
1839 `(completions-annotations ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
1840 `(completions-common-part ((,class ,@(modus-vivendi-theme-standard-completions
1841 blue-alt blue-nuanced-bg
1842 cyan-refine-bg cyan-refine-fg))))
1843 `(completions-first-difference ((,class :inherit bold
1844 ,@(modus-vivendi-theme-standard-completions
1845 magenta-alt blue-nuanced-bg
1846 magenta-intense-bg fg-main))))
1847;;;;; counsel
1848 `(counsel-active-mode ((,class :foreground ,magenta-alt-other)))
1849 `(counsel-application-name ((,class :foreground ,red-alt-other)))
1850 `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other)))
1851 `(counsel-outline-1 ((,class :inherit outline-1)))
1852 `(counsel-outline-2 ((,class :inherit outline-2)))
1853 `(counsel-outline-3 ((,class :inherit outline-3)))
1854 `(counsel-outline-4 ((,class :inherit outline-4)))
1855 `(counsel-outline-5 ((,class :inherit outline-5)))
1856 `(counsel-outline-6 ((,class :inherit outline-6)))
1857 `(counsel-outline-7 ((,class :inherit outline-7)))
1858 `(counsel-outline-8 ((,class :inherit outline-8)))
1859 `(counsel-outline-default ((,class :inherit bold :foreground ,green-alt-other)))
1860 `(counsel-variable-documentation ((,class :foreground ,yellow-alt-other :slant ,modus-theme-slant)))
1861;;;;; counsel-css
1862 `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue)))
1863 `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan)))
1864 `(counsel-css-selector-depth-face-3 ((,class :foreground ,green)))
1865 `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow)))
1866 `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta)))
1867 `(counsel-css-selector-depth-face-6 ((,class :foreground ,red)))
1868;;;;; counsel-notmuch
1869 `(counsel-notmuch-count-face ((,class :foreground ,cyan)))
1870 `(counsel-notmuch-date-face ((,class :foreground ,blue)))
1871 `(counsel-notmuch-people-face ((,class :foreground ,magenta)))
1872 `(counsel-notmuch-subject-face ((,class :foreground ,magenta-alt-other)))
1873;;;;; counsel-org-capture-string
1874 `(counsel-org-capture-string-template-body-face ((,class :foreground ,fg-special-cold)))
1875;;;;; cov
1876 `(cov-coverage-not-run-face ((,class :foreground ,red-intense)))
1877 `(cov-coverage-run-face ((,class :foreground ,green-intense)))
1878 `(cov-heavy-face ((,class :foreground ,magenta-intense)))
1879 `(cov-light-face ((,class :foreground ,blue-intense)))
1880 `(cov-med-face ((,class :foreground ,yellow-intense)))
1881 `(cov-none-face ((,class :foreground ,cyan-intense)))
1882;;;;; cperl-mode
1883 `(cperl-nonoverridable-face ((,class :foreground ,yellow-alt-other)))
1884 `(cperl-array-face ((,class :inherit bold :background ,bg-alt :foreground ,magenta-alt)))
1885 `(cperl-hash-face ((,class :inherit bold :background ,bg-alt :foreground ,red-alt :slant ,modus-theme-slant)))
1886;;;;; csv-mode
1887 `(csv-separator-face ((,class :background ,bg-special-cold :foreground ,fg-main)))
1888;;;;; ctrlf
1889 `(ctrlf-highlight-active ((,class :inherit (modus-theme-intense-green bold))))
1890 `(ctrlf-highlight-line ((,class :inherit modus-theme-hl-line)))
1891 `(ctrlf-highlight-passive ((,class :inherit modus-theme-refine-cyan)))
1892;;;;; custom (M-x customize)
1893 `(custom-button ((,class :box (:line-width 2 :color nil :style released-button)
1894 :background ,bg-active :foreground ,fg-main)))
1895 `(custom-button-mouse ((,class :box (:line-width 2 :color nil :style released-button)
1896 :background ,bg-active :foreground ,fg-active)))
1897 `(custom-button-pressed ((,class :box (:line-width 2 :color nil :style pressed-button)
1898 :background ,bg-active :foreground ,fg-main)))
1899 `(custom-changed ((,class :inherit modus-theme-subtle-cyan)))
1900 `(custom-comment ((,class :foreground ,fg-alt)))
1901 `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other)))
1902 `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense)))
1903 `(custom-group-tag ((,class :inherit bold :foreground ,green-intense)))
1904 `(custom-group-tag-1 ((,class :inherit modus-theme-special-warm)))
1905 `(custom-invalid ((,class :inherit (modus-theme-intense-red bold))))
1906 `(custom-modified ((,class :inherit modus-theme-subtle-cyan)))
1907 `(custom-rogue ((,class :inherit modus-theme-refine-magenta)))
1908 `(custom-set ((,class :foreground ,blue-alt)))
1909 `(custom-state ((,class :foreground ,cyan-alt-other)))
1910 `(custom-themed ((,class :inherit modus-theme-subtle-blue)))
1911 `(custom-variable-tag ((,class :inherit bold :foreground ,cyan)))
1912;;;;; dap-mode
1913 `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil)
1914 :background ,bg-active :foreground ,fg-main)))
1915 `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active :style nil)
1916 :background ,bg-active :foreground ,fg-main)))
1917 `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground ,green-active)))
1918 `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense)))
1919 `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t)))
1920 `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan)))
1921 `(dap-ui-locals-variable-leaf-face ((,class :foreground ,cyan-alt-other :slant italic)))
1922 `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue)))
1923 `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt)))
1924 `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt)))
1925 `(dap-ui-sessions-terminated-face ((,class :foreground ,fg-alt)))
1926;;;;; dashboard (emacs-dashboard)
1927 `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold)))
1928 `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild)))
1929 `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm)))
1930 `(dashboard-navigator ((,class :foreground ,cyan-alt-other)))
1931 `(dashboard-text-banner ((,class :foreground ,fg-dim)))
1932;;;;; deadgrep
1933 `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
1934 `(deadgrep-match-face ((,class :inherit modus-theme-special-calm)))
1935 `(deadgrep-meta-face ((,class :foreground ,fg-alt)))
1936 `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense)))
1937 `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense)))
1938;;;;; debbugs
1939 `(debbugs-gnu-archived ((,class :inverse-video t)))
1940 `(debbugs-gnu-done ((,class :foreground ,fg-alt)))
1941 `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm)))
1942 `(debbugs-gnu-handled ((,class :foreground ,green)))
1943 `(debbugs-gnu-new ((,class :foreground ,red)))
1944 `(debbugs-gnu-pending ((,class :foreground ,cyan)))
1945 `(debbugs-gnu-stale-1 ((,class :foreground ,yellow-nuanced)))
1946 `(debbugs-gnu-stale-2 ((,class :foreground ,yellow)))
1947 `(debbugs-gnu-stale-3 ((,class :foreground ,yellow-alt)))
1948 `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other)))
1949 `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt)))
1950 `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt)))
1951;;;;; define-word
1952 `(define-word-face-1 ((,class :foreground ,yellow)))
1953 `(define-word-face-2 ((,class :foreground ,fg-main)))
1954;;;;; deft
1955 `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red)))
1956 `(deft-filter-string-face ((,class :foreground ,green-intense)))
1957 `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm)))
1958 `(deft-separator-face ((,class :foreground ,fg-alt)))
1959 `(deft-summary-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
1960 `(deft-time-face ((,class :foreground ,fg-special-cold)))
1961 `(deft-title-face ((,class :inherit bold :foreground ,fg-main)))
1962;;;;; dictionary
1963 `(dictionary-button-face ((,class :inherit bold :foreground ,fg-special-cold)))
1964 `(dictionary-reference-face ((,class :inherit button :foreground ,blue-alt-other)))
1965 `(dictionary-word-definition-face ((,class :foreground ,fg-main)))
1966 `(dictionary-word-entry-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
1967;;;;; diff-hl
1968 `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow)))
1969 `(diff-hl-delete ((,class :inherit modus-theme-fringe-red)))
1970 `(diff-hl-dired-change ((,class :inherit diff-hl-change)))
1971 `(diff-hl-dired-delete ((,class :inherit diff-hl-delete)))
1972 `(diff-hl-dired-ignored ((,class :inherit dired-ignored)))
1973 `(diff-hl-dired-insert ((,class :inherit diff-hl-insert)))
1974 `(diff-hl-dired-unknown ((,class :inherit dired-ignored)))
1975 `(diff-hl-insert ((,class :inherit modus-theme-fringe-green)))
1976 `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-theme-active-magenta bold))))
1977;;;;; diff-mode
1978 `(diff-added ((,class :inherit modus-theme-diff-added)))
1979 `(diff-changed ((,class :inherit modus-theme-diff-changed)))
1980 `(diff-context ((,class :foreground ,fg-unfocused)))
1981 `(diff-file-header ((,class :inherit bold :foreground ,blue)))
1982 `(diff-function ((,class :foreground ,fg-special-cold)))
1983 `(diff-header ((,class :foreground ,blue-nuanced)))
1984 `(diff-hunk-header ((,class :inherit modus-theme-diff-heading)))
1985 `(diff-index ((,class :inherit bold :foreground ,blue-alt)))
1986 `(diff-indicator-added ((,class :inherit diff-added)))
1987 `(diff-indicator-changed ((,class :inherit diff-changed)))
1988 `(diff-indicator-removed ((,class :inherit diff-removed)))
1989 `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold))))
1990 `(diff-refine-added ((,class :inherit modus-theme-diff-refine-added)))
1991 `(diff-refine-changed ((,class :inherit modus-theme-diff-refine-changed)))
1992 `(diff-refine-removed ((,class :inherit modus-theme-diff-refine-removed)))
1993 `(diff-removed ((,class :inherit modus-theme-diff-removed)))
1994;;;;; dim-autoload
1995 `(dim-autoload-cookie-line ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
1996;;;;; dir-treeview
1997 `(dir-treeview-archive-face ((,class :foreground ,fg-special-warm)))
1998 `(dir-treeview-archive-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,yellow)))
1999 `(dir-treeview-audio-face ((,class :foreground ,magenta)))
2000 `(dir-treeview-audio-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt)))
2001 `(dir-treeview-control-face ((,class :foreground ,fg-alt)))
2002 `(dir-treeview-control-mouse-face ((,class :inherit highlight)))
2003 `(dir-treeview-default-icon-face ((,class :inherit bold :family "Font Awesome" :foreground ,fg-alt)))
2004 `(dir-treeview-default-filename-face ((,class :foreground ,fg-main)))
2005 `(dir-treeview-directory-face ((,class :foreground ,blue)))
2006 `(dir-treeview-directory-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,blue-alt)))
2007 `(dir-treeview-executable-face ((,class :foreground ,red-alt)))
2008 `(dir-treeview-executable-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,red-alt-other)))
2009 `(dir-treeview-image-face ((,class :foreground ,green-alt-other)))
2010 `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt)))
2011 `(dir-treeview-indent-face ((,class :foreground ,fg-alt)))
2012 `(dir-treeview-label-mouse-face ((,class :inherit highlight)))
2013 `(dir-treeview-start-dir-face ((,class :inherit modus-theme-pseudo-header)))
2014 `(dir-treeview-symlink-face ((,class :inherit button :foreground ,cyan)))
2015 `(dir-treeview-video-face ((,class :foreground ,magenta-alt-other)))
2016 `(dir-treeview-video-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt-other)))
2017;;;;; dired
2018 `(dired-directory ((,class :foreground ,blue)))
2019 `(dired-flagged ((,class :inherit modus-theme-mark-del)))
2020 `(dired-header ((,class :inherit modus-theme-pseudo-header)))
2021 `(dired-ignored ((,class :foreground ,fg-alt)))
2022 `(dired-mark ((,class :inherit modus-theme-mark-symbol)))
2023 `(dired-marked ((,class :inherit modus-theme-mark-sel)))
2024 `(dired-perm-write ((,class :foreground ,fg-special-warm)))
2025 `(dired-symlink ((,class :inherit button :foreground ,cyan-alt)))
2026 `(dired-warning ((,class :inherit bold :foreground ,yellow)))
2027;;;;; dired-async
2028 `(dired-async-failures ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red-active)))
2029 `(dired-async-message ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,green-active)))
2030 `(dired-async-mode-message ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,cyan-active)))
2031;;;;; dired-git
2032 `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt)))
2033 `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other)))
2034;;;;; dired-git-info
2035 `(dgi-commit-message-face ((,class :foreground ,fg-special-mild)))
2036;;;;; dired-narrow
2037 `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold))))
2038;;;;; dired-subtree
2039 ;; remove background from dired-subtree, else it breaks
2040 ;; dired-{flagged,marked} and any other face that sets a background
2041 ;; such as hl-line
2042 `(dired-subtree-depth-1-face ((,class :background nil)))
2043 `(dired-subtree-depth-2-face ((,class :background nil)))
2044 `(dired-subtree-depth-3-face ((,class :background nil)))
2045 `(dired-subtree-depth-4-face ((,class :background nil)))
2046 `(dired-subtree-depth-5-face ((,class :background nil)))
2047 `(dired-subtree-depth-6-face ((,class :background nil)))
2048;;;;; diredfl
2049 `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold)))
2050 `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm)))
2051 `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt)))
2052 `(diredfl-date-time ((,class :foreground ,cyan-alt-other)))
2053 `(diredfl-deletion ((,class :inherit modus-theme-mark-del)))
2054 `(diredfl-deletion-file-name ((,class :inherit modus-theme-mark-del)))
2055 `(diredfl-dir-heading ((,class :inherit modus-theme-pseudo-header)))
2056 `(diredfl-dir-name ((,class :inherit dired-directory)))
2057 `(diredfl-dir-priv ((,class :foreground ,blue-alt)))
2058 `(diredfl-exec-priv ((,class :foreground ,magenta)))
2059 `(diredfl-executable-tag ((,class :foreground ,magenta-alt)))
2060 `(diredfl-file-name ((,class :foreground ,fg-main)))
2061 `(diredfl-file-suffix ((,class :foreground ,cyan)))
2062 `(diredfl-flag-mark ((,class :inherit modus-theme-mark-sel)))
2063 `(diredfl-flag-mark-line ((,class :inherit modus-theme-mark-sel)))
2064 `(diredfl-ignored-file-name ((,class :foreground ,fg-alt)))
2065 `(diredfl-link-priv ((,class :foreground ,blue-alt-other)))
2066 `(diredfl-no-priv ((,class :foreground ,fg-alt)))
2067 `(diredfl-number ((,class :foreground ,cyan-alt)))
2068 `(diredfl-other-priv ((,class :foreground ,yellow)))
2069 `(diredfl-rare-priv ((,class :foreground ,red-alt)))
2070 `(diredfl-read-priv ((,class :foreground ,fg-main)))
2071 `(diredfl-symlink ((,class :inherit dired-symlink)))
2072 `(diredfl-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta)))
2073 `(diredfl-write-priv ((,class :foreground ,cyan)))
2074;;;;; disk-usage
2075 `(disk-usage-children ((,class :foreground ,yellow)))
2076 `(disk-usage-inaccessible ((,class :inherit bold :foreground ,red)))
2077 `(disk-usage-percent ((,class :foreground ,green)))
2078 `(disk-usage-size ((,class :foreground ,cyan)))
2079 `(disk-usage-symlink ((,class :inherit button :foreground ,blue)))
2080 `(disk-usage-symlink-directory ((,class :inherit bold :foreground ,blue-alt)))
2081;;;;; doom-modeline
2082 `(doom-modeline-bar ((,class :inherit modus-theme-active-blue)))
2083 `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main)))
2084 `(doom-modeline-battery-charging ((,class :foreground ,green-active)))
2085 `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active)))
2086 `(doom-modeline-battery-error ((,class :inherit bold :box (:line-width -2)
2087 :foreground ,red-active)))
2088 `(doom-modeline-battery-full ((,class :foreground ,blue-active)))
2089 `(doom-modeline-battery-normal ((,class :foreground ,fg-active)))
2090 `(doom-modeline-battery-warning ((,class :inherit bold :foreground ,yellow-active)))
2091 `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active)))
2092 `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground ,cyan-active)))
2093 `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive)))
2094 `(doom-modeline-buffer-modified ((,class :inherit bold :foreground ,magenta-active)))
2095 `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active)))
2096 `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active)))
2097 `(doom-modeline-debug-visual ((,class :inherit bold :foreground ,red-active)))
2098 `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground ,magenta-active)))
2099 `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground ,green-active)))
2100 `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground ,fg-inactive)))
2101 `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground ,fg-active)))
2102 `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground ,blue-active)))
2103 `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground ,red-active)))
2104 `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground ,cyan-active)))
2105 `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active)))
2106 `(doom-modeline-host ((,class :slant italic)))
2107 `(doom-modeline-info ((,class :foreground ,green-active)))
2108 `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active)))
2109 `(doom-modeline-lsp-success ((,class :inherit bold :foreground ,green-active)))
2110 `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active)))
2111 `(doom-modeline-panel ((,class :inherit modus-theme-active-blue)))
2112 `(doom-modeline-persp-buffer-not-in-persp ((,class :foreground ,yellow-active :slant italic)))
2113 `(doom-modeline-persp-name ((,class :foreground ,fg-active)))
2114 `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active)))
2115 `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active)))
2116 `(doom-modeline-project-root-dir ((,class :foreground ,fg-active)))
2117 `(doom-modeline-unread-number ((,class :foreground ,fg-active :slant italic)))
2118 `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active)))
2119 `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active)))
2120;;;;; dynamic-ruler
2121 `(dynamic-ruler-negative-face ((,class :inherit modus-theme-intense-neutral)))
2122 `(dynamic-ruler-positive-face ((,class :inherit modus-theme-intense-yellow)))
2123;;;;; easy-jekyll
2124 `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other)))
2125;;;;; easy-kill
2126 `(easy-kill-origin ((,class :inherit modus-theme-subtle-red)))
2127 `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow)))
2128;;;;; ebdb
2129 `(ebdb-address-default ((,class :foreground ,fg-main)))
2130 `(ebdb-db-char ((,class :foreground ,fg-special-cold)))
2131 `(ebdb-defunct ((,class :foreground ,fg-alt)))
2132 `(ebdb-field-hidden ((,class :foreground ,magenta)))
2133 `(ebdb-field-url ((,class :foreground ,blue)))
2134 `(ebdb-label ((,class :foreground ,cyan-alt-other)))
2135 `(ebdb-mail-default ((,class :foreground ,fg-main)))
2136 `(ebdb-mail-primary ((,class :foreground ,blue-alt)))
2137 `(ebdb-marked ((,class :background ,cyan-intense-bg)))
2138 `(ebdb-organization-name ((,class :foreground ,fg-special-calm)))
2139 `(ebdb-person-name ((,class :foreground ,magenta-alt-other)))
2140 `(ebdb-phone-default ((,class :foreground ,fg-special-warm)))
2141 `(ebdb-role-defunct ((,class :foreground ,fg-alt)))
2142 `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt)))
2143;;;;; ediff
2144 ;; NOTE: here we break from the pattern of inheriting from the
2145 ;; modus-theme-diff-* faces.
2146 `(ediff-current-diff-A ((,class ,@(modus-vivendi-theme-diff
2147 bg-dim red
2148 bg-diff-removed fg-diff-removed
2149 red-nuanced-bg red-faint))))
2150 `(ediff-current-diff-Ancestor ((,class ,@(modus-vivendi-theme-diff
2151 bg-dim fg-special-cold
2152 bg-special-cold fg-special-cold
2153 blue-nuanced-bg blue))))
2154 `(ediff-current-diff-B ((,class ,@(modus-vivendi-theme-diff
2155 bg-dim green
2156 bg-diff-added fg-diff-added
2157 green-nuanced-bg green-faint))))
2158 `(ediff-current-diff-C ((,class ,@(modus-vivendi-theme-diff
2159 bg-dim yellow
2160 bg-diff-changed fg-diff-changed
2161 yellow-nuanced-bg yellow-faint))))
2162 `(ediff-even-diff-A ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
2163 `(ediff-even-diff-Ancestor ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1)))
2164 `(ediff-even-diff-B ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
2165 `(ediff-even-diff-C ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
2166 `(ediff-fine-diff-A ((,class :background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed)))
2167 `(ediff-fine-diff-Ancestor ((,class :inherit modus-theme-refine-cyan)))
2168 `(ediff-fine-diff-B ((,class :background ,bg-diff-focus-added :foreground ,fg-diff-focus-added)))
2169 `(ediff-fine-diff-C ((,class :background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed)))
2170 `(ediff-odd-diff-A ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
2171 `(ediff-odd-diff-Ancestor ((,class :background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0)))
2172 `(ediff-odd-diff-B ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
2173 `(ediff-odd-diff-C ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
2174;;;;; eglot
2175 `(eglot-mode-line ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-active)))
2176;;;;; el-search
2177 `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt)))
2178 `(el-search-match ((,class :inherit modus-theme-intense-green)))
2179 `(el-search-other-match ((,class :inherit modus-theme-special-mild)))
2180 `(el-search-occur-match ((,class :inherit modus-theme-special-calm)))
2181;;;;; eldoc
2182 ;; NOTE: see https://github.com/purcell/package-lint/issues/187
2183 (list 'eldoc-highlight-function-argument `((,class :inherit bold :foreground ,blue-alt-other)))
2184;;;;; eldoc-box
2185 `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main)))
2186 `(eldoc-box-border ((,class :background ,fg-alt)))
2187;;;;; elfeed
2188 `(elfeed-log-date-face ((,class :foreground ,cyan-alt)))
2189 `(elfeed-log-debug-level-face ((,class :foreground ,magenta)))
2190 `(elfeed-log-error-level-face ((,class :foreground ,red)))
2191 `(elfeed-log-info-level-face ((,class :foreground ,green)))
2192 `(elfeed-log-warn-level-face ((,class :foreground ,yellow)))
2193 `(elfeed-search-date-face ((,class :foreground ,blue-nuanced)))
2194 `(elfeed-search-feed-face ((,class :foreground ,cyan)))
2195 `(elfeed-search-filter-face ((,class :inherit bold :foreground ,magenta-active)))
2196 `(elfeed-search-last-update-face ((,class :foreground ,cyan-active)))
2197 `(elfeed-search-tag-face ((,class :foreground ,blue-nuanced)))
2198 `(elfeed-search-title-face ((,class :foreground ,fg-dim)))
2199 `(elfeed-search-unread-count-face ((,class :foreground ,green-active)))
2200 `(elfeed-search-unread-title-face ((,class :inherit bold :foreground ,fg-main)))
2201;;;;; elfeed-score
2202 `(elfeed-score-date-face ((,class :foreground ,blue)))
2203 `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other)))
2204 `(elfeed-score-error-level-face ((,class :foreground ,red)))
2205 `(elfeed-score-info-level-face ((,class :foreground ,cyan)))
2206 `(elfeed-score-warn-level-face ((,class :foreground ,yellow)))
2207;;;;; emms
2208 `(emms-playlist-track-face ((,class :foreground ,blue)))
2209 `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta)))
2210;;;;; enhanced-ruby-mode
2211 `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other)))
2212 `(enh-ruby-op-face ((,class :foreground ,fg-main)))
2213 `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green)))
2214 `(enh-ruby-regexp-face ((,class :foreground ,magenta)))
2215 `(enh-ruby-string-delimiter-face ((,class :foreground ,blue-alt)))
2216 `(erm-syn-errline ((,class :foreground ,red :underline t)))
2217 `(erm-syn-warnline ((,class :foreground ,yellow :underline t)))
2218;;;;; epa
2219 `(epa-field-body ((,class :foreground ,fg-main)))
2220 `(epa-field-name ((,class :inherit bold :foreground ,fg-dim)))
2221 `(epa-mark ((,class :inherit bold :foreground ,magenta)))
2222 `(epa-string ((,class :foreground ,blue-alt)))
2223 `(epa-validity-disabled ((,class :inherit modus-theme-refine-red)))
2224 `(epa-validity-high ((,class :inherit bold :foreground ,green-alt-other)))
2225 `(epa-validity-low ((,class :foreground ,fg-alt)))
2226 `(epa-validity-medium ((,class :foreground ,green-alt)))
2227;;;;; equake
2228 `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main)))
2229 `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground ,green-active)))
2230 `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground ,red-active)))
2231 `(equake-shell-type-shell ((,class :background ,bg-inactive :foreground ,cyan-active)))
2232 `(equake-shell-type-term ((,class :background ,bg-inactive :foreground ,yellow-active)))
2233 `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground ,magenta-active)))
2234 `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt)))
2235 `(equake-tab-inactive ((,class :foreground ,fg-inactive)))
2236;;;;; erc
2237 `(erc-action-face ((,class :inherit bold :foreground ,cyan)))
2238 `(erc-bold-face ((,class :inherit bold)))
2239 `(erc-button ((,class :inherit button)))
2240 `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt)))
2241 `(erc-current-nick-face ((,class :foreground ,magenta-alt-other)))
2242 `(erc-dangerous-host-face ((,class :inherit modus-theme-intense-red)))
2243 `(erc-direct-msg-face ((,class :foreground ,magenta)))
2244 `(erc-error-face ((,class :inherit bold :foreground ,red)))
2245 `(erc-fool-face ((,class :foreground ,fg-inactive)))
2246 `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header)))
2247 `(erc-input-face ((,class :foreground ,fg-special-calm)))
2248 `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t)))
2249 `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt)))
2250 `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta)))
2251 `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face)))
2252 `(erc-nick-default-face ((,class :inherit bold :foreground ,blue)))
2253 `(erc-nick-msg-face ((,class :inherit bold :foreground ,green)))
2254 `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face)))
2255 `(erc-notice-face ((,class :foreground ,fg-unfocused)))
2256 `(erc-pal-face ((,class :inherit bold :foreground ,red-alt)))
2257 `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other)))
2258 `(erc-timestamp-face ((,class :foreground ,blue-nuanced)))
2259 `(erc-underline-face ((,class :underline t)))
2260 `(bg:erc-color-face0 ((,class :background "white")))
2261 `(bg:erc-color-face1 ((,class :background "black")))
2262 `(bg:erc-color-face10 ((,class :background ,cyan-subtle-bg)))
2263 `(bg:erc-color-face11 ((,class :background ,cyan-intense-bg)))
2264 `(bg:erc-color-face12 ((,class :background ,blue-subtle-bg)))
2265 `(bg:erc-color-face13 ((,class :background ,magenta-subtle-bg)))
2266 `(bg:erc-color-face14 ((,class :background "gray60")))
2267 `(bg:erc-color-face15 ((,class :background "gray80")))
2268 `(bg:erc-color-face2 ((,class :background ,blue-intense-bg)))
2269 `(bg:erc-color-face3 ((,class :background ,green-intense-bg)))
2270 `(bg:erc-color-face4 ((,class :background ,red-subtle-bg)))
2271 `(bg:erc-color-face5 ((,class :background ,red-intense-bg)))
2272 `(bg:erc-color-face6 ((,class :background ,magenta-refine-bg)))
2273 `(bg:erc-color-face7 ((,class :background ,yellow-subtle-bg)))
2274 `(bg:erc-color-face8 ((,class :background ,yellow-refine-bg)))
2275 `(bg:erc-color-face9 ((,class :background ,green-subtle-bg)))
2276 `(fg:erc-color-face0 ((,class :foreground "white")))
2277 `(fg:erc-color-face1 ((,class :foreground "black")))
2278 `(fg:erc-color-face10 ((,class :foreground ,cyan)))
2279 `(fg:erc-color-face11 ((,class :foreground ,cyan-alt-other)))
2280 `(fg:erc-color-face12 ((,class :foreground ,blue)))
2281 `(fg:erc-color-face13 ((,class :foreground ,magenta-alt)))
2282 `(fg:erc-color-face14 ((,class :foreground "gray60")))
2283 `(fg:erc-color-face15 ((,class :foreground "gray80")))
2284 `(fg:erc-color-face2 ((,class :foreground ,blue-alt-other)))
2285 `(fg:erc-color-face3 ((,class :foreground ,green)))
2286 `(fg:erc-color-face4 ((,class :foreground ,red)))
2287 `(fg:erc-color-face5 ((,class :foreground ,red-alt)))
2288 `(fg:erc-color-face6 ((,class :foreground ,magenta-alt-other)))
2289 `(fg:erc-color-face7 ((,class :foreground ,yellow-alt-other)))
2290 `(fg:erc-color-face8 ((,class :foreground ,yellow-alt)))
2291 `(fg:erc-color-face9 ((,class :foreground ,green-alt-other)))
2292;;;;; eros
2293 `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue)
2294 :background ,bg-dim :foreground ,fg-dim)))
2295;;;;; ert
2296 `(ert-test-result-expected ((,class :inherit modus-theme-intense-green)))
2297 `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red)))
2298;;;;; eshell
2299 `(eshell-ls-archive ((,class :inherit bold :foreground ,cyan-alt)))
2300 `(eshell-ls-backup ((,class :foreground ,yellow-alt)))
2301 `(eshell-ls-clutter ((,class :foreground ,red-alt)))
2302 `(eshell-ls-directory ((,class :inherit bold :foreground ,blue-alt)))
2303 `(eshell-ls-executable ((,class :foreground ,magenta-alt)))
2304 `(eshell-ls-missing ((,class :inherit modus-theme-intense-red)))
2305 `(eshell-ls-product ((,class :foreground ,fg-special-warm)))
2306 `(eshell-ls-readonly ((,class :foreground ,fg-special-cold)))
2307 `(eshell-ls-special ((,class :inherit bold :foreground ,magenta)))
2308 `(eshell-ls-symlink ((,class :inherit button :foreground ,cyan)))
2309 `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive)))
2310 `(eshell-prompt ((,class ,@(modus-vivendi-theme-bold-weight)
2311 ,@(modus-vivendi-theme-prompt
2312 green-alt-other
2313 green-nuanced-bg green-alt
2314 green-refine-bg fg-main))))
2315;;;;; eshell-fringe-status
2316 `(eshell-fringe-status-failure ((,class :foreground ,red)))
2317 `(eshell-fringe-status-success ((,class :foreground ,green)))
2318;;;;; eshell-git-prompt
2319 `(eshell-git-prompt-add-face ((,class :foreground ,fg-alt)))
2320 `(eshell-git-prompt-branch-face ((,class :foreground ,fg-alt)))
2321 `(eshell-git-prompt-directory-face ((,class :foreground ,cyan)))
2322 `(eshell-git-prompt-exit-fail-face ((,class :foreground ,red)))
2323 `(eshell-git-prompt-exit-success-face ((,class :foreground ,green)))
2324 `(eshell-git-prompt-modified-face ((,class :foreground ,yellow)))
2325 `(eshell-git-prompt-powerline-clean-face ((,class :background ,green-refine-bg)))
2326 `(eshell-git-prompt-powerline-dir-face ((,class :background ,blue-refine-bg)))
2327 `(eshell-git-prompt-powerline-not-clean-face ((,class :background ,magenta-refine-bg)))
2328 `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,red)))
2329 `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow)))
2330 `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,blue)))
2331;;;;; eshell-prompt-extras (epe)
2332 `(epe-dir-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue)))
2333 `(epe-git-dir-face ((,class :foreground ,red-alt-other)))
2334 `(epe-git-face ((,class :foreground ,cyan-alt)))
2335 `(epe-pipeline-delimiter-face ((,class :foreground ,green-alt)))
2336 `(epe-pipeline-host-face ((,class :foreground ,blue)))
2337 `(epe-pipeline-time-face ((,class :foreground ,fg-special-warm)))
2338 `(epe-pipeline-user-face ((,class :foreground ,magenta)))
2339 `(epe-remote-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
2340 `(epe-status-face ((,class :foreground ,magenta-alt-other)))
2341 `(epe-venv-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
2342;;;;; eshell-syntax-highlighting
2343 `(eshell-syntax-highlighting-alias-face ((,class :foreground ,cyan)))
2344 `(eshell-syntax-highlighting-comment-face ((,class :foreground ,fg-alt)))
2345 `(eshell-syntax-highlighting-directory-face ((,class :foreground ,blue)))
2346 `(eshell-syntax-highlighting-envvar-face ((,class :foreground ,magenta-alt)))
2347 `(eshell-syntax-highlighting-invalid-face ((,class :foreground ,red)))
2348 `(eshell-syntax-highlighting-lisp-function-face ((,class :foreground ,magenta)))
2349 `(eshell-syntax-highlighting-shell-command-face ((,class :foreground ,cyan-alt-other)))
2350 `(eshell-syntax-highlighting-string-face ((,class :foreground ,blue-alt)))
2351;;;;; evil-mode
2352 `(evil-ex-commands ((,class :foreground ,magenta-alt-other)))
2353 `(evil-ex-info ((,class :foreground ,cyan-alt-other)))
2354 `(evil-ex-lazy-highlight ((,class :inherit modus-theme-refine-cyan)))
2355 `(evil-ex-search ((,class :inherit modus-theme-intense-green)))
2356 `(evil-ex-substitute-matches ((,class :inherit modus-theme-refine-yellow :underline t)))
2357 `(evil-ex-substitute-replacement ((,class :inherit (modus-theme-intense-green bold))))
2358;;;;; evil-goggles
2359 `(evil-goggles-change-face ((,class :inherit modus-theme-refine-yellow)))
2360 `(evil-goggles-commentary-face ((,class :inherit modus-theme-subtle-neutral :slant ,modus-theme-slant)))
2361 `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral)))
2362 `(evil-goggles-delete-face ((,class :inherit modus-theme-refine-red)))
2363 `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face)))
2364 `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face)))
2365 `(evil-goggles-join-face ((,class :inherit modus-theme-subtle-green)))
2366 `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face)))
2367 `(evil-goggles-paste-face ((,class :inherit modus-theme-subtle-cyan)))
2368 `(evil-goggles-record-macro-face ((,class :inherit modus-theme-special-cold)))
2369 `(evil-goggles-replace-with-register-face ((,class :inherit modus-theme-refine-magenta)))
2370 `(evil-goggles-set-marker-face ((,class :inherit modus-theme-intense-magenta)))
2371 `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face)))
2372 `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face)))
2373 `(evil-goggles-yank-face ((,class :inherit modus-theme-subtle-blue)))
2374;;;;; evil-visual-mark-mode
2375 `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta)))
2376;;;;; eww
2377 `(eww-invalid-certificate ((,class :foreground ,red-active)))
2378 `(eww-valid-certificate ((,class :foreground ,green-active)))
2379 `(eww-form-checkbox ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main)))
2380 `(eww-form-file ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main)))
2381 `(eww-form-select ((,class :inherit eww-form-checkbox)))
2382 `(eww-form-submit ((,class :inherit eww-form-file)))
2383 `(eww-form-text ((,class :box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active)))
2384 `(eww-form-textarea ((,class :background ,bg-alt :foreground ,fg-main)))
2385;;;;; eyebrowse
2386 `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active)))
2387;;;;; fancy-dabbrev
2388 `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt)))
2389 `(fancy-dabbrev-preview-face ((,class :foreground ,fg-alt :underline t)))
2390 `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan bold))))
2391;;;;; flycheck
2392 `(flycheck-error
2393 ((,(append '((supports :underline (:style wave))) class)
2394 :underline (:color ,fg-lang-error :style wave))
2395 (,class :foreground ,fg-lang-error :underline t)))
2396 `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active)))
2397 `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold)))
2398 `(flycheck-error-list-error ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red)))
2399 `(flycheck-error-list-filename ((,class :foreground ,blue)))
2400 `(flycheck-error-list-highlight ((,class :inherit modus-theme-hl-line)))
2401 `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other)))
2402 `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t)))
2403 `(flycheck-error-list-info ((,class :foreground ,cyan)))
2404 `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm)))
2405 `(flycheck-error-list-warning ((,class :foreground ,yellow)))
2406 `(flycheck-fringe-error ((,class :inherit modus-theme-fringe-red)))
2407 `(flycheck-fringe-info ((,class :inherit modus-theme-fringe-cyan)))
2408 `(flycheck-fringe-warning ((,class :inherit modus-theme-fringe-yellow)))
2409 `(flycheck-info
2410 ((,(append '((supports :underline (:style wave))) class)
2411 :underline (:color ,fg-lang-note :style wave))
2412 (,class :foreground ,fg-lang-note :underline t)))
2413 `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button))))
2414 `(flycheck-warning
2415 ((,(append '((supports :underline (:style wave))) class)
2416 :underline (:color ,fg-lang-warning :style wave))
2417 (,class :foreground ,fg-lang-warning :underline t)))
2418;;;;; flycheck-color-mode-line
2419 `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error)))
2420 `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info)))
2421 `(flycheck-color-mode-line-running-face ((,class :foreground ,fg-inactive :slant italic)))
2422 `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning)))
2423;;;;; flycheck-indicator
2424 `(flycheck-indicator-disabled ((,class :foreground ,fg-inactive :slant ,modus-theme-slant)))
2425 `(flycheck-indicator-error ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red-active)))
2426 `(flycheck-indicator-info ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue-active)))
2427 `(flycheck-indicator-running ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-active)))
2428 `(flycheck-indicator-success ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,green-active)))
2429 `(flycheck-indicator-warning ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,yellow-active)))
2430;;;;; flycheck-posframe
2431 `(flycheck-posframe-background-face ((,class :background ,bg-alt)))
2432 `(flycheck-posframe-border-face ((,class :foreground ,fg-alt)))
2433 `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red)))
2434 `(flycheck-posframe-face ((,class :foreground ,fg-main :slant ,modus-theme-slant)))
2435 `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan)))
2436 `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow)))
2437;;;;; flymake
2438 `(flymake-error
2439 ((,(append '((supports :underline (:style wave))) class)
2440 :underline (:color ,fg-lang-error :style wave))
2441 (,class :foreground ,fg-lang-error :underline t)))
2442 `(flymake-note
2443 ((,(append '((supports :underline (:style wave))) class)
2444 :underline (:color ,fg-lang-note :style wave))
2445 (,class :foreground ,fg-lang-note :underline t)))
2446 `(flymake-warning
2447 ((,(append '((supports :underline (:style wave))) class)
2448 :underline (:color ,fg-lang-warning :style wave))
2449 (,class :foreground ,fg-lang-warning :underline t)))
2450;;;;; flyspell
2451 `(flyspell-duplicate
2452 ((,(append '((supports :underline (:style wave))) class)
2453 :underline (:color ,fg-lang-warning :style wave))
2454 (,class :foreground ,fg-lang-warning :underline t)))
2455 `(flyspell-incorrect
2456 ((,(append '((supports :underline (:style wave))) class)
2457 :underline (:color ,fg-lang-error :style wave))
2458 (,class :foreground ,fg-lang-error :underline t)))
2459;;;;; flyspell-correct
2460 `(flyspell-correct-highlight-face ((,class :inherit modus-theme-refine-green)))
2461;;;;; flx
2462 `(flx-highlight-face ((,class ,@(modus-vivendi-theme-extra-completions
2463 'modus-theme-subtle-magenta
2464 'modus-theme-intense-magenta
2465 'modus-theme-nuanced-magenta
2466 magenta-alt
2467 'bold))))
2468;;;;; freeze-it
2469 `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm)))
2470;;;;; frog-menu
2471 `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other)))
2472 `(frog-menu-actions-face ((,class :foreground ,magenta)))
2473 `(frog-menu-border ((,class :background ,bg-active)))
2474 `(frog-menu-candidates-face ((,class :foreground ,fg-main)))
2475 `(frog-menu-posframe-background-face ((,class :background ,bg-dim)))
2476 `(frog-menu-prompt-face ((,class :foreground ,cyan)))
2477;;;;; focus
2478 `(focus-unfocused ((,class :foreground ,fg-unfocused)))
2479;;;;; fold-this
2480 `(fold-this-overlay ((,class :inherit modus-theme-special-mild)))
2481;;;;; font-lock
2482 `(font-lock-builtin-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2483 magenta-alt magenta-alt-faint)
2484 ,@(modus-vivendi-theme-bold-weight))))
2485 `(font-lock-comment-delimiter-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
2486 `(font-lock-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
2487 `(font-lock-constant-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2488 blue-alt-other blue-alt-other-faint))))
2489 `(font-lock-doc-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2490 fg-special-cold cyan-alt-other-faint)
2491 :slant ,modus-theme-slant)))
2492 `(font-lock-function-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2493 magenta magenta-faint))))
2494 `(font-lock-keyword-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2495 magenta-alt-other magenta-alt-other-faint)
2496 ,@(modus-vivendi-theme-bold-weight))))
2497 `(font-lock-negation-char-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2498 yellow yellow-faint)
2499 ,@(modus-vivendi-theme-bold-weight))))
2500 `(font-lock-preprocessor-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2501 red-alt-other red-alt-other-faint))))
2502 `(font-lock-regexp-grouping-backslash ((,class :inherit bold :foreground ,fg-escape-char-backslash)))
2503 `(font-lock-regexp-grouping-construct ((,class :inherit bold :foreground ,fg-escape-char-construct)))
2504 `(font-lock-string-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2505 blue-alt blue-alt-faint))))
2506 `(font-lock-type-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2507 magenta-alt magenta-alt-faint))))
2508 `(font-lock-variable-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2509 cyan cyan-faint))))
2510 `(font-lock-warning-face ((,class ,@(modus-vivendi-theme-syntax-foreground
2511 yellow-active yellow-alt-faint)
2512 ,@(modus-vivendi-theme-bold-weight))))
2513;;;;; forge
2514 `(forge-post-author ((,class :inherit bold :foreground ,fg-main)))
2515 `(forge-post-date ((,class :foreground ,fg-special-cold)))
2516 `(forge-topic-closed ((,class :foreground ,fg-alt)))
2517 `(forge-topic-merged ((,class :foreground ,fg-alt)))
2518 `(forge-topic-open ((,class :foreground ,fg-special-mild)))
2519 `(forge-topic-unmerged ((,class :foreground ,magenta :slant ,modus-theme-slant)))
2520 `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main)))
2521;;;;; fountain-mode
2522 `(fountain-character ((,class :foreground ,blue-alt-other)))
2523 `(fountain-comment ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
2524 `(fountain-dialog ((,class :foreground ,blue-alt)))
2525 `(fountain-metadata-key ((,class :foreground ,green-alt-other)))
2526 `(fountain-metadata-value ((,class :foreground ,blue)))
2527 `(fountain-non-printing ((,class :foreground ,fg-alt)))
2528 `(fountain-note ((,class :foreground ,yellow :slant ,modus-theme-slant)))
2529 `(fountain-page-break ((,class :inherit bold :foreground ,red-alt)))
2530 `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other)))
2531 `(fountain-paren ((,class :foreground ,cyan)))
2532 `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced)))
2533 `(fountain-section-heading ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-main
2534 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
2535 `(fountain-section-heading-1 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-main
2536 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
2537 `(fountain-section-heading-2 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-warm
2538 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-3))))
2539 `(fountain-section-heading-3 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-mild
2540 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-2))))
2541 `(fountain-section-heading-4 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-calm
2542 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-1))))
2543 `(fountain-section-heading-5 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-calm)))
2544 `(fountain-synopsis ((,class :foreground ,cyan-alt)))
2545 `(fountain-trans ((,class :foreground ,yellow-alt-other)))
2546;;;;; geiser
2547 `(geiser-font-lock-autodoc-current-arg ((,class ,@(modus-vivendi-theme-syntax-foreground
2548 magenta magenta-faint))))
2549 `(geiser-font-lock-autodoc-identifier ((,class ,@(modus-vivendi-theme-syntax-foreground
2550 blue blue-faint))))
2551 `(geiser-font-lock-doc-button ((,class ,@(modus-vivendi-theme-syntax-foreground
2552 cyan-alt cyan-alt-faint)
2553 :underline t)))
2554 `(geiser-font-lock-doc-link ((,class :inherit link)))
2555 `(geiser-font-lock-error-link ((,class ,@(modus-vivendi-theme-syntax-foreground
2556 red-alt red-alt-faint)
2557 :underline t)))
2558 `(geiser-font-lock-image-button ((,class ,@(modus-vivendi-theme-syntax-foreground
2559 green-alt green-alt-faint)
2560 :underline t)))
2561 `(geiser-font-lock-repl-input ((,class :inherit bold)))
2562 `(geiser-font-lock-repl-output ((,class ,@(modus-vivendi-theme-syntax-foreground
2563 magenta-alt-other magenta-alt-other-faint))))
2564 `(geiser-font-lock-repl-prompt ((,class ,@(modus-vivendi-theme-syntax-foreground
2565 cyan-alt-other cyan-alt-other-faint))))
2566 `(geiser-font-lock-xref-header ((,class :inherit bold)))
2567 `(geiser-font-lock-xref-link ((,class :inherit link)))
2568;;;;; git-commit
2569 `(git-commit-comment-action ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
2570 `(git-commit-comment-branch-local ((,class :foreground ,blue-alt :slant ,modus-theme-slant)))
2571 `(git-commit-comment-branch-remote ((,class :foreground ,magenta-alt :slant ,modus-theme-slant)))
2572 `(git-commit-comment-detached ((,class :foreground ,cyan-alt :slant ,modus-theme-slant)))
2573 `(git-commit-comment-file ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
2574 `(git-commit-comment-heading ((,class :inherit bold :foreground ,fg-dim :slant ,modus-theme-slant)))
2575 `(git-commit-keyword ((,class :foreground ,magenta)))
2576 `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other)))
2577 `(git-commit-nonempty-second-line ((,class :inherit modus-theme-refine-yellow)))
2578 `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow)))
2579 `(git-commit-pseudo-header ((,class :foreground ,blue)))
2580 `(git-commit-summary ((,class :inherit bold :foreground ,cyan)))
2581;;;;; git-gutter
2582 `(git-gutter:added ((,class :inherit modus-theme-fringe-green)))
2583 `(git-gutter:deleted ((,class :inherit modus-theme-fringe-red)))
2584 `(git-gutter:modified ((,class :inherit modus-theme-fringe-yellow)))
2585 `(git-gutter:separator ((,class :inherit modus-theme-fringe-cyan)))
2586 `(git-gutter:unchanged ((,class :inherit modus-theme-fringe-magenta)))
2587;;;;; git-gutter-fr
2588 `(git-gutter-fr:added ((,class :inherit modus-theme-fringe-green)))
2589 `(git-gutter-fr:deleted ((,class :inherit modus-theme-fringe-red)))
2590 `(git-gutter-fr:modified ((,class :inherit modus-theme-fringe-yellow)))
2591;;;;; git-{gutter,fringe}+
2592 `(git-gutter+-added ((,class :inherit modus-theme-fringe-green)))
2593 `(git-gutter+-deleted ((,class :inherit modus-theme-fringe-red)))
2594 `(git-gutter+-modified ((,class :inherit modus-theme-fringe-yellow)))
2595 `(git-gutter+-separator ((,class :inherit modus-theme-fringe-cyan)))
2596 `(git-gutter+-unchanged ((,class :inherit modus-theme-fringe-magenta)))
2597 `(git-gutter-fr+-added ((,class :inherit modus-theme-fringe-green)))
2598 `(git-gutter-fr+-deleted ((,class :inherit modus-theme-fringe-red)))
2599 `(git-gutter-fr+-modified ((,class :inherit modus-theme-fringe-yellow)))
2600;;;;; git-lens
2601 `(git-lens-added ((,class :inherit bold :foreground ,green)))
2602 `(git-lens-deleted ((,class :inherit bold :foreground ,red)))
2603 `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan)))
2604 `(git-lens-modified ((,class :inherit bold :foreground ,yellow)))
2605 `(git-lens-renamed ((,class :inherit bold :foreground ,magenta)))
2606;;;;; git-rebase
2607 `(git-rebase-comment-hash ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
2608 `(git-rebase-comment-heading ((,class :inherit bold :foreground ,fg-dim :slant ,modus-theme-slant)))
2609 `(git-rebase-description ((,class :foreground ,fg-main)))
2610 `(git-rebase-hash ((,class :foreground ,cyan-alt-other)))
2611;;;;; git-timemachine
2612 `(git-timemachine-commit ((,class :inherit bold :foreground ,yellow-active)))
2613 `(git-timemachine-minibuffer-author-face ((,class :foreground ,fg-special-warm)))
2614 `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt)))
2615;;;;; git-walktree
2616 `(git-walktree-commit-face ((,class :foreground ,yellow)))
2617 `(git-walktree-symlink-face ((,class :inherit button :foreground ,cyan)))
2618 `(git-walktree-tree-face ((,class :foreground ,magenta)))
2619;;;;; gnus
2620 `(gnus-button ((,class :inherit button)))
2621 `(gnus-cite-1 ((,class :foreground ,blue-alt)))
2622 `(gnus-cite-10 ((,class :foreground ,magenta-alt-other)))
2623 `(gnus-cite-11 ((,class :foreground ,yellow-alt-other)))
2624 `(gnus-cite-2 ((,class :foreground ,red-alt)))
2625 `(gnus-cite-3 ((,class :foreground ,green-alt)))
2626 `(gnus-cite-4 ((,class :foreground ,magenta-alt)))
2627 `(gnus-cite-5 ((,class :foreground ,yellow-alt)))
2628 `(gnus-cite-6 ((,class :foreground ,cyan-alt)))
2629 `(gnus-cite-7 ((,class :foreground ,blue-alt-other)))
2630 `(gnus-cite-8 ((,class :foreground ,red-alt-other)))
2631 `(gnus-cite-9 ((,class :foreground ,green-alt-other)))
2632 `(gnus-cite-attribution ((,class :foreground ,fg-main :slant italic)))
2633 `(gnus-emphasis-highlight-words ((,class :inherit modus-theme-refine-yellow)))
2634 `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt)))
2635 `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt)))
2636 `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta)))
2637 `(gnus-group-mail-2-empty ((,class :foreground ,magenta)))
2638 `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other)))
2639 `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other)))
2640 `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced)))
2641 `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced)))
2642 `(gnus-group-news-1 ((,class :inherit bold :foreground ,green)))
2643 `(gnus-group-news-1-empty ((,class :foreground ,green)))
2644 `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan)))
2645 `(gnus-group-news-2-empty ((,class :foreground ,cyan)))
2646 `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced)))
2647 `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced)))
2648 `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced)))
2649 `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced)))
2650 `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced)))
2651 `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced)))
2652 `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-alt)))
2653 `(gnus-group-news-6-empty ((,class :foreground ,fg-alt)))
2654 `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced)))
2655 `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced)))
2656 `(gnus-header-content ((,class :foreground ,cyan)))
2657 `(gnus-header-from ((,class :inherit bold :foreground ,cyan-alt-other :underline nil)))
2658 `(gnus-header-name ((,class :foreground ,green)))
2659 `(gnus-header-newsgroups ((,class :inherit bold :foreground ,blue-alt)))
2660 `(gnus-header-subject ((,class :inherit bold :foreground ,magenta-alt-other)))
2661 `(gnus-server-agent ((,class :inherit bold :foreground ,cyan)))
2662 `(gnus-server-closed ((,class :inherit bold :foreground ,magenta)))
2663 `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt)))
2664 `(gnus-server-cloud-host ((,class :inherit modus-theme-refine-cyan)))
2665 `(gnus-server-denied ((,class :inherit bold :foreground ,red)))
2666 `(gnus-server-offline ((,class :inherit bold :foreground ,yellow)))
2667 `(gnus-server-opened ((,class :inherit bold :foreground ,green)))
2668 `(gnus-signature ((,class :foreground ,fg-special-cold :slant italic)))
2669 `(gnus-splash ((,class :foreground ,fg-alt)))
2670 `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt)))
2671 `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt)))
2672 `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold)))
2673 `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other)))
2674 `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground ,yellow)))
2675 `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main)))
2676 `(gnus-summary-low-ancient ((,class :foreground ,fg-alt :slant italic)))
2677 `(gnus-summary-low-read ((,class :foreground ,fg-alt :slant italic)))
2678 `(gnus-summary-low-ticked ((,class :foreground ,red-refine-fg :slant italic)))
2679 `(gnus-summary-low-undownloaded ((,class :foreground ,yellow-refine-fg :slant italic)))
2680 `(gnus-summary-low-unread ((,class :inherit bold :foreground ,fg-special-cold)))
2681 `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm)))
2682 `(gnus-summary-normal-read ((,class :foreground ,fg-alt)))
2683 `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other)))
2684 `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow)))
2685 `(gnus-summary-normal-unread ((,class :foreground ,fg-main)))
2686 `(gnus-summary-selected ((,class :inherit modus-theme-subtle-blue)))
2687;;;;; golden-ratio-scroll-screen
2688 `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
2689;;;;; helm
2690 `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other)))
2691 `(helm-action ((,class :underline t)))
2692 `(helm-bookmark-addressbook ((,class :foreground ,green-alt)))
2693 `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue)))
2694 `(helm-bookmark-file ((,class :foreground ,fg-main)))
2695 `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground ,fg-alt)))
2696 `(helm-bookmark-gnus ((,class :foreground ,magenta)))
2697 `(helm-bookmark-info ((,class :foreground ,cyan-alt)))
2698 `(helm-bookmark-man ((,class :foreground ,yellow-alt)))
2699 `(helm-bookmark-w3m ((,class :foreground ,blue-alt)))
2700 `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan)))
2701 `(helm-buffer-directory ((,class :inherit bold :foreground ,blue)))
2702 `(helm-buffer-file ((,class :foreground ,fg-main)))
2703 `(helm-buffer-modified ((,class :foreground ,yellow-alt)))
2704 `(helm-buffer-not-saved ((,class :foreground ,red-alt)))
2705 `(helm-buffer-process ((,class :foreground ,magenta)))
2706 `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt :foreground ,red)))
2707 `(helm-buffer-size ((,class :foreground ,fg-alt)))
2708 `(helm-candidate-number ((,class :foreground ,cyan-active)))
2709 `(helm-candidate-number-suspended ((,class :foreground ,yellow-active)))
2710 `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active)))
2711 `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active)))
2712 `(helm-delete-async-message ((,class :inherit bold :foreground ,magenta-active)))
2713 `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main)))
2714 `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active)))
2715 `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active)))
2716 `(helm-etags-file ((,class :foreground ,fg-dim :underline t)))
2717 `(helm-ff-backup-file ((,class :foreground ,fg-alt)))
2718 `(helm-ff-denied ((,class ,@(modus-vivendi-theme-extra-completions
2719 'modus-theme-subtle-red
2720 'modus-theme-intense-red
2721 'modus-theme-nuanced-red
2722 red))))
2723 `(helm-ff-directory ((,class :inherit helm-buffer-directory)))
2724 `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other)))
2725 `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt :foreground ,fg-alt)))
2726 `(helm-ff-dotted-symlink-directory ((,class :inherit (button helm-ff-dotted-directory))))
2727 `(helm-ff-executable ((,class :foreground ,magenta-alt)))
2728 `(helm-ff-file ((,class :foreground ,fg-main)))
2729 `(helm-ff-file-extension ((,class :foreground ,fg-special-warm)))
2730 `(helm-ff-invalid-symlink ((,class :inherit button :foreground ,red)))
2731 `(helm-ff-pipe ((,class ,@(modus-vivendi-theme-extra-completions
2732 'modus-theme-refine-magenta
2733 'modus-theme-subtle-magenta
2734 'modus-theme-nuanced-magenta
2735 magenta))))
2736 `(helm-ff-prefix ((,class ,@(modus-vivendi-theme-extra-completions
2737 'modus-theme-refine-yellow
2738 'modus-theme-subtle-yellow
2739 'modus-theme-nuanced-yellow
2740 yellow-alt-other))))
2741 `(helm-ff-socket ((,class :foreground ,red-alt-other)))
2742 `(helm-ff-suid ((,class ,@(modus-vivendi-theme-extra-completions
2743 'modus-theme-subtle-red
2744 'modus-theme-refine-red
2745 'modus-theme-nuanced-yellow
2746 red-alt))))
2747 `(helm-ff-symlink ((,class :inherit button :foreground ,cyan)))
2748 `(helm-ff-truename ((,class :foreground ,blue-alt-other)))
2749 `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other)))
2750 `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold)))
2751 `(helm-grep-finish ((,class :foreground ,green-active)))
2752 `(helm-grep-lineno ((,class :foreground ,fg-special-warm)))
2753 `(helm-grep-match ((,class :inherit modus-theme-special-calm)))
2754 `(helm-header ((,class :inherit bold :foreground ,fg-special-cold)))
2755 `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense)))
2756 `(helm-history-deleted ((,class ,@(modus-vivendi-theme-extra-completions
2757 'modus-theme-subtle-red
2758 'modus-theme-intense-red
2759 'modus-theme-nuanced-red
2760 red
2761 'bold))))
2762 `(helm-history-remote ((,class :foreground ,red-alt-other)))
2763 `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm)))
2764 `(helm-lisp-show-completion ((,class ,@(modus-vivendi-theme-extra-completions
2765 'modus-theme-subtle-yellow
2766 'modus-theme-refine-yellow
2767 'modus-theme-nuanced-yellow
2768 yellow
2769 'bold))))
2770 `(helm-locate-finish ((,class :foreground ,green-active)))
2771 `(helm-match ((,class ,@(modus-vivendi-theme-extra-completions
2772 'modus-theme-subtle-cyan
2773 'modus-theme-refine-cyan
2774 'modus-theme-nuanced-cyan
2775 cyan
2776 'bold))))
2777 `(helm-match-item ((,class ,@(modus-vivendi-theme-extra-completions
2778 'modus-theme-subtle-neutral
2779 'modus-theme-subtle-cyan
2780 'modus-theme-nuanced-cyan
2781 cyan-alt-other))))
2782 `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt)))
2783 `(helm-moccur-buffer ((,class :inherit button :foreground ,cyan-alt-other)))
2784 `(helm-mode-prefix ((,class ,@(modus-vivendi-theme-extra-completions
2785 'modus-theme-subtle-magenta
2786 'modus-theme-intense-magenta
2787 'modus-theme-nuanced-magenta
2788 magenta-alt
2789 'bold))))
2790 `(helm-non-file-buffer ((,class :foreground ,fg-alt)))
2791 `(helm-prefarg ((,class :foreground ,red-active)))
2792 `(helm-resume-need-update ((,class ,@(modus-vivendi-theme-extra-completions
2793 'modus-theme-subtle-magenta
2794 'modus-theme-refine-magenta
2795 'modus-theme-nuanced-magenta
2796 magenta-alt-other))))
2797 `(helm-selection ((,class ,@(modus-vivendi-theme-extra-completions
2798 'modus-theme-subtle-blue
2799 'modus-theme-refine-blue
2800 'modus-theme-special-cold
2801 nil
2802 'bold))))
2803 `(helm-selection-line ((,class :inherit modus-theme-special-cold)))
2804 `(helm-separator ((,class :foreground ,fg-special-mild)))
2805 `(helm-time-zone-current ((,class :foreground ,green)))
2806 `(helm-time-zone-home ((,class :foreground ,magenta)))
2807 `(helm-source-header ((,class :inherit bold :foreground ,red-alt
2808 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
2809 `(helm-top-columns ((,class :inherit helm-header)))
2810 `(helm-ucs-char ((,class :foreground ,yellow-alt-other)))
2811 `(helm-visible-mark ((,class :inherit modus-theme-subtle-cyan)))
2812;;;;; helm-ls-git
2813 `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense)))
2814 `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense)))
2815 `(helm-ls-git-conflict-face ((,class :inherit bold :foreground ,red-intense)))
2816 `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced)))
2817 `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red)))
2818 `(helm-ls-git-modified-and-staged-face ((,class :foreground ,yellow-nuanced)))
2819 `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow)))
2820 `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta)))
2821 `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold)))
2822;;;;; helm-switch-shell
2823 `(helm-switch-shell-new-shell-face ((,class ,@(modus-vivendi-theme-extra-completions
2824 'modus-theme-subtle-magenta
2825 'modus-theme-refine-magenta
2826 'modus-theme-nuanced-magenta
2827 magenta-alt-other
2828 'bold))))
2829;;;;; helm-xref
2830 `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold)))
2831 `(helm-xref-file-name ((,class :foreground ,fg-special-warm)))
2832;;;;; helpful
2833 `(helpful-heading ((,class :inherit modus-theme-heading-1)))
2834;;;;; highlight region or ad-hoc regexp
2835 `(hi-black-b ((,class :background ,fg-main :foreground ,bg-main)))
2836 `(hi-blue ((,class :background ,bg-alt :foreground ,blue :underline t)))
2837 `(hi-blue-b ((,class :inherit modus-theme-intense-blue)))
2838 `(hi-green ((,class :background ,bg-alt :foreground ,green :underline t)))
2839 `(hi-green-b ((,class :inherit modus-theme-intense-green)))
2840 `(hi-pink ((,class :background ,bg-alt :foreground ,magenta :underline t)))
2841 `(hi-red-b ((,class :inherit modus-theme-intense-red)))
2842 `(hi-yellow ((,class :background ,bg-alt :foreground ,yellow :underline t)))
2843 `(highlight ((,class :inherit modus-theme-subtle-blue)))
2844 `(highlight-changes ((,class :foreground ,yellow-alt-other)))
2845 `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline t)))
2846 `(hl-line ((,class :inherit modus-theme-hl-line)))
2847;;;;; highlight-blocks
2848 `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground ,fg-main)))
2849 `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground ,fg-main)))
2850 `(highlight-blocks-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-main)))
2851 `(highlight-blocks-depth-4-face ((,class :background ,bg-special-calm :foreground ,fg-main)))
2852 `(highlight-blocks-depth-5-face ((,class :background ,bg-special-warm :foreground ,fg-main)))
2853 `(highlight-blocks-depth-6-face ((,class :background ,bg-special-mild :foreground ,fg-main)))
2854 `(highlight-blocks-depth-7-face ((,class :background ,bg-inactive :foreground ,fg-main)))
2855 `(highlight-blocks-depth-8-face ((,class :background ,bg-active :foreground ,fg-main)))
2856 `(highlight-blocks-depth-9-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
2857;;;;; highlight-defined
2858 `(highlight-defined-builtin-function-name-face ((,class :foreground ,magenta)))
2859 `(highlight-defined-face-name-face ((,class :foreground ,fg-main)))
2860 `(highlight-defined-function-name-face ((,class :foreground ,magenta)))
2861 `(highlight-defined-macro-name-face ((,class :foreground ,magenta-alt)))
2862 `(highlight-defined-special-form-name-face ((,class :foreground ,magenta-alt-other)))
2863 `(highlight-defined-variable-name-face ((,class :foreground ,cyan)))
2864;;;;; highlight-escape-sequences (`hes-mode')
2865 `(hes-escape-backslash-face ((,class :inherit bold :foreground ,fg-escape-char-construct)))
2866 `(hes-escape-sequence-face ((,class :inherit bold :foreground ,fg-escape-char-backslash)))
2867;;;;; highlight-indentation
2868 `(highlight-indentation-face ((,class :inherit modus-theme-hl-line)))
2869 `(highlight-indentation-current-column-face ((,class :background ,bg-active)))
2870;;;;; highlight-numbers
2871 `(highlight-numbers-number ((,class :foreground ,blue-alt-other)))
2872;;;;; highlight-symbol
2873 `(highlight-symbol-face ((,class :inherit modus-theme-special-mild)))
2874;;;;; highlight-thing
2875 `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan)))
2876;;;;; hl-defined
2877 `(hdefd-functions ((,class :foreground ,blue)))
2878 `(hdefd-undefined ((,class :foreground ,red-alt)))
2879 `(hdefd-variables ((,class :foreground ,cyan-alt)))
2880;;;;; hl-fill-column
2881 `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active)))
2882;;;;; hl-todo
2883 `(hl-todo ((,class :inherit bold :foreground ,red-alt-other :slant ,modus-theme-slant)))
2884;;;;; hydra
2885 `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow)))
2886 `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt)))
2887 `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt)))
2888 `(hydra-face-red ((,class :inherit bold :foreground ,red)))
2889 `(hydra-face-teal ((,class :inherit bold :foreground ,cyan)))
2890;;;;; hyperlist
2891 `(hyperlist-condition ((,class :foreground ,green)))
2892 `(hyperlist-hashtag ((,class :foreground ,yellow)))
2893 `(hyperlist-operator ((,class :foreground ,blue-alt)))
2894 `(hyperlist-paren ((,class :foreground ,cyan-alt-other)))
2895 `(hyperlist-quote ((,class :foreground ,cyan-alt)))
2896 `(hyperlist-ref ((,class :foreground ,magenta-alt-other)))
2897 `(hyperlist-stars ((,class :foreground ,fg-alt)))
2898 `(hyperlist-tag ((,class :foreground ,red)))
2899 `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main)))
2900;;;;; icomplete
2901 `(icomplete-first-match ((,class :inherit bold
2902 ,@(modus-vivendi-theme-standard-completions
2903 magenta bg-alt
2904 bg-active fg-main))))
2905;;;;; icomplete-vertical
2906 `(icomplete-vertical-separator ((,class :foreground ,fg-alt)))
2907;;;;; ido-mode
2908 `(ido-first-match ((,class :inherit bold
2909 ,@(modus-vivendi-theme-standard-completions
2910 magenta bg-alt
2911 bg-active fg-main))))
2912 `(ido-incomplete-regexp ((,class :inherit error)))
2913 `(ido-indicator ((,class :inherit modus-theme-subtle-yellow)))
2914 `(ido-only-match ((,class :inherit bold
2915 ,@(modus-vivendi-theme-standard-completions
2916 green green-nuanced-bg
2917 green-intense-bg fg-main))))
2918 `(ido-subdir ((,class :foreground ,blue)))
2919 `(ido-virtual ((,class :foreground ,fg-special-warm)))
2920;;;;; iedit
2921 `(iedit-occurrence ((,class :inherit modus-theme-refine-blue)))
2922 `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow)))
2923;;;;; iflipb
2924 `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt)))
2925 `(iflipb-other-buffer-face ((,class :foreground ,fg-alt)))
2926;;;;; imenu-list
2927 `(imenu-list-entry-face-0 ((,class :foreground ,cyan)))
2928 `(imenu-list-entry-face-1 ((,class :foreground ,blue)))
2929 `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other)))
2930 `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt)))
2931 `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground ,magenta-alt-other :underline t)))
2932 `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground ,magenta :underline t)))
2933 `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground ,green-alt-other :underline t)))
2934 `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground ,red-alt-other :underline t)))
2935;;;;; indium
2936 `(indium-breakpoint-face ((,class :foreground ,red-active)))
2937 `(indium-frame-url-face ((,class :inherit button :foreground ,fg-alt)))
2938 `(indium-keyword-face ((,class :foreground ,magenta-alt-other)))
2939 `(indium-litable-face ((,class :foreground ,fg-special-warm :slant ,modus-theme-slant)))
2940 `(indium-repl-error-face ((,class :inherit bold :foreground ,red)))
2941 `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other)))
2942 `(indium-repl-stdout-face ((,class :foreground ,fg-main)))
2943;;;;; info
2944 `(Info-quoted ((,class ,@(modus-vivendi-theme-mixed-fonts)
2945 :foreground ,magenta))) ; the capitalisation is canonical
2946 `(info-header-node ((,class :inherit bold :foreground ,fg-alt)))
2947 `(info-header-xref ((,class :foreground ,blue-active)))
2948 `(info-index-match ((,class :inherit match)))
2949 `(info-menu-header ((,class :inherit modus-theme-heading-3)))
2950 `(info-menu-star ((,class :foreground ,red)))
2951 `(info-node ((,class :inherit bold)))
2952 `(info-title-1 ((,class :inherit modus-theme-heading-1)))
2953 `(info-title-2 ((,class :inherit modus-theme-heading-2)))
2954 `(info-title-3 ((,class :inherit modus-theme-heading-3)))
2955 `(info-title-4 ((,class :inherit modus-theme-heading-4)))
2956;;;;; info-colors
2957 `(info-colors-lisp-code-block ((,class :inherit fixed-pitch)))
2958 `(info-colors-ref-item-command ((,class :foreground ,magenta)))
2959 `(info-colors-ref-item-constant ((,class :foreground ,blue-alt-other)))
2960 `(info-colors-ref-item-function ((,class :foreground ,magenta)))
2961 `(info-colors-ref-item-macro ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other)))
2962 `(info-colors-ref-item-other ((,class :foreground ,cyan)))
2963 `(info-colors-ref-item-special-form ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other)))
2964 `(info-colors-ref-item-syntax-class ((,class :foreground ,magenta)))
2965 `(info-colors-ref-item-type ((,class :foreground ,magenta-alt)))
2966 `(info-colors-ref-item-user-option ((,class :foreground ,cyan)))
2967 `(info-colors-ref-item-variable ((,class :foreground ,cyan)))
2968;;;;; interaction-log
2969 `(ilog-buffer-face ((,class :foreground ,magenta-alt-other)))
2970 `(ilog-change-face ((,class :foreground ,magenta-alt)))
2971 `(ilog-echo-face ((,class :foreground ,yellow-alt-other)))
2972 `(ilog-load-face ((,class :foreground ,green)))
2973 `(ilog-message-face ((,class :foreground ,fg-alt)))
2974 `(ilog-non-change-face ((,class :foreground ,blue)))
2975;;;;; ioccur
2976 `(ioccur-cursor ((,class :foreground ,fg-main)))
2977 `(ioccur-invalid-regexp ((,class :foreground ,red)))
2978 `(ioccur-match-face ((,class :inherit modus-theme-special-calm)))
2979 `(ioccur-match-overlay-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t))
2980 :inherit modus-theme-special-cold)))
2981 `(ioccur-num-line-face ((,class :foreground ,fg-special-warm)))
2982 `(ioccur-overlay-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t))
2983 :inherit modus-theme-refine-blue)))
2984 `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold))))
2985 `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt
2986 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
2987;;;;; isearch, occur, and the like
2988 `(isearch ((,class :inherit (modus-theme-intense-green bold))))
2989 `(isearch-fail ((,class :inherit modus-theme-refine-red)))
2990 `(lazy-highlight ((,class :inherit modus-theme-refine-cyan)))
2991 `(match ((,class :inherit modus-theme-special-calm)))
2992 `(query-replace ((,class :inherit (modus-theme-intense-yellow bold))))
2993;;;;; ivy
2994 `(ivy-action ((,class :inherit bold :foreground ,red-alt)))
2995 `(ivy-completions-annotations ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
2996 `(ivy-confirm-face ((,class :foreground ,cyan)))
2997 `(ivy-current-match ((,class ,@(modus-vivendi-theme-extra-completions
2998 'modus-theme-refine-cyan
2999 'modus-theme-intense-cyan
3000 'modus-theme-special-warm
3001 nil
3002 'bold))))
3003 `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main)))
3004 `(ivy-grep-info ((,class :foreground ,cyan-alt)))
3005 `(ivy-grep-line-number ((,class :foreground ,fg-special-warm)))
3006 `(ivy-highlight-face ((,class :foreground ,magenta)))
3007 `(ivy-match-required-face ((,class :inherit error)))
3008 `(ivy-minibuffer-match-face-1 ((,class ,@(modus-vivendi-theme-extra-completions
3009 'modus-theme-subtle-neutral
3010 'modus-theme-intense-neutral
3011 'modus-theme-subtle-neutral
3012 fg-alt))))
3013 `(ivy-minibuffer-match-face-2 ((,class ,@(modus-vivendi-theme-extra-completions
3014 'modus-theme-subtle-green
3015 'modus-theme-refine-green
3016 'modus-theme-nuanced-green
3017 green-alt-other
3018 'bold))))
3019 `(ivy-minibuffer-match-face-3 ((,class ,@(modus-vivendi-theme-extra-completions
3020 'modus-theme-subtle-cyan
3021 'modus-theme-refine-cyan
3022 'modus-theme-nuanced-cyan
3023 cyan-alt-other
3024 'bold))))
3025 `(ivy-minibuffer-match-face-4 ((,class ,@(modus-vivendi-theme-extra-completions
3026 'modus-theme-subtle-magenta
3027 'modus-theme-refine-magenta
3028 'modus-theme-nuanced-magenta
3029 magenta-alt-other
3030 'bold))))
3031 `(ivy-minibuffer-match-highlight ((,class ,@(modus-vivendi-theme-extra-completions
3032 'modus-theme-subtle-blue
3033 'modus-theme-intense-blue
3034 'modus-theme-nuanced-blue
3035 blue-alt-other
3036 'bold))))
3037 `(ivy-modified-buffer ((,class :foreground ,yellow :slant ,modus-theme-slant)))
3038 `(ivy-modified-outside-buffer ((,class :foreground ,yellow-alt :slant ,modus-theme-slant)))
3039 `(ivy-org ((,class :foreground ,cyan-alt-other)))
3040 `(ivy-prompt-match ((,class :inherit ivy-current-match)))
3041 `(ivy-remote ((,class :foreground ,magenta)))
3042 `(ivy-separator ((,class :foreground ,fg-alt)))
3043 `(ivy-subdir ((,class :foreground ,blue-alt-other)))
3044 `(ivy-virtual ((,class :foreground ,magenta-alt-other)))
3045 `(ivy-yanked-word ((,class ,@(modus-vivendi-theme-extra-completions
3046 'modus-theme-subtle-blue
3047 'modus-theme-refine-blue
3048 'modus-theme-nuanced-blue
3049 blue-alt))))
3050;;;;; ivy-posframe
3051 `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main)))
3052 `(ivy-posframe-border ((,class :background ,bg-active)))
3053 `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main)))
3054;;;;; jira (org-jira)
3055 `(jiralib-comment-face ((,class :background ,bg-alt)))
3056 `(jiralib-comment-header-face ((,class :inherit bold)))
3057 `(jiralib-issue-info-face ((,class :inherit modus-theme-special-warm)))
3058 `(jiralib-issue-info-header-face ((,class :inherit (modus-theme-special-warm bold))))
3059 `(jiralib-issue-summary-face ((,class :inherit bold)))
3060 `(jiralib-link-filter-face ((,class :underline t)))
3061 `(jiralib-link-issue-face ((,class :underline t)))
3062 `(jiralib-link-project-face ((,class :underline t)))
3063;;;;; journalctl-mode
3064 `(journalctl-error-face ((,class :inherit bold :foreground ,red)))
3065 `(journalctl-finished-face ((,class :inherit bold :foreground ,green)))
3066 `(journalctl-host-face ((,class :foreground ,blue)))
3067 `(journalctl-process-face ((,class :foreground ,cyan-alt-other)))
3068 `(journalctl-starting-face ((,class :foreground ,green)))
3069 `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold)))
3070 `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow)))
3071;;;;; js2-mode
3072 `(js2-error ((,class :foreground ,red)))
3073 `(js2-external-variable ((,class :foreground ,cyan-alt-other)))
3074 `(js2-function-call ((,class :foreground ,magenta)))
3075 `(js2-function-param ((,class :foreground ,blue)))
3076 `(js2-instance-member ((,class :foreground ,magenta-alt-other)))
3077 `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main)))
3078 `(js2-jsdoc-html-tag-name ((,class :foreground ,cyan)))
3079 `(js2-jsdoc-tag ((,class :foreground ,fg-special-calm)))
3080 `(js2-jsdoc-type ((,class :foreground ,fg-special-cold)))
3081 `(js2-jsdoc-value ((,class :foreground ,fg-special-warm)))
3082 `(js2-object-property ((,class :foreground ,fg-main)))
3083 `(js2-object-property-access ((,class :foreground ,fg-main)))
3084 `(js2-private-function-call ((,class :foreground ,green-alt-other)))
3085 `(js2-private-member ((,class :foreground ,fg-special-mild)))
3086 `(js2-warning ((,class :foreground ,yellow-alt :underline t)))
3087;;;;; julia
3088 `(julia-macro-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta)))
3089 `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other)))
3090;;;;; jupyter
3091 `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue)))
3092 `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other)))
3093 `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other)))
3094 `(jupyter-repl-traceback ((,class :inherit modus-theme-intense-red)))
3095;;;;; kaocha-runner
3096 `(kaocha-runner-error-face ((,class :foreground ,red)))
3097 `(kaocha-runner-success-face ((,class :foreground ,green)))
3098 `(kaocha-runner-warning-face ((,class :foreground ,yellow)))
3099;;;;; keycast
3100 `(keycast-command ((,class :inherit bold :foreground ,blue-active)))
3101 `(keycast-key ((,class ,@(modus-vivendi-theme-mode-line-attrs
3102 bg-main blue-active
3103 bg-main blue-active
3104 blue-active blue-intense
3105 'alt-style -3))))
3106;;;;; line numbers (display-line-numbers-mode and global variant)
3107 `(line-number ((,class :inherit default :background ,bg-dim :foreground ,fg-alt)))
3108 `(line-number-current-line ((,class :inherit default :background ,bg-active :foreground ,fg-main)))
3109;;;;; lsp-mode
3110 `(lsp-face-highlight-read ((,class :inherit modus-theme-subtle-blue :underline t)))
3111 `(lsp-face-highlight-textual ((,class :inherit modus-theme-subtle-blue)))
3112 `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue bold))))
3113 `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other)))
3114 `(lsp-face-semhl-deprecated
3115 ((,(append '((supports :underline (:style wave))) class)
3116 :foreground ,yellow :underline (:style wave))
3117 (,class :foreground ,yellow :underline t)))
3118 `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other)))
3119 `(lsp-face-semhl-field ((,class :foreground ,cyan-alt)))
3120 `(lsp-face-semhl-field-static ((,class :foreground ,cyan-alt :slant ,modus-theme-slant)))
3121 `(lsp-face-semhl-function ((,class :foreground ,magenta)))
3122 `(lsp-face-semhl-method ((,class :foreground ,magenta)))
3123 `(lsp-face-semhl-namespace ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt)))
3124 `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other)))
3125 `(lsp-face-semhl-static-method ((,class :foreground ,magenta :slant ,modus-theme-slant)))
3126 `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt)))
3127 `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt)))
3128 `(lsp-face-semhl-type-primitive ((,class :foreground ,magenta-alt :slant ,modus-theme-slant)))
3129 `(lsp-face-semhl-type-template ((,class :foreground ,magenta-alt :slant ,modus-theme-slant)))
3130 `(lsp-face-semhl-type-typedef ((,class :foreground ,magenta-alt :slant ,modus-theme-slant)))
3131 `(lsp-face-semhl-variable ((,class :foreground ,cyan)))
3132 `(lsp-face-semhl-variable-local ((,class :foreground ,cyan)))
3133 `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other)))
3134 `(lsp-lens-face ((,class :height 0.8 :foreground ,fg-alt)))
3135 `(lsp-lens-mouse-face ((,class :height 0.8 :foreground ,blue-alt-other :underline t)))
3136 `(lsp-ui-doc-background ((,class :background ,bg-alt)))
3137 `(lsp-ui-doc-header ((,class :background ,bg-header :foreground ,fg-header)))
3138 `(lsp-ui-doc-url ((,class :inherit button :foreground ,blue-alt-other)))
3139 `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm)))
3140 `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header)))
3141 `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header)))
3142 `(lsp-ui-peek-highlight ((,class :inherit modus-theme-subtle-blue)))
3143 `(lsp-ui-peek-line-number ((,class :foreground ,fg-alt)))
3144 `(lsp-ui-peek-list ((,class :background ,bg-dim)))
3145 `(lsp-ui-peek-peek ((,class :background ,bg-alt)))
3146 `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan)))
3147 `(lsp-ui-sideline-code-action ((,class :foreground ,yellow)))
3148 `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main)))
3149 `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt)))
3150 `(lsp-ui-sideline-symbol-info ((,class :height 0.99 :slant italic)))
3151;;;;; magit
3152 `(magit-bisect-bad ((,class :foreground ,red-alt-other)))
3153 `(magit-bisect-good ((,class :foreground ,green-alt-other)))
3154 `(magit-bisect-skip ((,class :foreground ,yellow-alt-other)))
3155 `(magit-blame-date ((,class :foreground ,blue)))
3156 `(magit-blame-dimmed ((,class :foreground ,fg-alt)))
3157 `(magit-blame-hash ((,class :foreground ,fg-special-warm)))
3158 `(magit-blame-heading ((,class :background ,bg-alt)))
3159 `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan)))
3160 `(magit-blame-margin ((,class :inherit magit-blame-highlight)))
3161 `(magit-blame-name ((,class :foreground ,magenta-alt-other)))
3162 `(magit-blame-summary ((,class :foreground ,cyan-alt-other)))
3163 `(magit-branch-current ((,class :foreground ,blue-alt-other :box t)))
3164 `(magit-branch-local ((,class :foreground ,blue-alt)))
3165 `(magit-branch-remote ((,class :foreground ,magenta-alt)))
3166 `(magit-branch-remote-head ((,class :foreground ,magenta-alt-other :box t)))
3167 `(magit-branch-upstream ((,class :slant italic)))
3168 `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense)))
3169 `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense)))
3170 ;; NOTE: here we break from the pattern of inheriting from the
3171 ;; modus-theme-diff-* faces, though only for the standard actions,
3172 ;; not the highlighted ones. This is because Magit's interaction
3173 ;; model relies on highlighting the current diff hunk.
3174 `(magit-diff-added ((,class ,@(modus-vivendi-theme-diff
3175 bg-main green
3176 bg-diff-added fg-diff-added
3177 green-nuanced-bg fg-diff-added))))
3178 `(magit-diff-added-highlight ((,class :inherit modus-theme-diff-focus-added)))
3179 `(magit-diff-base ((,class ,@(modus-vivendi-theme-diff
3180 bg-main yellow
3181 bg-diff-changed fg-diff-changed
3182 yellow-nuanced-bg fg-diff-changed))))
3183 `(magit-diff-base-highlight ((,class :inherit modus-theme-diff-focus-changed)))
3184 `(magit-diff-context ((,class :foreground ,fg-unfocused)))
3185 `(magit-diff-context-highlight ((,class ,@(modus-vivendi-theme-diff
3186 bg-dim fg-dim
3187 bg-inactive fg-inactive
3188 bg-dim fg-alt))))
3189 `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold)))
3190 `(magit-diff-file-heading-highlight ((,class :inherit (modus-theme-special-cold bold))))
3191 `(magit-diff-file-heading-selection ((,class :inherit modus-theme-refine-cyan)))
3192 ;; NOTE: here we break from the pattern of inheriting from the
3193 ;; modus-theme-diff-* faces.
3194 `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active
3195 :foreground ,fg-inactive)))
3196 `(magit-diff-hunk-heading-highlight ((,class :inherit bold :background ,bg-diff-heading
3197 :foreground ,fg-diff-heading)))
3198 `(magit-diff-hunk-heading-selection ((,class :inherit modus-theme-refine-blue)))
3199 `(magit-diff-hunk-region ((,class :inherit bold)))
3200 `(magit-diff-lines-boundary ((,class :background ,fg-main)))
3201 `(magit-diff-lines-heading ((,class :inherit modus-theme-refine-magenta)))
3202 `(magit-diff-removed ((,class ,@(modus-vivendi-theme-diff
3203 bg-main red
3204 bg-diff-removed fg-diff-removed
3205 red-nuanced-bg fg-diff-removed))))
3206 `(magit-diff-removed-highlight ((,class :inherit modus-theme-diff-focus-removed)))
3207 `(magit-diffstat-added ((,class :foreground ,green)))
3208 `(magit-diffstat-removed ((,class :foreground ,red)))
3209 `(magit-dimmed ((,class :foreground ,fg-unfocused)))
3210 `(magit-filename ((,class :foreground ,fg-special-cold)))
3211 `(magit-hash ((,class :foreground ,fg-alt)))
3212 `(magit-head ((,class :inherit magit-branch-local)))
3213 `(magit-header-line ((,class :inherit bold :foreground ,magenta-active)))
3214 `(magit-header-line-key ((,class :inherit bold :foreground ,red-active)))
3215 `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main)))
3216 `(magit-keyword ((,class :foreground ,magenta)))
3217 `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other)))
3218 `(magit-log-author ((,class :foreground ,cyan)))
3219 `(magit-log-date ((,class :foreground ,fg-alt)))
3220 `(magit-log-graph ((,class :foreground ,fg-dim)))
3221 `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active)))
3222 `(magit-mode-line-process-error ((,class :inherit bold :foreground ,red-active)))
3223 `(magit-process-ng ((,class :inherit error)))
3224 `(magit-process-ok ((,class :inherit success)))
3225 `(magit-reflog-amend ((,class :background ,bg-main :foreground ,magenta-intense)))
3226 `(magit-reflog-checkout ((,class :background ,bg-main :foreground ,blue-intense)))
3227 `(magit-reflog-cherry-pick ((,class :background ,bg-main :foreground ,green-intense)))
3228 `(magit-reflog-commit ((,class :background ,bg-main :foreground ,green-intense)))
3229 `(magit-reflog-merge ((,class :background ,bg-main :foreground ,green-intense)))
3230 `(magit-reflog-other ((,class :background ,bg-main :foreground ,cyan-intense)))
3231 `(magit-reflog-rebase ((,class :background ,bg-main :foreground ,magenta-intense)))
3232 `(magit-reflog-remote ((,class :background ,bg-main :foreground ,cyan-intense)))
3233 `(magit-reflog-reset ((,class :background ,bg-main :foreground ,red-intense)))
3234 `(magit-refname ((,class :foreground ,fg-alt)))
3235 `(magit-refname-pullreq ((,class :foreground ,fg-alt)))
3236 `(magit-refname-stash ((,class :foreground ,fg-alt)))
3237 `(magit-refname-wip ((,class :foreground ,fg-alt)))
3238 `(magit-section ((,class :background ,bg-dim :foreground ,fg-main)))
3239 `(magit-section-heading ((,class :inherit bold :foreground ,cyan)))
3240 `(magit-section-heading-selection ((,class :inherit (modus-theme-refine-cyan bold))))
3241 `(magit-section-highlight ((,class :background ,bg-alt)))
3242 `(magit-sequence-done ((,class :foreground ,green-alt)))
3243 `(magit-sequence-drop ((,class :foreground ,red-alt)))
3244 `(magit-sequence-exec ((,class :foreground ,magenta-alt)))
3245 `(magit-sequence-head ((,class :foreground ,cyan-alt)))
3246 `(magit-sequence-onto ((,class :foreground ,fg-alt)))
3247 `(magit-sequence-part ((,class :foreground ,yellow-alt)))
3248 `(magit-sequence-pick ((,class :foreground ,blue-alt)))
3249 `(magit-sequence-stop ((,class :foreground ,red)))
3250 `(magit-signature-bad ((,class :inherit bold :foreground ,red)))
3251 `(magit-signature-error ((,class :foreground ,red-alt)))
3252 `(magit-signature-expired ((,class :foreground ,yellow)))
3253 `(magit-signature-expired-key ((,class :foreground ,yellow)))
3254 `(magit-signature-good ((,class :foreground ,green)))
3255 `(magit-signature-revoked ((,class :foreground ,magenta)))
3256 `(magit-signature-untrusted ((,class :foreground ,cyan)))
3257 `(magit-tag ((,class :foreground ,yellow-alt-other)))
3258;;;;; magit-imerge
3259 `(magit-imerge-overriding-value ((,class :inherit bold :foreground ,red-alt)))
3260;;;;; man
3261 `(Man-overstrike ((,class :inherit bold :foreground ,magenta)))
3262 `(Man-reverse ((,class :inherit modus-theme-subtle-magenta)))
3263 `(Man-underline ((,class :foreground ,cyan :underline t)))
3264;;;;; markdown-mode
3265 `(markdown-blockquote-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
3266 `(markdown-bold-face ((,class :inherit bold)))
3267 `(markdown-code-face ((,class ,@(modus-vivendi-theme-mixed-fonts))))
3268 `(markdown-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
3269 `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt)))
3270 `(markdown-footnote-text-face ((,class :foreground ,fg-main :slant ,modus-theme-slant)))
3271 `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other)))
3272 `(markdown-header-delimiter-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,fg-dim)))
3273 `(markdown-header-face ((t nil)))
3274 `(markdown-header-face-1 ((,class :inherit modus-theme-heading-1)))
3275 `(markdown-header-face-2 ((,class :inherit modus-theme-heading-2)))
3276 `(markdown-header-face-3 ((,class :inherit modus-theme-heading-3)))
3277 `(markdown-header-face-4 ((,class :inherit modus-theme-heading-4)))
3278 `(markdown-header-face-5 ((,class :inherit modus-theme-heading-5)))
3279 `(markdown-header-face-6 ((,class :inherit modus-theme-heading-6)))
3280 `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm)))
3281 `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm)))
3282 `(markdown-html-attr-name-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3283 :foreground ,cyan)))
3284 `(markdown-html-attr-value-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3285 :foreground ,blue)))
3286 `(markdown-html-entity-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3287 :foreground ,cyan)))
3288 `(markdown-html-tag-delimiter-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3289 :foreground ,fg-special-mild)))
3290 `(markdown-html-tag-name-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3291 :foreground ,magenta-alt)))
3292 `(markdown-inline-code-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3293 :foreground ,magenta)))
3294 `(markdown-italic-face ((,class :foreground ,fg-special-cold :slant italic)))
3295 `(markdown-language-info-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3296 :foreground ,fg-special-cold)))
3297 `(markdown-language-keyword-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3298 :foreground ,green-alt-other)))
3299 `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan :underline t)))
3300 `(markdown-link-face ((,class :inherit link)))
3301 `(markdown-link-title-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
3302 `(markdown-list-face ((,class :foreground ,fg-dim)))
3303 `(markdown-markup-face ((,class :foreground ,fg-alt)))
3304 `(markdown-math-face ((,class :foreground ,magenta-alt-other)))
3305 `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other)))
3306 `(markdown-metadata-value-face ((,class :foreground ,blue-alt)))
3307 `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow)))
3308 `(markdown-plain-url-face ((,class :inherit markdown-link-face)))
3309 `(markdown-pre-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t))
3310 ,@(modus-vivendi-theme-mixed-fonts)
3311 :background ,bg-dim
3312 :foreground ,fg-special-mild)))
3313 `(markdown-reference-face ((,class :inherit markdown-markup-face)))
3314 `(markdown-strike-through-face ((,class :strike-through t)))
3315 `(markdown-table-face ((,class ,@(modus-vivendi-theme-mixed-fonts)
3316 :foreground ,fg-special-cold)))
3317 `(markdown-url-face ((,class :foreground ,blue-alt)))
3318;;;;; markup-faces (`adoc-mode')
3319 `(markup-anchor-face ((,class :foreground ,fg-inactive)))
3320 `(markup-attribute-face ((,class :foreground ,fg-inactive :slant italic)))
3321 `(markup-big-face ((,class :height 1.3 :foreground ,blue-nuanced)))
3322 `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced)))
3323 `(markup-code-face ((,class :inherit fixed-pitch :foreground ,magenta)))
3324 `(markup-command-face ((,class :foreground ,fg-inactive)))
3325 `(markup-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
3326 `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil :style released-button)
3327 :inherit modus-theme-refine-magenta)))
3328 `(markup-emphasis-face ((,class :foreground ,fg-special-cold :slant italic)))
3329 `(markup-error-face ((,class :inherit bold :foreground ,red)))
3330 `(markup-gen-face ((,class :foreground ,magenta-alt)))
3331 `(markup-internal-reference-face ((,class :inherit button :foreground ,fg-inactive)))
3332 `(markup-italic-face ((,class :foreground ,fg-special-cold :slant italic)))
3333 `(markup-list-face ((,class :inherit modus-theme-special-calm)))
3334 `(markup-meta-face ((,class :foreground ,fg-inactive)))
3335 `(markup-meta-hide-face ((,class :foreground ,fg-alt)))
3336 `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan)))
3337 `(markup-preprocessor-face ((,class :foreground ,red-alt-other)))
3338 `(markup-replacement-face ((,class :foreground ,yellow-alt-other)))
3339 `(markup-secondary-text-face ((,class :height 0.8 :foreground ,magenta-nuanced)))
3340 `(markup-small-face ((,class :height 0.8 :foreground ,fg-main)))
3341 `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced)))
3342 `(markup-subscript-face ((,class :height 0.8 :foreground ,fg-special-cold)))
3343 `(markup-superscript-face ((,class :height 0.8 :foreground ,fg-special-cold)))
3344 `(markup-table-cell-face ((,class :inherit modus-theme-special-cold)))
3345 `(markup-table-face ((,class :inherit modus-theme-subtle-cyan)))
3346 `(markup-table-row-face ((,class :inherit modus-theme-subtle-cyan)))
3347 `(markup-title-0-face ((,class :height 3.0 :foreground ,blue-nuanced)))
3348 `(markup-title-1-face ((,class :height 2.4 :foreground ,blue-nuanced)))
3349 `(markup-title-2-face ((,class :height 1.8 :foreground ,blue-nuanced)))
3350 `(markup-title-3-face ((,class :height 1.4 :foreground ,blue-nuanced)))
3351 `(markup-title-4-face ((,class :height 1.2 :foreground ,blue-nuanced)))
3352 `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced :underline t)))
3353 `(markup-value-face ((,class :foreground ,fg-inactive)))
3354 `(markup-verbatim-face ((,class :inherit modus-theme-special-mild)))
3355;;;;; mentor
3356 `(mentor-download-message ((,class :foreground ,fg-special-warm)))
3357 `(mentor-download-name ((,class :foreground ,fg-special-cold)))
3358 `(mentor-download-progress ((,class :foreground ,blue-alt-other)))
3359 `(mentor-download-size ((,class :foreground ,magenta-alt-other)))
3360 `(mentor-download-speed-down ((,class :foreground ,cyan-alt)))
3361 `(mentor-download-speed-up ((,class :foreground ,red-alt)))
3362 `(mentor-download-state ((,class :foreground ,yellow-alt)))
3363 `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue)))
3364 `(mentor-tracker-name ((,class :foreground ,magenta-alt)))
3365;;;;; messages
3366 `(message-cited-text-1 ((,class :foreground ,blue-alt)))
3367 `(message-cited-text-2 ((,class :foreground ,red-alt)))
3368 `(message-cited-text-3 ((,class :foreground ,green-alt)))
3369 `(message-cited-text-4 ((,class :foreground ,magenta-alt)))
3370 `(message-header-cc ((,class :inherit bold :foreground ,cyan-alt)))
3371 `(message-header-name ((,class :foreground ,green-alt-other)))
3372 `(message-header-newsgroups ((,class :inherit bold :foreground ,green-alt)))
3373 `(message-header-other ((,class :inherit bold :foreground ,cyan-alt-other)))
3374 `(message-header-subject ((,class :inherit bold :foreground ,magenta-alt-other)))
3375 `(message-header-to ((,class :inherit bold :foreground ,blue)))
3376 `(message-header-xheader ((,class :foreground ,cyan)))
3377 `(message-mml ((,class :foreground ,fg-special-warm)))
3378 `(message-separator ((,class :inherit modus-theme-intense-neutral)))
3379;;;;; minibuffer-line
3380 `(minibuffer-line ((,class :foreground ,fg-main)))
3381;;;;; minimap
3382 `(minimap-active-region-background ((,class :background ,bg-active)))
3383 `(minimap-current-line-face ((,class :background ,cyan-intense-bg :foreground ,fg-main)))
3384;;;;; modeline
3385 `(mode-line ((,class ,@(modus-vivendi-theme-mode-line-attrs
3386 fg-active bg-active fg-dim bg-active
3387 fg-alt bg-active 'alt-style nil bg-main))))
3388 `(mode-line-buffer-id ((,class :inherit bold)))
3389 `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active)))
3390 `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button))))
3391 `(mode-line-inactive ((,class ,@(modus-vivendi-theme-mode-line-attrs
3392 fg-inactive bg-inactive fg-alt bg-dim
3393 bg-region bg-active))))
3394;;;;; mood-line
3395 `(mood-line-modified ((,class :foreground ,magenta-active)))
3396 `(mood-line-status-error ((,class :inherit bold :foreground ,red-active)))
3397 `(mood-line-status-info ((,class :foreground ,cyan-active)))
3398 `(mood-line-status-neutral ((,class :foreground ,blue-active)))
3399 `(mood-line-status-success ((,class :foreground ,green-active)))
3400 `(mood-line-status-warning ((,class :inherit bold :foreground ,yellow-active)))
3401 `(mood-line-unimportant ((,class :foreground ,fg-inactive)))
3402;;;;; mpdel
3403 `(mpdel-browser-directory-face ((,class :foreground ,blue)))
3404 `(mpdel-playlist-current-song-face ((,class :inherit bold :foreground ,blue-alt-other)))
3405;;;;; mu4e
3406 `(mu4e-attach-number-face ((,class :inherit bold :foreground ,cyan-alt)))
3407 `(mu4e-cited-1-face ((,class :foreground ,blue-alt)))
3408 `(mu4e-cited-2-face ((,class :foreground ,red-alt)))
3409 `(mu4e-cited-3-face ((,class :foreground ,green-alt)))
3410 `(mu4e-cited-4-face ((,class :foreground ,magenta-alt)))
3411 `(mu4e-cited-5-face ((,class :foreground ,yellow-alt)))
3412 `(mu4e-cited-6-face ((,class :foreground ,cyan-alt)))
3413 `(mu4e-cited-7-face ((,class :foreground ,magenta)))
3414 `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face)))
3415 `(mu4e-compose-separator-face ((,class :inherit modus-theme-intense-neutral)))
3416 `(mu4e-contact-face ((,class :inherit bold :foreground ,cyan-alt-other)))
3417 `(mu4e-context-face ((,class :foreground ,blue-active)))
3418 `(mu4e-draft-face ((,class :foreground ,magenta-alt)))
3419 `(mu4e-flagged-face ((,class :foreground ,red-alt)))
3420 `(mu4e-footer-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
3421 `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other)))
3422 `(mu4e-header-face ((,class :foreground ,fg-alt)))
3423 `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line)))
3424 `(mu4e-header-key-face ((,class :foreground ,cyan)))
3425 `(mu4e-header-marks-face ((,class :inherit bold :foreground ,magenta-alt)))
3426 `(mu4e-header-title-face ((,class :foreground ,fg-special-mild)))
3427 `(mu4e-header-value-face ((,class :inherit bold :foreground ,magenta-alt-other)))
3428 `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other)))
3429 `(mu4e-link-face ((,class :inherit link)))
3430 `(mu4e-modeline-face ((,class :foreground ,magenta-active)))
3431 `(mu4e-moved-face ((,class :foreground ,yellow :slant ,modus-theme-slant)))
3432 `(mu4e-ok-face ((,class :inherit bold :foreground ,green)))
3433 `(mu4e-region-code ((,class :inherit modus-theme-special-calm)))
3434 `(mu4e-replied-face ((,class :foreground ,blue-faint)))
3435 `(mu4e-special-header-value-face ((,class :inherit bold :foreground ,blue-alt-other)))
3436 `(mu4e-system-face ((,class :foreground ,fg-mark-del :slant ,modus-theme-slant)))
3437 `(mu4e-title-face ((,class :foreground ,fg-main)))
3438 `(mu4e-trashed-face ((,class :foreground ,red)))
3439 `(mu4e-unread-face ((,class :inherit bold :foreground ,fg-main)))
3440 `(mu4e-url-number-face ((,class :inherit bold :foreground ,cyan-alt-other)))
3441 `(mu4e-view-body-face ((,class :foreground ,fg-main)))
3442 `(mu4e-warning-face ((,class :inherit warning)))
3443;;;;; mu4e-conversation
3444 `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold)))
3445 `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm)))
3446 `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold)))
3447 `(mu4e-conversation-sender-3 ((,class :foreground ,fg-special-mild)))
3448 `(mu4e-conversation-sender-4 ((,class :foreground ,fg-alt)))
3449 `(mu4e-conversation-sender-5 ((,class :foreground ,yellow-refine-fg)))
3450 `(mu4e-conversation-sender-6 ((,class :foreground ,cyan-refine-fg)))
3451 `(mu4e-conversation-sender-7 ((,class :foreground ,green-refine-fg)))
3452 `(mu4e-conversation-sender-8 ((,class :foreground ,blue-refine-fg)))
3453 `(mu4e-conversation-sender-me ((,class :foreground ,fg-main)))
3454 `(mu4e-conversation-unread ((,class :inherit bold)))
3455;;;;; multiple-cursors
3456 `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main)))
3457 `(mc/cursor-face ((,class :inverse-video t)))
3458 `(mc/region-face ((,class :inherit region)))
3459;;;;; neotree
3460 `(neo-banner-face ((,class :foreground ,magenta)))
3461 `(neo-button-face ((,class :inherit button)))
3462 `(neo-dir-link-face ((,class :inherit bold :foreground ,blue)))
3463 `(neo-expand-btn-face ((,class :foreground ,cyan)))
3464 `(neo-file-link-face ((,class :foreground ,fg-main)))
3465 `(neo-header-face ((,class :inherit bold :foreground ,fg-main)))
3466 `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt)))
3467 `(neo-vc-added-face ((,class :foreground ,green)))
3468 `(neo-vc-conflict-face ((,class :inherit bold :foreground ,red)))
3469 `(neo-vc-default-face ((,class :foreground ,fg-main)))
3470 `(neo-vc-edited-face ((,class :foreground ,yellow)))
3471 `(neo-vc-ignored-face ((,class :foreground ,fg-inactive)))
3472 `(neo-vc-missing-face ((,class :foreground ,red-alt)))
3473 `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt)))
3474 `(neo-vc-needs-update-face ((,class :underline t)))
3475 `(neo-vc-removed-face ((,class :strike-through t)))
3476 `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue)))
3477 `(neo-vc-up-to-date-face ((,class :foreground ,fg-alt)))
3478 `(neo-vc-user-face ((,class :foreground ,magenta)))
3479;;;;; no-emoji
3480 `(no-emoji ((,class :foreground ,cyan)))
3481;;;;; notmuch
3482 `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta)))
3483 `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other)))
3484 `(notmuch-crypto-signature-bad ((,class :inherit modus-theme-intense-red)))
3485 `(notmuch-crypto-signature-good ((,class :inherit modus-theme-refine-green)))
3486 `(notmuch-crypto-signature-good-key ((,class :inherit modus-theme-refine-yellow)))
3487 `(notmuch-crypto-signature-unknown ((,class :inherit modus-theme-refine-red)))
3488 `(notmuch-hello-logo-background ((,class :background ,bg-main)))
3489 `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan)))
3490 `(notmuch-search-flagged-face ((,class :foreground ,red-alt)))
3491 `(notmuch-search-matching-authors ((,class :foreground ,fg-main)))
3492 `(notmuch-search-non-matching-authors ((,class :foreground ,fg-alt)))
3493 `(notmuch-search-unread-face ((,class :inherit bold)))
3494 `(notmuch-tag-added
3495 ((,(append '((supports :underline (:style wave))) class)
3496 :underline (:color ,green :style wave))
3497 (,class :foreground ,green :underline t)))
3498 `(notmuch-tag-deleted
3499 ((,(append '((supports :underline (:style wave))) class)
3500 :underline (:color ,red :style wave))
3501 (,class :foreground ,red :underline t)))
3502 `(notmuch-tag-face ((,class :inherit bold :foreground ,blue-alt)))
3503 `(notmuch-tag-flagged ((,class :foreground ,red-alt)))
3504 `(notmuch-tag-unread ((,class :foreground ,magenta-alt)))
3505 `(notmuch-tree-match-author-face ((,class :foreground ,fg-special-cold)))
3506 `(notmuch-tree-match-face ((,class :foreground ,fg-main)))
3507 `(notmuch-tree-match-tag-face ((,class :inherit bold :foreground ,blue-alt)))
3508 `(notmuch-tree-no-match-face ((,class :foreground ,fg-alt)))
3509 `(notmuch-wash-cited-text ((,class :foreground ,cyan)))
3510 `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground ,fg-alt)))
3511;;;;; num3-mode
3512 `(num3-face-even ((,class :inherit bold :background ,bg-alt)))
3513;;;;; nxml-mode
3514 `(nxml-attribute-colon ((,class :foreground ,fg-main)))
3515 `(nxml-attribute-local-name ((,class ,@(modus-vivendi-theme-syntax-foreground
3516 cyan-alt cyan-alt-faint))))
3517 `(nxml-attribute-prefix ((,class ,@(modus-vivendi-theme-syntax-foreground
3518 cyan-alt-other cyan-alt-other-faint)
3519 ,@(modus-vivendi-theme-bold-weight))))
3520 `(nxml-attribute-value ((,class ,@(modus-vivendi-theme-syntax-foreground
3521 blue blue-faint))))
3522 `(nxml-cdata-section-CDATA ((,class ,@(modus-vivendi-theme-syntax-foreground
3523 red-alt red-alt-faint)
3524 ,@(modus-vivendi-theme-bold-weight))))
3525 `(nxml-cdata-section-delimiter ((,class ,@(modus-vivendi-theme-syntax-foreground
3526 red-alt red-alt-faint))))
3527 `(nxml-char-ref-delimiter ((,class ,@(modus-vivendi-theme-syntax-foreground
3528 green-alt-other green-alt-other-faint))))
3529 `(nxml-char-ref-number ((,class ,@(modus-vivendi-theme-syntax-foreground
3530 green-alt-other green-alt-other-faint)
3531 ,@(modus-vivendi-theme-bold-weight))))
3532 `(nxml-delimited-data ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
3533 `(nxml-delimiter ((,class :foreground ,fg-dim)))
3534 `(nxml-element-colon ((,class :foreground ,fg-main)))
3535 `(nxml-element-local-name ((,class ,@(modus-vivendi-theme-syntax-foreground
3536 magenta magenta-faint))))
3537 `(nxml-element-prefix ((,class ,@(modus-vivendi-theme-syntax-foreground
3538 magenta-alt magenta-alt-faint)
3539 ,@(modus-vivendi-theme-bold-weight))))
3540 `(nxml-entity-ref-delimiter ((,class ,@(modus-vivendi-theme-syntax-foreground
3541 green-alt-other green-alt-other-faint))))
3542 `(nxml-entity-ref-name ((,class ,@(modus-vivendi-theme-syntax-foreground
3543 green-alt-other green-alt-other-faint)
3544 ,@(modus-vivendi-theme-bold-weight))))
3545 `(nxml-glyph ((,class :inherit modus-theme-intense-neutral)))
3546 `(nxml-hash ((,class ,@(modus-vivendi-theme-syntax-foreground
3547 blue-alt blue-alt-faint)
3548 ,@(modus-vivendi-theme-bold-weight))))
3549 `(nxml-heading ((,class :inherit bold)))
3550 `(nxml-name ((,class ,@(modus-vivendi-theme-syntax-foreground
3551 magenta-alt magenta-alt-faint)
3552 ,@(modus-vivendi-theme-bold-weight))))
3553 `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main)))
3554 `(nxml-namespace-attribute-prefix ((,class ,@(modus-vivendi-theme-syntax-foreground
3555 cyan cyan-faint))))
3556 `(nxml-processing-instruction-target ((,class ,@(modus-vivendi-theme-syntax-foreground
3557 magenta-alt-other magenta-alt-other-faint)
3558 ,@(modus-vivendi-theme-bold-weight))))
3559 `(nxml-prolog-keyword ((,class ,@(modus-vivendi-theme-syntax-foreground
3560 magenta-alt-other magenta-alt-other-faint)
3561 ,@(modus-vivendi-theme-bold-weight))))
3562 `(nxml-ref ((,class ,@(modus-vivendi-theme-syntax-foreground
3563 green-alt-other green-alt-other-faint)
3564 ,@(modus-vivendi-theme-bold-weight))))
3565;;;;; objed
3566 `(objed-hl ((,class :background ,(if modus-vivendi-theme-intense-hl-line
3567 bg-hl-alt-intense bg-hl-alt))))
3568 `(objed-mark ((,class :background ,bg-active)))
3569 `(objed-mode-line ((,class :foreground ,cyan-active)))
3570;;;;; orderless
3571 `(orderless-match-face-0 ((,class :inherit bold
3572 ,@(modus-vivendi-theme-standard-completions
3573 blue-alt-other blue-nuanced-bg
3574 blue-refine-bg blue-refine-fg))))
3575 `(orderless-match-face-1 ((,class :inherit bold
3576 ,@(modus-vivendi-theme-standard-completions
3577 magenta-alt magenta-nuanced-bg
3578 magenta-refine-bg magenta-refine-fg))))
3579 `(orderless-match-face-2 ((,class :inherit bold
3580 ,@(modus-vivendi-theme-standard-completions
3581 green green-nuanced-bg
3582 green-refine-bg green-refine-fg))))
3583 `(orderless-match-face-3 ((,class :inherit bold
3584 ,@(modus-vivendi-theme-standard-completions
3585 yellow yellow-nuanced-bg
3586 yellow-refine-bg yellow-refine-fg))))
3587;;;;; org
3588 `(org-agenda-calendar-event ((,class :foreground ,fg-main)))
3589 `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt)))
3590 `(org-agenda-clocking ((,class :inherit modus-theme-special-cold
3591 ,@(and (>= emacs-major-version 27) '(:extend t)))))
3592 `(org-agenda-column-dateline ((,class :background ,bg-alt)))
3593 `(org-agenda-current-time ((,class :inherit bold :foreground ,blue-alt-other)))
3594 `(org-agenda-date ((,class :foreground ,cyan)))
3595 `(org-agenda-date-today ((,class :inherit bold :foreground ,fg-main :underline t)))
3596 `(org-agenda-date-weekend ((,class :foreground ,cyan-alt-other)))
3597 `(org-agenda-diary ((,class :foreground ,fg-main)))
3598 `(org-agenda-dimmed-todo-face ((,class :inherit bold :foreground ,fg-alt)))
3599 `(org-agenda-done ((,class :foreground ,green-alt)))
3600 `(org-agenda-filter-category ((,class :inherit bold :foreground ,magenta-active)))
3601 `(org-agenda-filter-effort ((,class :inherit bold :foreground ,magenta-active)))
3602 `(org-agenda-filter-regexp ((,class :inherit bold :foreground ,magenta-active)))
3603 `(org-agenda-filter-tags ((,class :inherit bold :foreground ,magenta-active)))
3604 `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground ,fg-dim)))
3605 `(org-agenda-structure ((,class :foreground ,blue-alt)))
3606 `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt)))
3607 `(org-block ((,class ,@(modus-vivendi-theme-mixed-fonts)
3608 ,@(modus-vivendi-theme-org-block bg-dim)
3609 :foreground ,fg-main)))
3610 `(org-block-begin-line ((,class ,@(modus-vivendi-theme-mixed-fonts)
3611 ,@(modus-vivendi-theme-org-block-delim
3612 bg-dim fg-special-cold
3613 bg-alt fg-special-mild))))
3614 `(org-block-end-line ((,class :inherit org-block-begin-line)))
3615 `(org-checkbox ((,class :box (:line-width 1 :color ,bg-active)
3616 :background ,bg-inactive :foreground ,fg-active)))
3617 `(org-checkbox-statistics-done ((,class :inherit org-done)))
3618 `(org-checkbox-statistics-todo ((,class :inherit org-todo)))
3619 `(org-clock-overlay ((,class :inherit modus-theme-special-cold)))
3620 `(org-code ((,class ,@(modus-vivendi-theme-mixed-fonts) :foreground ,magenta)))
3621 `(org-column ((,class :background ,bg-alt)))
3622 `(org-column-title ((,class :inherit bold :underline t :background ,bg-alt)))
3623 `(org-date ((,class :inherit (button fixed-pitch) :foreground ,cyan-alt-other)))
3624 `(org-date-selected ((,class :inherit bold :foreground ,blue-alt :inverse-video t)))
3625 `(org-document-info ((,class :foreground ,fg-special-cold)))
3626 `(org-document-info-keyword ((,class ,@(modus-vivendi-theme-mixed-fonts)
3627 :foreground ,fg-alt)))
3628 `(org-document-title ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-cold
3629 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-5))))
3630 `(org-done ((,class :box ,bg-region :background ,bg-dim :foreground ,green)))
3631 `(org-drawer ((,class ,@(modus-vivendi-theme-mixed-fonts)
3632 :foreground ,cyan)))
3633 `(org-ellipsis ((,class :foreground nil))) ; inherits from the heading's colour
3634 `(org-footnote ((,class :inherit button :foreground ,blue-alt)))
3635 `(org-formula ((,class ,@(modus-vivendi-theme-mixed-fonts)
3636 :foreground ,red-alt)))
3637 `(org-habit-alert-face ((,class :inherit modus-theme-intense-yellow)))
3638 `(org-habit-alert-future-face ((,class :inherit modus-theme-refine-yellow)))
3639 `(org-habit-clear-face ((,class :inherit modus-theme-intense-magenta)))
3640 `(org-habit-clear-future-face ((,class :inherit modus-theme-refine-magenta)))
3641 `(org-habit-overdue-face ((,class :inherit modus-theme-intense-red)))
3642 `(org-habit-overdue-future-face ((,class :inherit modus-theme-refine-red)))
3643 `(org-habit-ready-face ((,class :inherit modus-theme-intense-blue)))
3644 `(org-habit-ready-future-face ((,class :inherit modus-theme-refine-blue)))
3645 `(org-headline-done ((,class :inherit ,modus-theme-variable-pitch :foreground ,green-nuanced)))
3646 `(org-headline-todo ((,class :inherit ,modus-theme-variable-pitch :foreground ,red-nuanced)))
3647 `(org-hide ((,class :foreground ,bg-main)))
3648 `(org-indent ((,class :inherit (fixed-pitch org-hide))))
3649 `(org-latex-and-related ((,class :foreground ,magenta-refine-fg)))
3650 `(org-level-1 ((,class :inherit modus-theme-heading-1)))
3651 `(org-level-2 ((,class :inherit modus-theme-heading-2)))
3652 `(org-level-3 ((,class :inherit modus-theme-heading-3)))
3653 `(org-level-4 ((,class :inherit modus-theme-heading-4)))
3654 `(org-level-5 ((,class :inherit modus-theme-heading-5)))
3655 `(org-level-6 ((,class :inherit modus-theme-heading-6)))
3656 `(org-level-7 ((,class :inherit modus-theme-heading-7)))
3657 `(org-level-8 ((,class :inherit modus-theme-heading-8)))
3658 `(org-link ((,class :inherit link)))
3659 `(org-list-dt ((,class :inherit bold)))
3660 `(org-macro ((,class :background ,blue-nuanced-bg :foreground ,magenta-alt-other)))
3661 `(org-meta-line ((,class ,@(modus-vivendi-theme-mixed-fonts) :foreground ,fg-alt)))
3662 `(org-mode-line-clock ((,class :foreground ,fg-main)))
3663 `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red)))
3664 `(org-priority ((,class :box ,bg-region :background ,bg-dim :foreground ,magenta)))
3665 `(org-property-value ((,class ,@(modus-vivendi-theme-mixed-fonts)
3666 :foreground ,cyan-alt-other)))
3667 `(org-quote ((,class ,@(modus-vivendi-theme-org-block bg-dim)
3668 :foreground ,fg-special-cold :slant ,modus-theme-slant)))
3669 `(org-scheduled ((,class :foreground ,fg-special-warm)))
3670 `(org-scheduled-previously ((,class :foreground ,yellow-alt-other)))
3671 `(org-scheduled-today ((,class :foreground ,magenta-alt-other)))
3672 `(org-sexp-date ((,class :inherit org-date)))
3673 `(org-special-keyword ((,class ,@(modus-vivendi-theme-mixed-fonts)
3674 :foreground ,blue-nuanced)))
3675 `(org-table ((,class ,@(modus-vivendi-theme-mixed-fonts)
3676 :foreground ,fg-special-cold)))
3677 `(org-table-header ((,class :inherit (fixed-pitch modus-theme-intense-neutral))))
3678 `(org-tag ((,class :foreground ,magenta-nuanced)))
3679 `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced)))
3680 `(org-target ((,class :underline t)))
3681 `(org-time-grid ((,class :foreground ,fg-unfocused)))
3682 `(org-todo ((,class :box ,bg-region :background ,bg-dim :foreground ,red-alt)))
3683 `(org-upcoming-deadline ((,class :foreground ,red-alt-other)))
3684 `(org-upcoming-distant-deadline ((,class :foreground ,red-nuanced)))
3685 `(org-verbatim ((,class ,@(modus-vivendi-theme-mixed-fonts)
3686 :background ,bg-alt :foreground ,fg-special-calm)))
3687 `(org-verse ((,class :inherit org-quote)))
3688 `(org-warning ((,class :inherit bold :foreground ,red-alt-other)))
3689;;;;; org-journal
3690 `(org-journal-calendar-entry-face ((,class :foreground ,yellow-alt-other :slant ,modus-theme-slant)))
3691 `(org-journal-calendar-scheduled-face ((,class :foreground ,red-alt-other :slant ,modus-theme-slant)))
3692 `(org-journal-highlight ((,class :foreground ,magenta-alt)))
3693;;;;; org-noter
3694 `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active)))
3695 `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active)))
3696;;;;; org-pomodoro
3697 `(org-pomodoro-mode-line ((,class :foreground ,red-active)))
3698 `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active)))
3699 `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground ,red-active)))
3700;;;;; org-recur
3701 `(org-recur ((,class :foreground ,magenta-active)))
3702;;;;; org-roam
3703 `(org-roam-link ((,class :inherit button :foreground ,green)))
3704 `(org-roam-link-current ((,class :inherit button :foreground ,green-alt)))
3705 `(org-roam-link-invalid ((,class :inherit button :foreground ,red)))
3706 `(org-roam-link-shielded ((,class :inherit button :foreground ,yellow)))
3707 `(org-roam-tag ((,class :foreground ,fg-alt :slant italic)))
3708;;;;; org-superstar
3709 `(org-superstar-item ((,class :foreground ,fg-main)))
3710 `(org-superstar-leading ((,class :foreground ,fg-whitespace)))
3711;;;;; org-table-sticky-header
3712 `(org-table-sticky-header-face ((,class :inherit modus-theme-intense-neutral)))
3713;;;;; org-treescope
3714 `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-theme-intense-blue)))
3715 `(org-treescope-faces--markerinternal-range ((,class :inherit modus-theme-special-mild)))
3716;;;;; origami
3717 `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t)))
3718 `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt)))
3719;;;;; outline-mode
3720 `(outline-1 ((,class :inherit modus-theme-heading-1)))
3721 `(outline-2 ((,class :inherit modus-theme-heading-2)))
3722 `(outline-3 ((,class :inherit modus-theme-heading-3)))
3723 `(outline-4 ((,class :inherit modus-theme-heading-4)))
3724 `(outline-5 ((,class :inherit modus-theme-heading-5)))
3725 `(outline-6 ((,class :inherit modus-theme-heading-6)))
3726 `(outline-7 ((,class :inherit modus-theme-heading-7)))
3727 `(outline-8 ((,class :inherit modus-theme-heading-8)))
3728;;;;; outline-minor-faces
3729 `(outline-minor-0 ((,class nil)))
3730;;;;; package (M-x list-packages)
3731 `(package-description ((,class :foreground ,fg-special-cold)))
3732 `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other)))
3733 `(package-name ((,class :inherit link)))
3734 `(package-status-avail-obso ((,class :inherit bold :foreground ,red)))
3735 `(package-status-available ((,class :foreground ,fg-special-mild)))
3736 `(package-status-built-in ((,class :foreground ,magenta)))
3737 `(package-status-dependency ((,class :foreground ,magenta-alt-other)))
3738 `(package-status-disabled ((,class :inherit modus-theme-subtle-red)))
3739 `(package-status-external ((,class :foreground ,cyan-alt-other)))
3740 `(package-status-held ((,class :foreground ,yellow-alt)))
3741 `(package-status-incompat ((,class :inherit bold :foreground ,yellow)))
3742 `(package-status-installed ((,class :foreground ,fg-special-warm)))
3743 `(package-status-new ((,class :inherit bold :foreground ,green)))
3744 `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt)))
3745;;;;; page-break-lines
3746 `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer)))
3747;;;;; paradox
3748 `(paradox-archive-face ((,class :foreground ,fg-special-mild)))
3749 `(paradox-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
3750 `(paradox-commit-tag-face ((,class :inherit modus-theme-refine-magenta :box t)))
3751 `(paradox-description-face ((,class :foreground ,fg-special-cold)))
3752 `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold)))
3753 `(paradox-download-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue-alt-other)))
3754 `(paradox-highlight-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,cyan-alt-other)))
3755 `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t)))
3756 `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active)))
3757 `(paradox-name-face ((,class :foreground ,blue :underline t)))
3758 `(paradox-star-face ((,class :foreground ,magenta)))
3759 `(paradox-starred-face ((,class :foreground ,magenta-alt)))
3760;;;;; paren-face
3761 `(parenthesis ((,class :foreground ,fg-unfocused)))
3762;;;;; parrot
3763 `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-theme-refine-magenta)))
3764;;;;; pass
3765 `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold)))
3766 `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main)))
3767 `(pass-mode-header-face ((,class :foreground ,fg-special-warm)))
3768;;;;; persp-mode
3769 `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-theme-intense-red)))
3770 `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active)))
3771 `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active)))
3772;;;;; perspective
3773 `(persp-selected-face ((,class :inherit bold :foreground ,blue-active)))
3774;;;;; phi-grep
3775 `(phi-grep-heading-face ((,class :inherit bold :foreground ,red-alt
3776 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
3777 `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm)))
3778 `(phi-grep-match-face ((,class :inherit modus-theme-special-calm)))
3779 `(phi-grep-modified-face ((,class :inherit modus-theme-refine-yellow)))
3780 `(phi-grep-overlay-face ((,class :inherit modus-theme-refine-blue)))
3781;;;;; phi-search
3782 `(phi-replace-preview-face ((,class :inherit modus-theme-intense-magenta)))
3783 `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red)))
3784 `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan)))
3785 `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green bold))))
3786;;;;; pkgbuild-mode
3787 `(pkgbuild-error-face ((,class :underline ,fg-lang-error)))
3788;;;;; pomidor
3789 `(pomidor-break-face ((,class :foreground ,blue-alt-other)))
3790 `(pomidor-overwork-face ((,class :foreground ,red-alt-other)))
3791 `(pomidor-skip-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
3792 `(pomidor-work-face ((,class :foreground ,green-alt-other)))
3793;;;;; powerline
3794 `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t)))
3795 `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced)))
3796 `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active)))
3797 `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
3798 `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive)))
3799 `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive)))
3800;;;;; powerline-evil
3801 `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main)))
3802 `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta)))
3803 `(powerline-evil-insert-face ((,class :inherit modus-theme-active-green)))
3804 `(powerline-evil-motion-face ((,class :inherit modus-theme-active-blue)))
3805 `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main)))
3806 `(powerline-evil-operator-face ((,class :inherit modus-theme-active-yellow)))
3807 `(powerline-evil-replace-face ((,class :inherit modus-theme-active-red)))
3808 `(powerline-evil-visual-face ((,class :inherit modus-theme-active-cyan)))
3809;;;;; proced
3810 `(proced-mark ((,class :inherit modus-theme-mark-symbol)))
3811 `(proced-marked ((,class :inherit modus-theme-mark-alt)))
3812 `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t)))
3813;;;;; prodigy
3814 `(prodigy-green-face ((,class :foreground ,green)))
3815 `(prodigy-red-face ((,class :foreground ,red)))
3816 `(prodigy-yellow-face ((,class :foreground ,yellow)))
3817;;;;; racket-mode
3818 `(racket-debug-break-face ((,class :inherit modus-theme-intense-red)))
3819 `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil)
3820 :foreground ,green-alt-other)))
3821 `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil)
3822 :foreground ,green)))
3823 `(racket-here-string-face ((,class :foreground ,blue-alt)))
3824 `(racket-keyword-argument-face ((,class :foreground ,red-alt)))
3825 `(racket-logger-config-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
3826 `(racket-logger-debug-face ((,class :foreground ,blue-alt-other)))
3827 `(racket-logger-info-face ((,class :foreground ,fg-lang-note)))
3828 `(racket-logger-topic-face ((,class :foreground ,magenta :slant ,modus-theme-slant)))
3829 `(racket-selfeval-face ((,class :foreground ,green-alt)))
3830 `(racket-xp-error-face
3831 ((,(append '((supports :underline (:style wave))) class)
3832 :underline (:color ,fg-lang-error :style wave))
3833 (,class :foreground ,fg-lang-error :underline t)))
3834;;;;; rainbow-blocks
3835 `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other)))
3836 `(rainbow-blocks-depth-2-face ((,class :foreground ,blue)))
3837 `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt)))
3838 `(rainbow-blocks-depth-4-face ((,class :foreground ,green)))
3839 `(rainbow-blocks-depth-5-face ((,class :foreground ,magenta)))
3840 `(rainbow-blocks-depth-6-face ((,class :foreground ,cyan)))
3841 `(rainbow-blocks-depth-7-face ((,class :foreground ,yellow)))
3842 `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt)))
3843 `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt)))
3844 `(rainbow-blocks-unmatched-face ((,class :foreground ,red)))
3845;;;;; rainbow-identifiers
3846 `(rainbow-identifiers-identifier-1 ((,class :foreground ,green-alt-other)))
3847 `(rainbow-identifiers-identifier-2 ((,class :foreground ,magenta-alt-other)))
3848 `(rainbow-identifiers-identifier-3 ((,class :foreground ,cyan-alt-other)))
3849 `(rainbow-identifiers-identifier-4 ((,class :foreground ,yellow-alt-other)))
3850 `(rainbow-identifiers-identifier-5 ((,class :foreground ,blue-alt-other)))
3851 `(rainbow-identifiers-identifier-6 ((,class :foreground ,green-alt)))
3852 `(rainbow-identifiers-identifier-7 ((,class :foreground ,magenta-alt)))
3853 `(rainbow-identifiers-identifier-8 ((,class :foreground ,cyan-alt)))
3854 `(rainbow-identifiers-identifier-9 ((,class :foreground ,yellow-alt)))
3855 `(rainbow-identifiers-identifier-10 ((,class :foreground ,green)))
3856 `(rainbow-identifiers-identifier-11 ((,class :foreground ,magenta)))
3857 `(rainbow-identifiers-identifier-12 ((,class :foreground ,cyan)))
3858 `(rainbow-identifiers-identifier-13 ((,class :foreground ,yellow)))
3859 `(rainbow-identifiers-identifier-14 ((,class :foreground ,blue-alt)))
3860 `(rainbow-identifiers-identifier-15 ((,class :foreground ,red-alt)))
3861;;;;; rainbow-delimiters
3862 `(rainbow-delimiters-base-face-error ((,class :foreground ,red)))
3863 `(rainbow-delimiters-base-face ((,class :foreground ,fg-main)))
3864 `(rainbow-delimiters-depth-1-face ((,class :foreground ,green-alt-other)))
3865 `(rainbow-delimiters-depth-2-face ((,class :foreground ,magenta-alt-other)))
3866 `(rainbow-delimiters-depth-3-face ((,class :foreground ,cyan-alt-other)))
3867 `(rainbow-delimiters-depth-4-face ((,class :foreground ,yellow-alt-other)))
3868 `(rainbow-delimiters-depth-5-face ((,class :foreground ,blue-alt-other)))
3869 `(rainbow-delimiters-depth-6-face ((,class :foreground ,green-alt)))
3870 `(rainbow-delimiters-depth-7-face ((,class :foreground ,magenta-alt)))
3871 `(rainbow-delimiters-depth-8-face ((,class :foreground ,cyan-alt)))
3872 `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-alt)))
3873 `(rainbow-delimiters-mismatched-face ((,class :inherit bold :foreground ,red-alt)))
3874 `(rainbow-delimiters-unmatched-face ((,class :inherit bold :foreground ,red)))
3875;;;;; rcirc
3876 `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt)))
3877 `(rcirc-dim-nick ((,class :foreground ,fg-alt)))
3878 `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta)))
3879 `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other)))
3880 `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,fg-special-mild)))
3881 `(rcirc-other-nick ((,class :inherit bold :foreground ,fg-special-cold)))
3882 `(rcirc-prompt ((,class :inherit bold :foreground ,cyan-alt-other)))
3883 `(rcirc-server ((,class :foreground ,fg-unfocused)))
3884 `(rcirc-timestamp ((,class :foreground ,blue-nuanced)))
3885 `(rcirc-url ((,class :foreground ,blue :underline t)))
3886;;;;; regexp-builder (re-builder)
3887 `(reb-match-0 ((,class :inherit modus-theme-intense-blue)))
3888 `(reb-match-1 ((,class :inherit modus-theme-intense-magenta)))
3889 `(reb-match-2 ((,class :inherit modus-theme-intense-green)))
3890 `(reb-match-3 ((,class :inherit modus-theme-intense-red)))
3891 `(reb-regexp-grouping-backslash ((,class :inherit bold :foreground ,fg-escape-char-backslash)))
3892 `(reb-regexp-grouping-construct ((,class :inherit bold :foreground ,fg-escape-char-construct)))
3893;;;;; rg (rg.el)
3894 `(rg-column-number-face ((,class :foreground ,magenta-alt-other)))
3895 `(rg-context-face ((,class :foreground ,fg-unfocused)))
3896 `(rg-error-face ((,class :inherit bold :foreground ,red)))
3897 `(rg-file-tag-face ((,class :foreground ,fg-special-cold)))
3898 `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
3899 `(rg-line-number-face ((,class :foreground ,fg-special-warm)))
3900 `(rg-literal-face ((,class :foreground ,blue-alt)))
3901 `(rg-match-face ((,class :inherit modus-theme-special-calm)))
3902 `(rg-regexp-face ((,class :foreground ,magenta-active)))
3903 `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive)))
3904 `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active)))
3905 `(rg-warning-face ((,class :inherit bold :foreground ,yellow)))
3906;;;;; ripgrep
3907 `(ripgrep-context-face ((,class :foreground ,fg-unfocused)))
3908 `(ripgrep-error-face ((,class :inherit bold :foreground ,red)))
3909 `(ripgrep-hit-face ((,class :foreground ,cyan)))
3910 `(ripgrep-match-face ((,class :inherit modus-theme-special-calm)))
3911;;;;; rmail
3912 `(rmail-header-name ((,class :foreground ,cyan-alt-other)))
3913 `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt)))
3914;;;;; ruler-mode
3915 `(ruler-mode-column-number ((,class :inherit (ruler-mode-default bold) :foreground ,fg-main)))
3916 `(ruler-mode-comment-column ((,class :inherit ruler-mode-default :foreground ,red-active)))
3917 `(ruler-mode-current-column ((,class :inherit ruler-mode-default :foreground ,cyan-active :box t)))
3918 `(ruler-mode-default ((,class :background ,bg-inactive :foreground ,fg-inactive)))
3919 `(ruler-mode-fill-column ((,class :inherit ruler-mode-default :foreground ,green-active)))
3920 `(ruler-mode-fringes ((,class :inherit ruler-mode-default :foreground ,blue-active)))
3921 `(ruler-mode-goal-column ((,class :inherit ruler-mode-default :foreground ,magenta-active)))
3922 `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground ,bg-main)))
3923 `(ruler-mode-pad ((,class :background ,bg-active :foreground ,fg-inactive)))
3924 `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground ,yellow-active)))
3925;;;;; sallet
3926 `(sallet-buffer-compressed ((,class :foreground ,yellow-nuanced :slant italic)))
3927 `(sallet-buffer-default-directory ((,class :foreground ,cyan-nuanced)))
3928 `(sallet-buffer-directory ((,class :foreground ,blue-nuanced)))
3929 `(sallet-buffer-help ((,class :foreground ,fg-special-cold)))
3930 `(sallet-buffer-modified ((,class :foreground ,yellow-alt-other :slant italic)))
3931 `(sallet-buffer-ordinary ((,class :foreground ,fg-main)))
3932 `(sallet-buffer-read-only ((,class :foreground ,yellow-alt)))
3933 `(sallet-buffer-size ((,class :foreground ,fg-special-calm)))
3934 `(sallet-buffer-special ((,class :foreground ,magenta-alt-other)))
3935 `(sallet-flx-match ((,class ,@(modus-vivendi-theme-extra-completions
3936 'modus-theme-subtle-cyan
3937 'modus-theme-refine-cyan
3938 'modus-theme-nuanced-cyan
3939 cyan-alt-other))))
3940 `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced)))
3941 `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild)))
3942 `(sallet-regexp-match ((,class ,@(modus-vivendi-theme-extra-completions
3943 'modus-theme-subtle-magenta
3944 'modus-theme-refine-magenta
3945 'modus-theme-nuanced-magenta
3946 magenta-alt-other))))
3947 `(sallet-source-header ((,class :inherit bold :foreground ,red-alt
3948 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
3949 `(sallet-substring-match ((,class ,@(modus-vivendi-theme-extra-completions
3950 'modus-theme-subtle-blue
3951 'modus-theme-refine-blue
3952 'modus-theme-nuanced-blue
3953 blue-alt-other))))
3954;;;;; selectrum
3955 `(selectrum-current-candidate
3956 ((,class :inherit bold :foreground ,fg-main :underline ,fg-main
3957 :background ,@(pcase modus-vivendi-theme-completions
3958 ('opinionated (list bg-active))
3959 (_ (list bg-inactive))))))
3960 `(selectrum-primary-highlight ((,class :inherit bold
3961 ,@(modus-vivendi-theme-standard-completions
3962 magenta-alt magenta-nuanced-bg
3963 magenta-refine-bg magenta-refine-fg))))
3964 `(selectrum-secondary-highlight ((,class :inherit bold
3965 ,@(modus-vivendi-theme-standard-completions
3966 cyan-alt-other cyan-nuanced-bg
3967 cyan-refine-bg cyan-refine-fg))))
3968;;;;; semantic
3969 `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t)))
3970 `(semantic-decoration-on-private-members-face ((,class :inherit modus-theme-refine-cyan)))
3971 `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim)))
3972 `(semantic-highlight-edits-face ((,class :background ,bg-alt)))
3973 `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt)))
3974 `(semantic-idle-symbol-highlight ((,class :inherit modus-theme-special-mild)))
3975 `(semantic-tag-boundary-face ((,class :overline ,blue-intense)))
3976 `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error)))
3977;;;;; sesman
3978 `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t)))
3979 `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue)))
3980 `(sesman-buffer-face ((,class :foreground ,magenta)))
3981 `(sesman-directory-face ((,class :inherit bold :foreground ,blue)))
3982 `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other)))
3983;;;;; shell-script-mode
3984 `(sh-heredoc ((,class :foreground ,blue-alt)))
3985 `(sh-quoted-exec ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt)))
3986;;;;; show-paren-mode
3987 `(show-paren-match ((,class ,@(modus-vivendi-theme-paren bg-paren-match
3988 bg-paren-match-intense)
3989 :foreground ,fg-main)))
3990 `(show-paren-match-expression ((,class :inherit modus-theme-special-calm)))
3991 `(show-paren-mismatch ((,class :inherit modus-theme-intense-red)))
3992;;;;; side-notes
3993 `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim)))
3994;;;;; skewer-mode
3995 `(skewer-error-face ((,class :foreground ,red :underline t)))
3996;;;;; smart-mode-line
3997 `(sml/charging ((,class :foreground ,green-active)))
3998 `(sml/discharging ((,class :foreground ,red-active)))
3999 `(sml/filename ((,class :inherit bold :foreground ,blue-active)))
4000 `(sml/folder ((,class :foreground ,fg-active)))
4001 `(sml/git ((,class :inherit bold :foreground ,green-active)))
4002 `(sml/global ((,class :foreground ,fg-active)))
4003 `(sml/line-number ((,class :inherit sml/global)))
4004 `(sml/minor-modes ((,class :inherit sml/global)))
4005 `(sml/modes ((,class :inherit bold :foreground ,fg-active)))
4006 `(sml/modified ((,class :inherit bold :foreground ,magenta-active)))
4007 `(sml/mule-info ((,class :inherit sml/global)))
4008 `(sml/name-filling ((,class :foreground ,yellow-active)))
4009 `(sml/not-modified ((,class :inherit sml/global)))
4010 `(sml/numbers-separator ((,class :inherit sml/global)))
4011 `(sml/outside-modified ((,class :inherit modus-theme-intense-red)))
4012 `(sml/position-percentage ((,class :inherit sml/global)))
4013 `(sml/prefix ((,class :foreground ,green-active)))
4014 `(sml/process ((,class :inherit sml/prefix)))
4015 `(sml/projectile ((,class :inherit sml/git)))
4016 `(sml/read-only ((,class :inherit bold :foreground ,cyan-active)))
4017 `(sml/remote ((,class :inherit sml/global)))
4018 `(sml/sudo ((,class :inherit modus-theme-subtle-red)))
4019 `(sml/time ((,class :inherit sml/global)))
4020 `(sml/vc ((,class :inherit sml/git)))
4021 `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active)))
4022;;;;; smartparens
4023 `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm)))
4024 `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild)))
4025 `(sp-show-pair-match-face ((,class ,@(modus-vivendi-theme-paren bg-paren-match
4026 bg-paren-match-intense)
4027 :foreground ,fg-main)))
4028 `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red)))
4029 `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face)))
4030 `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face)))
4031 `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face)))
4032 `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face)))
4033;;;;; smerge
4034 `(smerge-base ((,class :inherit modus-theme-diff-changed)))
4035 `(smerge-lower ((,class :inherit modus-theme-diff-added)))
4036 `(smerge-markers ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
4037 `(smerge-refined-added ((,class :inherit modus-theme-diff-refine-added)))
4038 `(smerge-refined-changed ((,class)))
4039 `(smerge-refined-removed ((,class :inherit modus-theme-diff-refine-removed)))
4040 `(smerge-upper ((,class :inherit modus-theme-diff-removed)))
4041;;;;; spaceline
4042 `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta)))
4043 `(spaceline-evil-insert ((,class :inherit modus-theme-active-green)))
4044 `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue)))
4045 `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt)))
4046 `(spaceline-evil-replace ((,class :inherit modus-theme-active-red)))
4047 `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan)))
4048 `(spaceline-flycheck-error ((,class :foreground ,red-active)))
4049 `(spaceline-flycheck-info ((,class :foreground ,cyan-active)))
4050 `(spaceline-flycheck-warning ((,class :foreground ,yellow-active)))
4051 `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue)))
4052 `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta)))
4053 `(spaceline-python-venv ((,class :foreground ,magenta-active)))
4054 `(spaceline-read-only ((,class :inherit modus-theme-fringe-red)))
4055 `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan)))
4056;;;;; speedbar
4057 `(speedbar-button-face ((,class :inherit link)))
4058 `(speedbar-directory-face ((,class :inherit bold :foreground ,blue)))
4059 `(speedbar-file-face ((,class :foreground ,fg-main)))
4060 `(speedbar-highlight-face ((,class :inherit modus-theme-subtle-blue)))
4061 `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan)))
4062 `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral)))
4063 `(speedbar-tag-face ((,class :foreground ,yellow-alt-other)))
4064;;;;; spell-fu
4065 `(spell-fu-incorrect-face
4066 ((,(append '((supports :underline (:style wave))) class)
4067 :foreground ,fg-lang-error :underline (:style wave))
4068 (,class :foreground ,fg-lang-error :underline t)))
4069;;;;; stripes
4070 `(stripes ((,class :inherit modus-theme-hl-line)))
4071;;;;; success
4072 `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other)))
4073;;;;; switch-window
4074 `(switch-window-background ((,class :background ,bg-dim)))
4075 `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense)))
4076;;;;; swiper
4077 `(swiper-background-match-face-1 ((,class :inherit modus-theme-subtle-neutral)))
4078 `(swiper-background-match-face-2 ((,class :inherit modus-theme-subtle-cyan)))
4079 `(swiper-background-match-face-3 ((,class :inherit modus-theme-subtle-magenta)))
4080 `(swiper-background-match-face-4 ((,class :inherit modus-theme-subtle-green)))
4081 `(swiper-line-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t))
4082 :inherit modus-theme-special-cold)))
4083 `(swiper-match-face-1 ((,class :inherit swiper-line-face)))
4084 `(swiper-match-face-2 ((,class :inherit swiper-line-face)))
4085 `(swiper-match-face-3 ((,class :inherit swiper-line-face)))
4086 `(swiper-match-face-4 ((,class :inherit swiper-line-face)))
4087;;;;; swoop
4088 `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt
4089 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-3))))
4090 `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt
4091 ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4))))
4092 `(swoop-face-line-number ((,class :foreground ,fg-special-warm)))
4093 `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue
4094 ,@(and (>= emacs-major-version 27) '(:extend t)))))
4095 `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan)))
4096;;;;; sx
4097 `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other)))
4098 `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold))))
4099 `(sx-question-list-answers ((,class :foreground ,green)))
4100 `(sx-question-list-answers-accepted ((,class :box t :foreground ,green)))
4101 `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt :foreground ,yellow)))
4102 `(sx-question-list-date ((,class :foreground ,fg-special-cold)))
4103 `(sx-question-list-favorite ((,class :inherit bold :foreground ,fg-special-warm)))
4104 `(sx-question-list-parent ((,class :foreground ,fg-main)))
4105 `(sx-question-list-read-question ((,class :foreground ,fg-alt)))
4106 `(sx-question-list-score ((,class :foreground ,fg-special-mild)))
4107 `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold))))
4108 `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main)))
4109 `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green)))
4110 `(sx-question-mode-closed ((,class :inherit modus-theme-active-yellow :box (:line-width 2 :color nil))))
4111 `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main)))
4112 `(sx-question-mode-content-face ((,class :background ,bg-dim)))
4113 `(sx-question-mode-date ((,class :foreground ,blue)))
4114 `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan)))
4115 `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main)))
4116 `(sx-question-mode-score ((,class :foreground ,fg-dim)))
4117 `(sx-question-mode-score-downvoted ((,class :foreground ,yellow)))
4118 `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground ,magenta)))
4119 `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main)))
4120 `(sx-question-mode-title-comments ((,class :inherit bold :foreground ,fg-alt)))
4121 `(sx-tag ((,class :foreground ,magenta-alt)))
4122 `(sx-user-name ((,class :foreground ,blue-alt)))
4123 `(sx-user-reputation ((,class :foreground ,fg-alt)))
4124;;;;; symbol-overlay
4125 `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm)))
4126 `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue)))
4127 `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta)))
4128 `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow)))
4129 `(symbol-overlay-face-4 ((,class :inherit modus-theme-intense-magenta)))
4130 `(symbol-overlay-face-5 ((,class :inherit modus-theme-intense-red)))
4131 `(symbol-overlay-face-6 ((,class :inherit modus-theme-refine-red)))
4132 `(symbol-overlay-face-7 ((,class :inherit modus-theme-intense-cyan)))
4133 `(symbol-overlay-face-8 ((,class :inherit modus-theme-refine-cyan)))
4134;;;;; syslog-mode
4135 `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other)))
4136 `(syslog-error ((,class :inherit bold :foreground ,red)))
4137 `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold)))
4138 `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main)))
4139 `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other)))
4140 `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other)))
4141 `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t)))
4142 `(syslog-su ((,class :inherit bold :foreground ,red-alt)))
4143 `(syslog-warn ((,class :inherit bold :foreground ,yellow)))
4144;;;;; table (built-in table.el)
4145 `(table-cell ((,class :background ,blue-nuanced-bg)))
4146;;;;; telephone-line
4147 `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive)))
4148 `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active)))
4149 `(telephone-line-error ((,class :inherit bold :foreground ,red-active)))
4150 `(telephone-line-evil ((,class :foreground ,fg-main)))
4151 `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil :background ,magenta-intense-bg)))
4152 `(telephone-line-evil-insert ((,class :inherit telephone-line-evil :background ,green-intense-bg)))
4153 `(telephone-line-evil-motion ((,class :inherit telephone-line-evil :background ,yellow-intense-bg)))
4154 `(telephone-line-evil-normal ((,class :inherit telephone-line-evil :background ,bg-alt)))
4155 `(telephone-line-evil-operator ((,class :inherit telephone-line-evil :background ,yellow-subtle-bg)))
4156 `(telephone-line-evil-replace ((,class :inherit telephone-line-evil :background ,red-intense-bg)))
4157 `(telephone-line-evil-visual ((,class :inherit telephone-line-evil :background ,cyan-intense-bg)))
4158 `(telephone-line-projectile ((,class :foreground ,cyan-active)))
4159 `(telephone-line-unimportant ((,class :foreground ,fg-inactive)))
4160 `(telephone-line-warning ((,class :inherit bold :foreground ,yellow-active)))
4161;;;;; term
4162 `(term ((,class :background ,bg-main :foreground ,fg-main)))
4163 `(term-bold ((,class :inherit bold)))
4164 `(term-color-blue ((,class :background ,blue :foreground ,blue)))
4165 `(term-color-cyan ((,class :background ,cyan :foreground ,cyan)))
4166 `(term-color-green ((,class :background ,green :foreground ,green)))
4167 `(term-color-magenta ((,class :background ,magenta :foreground ,magenta)))
4168 `(term-color-red ((,class :background ,red :foreground ,red)))
4169 `(term-color-yellow ((,class :background ,yellow :foreground ,yellow)))
4170 `(term-underline ((,class :underline t)))
4171;;;;; tomatinho
4172 `(tomatinho-ok-face ((,class :foreground ,blue-intense)))
4173 `(tomatinho-pause-face ((,class :foreground ,yellow-intense)))
4174 `(tomatinho-reset-face ((,class :foreground ,fg-alt)))
4175;;;;; transient
4176 `(transient-active-infix ((,class :inherit modus-theme-special-mild)))
4177 `(transient-amaranth ((,class :inherit bold :foreground ,yellow)))
4178 `(transient-argument ((,class :inherit bold :foreground ,red-alt)))
4179 `(transient-blue ((,class :inherit bold :foreground ,blue)))
4180 `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red)))
4181 `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green)))
4182 `(transient-heading ((,class :inherit bold :foreground ,fg-main)))
4183 `(transient-inactive-argument ((,class :foreground ,fg-alt)))
4184 `(transient-inactive-value ((,class :foreground ,fg-alt)))
4185 `(transient-key ((,class :inherit bold :foreground ,blue)))
4186 `(transient-mismatched-key ((,class :underline t)))
4187 `(transient-nonstandard-key ((,class :underline t)))
4188 `(transient-pink ((,class :inherit bold :foreground ,magenta)))
4189 `(transient-red ((,class :inherit bold :foreground ,red-intense)))
4190 `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other)))
4191 `(transient-unreachable ((,class :foreground ,fg-unfocused)))
4192 `(transient-unreachable-key ((,class :foreground ,fg-unfocused)))
4193 `(transient-value ((,class :foreground ,magenta-alt)))
4194;;;;; trashed
4195 `(trashed-deleted ((,class :inherit modus-theme-mark-del)))
4196 `(trashed-directory ((,class :foreground ,blue)))
4197 `(trashed-mark ((,class :inherit modus-theme-mark-symbol)))
4198 `(trashed-marked ((,class :inherit modus-theme-mark-alt)))
4199 `(trashed-restored ((,class :inherit modus-theme-mark-sel)))
4200 `(trashed-symlink ((,class :inherit button :foreground ,cyan-alt)))
4201;;;;; treemacs
4202 `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt)))
4203 `(treemacs-directory-face ((,class :inherit dired-directory)))
4204 `(treemacs-file-face ((,class :foreground ,fg-main)))
4205 `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main)))
4206 `(treemacs-git-added-face ((,class :foreground ,green-intense)))
4207 `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red bold))))
4208 `(treemacs-git-ignored-face ((,class :foreground ,fg-alt)))
4209 `(treemacs-git-modified-face ((,class :foreground ,yellow-alt-other)))
4210 `(treemacs-git-renamed-face ((,class :foreground ,cyan-alt-other)))
4211 `(treemacs-git-unmodified-face ((,class :foreground ,fg-main)))
4212 `(treemacs-git-untracked-face ((,class :foreground ,red-alt-other)))
4213 `(treemacs-help-column-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other :underline t)))
4214 `(treemacs-help-title-face ((,class :foreground ,blue-alt-other)))
4215 `(treemacs-on-failure-pulse-face ((,class :inherit modus-theme-intense-red)))
4216 `(treemacs-on-success-pulse-face ((,class :inherit modus-theme-intense-green)))
4217 `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t)))
4218 `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow)))
4219 `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta)))
4220 `(treemacs-root-remote-unreadable-face ((,class :inherit treemacs-root-unreadable-face)))
4221 `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face :strike-through t)))
4222 `(treemacs-tags-face ((,class :foreground ,blue-alt)))
4223 `(treemacs-tags-face ((,class :foreground ,magenta-alt)))
4224;;;;; tty-menu
4225 `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt)))
4226 `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main)))
4227 `(tty-menu-selected-face ((,class :inherit modus-theme-intense-blue)))
4228;;;;; tuareg
4229 `(caml-types-def-face ((,class :inherit modus-theme-subtle-red)))
4230 `(caml-types-expr-face ((,class :inherit modus-theme-subtle-green)))
4231 `(caml-types-occ-face ((,class :inherit modus-theme-subtle-green)))
4232 `(caml-types-scope-face ((,class :inherit modus-theme-subtle-blue)))
4233 `(caml-types-typed-face ((,class :inherit modus-theme-subtle-magenta)))
4234 `(tuareg-font-double-semicolon-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4235 red-alt red-alt-faint))))
4236 `(tuareg-font-lock-attribute-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4237 magenta magenta-faint))))
4238 `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main)))
4239 `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red bold))))
4240 `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta)))
4241 `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main)))
4242 `(tuareg-font-lock-infix-extension-node-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4243 magenta magenta-faint))))
4244 `(tuareg-font-lock-interactive-directive-face ((,class :foreground ,fg-special-cold)))
4245 `(tuareg-font-lock-interactive-error-face ((,class :inherit bold
4246 ,@(modus-vivendi-theme-syntax-foreground
4247 red red-faint))))
4248 `(tuareg-font-lock-interactive-output-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4249 blue-alt-other blue-alt-other-faint))))
4250 `(tuareg-font-lock-label-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4251 cyan-alt-other cyan-alt-other-faint))))
4252 `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm)))
4253 `(tuareg-font-lock-module-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4254 magenta-alt magenta-alt-faint))))
4255 `(tuareg-font-lock-multistage-face ((,class :inherit bold :background ,bg-alt
4256 ,@(modus-vivendi-theme-syntax-foreground
4257 blue blue-faint))))
4258 `(tuareg-font-lock-operator-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4259 red-alt red-alt-faint))))
4260 `(tuareg-opam-error-face ((,class :inherit bold
4261 ,@(modus-vivendi-theme-syntax-foreground
4262 red red-faint))))
4263 `(tuareg-opam-pkg-variable-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4264 cyan cyan-faint)
4265 :slant ,modus-theme-slant)))
4266;;;;; typescript
4267 `(typescript-jsdoc-tag ((,class :foreground ,fg-special-mild :slant ,modus-theme-slant)))
4268 `(typescript-jsdoc-type ((,class :foreground ,fg-special-calm :slant ,modus-theme-slant)))
4269 `(typescript-jsdoc-value ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
4270;;;;; undo-tree
4271 `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main)))
4272 `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense)))
4273 `(undo-tree-visualizer-default-face ((,class :foreground ,fg-alt)))
4274 `(undo-tree-visualizer-register-face ((,class :foreground ,magenta-intense)))
4275 `(undo-tree-visualizer-unmodified-face ((,class :foreground ,green-intense)))
4276;;;;; vc (vc-hooks.el)
4277 `(vc-conflict-state ((,class :foreground ,red-active :slant ,modus-theme-slant)))
4278 `(vc-edited-state ((,class :foreground ,yellow-active)))
4279 `(vc-locally-added-state ((,class :foreground ,cyan-active)))
4280 `(vc-locked-state ((,class :foreground ,blue-active)))
4281 `(vc-missing-state ((,class :foreground ,magenta-active :slant ,modus-theme-slant)))
4282 `(vc-needs-update-state ((,class :foreground ,green-active :slant ,modus-theme-slant)))
4283 `(vc-removed-state ((,class :foreground ,red-active)))
4284 `(vc-state-base ((,class :foreground ,fg-active)))
4285 `(vc-up-to-date-state ((,class :foreground ,fg-special-cold)))
4286;;;;; vdiff
4287 `(vdiff-addition-face ((,class :inherit modus-theme-diff-added)))
4288 `(vdiff-change-face ((,class :inherit modus-theme-diff-changed)))
4289 `(vdiff-closed-fold-face ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
4290 `(vdiff-refine-added ((,class :inherit modus-theme-diff-refine-added)))
4291 `(vdiff-refine-changed ((,class :inherit modus-theme-diff-refine-changed)))
4292 `(vdiff-subtraction-face ((,class :inherit modus-theme-diff-removed)))
4293 `(vdiff-target-face ((,class :inherit modus-theme-intense-blue)))
4294;;;;; vimish-fold
4295 `(vimish-fold-fringe ((,class :foreground ,cyan-active)))
4296 `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue)))
4297 `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold)))
4298;;;;; visible-mark
4299 `(visible-mark-active ((,class :background ,blue-intense-bg)))
4300 `(visible-mark-face1 ((,class :background ,cyan-intense-bg)))
4301 `(visible-mark-face2 ((,class :background ,yellow-intense-bg)))
4302 `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg)))
4303 `(visible-mark-forward-face2 ((,class :background ,green-intense-bg)))
4304;;;;; visual-regexp
4305 `(vr/group-0 ((,class :inherit modus-theme-intense-blue)))
4306 `(vr/group-1 ((,class :inherit modus-theme-intense-magenta)))
4307 `(vr/group-2 ((,class :inherit modus-theme-intense-green)))
4308 `(vr/match-0 ((,class :inherit modus-theme-refine-yellow)))
4309 `(vr/match-1 ((,class :inherit modus-theme-refine-yellow)))
4310 `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral bold))))
4311;;;;; volatile-highlights
4312 `(vhl/default-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t))
4313 :background ,bg-alt :foreground ,blue-nuanced)))
4314;;;;; vterm
4315 `(vterm-color-black ((,class :background "gray35" :foreground "gray35")))
4316 `(vterm-color-blue ((,class :background ,blue :foreground ,blue)))
4317 `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan)))
4318 `(vterm-color-default ((,class :background ,bg-main :foreground ,fg-main)))
4319 `(vterm-color-green ((,class :background ,green :foreground ,green)))
4320 `(vterm-color-inverse-video ((,class :background ,bg-main :inverse-video t)))
4321 `(vterm-color-magenta ((,class :background ,magenta :foreground ,magenta)))
4322 `(vterm-color-red ((,class :background ,red :foreground ,red)))
4323 `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t)))
4324 `(vterm-color-white ((,class :background "gray65" :foreground "gray65")))
4325 `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow)))
4326;;;;; wcheck-mode
4327 `(wcheck-default-face ((,class :foreground ,red :underline t)))
4328;;;;; web-mode
4329 `(web-mode-annotation-face ((,class :inherit web-mode-comment-face)))
4330 `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face)))
4331 `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face :underline t)))
4332 `(web-mode-block-attr-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4333 blue blue-faint))))
4334 `(web-mode-block-attr-value-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4335 cyan-alt-other cyan-alt-other-faint))))
4336 `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face)))
4337 `(web-mode-block-control-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4338 magenta-alt magenta-alt-faint)
4339 ,@(modus-vivendi-theme-bold-weight))))
4340 `(web-mode-block-delimiter-face ((,class :foreground ,fg-main)))
4341 `(web-mode-block-face ((,class :background ,bg-dim)))
4342 `(web-mode-block-string-face ((,class :inherit web-mode-string-face)))
4343 `(web-mode-bold-face ((,class :inherit bold)))
4344 `(web-mode-builtin-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4345 magenta-alt magenta-alt-faint)
4346 ,@(modus-vivendi-theme-bold-weight))))
4347 `(web-mode-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant)))
4348 `(web-mode-comment-keyword-face ((,class :inherit bold :background ,bg-dim
4349 ,@(modus-vivendi-theme-syntax-foreground
4350 yellow yellow-faint))))
4351 `(web-mode-constant-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4352 blue-alt-other blue-alt-other-faint))))
4353 `(web-mode-css-at-rule-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4354 blue-alt-other blue-alt-other-faint))))
4355 `(web-mode-css-color-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4356 magenta-alt magenta-alt-faint)
4357 ,@(modus-vivendi-theme-bold-weight))))
4358 `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face)))
4359 `(web-mode-css-function-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4360 magenta-alt magenta-alt-faint)
4361 ,@(modus-vivendi-theme-bold-weight))))
4362 `(web-mode-css-priority-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4363 yellow-alt yellow-alt-faint)
4364 ,@(modus-vivendi-theme-bold-weight))))
4365 `(web-mode-css-property-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4366 cyan cyan-faint))))
4367 `(web-mode-css-pseudo-class-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4368 cyan-alt-other cyan-alt-other-faint))))
4369 `(web-mode-css-selector-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4370 magenta-alt-other magenta-alt-other-faint)
4371 ,@(modus-vivendi-theme-bold-weight))))
4372 `(web-mode-css-string-face ((,class :inherit web-mode-string-face)))
4373 `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm)))
4374 `(web-mode-current-column-highlight-face ((,class :background ,bg-alt)))
4375 `(web-mode-current-element-highlight-face ((,class :inherit modus-theme-special-mild)))
4376 `(web-mode-doctype-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant)))
4377 `(web-mode-error-face ((,class :inherit modus-theme-intense-red)))
4378 `(web-mode-filter-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4379 magenta magenta-faint))))
4380 `(web-mode-folded-face ((,class :underline t)))
4381 `(web-mode-function-call-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4382 magenta magenta-faint))))
4383 `(web-mode-function-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4384 magenta magenta-faint))))
4385 `(web-mode-html-attr-custom-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4386 cyan cyan-faint))))
4387 `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main)))
4388 `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main)))
4389 `(web-mode-html-attr-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4390 cyan cyan-faint))))
4391 `(web-mode-html-attr-value-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4392 blue-alt-other blue-alt-other-faint))))
4393 `(web-mode-html-entity-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4394 yellow-alt-other yellow-alt-other-faint)
4395 :slant ,modus-theme-slant)))
4396 `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim)))
4397 `(web-mode-html-tag-custom-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4398 magenta magenta-faint))))
4399 `(web-mode-html-tag-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4400 magenta magenta-faint))))
4401 `(web-mode-html-tag-namespaced-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4402 magenta-alt magenta-alt-faint)
4403 ,@(modus-vivendi-theme-bold-weight))))
4404 `(web-mode-html-tag-unclosed-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4405 red red-faint)
4406 :underline t)))
4407 `(web-mode-inlay-face ((,class :background ,bg-alt)))
4408 `(web-mode-italic-face ((,class :slant italic)))
4409 `(web-mode-javascript-comment-face ((,class :inherit web-mode-comment-face)))
4410 `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face)))
4411 `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face)))
4412 `(web-mode-json-context-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4413 magenta-alt magenta-alt-faint))))
4414 `(web-mode-json-key-face ((,class :foreground ,blue-nuanced)))
4415 `(web-mode-json-string-face ((,class :inherit web-mode-string-face)))
4416 `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg :foreground ,fg-main)))
4417 `(web-mode-jsx-depth-2-face ((,class :background ,blue-subtle-bg :foreground ,fg-main)))
4418 `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
4419 `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg)))
4420 `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced)))
4421 `(web-mode-keyword-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4422 magenta-alt-other magenta-alt-other-faint)
4423 ,@(modus-vivendi-theme-bold-weight))))
4424 `(web-mode-param-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4425 magenta magenta-faint))))
4426 `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face)))
4427 `(web-mode-part-face ((,class :inherit web-mode-block-face)))
4428 `(web-mode-part-string-face ((,class :inherit web-mode-string-face)))
4429 `(web-mode-preprocessor-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4430 red-alt-other red-alt-other-faint))))
4431 `(web-mode-script-face ((,class :inherit web-mode-part-face)))
4432 `(web-mode-sql-keyword-face ((,class :inherit bold
4433 ,@(modus-vivendi-theme-syntax-foreground
4434 yellow yellow-faint))))
4435 `(web-mode-string-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4436 blue-alt blue-alt-faint))))
4437 `(web-mode-style-face ((,class :inherit web-mode-part-face)))
4438 `(web-mode-symbol-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4439 blue-alt-other blue-alt-other-faint))))
4440 `(web-mode-type-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4441 magenta-alt magenta-alt-faint))))
4442 `(web-mode-underline-face ((,class :underline t)))
4443 `(web-mode-variable-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4444 cyan cyan-faint))))
4445 `(web-mode-warning-face ((,class :inherit bold :background ,bg-alt
4446 ,@(modus-vivendi-theme-syntax-foreground
4447 yellow-alt-other yellow-alt-other-faint))))
4448 `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
4449;;;;; wgrep
4450 `(wgrep-delete-face ((,class :inherit modus-theme-refine-yellow)))
4451 `(wgrep-done-face ((,class :inherit modus-theme-refine-blue)))
4452 `(wgrep-face ((,class :inherit modus-theme-refine-green)))
4453 `(wgrep-file-face ((,class :foreground ,fg-special-warm)))
4454 `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold))))
4455;;;;; which-function-mode
4456 `(which-func ((,class :foreground ,magenta-active)))
4457;;;;; which-key
4458 `(which-key-command-description-face ((,class :foreground ,cyan)))
4459 `(which-key-group-description-face ((,class :foreground ,magenta-alt)))
4460 `(which-key-highlighted-command-face ((,class :foreground ,cyan-alt :underline t)))
4461 `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense)))
4462 `(which-key-local-map-description-face ((,class :foreground ,fg-main)))
4463 `(which-key-note-face ((,class :background ,bg-dim :foreground ,fg-special-mild)))
4464 `(which-key-separator-face ((,class :foreground ,fg-alt)))
4465 `(which-key-special-key-face ((,class :inherit bold :foreground ,yellow-intense)))
4466;;;;; whitespace-mode
4467 `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red)))
4468 `(whitespace-empty ((,class :inherit modus-theme-intense-magenta)))
4469 `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
4470 `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
4471 `(whitespace-line ((,class :inherit modus-theme-special-warm)))
4472 `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
4473 `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
4474 `(whitespace-space-after-tab ((,class :inherit modus-theme-subtle-magenta)))
4475 `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan)))
4476 `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
4477 `(whitespace-trailing ((,class :inherit modus-theme-intense-red)))
4478;;;;; window-divider-mode
4479 `(window-divider ((,class :foreground ,fg-window-divider-inner)))
4480 `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer)))
4481 `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer)))
4482;;;;; winum
4483 `(winum-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,cyan-active)))
4484;;;;; writegood-mode
4485 `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t)))
4486 `(writegood-passive-voice-face ((,class :foreground ,yellow-nuanced :underline ,fg-lang-warning)))
4487 `(writegood-weasels-face ((,class :foreground ,red-nuanced :underline ,fg-lang-error)))
4488;;;;; woman
4489 `(woman-addition ((,class :foreground ,magenta-alt-other)))
4490 `(woman-bold ((,class :inherit bold :foreground ,magenta)))
4491 `(woman-italic ((,class :foreground ,cyan :slant italic)))
4492 `(woman-unknown ((,class :foreground ,yellow :slant italic)))
4493;;;;; xah-elisp-mode
4494 `(xah-elisp-at-symbol ((,class :inherit bold
4495 ,@(modus-vivendi-theme-syntax-foreground
4496 red-alt red-alt-faint))))
4497 `(xah-elisp-cap-variable ((,class ,@(modus-vivendi-theme-syntax-foreground
4498 red-alt-other red-alt-other-faint))))
4499 `(xah-elisp-command-face ((,class ,@(modus-vivendi-theme-syntax-foreground
4500 cyan-alt-other cyan-alt-other-faint))))
4501 `(xah-elisp-dollar-symbol ((,class ,@(modus-vivendi-theme-syntax-foreground
4502 green green-faint))))
4503;;;;; xref
4504 `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold)))
4505 `(xref-line-number ((,class :foreground ,fg-alt)))
4506 `(xref-match ((,class :inherit match)))
4507;;;;; yaml-mode
4508 `(yaml-tab-face ((,class :inherit modus-theme-intense-red)))
4509;;;;; yasnippet
4510 `(yas-field-highlight-face ((,class :background ,bg-alt :foreground ,fg-main)))
4511;;;;; ztree
4512 `(ztreep-arrow-face ((,class :foreground ,fg-inactive)))
4513 `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold)))
4514 `(ztreep-diff-header-small-face ((,class :inherit bold :foreground ,fg-special-mild)))
4515 `(ztreep-diff-model-add-face ((,class :foreground ,green)))
4516 `(ztreep-diff-model-diff-face ((,class :foreground ,red)))
4517 `(ztreep-diff-model-ignored-face ((,class :foreground ,fg-alt :strike-through t)))
4518 `(ztreep-diff-model-normal-face ((,class :foreground ,fg-alt)))
4519 `(ztreep-expand-sign-face ((,class :foreground ,blue)))
4520 `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold)))
4521 `(ztreep-leaf-face ((,class :foreground ,cyan)))
4522 `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm)))
4523 `(ztreep-node-face ((,class :foreground ,fg-main))))
4524;;;; Emacs 27+
4525 (when (>= emacs-major-version 27)
4526 (custom-theme-set-faces
4527 'modus-vivendi
4528;;;;; line numbers (`display-line-numbers-mode' and global variant)
4529 ;; NOTE that this is specifically for the faces that were
4530 ;; introduced in Emacs 27, as the other faces are already
4531 ;; supported.
4532 `(line-number-major-tick ((,class :inherit (bold default)
4533 :background ,yellow-nuanced-bg
4534 :foreground ,yellow-nuanced)))
4535 `(line-number-minor-tick ((,class :inherit (bold default)
4536 :background ,bg-inactive
4537 :foreground ,fg-inactive)))
4538;;;;; tab-bar-mode
4539 `(tab-bar ((,class :background ,bg-tab-bar :foreground ,fg-main)))
4540 `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active)
4541 :background ,bg-tab-active :foreground ,fg-main)))
4542 `(tab-bar-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive)
4543 :background ,bg-tab-inactive :foreground ,fg-dim)))
4544;;;;; tab-line-mode
4545 `(tab-line ((,class :height 0.95 :background ,bg-tab-bar :foreground ,fg-main)))
4546 `(tab-line-close-highlight ((,class :foreground ,red)))
4547 `(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground ,fg-dim)))
4548 `(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active)
4549 :background ,bg-tab-active :foreground ,fg-main)))
4550 `(tab-line-tab-current ((,class :inherit tab-line-tab)))
4551 `(tab-line-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive)
4552 :background ,bg-tab-inactive :foreground ,fg-dim)))))
4553;;;; Emacs 28+
4554 (when (>= emacs-major-version 28)
4555 (custom-theme-set-faces
4556 'modus-vivendi
4557;;;;; isearch regexp groups
4558 `(isearch-group-1 ((,class :inherit modus-theme-intense-blue)))
4559 `(isearch-group-2 ((,class :inherit modus-theme-intense-magenta)))))
4560;;; variables
4561 (custom-theme-set-variables
4562 'modus-vivendi
4563;;;; ansi-colors
4564 `(ansi-color-faces-vector [default bold shadow italic underline success warning error])
4565 `(ansi-color-names-vector [,bg-main ,red ,green ,yellow ,blue ,magenta ,cyan ,fg-main])
4566;;;; awesome-tray
4567 `(awesome-tray-mode-line-active-color ,blue)
4568 `(awesome-tray-mode-line-inactive-color ,bg-active)
4569;;;; flymake fringe indicators
4570 `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red))
4571 `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow))
4572 `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan))
4573;;;; ibuffer
4574 `(ibuffer-deletion-face 'modus-theme-mark-del)
4575 `(ibuffer-filter-group-name-face 'modus-theme-mark-symbol)
4576 `(ibuffer-marked-face 'modus-theme-mark-sel)
4577 `(ibuffer-title-face 'modus-theme-pseudo-header)
4578;;;; highlight-tail
4579 `(highlight-tail-colors
4580 '((,green-subtle-bg . 0)
4581 (,cyan-subtle-bg . 20)))
4582;;;; hl-todo
4583 `(hl-todo-keyword-faces
4584 '(("HOLD" . ,yellow-alt)
4585 ("TODO" . ,magenta)
4586 ("NEXT" . ,magenta-alt-other)
4587 ("THEM" . ,magenta-alt)
4588 ("PROG" . ,cyan)
4589 ("OKAY" . ,cyan-alt)
4590 ("DONT" . ,green-alt)
4591 ("FAIL" . ,red)
4592 ("BUG" . ,red)
4593 ("DONE" . ,green)
4594 ("NOTE" . ,yellow-alt-other)
4595 ("KLUDGE" . ,yellow)
4596 ("HACK" . ,yellow)
4597 ("TEMP" . ,red-nuanced)
4598 ("FIXME" . ,red-alt-other)
4599 ("XXX+" . ,red-alt)
4600 ("REVIEW" . ,cyan-alt-other)
4601 ("DEPRECATED" . ,blue-nuanced)))
4602;;;; vc-annotate (C-x v g)
4603 `(vc-annotate-background nil)
4604 `(vc-annotate-background-mode nil)
4605 `(vc-annotate-color-map
4606 '((20 . ,red)
4607 (40 . ,magenta)
4608 (60 . ,magenta-alt)
4609 (80 . ,red-alt)
4610 (100 . ,yellow)
4611 (120 . ,yellow-alt)
4612 (140 . ,fg-special-warm)
4613 (160 . ,fg-special-mild)
4614 (180 . ,green)
4615 (200 . ,green-alt)
4616 (220 . ,cyan-alt-other)
4617 (240 . ,cyan-alt)
4618 (260 . ,cyan)
4619 (280 . ,fg-special-cold)
4620 (300 . ,blue)
4621 (320 . ,blue-alt)
4622 (340 . ,blue-alt-other)
4623 (360 . ,magenta-alt-other)))
4624 `(vc-annotate-very-old-color nil)
4625;;;; xterm-color
4626 `(xterm-color-names [,bg-main ,red ,green ,yellow ,blue ,magenta ,cyan ,fg-alt])
4627 `(xterm-color-names-bright [,bg-alt ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt ,fg-main]))
4628;;; Conditional theme variables
4629;;;; org-src-block-faces
4630 ;; this is a user option to add a colour-coded background to source
4631 ;; blocks for various programming languages
4632 (when (eq modus-vivendi-theme-org-blocks 'rainbow)
4633 (custom-theme-set-variables
4634 'modus-vivendi
4635 `(org-src-block-faces ; TODO this list should be expanded
4636 `(("emacs-lisp" modus-theme-nuanced-magenta)
4637 ("elisp" modus-theme-nuanced-magenta)
4638 ("clojure" modus-theme-nuanced-magenta)
4639 ("clojurescript" modus-theme-nuanced-magenta)
4640 ("c" modus-theme-nuanced-blue)
4641 ("c++" modus-theme-nuanced-blue)
4642 ("sh" modus-theme-nuanced-green)
4643 ("shell" modus-theme-nuanced-green)
4644 ("html" modus-theme-nuanced-yellow)
4645 ("xml" modus-theme-nuanced-yellow)
4646 ("css" modus-theme-nuanced-red)
4647 ("scss" modus-theme-nuanced-red)
4648 ("python" modus-theme-nuanced-green)
4649 ("ipython" modus-theme-nuanced-magenta)
4650 ("r" modus-theme-nuanced-cyan)
4651 ("yaml" modus-theme-nuanced-cyan)
4652 ("conf" modus-theme-nuanced-cyan)
4653 ("docker" modus-theme-nuanced-cyan)
4654 ("json" modus-theme-nuanced-cyan))))))
4655 61
4656;;; library provides 62(modus-themes-theme modus-vivendi)
4657;;;###autoload
4658(when load-file-name
4659 (add-to-list 'custom-theme-load-path
4660 (file-name-as-directory (file-name-directory load-file-name))))
4661 63
4662(provide-theme 'modus-vivendi) 64(provide-theme 'modus-vivendi)
4663 65