aboutsummaryrefslogtreecommitdiffstats
path: root/etc/themes/modus-themes.el
diff options
context:
space:
mode:
Diffstat (limited to 'etc/themes/modus-themes.el')
-rw-r--r--etc/themes/modus-themes.el6436
1 files changed, 6436 insertions, 0 deletions
diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el
new file mode 100644
index 00000000000..79846dbf3af
--- /dev/null
+++ b/etc/themes/modus-themes.el
@@ -0,0 +1,6436 @@
1;;; modus-themes.el --- Highly accessible themes (WCAG AAA) -*- lexical-binding:t -*-
2
3;; Copyright (C) 2019-2021 Free Software Foundation, Inc.
4
5;; Author: Protesilaos Stavrou <info@protesilaos.com>
6;; URL: https://gitlab.com/protesilaos/modus-themes
7;; Version: 1.2.0
8;; Package-Requires: ((emacs "26.1"))
9;; Keywords: faces, theme, accessibility
10
11;; This file is part of GNU Emacs.
12
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
15;; the Free Software Foundation, either version 3 of the License, or (at
16;; your option) any later version.
17;;
18;; This program is distributed in the hope that it will be useful, but
19;; WITHOUT ANY WARRANTY; without even the implied warranty of
20;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21;; General Public License for more details.
22;;
23;; You should have received a copy of the GNU General Public License
24;; along with this program. If not, see <https://www.gnu.org/licenses/>.
25
26;;; Commentary:
27;;
28;; The Modus themes conform with the highest standard for color-contrast
29;; accessibility between background and foreground values (WCAG AAA).
30;; This file contains all customization options, helper functions,
31;; interactive commands, and face specifications. Please refer to the
32;; official Info manual for further documentation (distributed with the
33;; themes, or available at: <https://protesilaos.com/modus-themes>).
34;;
35;; The themes share the following customization options, all of which
36;; are disabled by default (nil):
37;;
38;; modus-themes-slanted-constructs (boolean)
39;; modus-themes-bold-constructs (boolean)
40;; modus-themes-variable-pitch-headings (boolean)
41;; modus-themes-variable-pitch-ui (boolean)
42;; modus-themes-no-mixed-fonts (boolean)
43;; modus-themes-headings (alist)
44;; modus-themes-scale-headings (boolean)
45;; modus-themes-fringes (choice)
46;; modus-themes-lang-checkers (choice)
47;; modus-themes-org-blocks (choice)
48;; modus-themes-org-habit (choice)
49;; modus-themes-prompts (choice)
50;; modus-themes-mode-line (choice)
51;; modus-themes-diffs (choice)
52;; modus-themes-syntax (choice)
53;; modus-themes-intense-hl-line (boolean)
54;; modus-themes-subtle-line-numbers (boolean)
55;; modus-themes-paren-match (choice)
56;; modus-themes-region (choice)
57;; modus-themes-links (choice)
58;; modus-themes-completions (choice)
59;;
60;; The default scale for headings is as follows (it can be customized as
61;; well---remember, no scaling takes place by default):
62;;
63;; modus-themes-scale-1 1.05
64;; modus-themes-scale-2 1.1
65;; modus-themes-scale-3 1.15
66;; modus-themes-scale-4 1.2
67;; modus-themes-scale-5 1.3
68;;
69;; There also exist two unique customization options for overriding
70;; color palette values. The specifics are documented in the manual.
71;; The symbols are:
72;;
73;; modus-themes-operandi-color-overrides (alist)
74;; modus-themes-vivendi-color-overrides (alist)
75;;
76;; Below is the list of explicitly supported packages or face groups
77;; (there are implicitly supported packages as well, which inherit from
78;; font-lock or some basic group). You are encouraged to report any
79;; missing package or change you would like to see.
80;;
81;; ace-window
82;; ag
83;; alert
84;; all-the-icons
85;; annotate
86;; anzu
87;; apropos
88;; apt-sources-list
89;; artbollocks-mode
90;; auctex and TeX
91;; auto-dim-other-buffers
92;; avy
93;; awesome-tray
94;; bbdb
95;; binder
96;; bm
97;; bongo
98;; boon
99;; breakpoint (provided by built-in gdb-mi.el)
100;; buffer-expose
101;; calendar and diary
102;; calfw
103;; centaur-tabs
104;; cfrs
105;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
106;; cider
107;; circe
108;; color-rg
109;; column-enforce-mode
110;; company-mode
111;; company-posframe
112;; compilation-mode
113;; completions
114;; consult
115;; counsel
116;; counsel-css
117;; counsel-notmuch
118;; counsel-org-capture-string
119;; cov
120;; cperl-mode
121;; csv-mode
122;; ctrlf
123;; custom (M-x customize)
124;; dap-mode
125;; dashboard (emacs-dashboard)
126;; deadgrep
127;; debbugs
128;; define-word
129;; deft
130;; dictionary
131;; diff-hl
132;; diff-mode
133;; dim-autoload
134;; dir-treeview
135;; dired
136;; dired-async
137;; dired-git
138;; dired-git-info
139;; dired-narrow
140;; dired-subtree
141;; diredc
142;; diredfl
143;; diredp (dired+)
144;; disk-usage
145;; display-fill-column-indicator-mode
146;; doom-modeline
147;; dynamic-ruler
148;; easy-jekyll
149;; easy-kill
150;; ebdb
151;; ediff
152;; eglot
153;; el-search
154;; eldoc
155;; eldoc-box
156;; elfeed
157;; elfeed-score
158;; emms
159;; enhanced-ruby-mode
160;; epa
161;; equake
162;; erc
163;; eros
164;; ert
165;; eshell
166;; eshell-fringe-status
167;; eshell-git-prompt
168;; eshell-prompt-extras (epe)
169;; eshell-syntax-highlighting
170;; evil (evil-mode)
171;; evil-goggles
172;; evil-snipe
173;; evil-visual-mark-mode
174;; eww
175;; exwm
176;; eyebrowse
177;; fancy-dabbrev
178;; flycheck
179;; flycheck-color-mode-line
180;; flycheck-indicator
181;; flycheck-posframe
182;; flymake
183;; flyspell
184;; flyspell-correct
185;; flx
186;; freeze-it
187;; frog-menu
188;; focus
189;; fold-this
190;; font-lock (generic syntax highlighting)
191;; forge
192;; fountain (fountain-mode)
193;; geiser
194;; git-commit
195;; git-gutter (and variants)
196;; git-lens
197;; git-rebase
198;; git-timemachine
199;; git-walktree
200;; gnus
201;; golden-ratio-scroll-screen
202;; helm
203;; helm-ls-git
204;; helm-switch-shell
205;; helm-xref
206;; helpful
207;; highlight-blocks
208;; highlight-defined
209;; highlight-escape-sequences (`hes-mode')
210;; highlight-indentation
211;; highlight-numbers
212;; highlight-symbol
213;; highlight-tail
214;; highlight-thing
215;; hl-defined
216;; hl-fill-column
217;; hl-line-mode
218;; hl-todo
219;; hydra
220;; hyperlist
221;; ibuffer
222;; icomplete
223;; ido-mode
224;; iedit
225;; iflipb
226;; imenu-list
227;; indium
228;; info
229;; info-colors
230;; interaction-log
231;; ioccur
232;; isearch, occur, etc.
233;; isl (isearch-light)
234;; ivy
235;; ivy-posframe
236;; jira (org-jira)
237;; journalctl-mode
238;; js2-mode
239;; julia
240;; jupyter
241;; kaocha-runner
242;; keycast
243;; line numbers (`display-line-numbers-mode' and global variant)
244;; lsp-mode
245;; lsp-ui
246;; macrostep
247;; magit
248;; magit-imerge
249;; make-mode
250;; man
251;; marginalia
252;; markdown-mode
253;; markup-faces (`adoc-mode')
254;; mentor
255;; messages
256;; minibuffer-line
257;; minimap
258;; mmm-mode
259;; modeline
260;; mood-line
261;; mpdel
262;; mu4e
263;; mu4e-conversation
264;; multiple-cursors
265;; neotree
266;; no-emoji
267;; notmuch
268;; num3-mode
269;; nxml-mode
270;; objed
271;; orderless
272;; org
273;; org-journal
274;; org-noter
275;; org-pomodoro
276;; org-recur
277;; org-roam
278;; org-superstar
279;; org-table-sticky-header
280;; org-tree-slide
281;; org-treescope
282;; origami
283;; outline-mode
284;; outline-minor-faces
285;; package (M-x list-packages)
286;; page-break-lines
287;; paradox
288;; paren-face
289;; parrot
290;; pass
291;; pdf-tools
292;; persp-mode
293;; perspective
294;; phi-grep
295;; phi-search
296;; pkgbuild-mode
297;; pomidor
298;; popup
299;; powerline
300;; powerline-evil
301;; prism (see "Note for prism.el" in the manual)
302;; proced
303;; prodigy
304;; quick-peek
305;; racket-mode
306;; rainbow-blocks
307;; rainbow-identifiers
308;; rainbow-delimiters
309;; rcirc
310;; recursion-indicator
311;; regexp-builder (also known as `re-builder')
312;; rg
313;; ripgrep
314;; rmail
315;; ruler-mode
316;; sallet
317;; selectrum
318;; selectrum-prescient
319;; semantic
320;; sesman
321;; shell-script-mode
322;; shortdoc
323;; show-paren-mode
324;; shr
325;; side-notes
326;; sieve-mode
327;; skewer-mode
328;; smart-mode-line
329;; smartparens
330;; smerge
331;; spaceline
332;; speedbar
333;; spell-fu
334;; spray
335;; stripes
336;; suggest
337;; switch-window
338;; swiper
339;; swoop
340;; sx
341;; symbol-overlay
342;; tab-bar-mode
343;; tab-line-mode
344;; syslog-mode
345;; table (built-in table.el)
346;; telephone-line
347;; terraform-mode
348;; term
349;; tomatinho
350;; transient (pop-up windows like Magit's)
351;; trashed
352;; treemacs
353;; tty-menu
354;; tuareg
355;; typescript
356;; undo-tree
357;; vc (built-in mode line status for version control)
358;; vc-annotate (C-x v g)
359;; vdiff
360;; vimish-fold
361;; visible-mark
362;; visual-regexp
363;; volatile-highlights
364;; vterm
365;; wcheck-mode
366;; web-mode
367;; wgrep
368;; which-function-mode
369;; which-key
370;; whitespace-mode
371;; window-divider-mode
372;; winum
373;; writegood-mode
374;; woman
375;; xah-elisp-mode
376;; xref
377;; xterm-color (and ansi-colors)
378;; yaml-mode
379;; yasnippet
380;; ztree
381;;
382;; For a complete view of the project, also refer to the following files
383;; (should be distributed in the same repository/directory as the
384;; current item):
385;;
386;; - modus-operandi-theme.el (Light theme)
387;; - modus-vivendi-theme.el (Dark theme)
388
389;;; Code:
390
391
392
393(eval-when-compile (require 'cl-lib))
394
395(defgroup modus-themes ()
396 "Options for `modus-operandi', `modus-vivendi'."
397 :group 'faces
398 :link '(info-link "(modus-themes) Top")
399 :prefix "modus-themes-"
400 :tag "Modus Themes")
401
402;;; Variables for each theme variant
403
404;;;; Modus Operandi
405
406(define-obsolete-variable-alias
407 'modus-operandi-theme-default-colors-alist
408 'modus-themes-colors-operandi
409 "1.0.0")
410
411(define-obsolete-variable-alias
412 'modus-themes-colors-operandi
413 'modus-themes-operandi-colors
414 "1.1.0")
415
416(defconst modus-themes-operandi-colors
417 '(;; base values
418 (bg-main . "#ffffff") (fg-main . "#000000")
419 (bg-dim . "#f8f8f8") (fg-dim . "#282828")
420 (bg-alt . "#f0f0f0") (fg-alt . "#505050")
421 ;; specifically for on/off states and must be combined with
422 ;; themselves, though the backgrounds are also meant to be used with
423 ;; other "active" values, defined further below
424 (bg-active . "#d7d7d7") (fg-active . "#0a0a0a")
425 (bg-inactive . "#efefef") (fg-inactive . "#404148")
426 ;; these special values are intended as alternatives to the base
427 ;; values for cases where we need to avoid confusion between the
428 ;; highlighted constructs; they must either be used as pairs based
429 ;; on their name or each can be combined with {fg,bg}-{main,alt,dim}
430 ;; always in accordance with their role as background or foreground
431 (bg-special-cold . "#dde3f4") (fg-special-cold . "#093060")
432 (bg-special-mild . "#c4ede0") (fg-special-mild . "#184034")
433 (bg-special-warm . "#f0e0d4") (fg-special-warm . "#5d3026")
434 (bg-special-calm . "#f8ddea") (fg-special-calm . "#61284f")
435 ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt
436 (red . "#a60000")
437 (red-alt . "#972500")
438 (red-alt-other . "#a0132f")
439 (red-faint . "#7f1010")
440 (red-alt-faint . "#702f00")
441 (red-alt-other-faint . "#7f002f")
442 (green . "#005e00")
443 (green-alt . "#315b00")
444 (green-alt-other . "#145c33")
445 (green-faint . "#104410")
446 (green-alt-faint . "#30440f")
447 (green-alt-other-faint . "#0f443f")
448 (yellow . "#813e00")
449 (yellow-alt . "#70480f")
450 (yellow-alt-other . "#863927")
451 (yellow-faint . "#5f4400")
452 (yellow-alt-faint . "#5d5000")
453 (yellow-alt-other-faint . "#5e3a20")
454 (blue . "#0031a9")
455 (blue-alt . "#2544bb")
456 (blue-alt-other . "#0000c0")
457 (blue-faint . "#003497")
458 (blue-alt-faint . "#0f3d8c")
459 (blue-alt-other-faint . "#001087")
460 (magenta . "#721045")
461 (magenta-alt . "#8f0075")
462 (magenta-alt-other . "#5317ac")
463 (magenta-faint . "#752f50")
464 (magenta-alt-faint . "#7b206f")
465 (magenta-alt-other-faint . "#55348e")
466 (cyan . "#00538b")
467 (cyan-alt . "#30517f")
468 (cyan-alt-other . "#005a5f")
469 (cyan-faint . "#005077")
470 (cyan-alt-faint . "#354f6f")
471 (cyan-alt-other-faint . "#125458")
472 ;; these foreground values can only be combined with bg-main and are
473 ;; thus not suitable for general purpose highlighting
474 (red-intense . "#b60000")
475 (orange-intense . "#904200")
476 (green-intense . "#006800")
477 (yellow-intense . "#605b00")
478 (blue-intense . "#1f1fce")
479 (magenta-intense . "#a8007f")
480 (purple-intense . "#7f10d0")
481 (cyan-intense . "#005f88")
482 ;; those foregrounds are meant exclusively for bg-active, bg-inactive
483 (red-active . "#8a0000")
484 (green-active . "#004c2e")
485 (yellow-active . "#702d1f")
486 (blue-active . "#0030b4")
487 (magenta-active . "#5c2092")
488 (cyan-active . "#003f8a")
489 ;; the "subtle" values below be combined with fg-dim, while the
490 ;; "intense" should be paired with fg-main
491 (red-subtle-bg . "#f2b0a2")
492 (red-intense-bg . "#ff8892")
493 (green-subtle-bg . "#aecf90")
494 (green-intense-bg . "#5ada88")
495 (yellow-subtle-bg . "#e4c340")
496 (yellow-intense-bg . "#f5df23")
497 (blue-subtle-bg . "#b5d0ff")
498 (blue-intense-bg . "#6aaeff")
499 (magenta-subtle-bg . "#f0d3ff")
500 (magenta-intense-bg . "#d5baff")
501 (cyan-subtle-bg . "#c0efff")
502 (cyan-intense-bg . "#42cbd4")
503 ;; those background values must be combined with fg-main and should
504 ;; only be used for indicators that are placed on the fringes
505 (red-fringe-bg . "#f08290")
506 (green-fringe-bg . "#62c86a")
507 (yellow-fringe-bg . "#dbba3f")
508 (blue-fringe-bg . "#82afff")
509 (magenta-fringe-bg . "#e0a3ff")
510 (cyan-fringe-bg . "#2fcddf")
511 ;; those background values should only be used for graphs or similar
512 ;; applications where colored blocks are expected to be positioned
513 ;; next to each other
514 (red-graph-0-bg . "#ef6f79")
515 (red-graph-1-bg . "#ff9f9f")
516 (green-graph-0-bg . "#49d239")
517 (green-graph-1-bg . "#6dec6d")
518 (yellow-graph-0-bg . "#efec08")
519 (yellow-graph-1-bg . "#dbff4e")
520 (blue-graph-0-bg . "#55a2f0")
521 (blue-graph-1-bg . "#7fcfff")
522 (magenta-graph-0-bg . "#ba86ef")
523 (magenta-graph-1-bg . "#e7afff")
524 (cyan-graph-0-bg . "#30d3f0")
525 (cyan-graph-1-bg . "#6fefff")
526 ;; the following are for cases where both the foreground and the
527 ;; background need to have a similar hue and so must be combined
528 ;; with themselves, even though the foregrounds can be paired with
529 ;; any of the base backgrounds
530 (red-refine-bg . "#ffcccc") (red-refine-fg . "#780000")
531 (green-refine-bg . "#aceaac") (green-refine-fg . "#004c00")
532 (yellow-refine-bg . "#fff29a") (yellow-refine-fg . "#604000")
533 (blue-refine-bg . "#8ac7ff") (blue-refine-fg . "#002288")
534 (magenta-refine-bg . "#ffccff") (magenta-refine-fg . "#770077")
535 (cyan-refine-bg . "#8eecf4") (cyan-refine-fg . "#004850")
536 ;; the "nuanced" backgrounds can be combined with all of the above
537 ;; foregrounds, as well as those included here, while the "nuanced"
538 ;; foregrounds can in turn also be combined with bg-main, bg-dim,
539 ;; bg-alt
540 (red-nuanced-bg . "#fff1f0") (red-nuanced-fg . "#5f0000")
541 (green-nuanced-bg . "#ecf7ed") (green-nuanced-fg . "#004000")
542 (yellow-nuanced-bg . "#fff3da") (yellow-nuanced-fg . "#3f3000")
543 (blue-nuanced-bg . "#f3f3ff") (blue-nuanced-fg . "#201f55")
544 (magenta-nuanced-bg . "#fdf0ff") (magenta-nuanced-fg . "#541f4f")
545 (cyan-nuanced-bg . "#ebf6fa") (cyan-nuanced-fg . "#0f3360")
546 ;; the following are reserved for specific cases
547 ;;
548 ;; bg-hl-line is between bg-dim and bg-alt, so it should
549 ;; work with all accents that cover those two, plus bg-main
550 ;;
551 ;; bg-hl-alt and bg-hl-alt-intense should only be used when no
552 ;; other greyscale or fairly neutral background is available to
553 ;; properly draw attention to a given construct
554 ;;
555 ;; bg-header is between bg-active and bg-inactive, so it
556 ;; can be combined with any of the "active" values, plus the
557 ;; "special" and base foreground colors
558 ;;
559 ;; bg-paren-match, bg-paren-match-intense, bg-region and
560 ;; bg-tab-active must be combined with fg-main, while
561 ;; bg-tab-inactive should be combined with fg-dim, whereas
562 ;; bg-tab-inactive-alt goes together with fg-main
563 ;;
564 ;; bg-tab-bar is only intended for the bar that holds the tabs and
565 ;; can only be combined with fg-main
566 ;;
567 ;; fg-tab-active is meant to be combined with bg-tab-active,
568 ;; though only for styling special elements, such as underlining
569 ;; the current tab
570 ;;
571 ;; fg-escape-char-construct and fg-escape-char-backslash can
572 ;; be combined bg-main, bg-dim, bg-alt
573 ;;
574 ;; fg-lang-error, fg-lang-warning, fg-lang-note can be
575 ;; combined with bg-main, bg-dim, bg-alt
576 ;;
577 ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined
578 ;; with bg-main, bg-dim, bg-alt, bg-hl-line
579 ;;
580 ;; fg-unfocused must be combined with bg-main
581 ;;
582 ;; fg-docstring, fg-comment-yellow can be combined with
583 ;; bg-main, bg-dim, bg-alt
584 ;;
585 ;; the window divider colors apply to faces with just an fg value
586 ;;
587 ;; all pairs are combinable with themselves
588 (bg-hl-line . "#f2eff3")
589 (bg-hl-line-intense . "#e0e0e0")
590 (bg-hl-alt . "#fbeee0")
591 (bg-hl-alt-intense . "#e8dfd1")
592 (bg-paren-match . "#e0af82")
593 (bg-paren-match-intense . "#c488ff")
594 (bg-region . "#bcbcbc")
595
596 (bg-tab-bar . "#d5d5d5")
597 (bg-tab-active . "#f6f6f6")
598 (bg-tab-inactive . "#bdbdbd")
599 (bg-tab-inactive-alt . "#999999")
600 (fg-tab-active . "#30169e")
601
602 (fg-escape-char-construct . "#8b1030")
603 (fg-escape-char-backslash . "#654d0f")
604
605 (fg-lang-error . "#9f004f")
606 (fg-lang-warning . "#604f0f")
607 (fg-lang-note . "#4040ae")
608 (fg-lang-underline-error . "#ef4f54")
609 (fg-lang-underline-warning . "#cf9f00")
610 (fg-lang-underline-note . "#3f6fef")
611
612 (fg-window-divider-inner . "#888888")
613 (fg-window-divider-outer . "#585858")
614
615 (fg-unfocused . "#56576d")
616
617 (fg-docstring . "#2a486a")
618 (fg-comment-yellow . "#5f4400")
619
620 (bg-header . "#e5e5e5") (fg-header . "#2a2a2a")
621
622 (bg-whitespace . "#f5efef") (fg-whitespace . "#624956")
623
624 (bg-diff-heading . "#b7cfe0") (fg-diff-heading . "#041645")
625 (bg-diff-added . "#d4fad4") (fg-diff-added . "#004500")
626 (bg-diff-added-deuteran . "#daefff") (fg-diff-added-deuteran . "#002044")
627 (bg-diff-changed . "#fcefcf") (fg-diff-changed . "#524200")
628 (bg-diff-removed . "#ffe8ef") (fg-diff-removed . "#691616")
629
630 (bg-diff-refine-added . "#94cf94") (fg-diff-refine-added . "#002a00")
631 (bg-diff-refine-added-deuteran . "#77c0ef") (fg-diff-refine-added-deuteran . "#000035")
632 (bg-diff-refine-changed . "#cccf8f") (fg-diff-refine-changed . "#302010")
633 (bg-diff-refine-removed . "#daa2b0") (fg-diff-refine-removed . "#400000")
634
635 (bg-diff-focus-added . "#bbeabb") (fg-diff-focus-added . "#002c00")
636 (bg-diff-focus-added-deuteran . "#bacfff") (fg-diff-focus-added-deuteran . "#001755")
637 (bg-diff-focus-changed . "#ecdfbf") (fg-diff-focus-changed . "#392900")
638 (bg-diff-focus-removed . "#efcbcf") (fg-diff-focus-removed . "#4a0000")
639
640 (bg-diff-neutral-0 . "#979797") (fg-diff-neutral-0 . "#040404")
641 (bg-diff-neutral-1 . "#b0b0b0") (fg-diff-neutral-1 . "#252525")
642 (bg-diff-neutral-2 . "#cccccc") (fg-diff-neutral-2 . "#3a3a3a")
643
644 (bg-mark-sel . "#a0f0cf") (fg-mark-sel . "#005040")
645 (bg-mark-del . "#ffccbb") (fg-mark-del . "#840040")
646 (bg-mark-alt . "#f5d88f") (fg-mark-alt . "#782900"))
647 "The entire palette of `modus-operandi' theme.
648Each element has the form (NAME . HEX) with the former as a
649symbol and the latter as a string.")
650
651;;;; Modus Vivendi
652
653(define-obsolete-variable-alias
654 'modus-vivendi-theme-default-colors-alist
655 'modus-themes-colors-vivendi
656 "1.0.0")
657
658(define-obsolete-variable-alias
659 'modus-themes-colors-vivendi
660 'modus-themes-vivendi-colors
661 "1.1.0")
662
663(defconst modus-themes-vivendi-colors
664 '(;; base values
665 (bg-main . "#000000") (fg-main . "#ffffff")
666 (bg-dim . "#110b11") (fg-dim . "#e0e6f0")
667 (bg-alt . "#181a20") (fg-alt . "#a8a8a8")
668 ;; specifically for on/off states and must be combined with
669 ;; themselves, though the backgrounds are also meant to be used with
670 ;; other "active" values, defined further below
671 (bg-active . "#323232") (fg-active . "#f4f4f4")
672 (bg-inactive . "#1e1e1e") (fg-inactive . "#bfc0c4")
673 ;; these special values are intended as alternatives to the base
674 ;; values for cases where we need to avoid confusion between the
675 ;; highlighted constructs; they must either be used as pairs based
676 ;; on their name or each can be combined with {fg,bg}-{main,alt,dim}
677 ;; always in accordance with their role as background or foreground
678 (bg-special-cold . "#203448") (fg-special-cold . "#c6eaff")
679 (bg-special-mild . "#00322e") (fg-special-mild . "#bfebe0")
680 (bg-special-warm . "#382f27") (fg-special-warm . "#f8dec0")
681 (bg-special-calm . "#392a48") (fg-special-calm . "#fbd6f4")
682 ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt
683 (red . "#ff8059")
684 (red-alt . "#f4923b")
685 (red-alt-other . "#ff9977")
686 (red-faint . "#ffa0a0")
687 (red-alt-faint . "#f5aa80")
688 (red-alt-other-faint . "#ff9fbf")
689 (green . "#44bc44")
690 (green-alt . "#70c900")
691 (green-alt-other . "#00cd68")
692 (green-faint . "#88cf88")
693 (green-alt-faint . "#a8cf88")
694 (green-alt-other-faint . "#88cfaf")
695 (yellow . "#eecc00")
696 (yellow-alt . "#cfdf30")
697 (yellow-alt-other . "#f0ce43")
698 (yellow-faint . "#d2b580")
699 (yellow-alt-faint . "#cabf77")
700 (yellow-alt-other-faint . "#d0ba95")
701 (blue . "#2fafff")
702 (blue-alt . "#79a8ff" )
703 (blue-alt-other . "#00bcff")
704 (blue-faint . "#92baff")
705 (blue-alt-faint . "#a0acf5")
706 (blue-alt-other-faint . "#87c8ff")
707 (magenta . "#feacd0")
708 (magenta-alt . "#f78fe7")
709 (magenta-alt-other . "#b6a0ff")
710 (magenta-faint . "#e0b2d6")
711 (magenta-alt-faint . "#ef9fe4")
712 (magenta-alt-other-faint . "#cfa6ff")
713 (cyan . "#00d3d0")
714 (cyan-alt . "#4ae8fc")
715 (cyan-alt-other . "#6ae4b9")
716 (cyan-faint . "#90c4ed")
717 (cyan-alt-faint . "#a0bfdf")
718 (cyan-alt-other-faint . "#a4d0bb")
719 ;; these foreground values can only be combined with bg-main and are
720 ;; thus not suitable for general purpose highlighting
721 (red-intense . "#fe6060")
722 (orange-intense . "#fba849")
723 (green-intense . "#4fe42f")
724 (yellow-intense . "#f0dd60")
725 (blue-intense . "#4fafff")
726 (magenta-intense . "#ff62d4")
727 (purple-intense . "#9f80ff")
728 (cyan-intense . "#3fdfd0")
729 ;; those foregrounds are meant exclusively for bg-active, bg-inactive
730 (red-active . "#ffa7ba")
731 (green-active . "#70d73f")
732 (yellow-active . "#dbbe5f")
733 (blue-active . "#34cfff")
734 (magenta-active . "#d5b1ff")
735 (cyan-active . "#00d8b4")
736 ;; the "subtle" values below be combined with fg-dim, while the
737 ;; "intense" should be paired with fg-main
738 (red-subtle-bg . "#762422")
739 (red-intense-bg . "#a4202a")
740 (green-subtle-bg . "#2f4a00")
741 (green-intense-bg . "#006800")
742 (yellow-subtle-bg . "#604200")
743 (yellow-intense-bg . "#874900")
744 (blue-subtle-bg . "#10387c")
745 (blue-intense-bg . "#2a40b8")
746 (magenta-subtle-bg . "#49366e")
747 (magenta-intense-bg . "#7042a2")
748 (cyan-subtle-bg . "#00415e")
749 (cyan-intense-bg . "#005f88")
750 ;; those background values must be combined with fg-main and should
751 ;; only be used for indicators that are placed on the fringes
752 (red-fringe-bg . "#8f1f4b")
753 (green-fringe-bg . "#006700")
754 (yellow-fringe-bg . "#6f4f00")
755 (blue-fringe-bg . "#3f33af")
756 (magenta-fringe-bg . "#6f2f89")
757 (cyan-fringe-bg . "#004f8f")
758 ;; those background values should only be used for graphs or similar
759 ;; applications where colored blocks are expected to be positioned
760 ;; next to each other
761 (red-graph-0-bg . "#af0404")
762 (red-graph-1-bg . "#801f2f")
763 (green-graph-0-bg . "#24ba2f")
764 (green-graph-1-bg . "#0f8f07")
765 (yellow-graph-0-bg . "#ffd03e")
766 (yellow-graph-1-bg . "#d7d800")
767 (blue-graph-0-bg . "#406fff")
768 (blue-graph-1-bg . "#2f50c8")
769 (magenta-graph-0-bg . "#af7bee")
770 (magenta-graph-1-bg . "#7f59cf")
771 (cyan-graph-0-bg . "#47dcfa")
772 (cyan-graph-1-bg . "#0bc0df")
773 ;; the following are for cases where both the foreground and the
774 ;; background need to have a similar hue and so must be combined
775 ;; with themselves, even though the foregrounds can be paired with
776 ;; any of the base backgrounds
777 (red-refine-bg . "#77002a") (red-refine-fg . "#ffb9ab")
778 (green-refine-bg . "#00422a") (green-refine-fg . "#9ff0cf")
779 (yellow-refine-bg . "#693200") (yellow-refine-fg . "#e2d980")
780 (blue-refine-bg . "#242679") (blue-refine-fg . "#8ec6ff")
781 (magenta-refine-bg . "#71206a") (magenta-refine-fg . "#ffcaf0")
782 (cyan-refine-bg . "#004065") (cyan-refine-fg . "#8ae4f2")
783 ;; the "nuanced" backgrounds can be combined with all of the above
784 ;; foregrounds, as well as those included here, while the "nuanced"
785 ;; foregrounds can in turn also be combined with bg-main, bg-dim,
786 ;; bg-alt
787 (red-nuanced-bg . "#2c0614") (red-nuanced-fg . "#ffcccc")
788 (green-nuanced-bg . "#001904") (green-nuanced-fg . "#b8e2b8")
789 (yellow-nuanced-bg . "#221000") (yellow-nuanced-fg . "#dfdfb0")
790 (blue-nuanced-bg . "#0f0e39") (blue-nuanced-fg . "#bfd9ff")
791 (magenta-nuanced-bg . "#230631") (magenta-nuanced-fg . "#e5cfef")
792 (cyan-nuanced-bg . "#041529") (cyan-nuanced-fg . "#a8e5e5")
793 ;; the following are reserved for specific cases
794 ;;
795 ;; bg-hl-line is between bg-dim and bg-alt, so it should
796 ;; work with all accents that cover those two, plus bg-main
797 ;;
798 ;; bg-hl-alt and bg-hl-alt-intense should only be used when no
799 ;; other greyscale or fairly neutral background is available to
800 ;; properly draw attention to a given construct
801 ;;
802 ;; bg-header is between bg-active and bg-inactive, so it
803 ;; can be combined with any of the "active" values, plus the
804 ;; "special" and base foreground colors
805 ;;
806 ;; bg-paren-match, bg-paren-match-intense, bg-region and
807 ;; bg-tab-active must be combined with fg-main, while
808 ;; bg-tab-inactive should be combined with fg-dim, whereas
809 ;; bg-tab-inactive-alt goes together with fg-main
810 ;;
811 ;; bg-tab-bar is only intended for the bar that holds the tabs and
812 ;; can only be combined with fg-main
813 ;;
814 ;; fg-tab-active is meant to be combined with bg-tab-active,
815 ;; though only for styling special elements, such as underlining
816 ;; the current tab
817 ;;
818 ;; fg-escape-char-construct and fg-escape-char-backslash can
819 ;; be combined bg-main, bg-dim, bg-alt
820 ;;
821 ;; fg-lang-error, fg-lang-warning, fg-lang-note can be
822 ;; combined with bg-main, bg-dim, bg-alt
823 ;;
824 ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined
825 ;; with bg-main, bg-dim, bg-alt, bg-hl-line
826 ;;
827 ;; fg-unfocused must be combined with bg-main
828 ;;
829 ;; fg-docstring, fg-comment-yellow can be combined with
830 ;; bg-main, bg-dim, bg-alt
831 ;;
832 ;; the window divider colors apply to faces with just an fg value
833 ;;
834 ;; all pairs are combinable with themselves
835 (bg-hl-line . "#151823")
836 (bg-hl-line-intense . "#2f2f2f")
837 (bg-hl-alt . "#181732")
838 (bg-hl-alt-intense . "#282e46")
839 (bg-paren-match . "#5f362f")
840 (bg-paren-match-intense . "#7416b5")
841 (bg-region . "#3c3c3c")
842
843 (bg-tab-bar . "#2c2c2c")
844 (bg-tab-active . "#0e0e0e")
845 (bg-tab-inactive . "#3d3d3d")
846 (bg-tab-inactive-alt . "#595959")
847 (fg-tab-active . "#5ac3cf")
848
849 (fg-escape-char-construct . "#e7a59a")
850 (fg-escape-char-backslash . "#abab00")
851
852 (fg-lang-error . "#ef8690")
853 (fg-lang-warning . "#b0aa00")
854 (fg-lang-note . "#9d9def")
855 (fg-lang-underline-error . "#ff4a6f")
856 (fg-lang-underline-warning . "#d0de00")
857 (fg-lang-underline-note . "#5f6fff")
858
859 (fg-window-divider-inner . "#646464")
860 (fg-window-divider-outer . "#969696")
861
862 (fg-unfocused . "#93959b")
863
864 (fg-docstring . "#b0d6f5")
865 (fg-comment-yellow . "#cab98f")
866
867 (bg-header . "#212121") (fg-header . "#dddddd")
868
869 (bg-whitespace . "#101424") (fg-whitespace . "#aa9e9f")
870
871 (bg-diff-heading . "#304466") (fg-diff-heading . "#dae7ff")
872 (bg-diff-added . "#0a280a") (fg-diff-added . "#94ba94")
873 (bg-diff-added-deuteran . "#001a3f") (fg-diff-added-deuteran . "#c4cdf2")
874 (bg-diff-changed . "#2a2000") (fg-diff-changed . "#b0ba9f")
875 (bg-diff-removed . "#40160f") (fg-diff-removed . "#c6adaa")
876
877 (bg-diff-refine-added . "#005a36") (fg-diff-refine-added . "#e0f6e0")
878 (bg-diff-refine-added-deuteran . "#234f8f") (fg-diff-refine-added-deuteran . "#dde4ff")
879 (bg-diff-refine-changed . "#585800") (fg-diff-refine-changed . "#ffffcc")
880 (bg-diff-refine-removed . "#852828") (fg-diff-refine-removed . "#ffd9eb")
881
882 (bg-diff-focus-added . "#203d20") (fg-diff-focus-added . "#b4ddb4")
883 (bg-diff-focus-added-deuteran . "#00405f") (fg-diff-focus-added-deuteran . "#bfe4ff")
884 (bg-diff-focus-changed . "#4a3a10") (fg-diff-focus-changed . "#d0daaf")
885 (bg-diff-focus-removed . "#5e2526") (fg-diff-focus-removed . "#eebdba")
886
887 (bg-diff-neutral-0 . "#575757") (fg-diff-neutral-0 . "#fcfcfc")
888 (bg-diff-neutral-1 . "#454545") (fg-diff-neutral-1 . "#dddddd")
889 (bg-diff-neutral-2 . "#313131") (fg-diff-neutral-2 . "#bfbfbf")
890
891 (bg-mark-sel . "#002f2f") (fg-mark-sel . "#60cfa2")
892 (bg-mark-del . "#5a0000") (fg-mark-del . "#ff99aa")
893 (bg-mark-alt . "#3f2210") (fg-mark-alt . "#f0aa20"))
894 "The entire palette of `modus-vivendi' theme.
895Each element has the form (NAME . HEX) with the former as a
896symbol and the latter as a string.")
897
898
899
900;;; Custom faces
901
902;; These faces are used internally to ensure consistency between various
903;; groups and to streamline the evaluation of relevant customization
904;; options.
905(defface modus-theme-subtle-red nil
906 "Subtle red background combined with a dimmed foreground.
907This is used for general purpose highlighting, mostly in buffers
908or for completion interfaces.
909
910The actual styling of the face is done by `modus-themes-faces'.")
911
912(defface modus-theme-subtle-green nil
913 "Subtle green background combined with a dimmed foreground.
914This is used for general purpose highlighting, mostly in buffers
915or for completion interfaces.
916
917The actual styling of the face is done by `modus-themes-faces'.")
918
919(defface modus-theme-subtle-yellow nil
920 "Subtle yellow background combined with a dimmed foreground.
921This is used for general purpose highlighting, mostly in buffers
922or for completion interfaces.
923
924The actual styling of the face is done by `modus-themes-faces'.")
925
926(defface modus-theme-subtle-blue nil
927 "Subtle blue background combined with a dimmed foreground.
928This is used for general purpose highlighting, mostly in buffers
929or for completion interfaces.
930
931The actual styling of the face is done by `modus-themes-faces'.")
932
933(defface modus-theme-subtle-magenta nil
934 "Subtle magenta background combined with a dimmed foreground.
935This is used for general purpose highlighting, mostly in buffers
936or for completion interfaces.
937
938The actual styling of the face is done by `modus-themes-faces'.")
939
940(defface modus-theme-subtle-cyan nil
941 "Subtle cyan background combined with a dimmed foreground.
942This is used for general purpose highlighting, mostly in buffers
943or for completion interfaces.
944
945The actual styling of the face is done by `modus-themes-faces'.")
946
947(defface modus-theme-subtle-neutral nil
948 "Subtle gray background combined with a dimmed foreground.
949This is used for general purpose highlighting, mostly in buffers
950or for completion interfaces.
951
952The actual styling of the face is done by `modus-themes-faces'.")
953
954(defface modus-theme-intense-red nil
955 "Intense red background combined with the main foreground.
956This is used for general purpose highlighting, mostly in buffers
957or for completion interfaces.
958
959The actual styling of the face is done by `modus-themes-faces'.")
960
961(defface modus-theme-intense-green nil
962 "Intense green background combined with the main foreground.
963This is used for general purpose highlighting, mostly in buffers
964or for completion interfaces.
965
966The actual styling of the face is done by `modus-themes-faces'.")
967
968(defface modus-theme-intense-yellow nil
969 "Intense yellow background combined with the main foreground.
970This is used for general purpose highlighting, mostly in buffers
971or for completion interfaces.
972
973The actual styling of the face is done by `modus-themes-faces'.")
974
975(defface modus-theme-intense-blue nil
976 "Intense blue background combined with the main foreground.
977This is used for general purpose highlighting, mostly in buffers
978or for completion interfaces.
979
980The actual styling of the face is done by `modus-themes-faces'.")
981
982(defface modus-theme-intense-magenta nil
983 "Intense magenta background combined with the main foreground.
984This is used for general purpose highlighting, mostly in buffers
985or for completion interfaces.
986
987The actual styling of the face is done by `modus-themes-faces'.")
988
989(defface modus-theme-intense-cyan nil
990 "Intense cyan background combined with the main foreground.
991This is used for general purpose highlighting, mostly in buffers
992or for completion interfaces.
993
994The actual styling of the face is done by `modus-themes-faces'.")
995
996(defface modus-theme-intense-neutral nil
997 "Intense gray background combined with the main foreground.
998This is used for general purpose highlighting, mostly in buffers
999or for completion interfaces.
1000
1001The actual styling of the face is done by `modus-themes-faces'.")
1002
1003(defface modus-theme-refine-red nil
1004 "Combination of accented red background and foreground.
1005This is used for general purpose highlighting, mostly in buffers
1006or for completion interfaces.
1007
1008The actual styling of the face is done by `modus-themes-faces'.")
1009
1010(defface modus-theme-refine-green nil
1011 "Combination of accented green background and foreground.
1012This is used for general purpose highlighting, mostly in buffers
1013or for completion interfaces.
1014
1015The actual styling of the face is done by `modus-themes-faces'.")
1016
1017(defface modus-theme-refine-yellow nil
1018 "Combination of accented yellow background and foreground.
1019This is used for general purpose highlighting, mostly in buffers
1020or for completion interfaces.
1021
1022The actual styling of the face is done by `modus-themes-faces'.")
1023
1024(defface modus-theme-refine-blue nil
1025 "Combination of accented blue background and foreground.
1026This is used for general purpose highlighting, mostly in buffers
1027or for completion interfaces.
1028
1029The actual styling of the face is done by `modus-themes-faces'.")
1030
1031(defface modus-theme-refine-magenta nil
1032 "Combination of accented magenta background and foreground.
1033This is used for general purpose highlighting, mostly in buffers
1034or for completion interfaces.
1035
1036The actual styling of the face is done by `modus-themes-faces'.")
1037
1038(defface modus-theme-refine-cyan nil
1039 "Combination of accented cyan background and foreground.
1040This is used for general purpose highlighting, mostly in buffers
1041or for completion interfaces.
1042
1043The actual styling of the face is done by `modus-themes-faces'.")
1044
1045(defface modus-theme-active-red nil
1046 "A red background meant for use on the modeline or similar.
1047This is combined with the modelines primary foreground value.
1048
1049The actual styling of the face is done by `modus-themes-faces'.")
1050
1051(defface modus-theme-active-green nil
1052 "A green background meant for use on the modeline or similar.
1053This is combined with the modelines primary foreground value.
1054
1055The actual styling of the face is done by `modus-themes-faces'.")
1056
1057(defface modus-theme-active-yellow nil
1058 "A yellow background meant for use on the modeline or similar.
1059This is combined with the modelines primary foreground value.
1060
1061The actual styling of the face is done by `modus-themes-faces'.")
1062
1063(defface modus-theme-active-blue nil
1064 "A blue background meant for use on the modeline or similar.
1065This is combined with the modelines primary foreground value.
1066
1067The actual styling of the face is done by `modus-themes-faces'.")
1068
1069(defface modus-theme-active-magenta nil
1070 "A magenta background meant for use on the modeline or similar.
1071This is combined with the modelines primary foreground value.
1072
1073The actual styling of the face is done by `modus-themes-faces'.")
1074
1075(defface modus-theme-active-cyan nil
1076 "A cyan background meant for use on the modeline or similar.
1077This is combined with the modelines primary foreground value.
1078
1079The actual styling of the face is done by `modus-themes-faces'.")
1080
1081(defface modus-theme-fringe-red nil
1082 "A red background meant for use on the fringe or similar.
1083This is combined with the main foreground value.
1084
1085The actual styling of the face is done by `modus-themes-faces'.")
1086
1087(defface modus-theme-fringe-green nil
1088 "A green background meant for use on the fringe or similar.
1089This is combined with the main foreground value.
1090
1091The actual styling of the face is done by `modus-themes-faces'.")
1092
1093(defface modus-theme-fringe-yellow nil
1094 "A yellow background meant for use on the fringe or similar.
1095This is combined with the main foreground value.
1096
1097The actual styling of the face is done by `modus-themes-faces'.")
1098
1099(defface modus-theme-fringe-blue nil
1100 "A blue background meant for use on the fringe or similar.
1101This is combined with the main foreground value.
1102
1103The actual styling of the face is done by `modus-themes-faces'.")
1104
1105(defface modus-theme-fringe-magenta nil
1106 "A magenta background meant for use on the fringe or similar.
1107This is combined with the main foreground value.
1108
1109The actual styling of the face is done by `modus-themes-faces'.")
1110
1111(defface modus-theme-fringe-cyan nil
1112 "A cyan background meant for use on the fringe or similar.
1113This is combined with the main foreground value.
1114
1115The actual styling of the face is done by `modus-themes-faces'.")
1116
1117(defface modus-theme-nuanced-red nil
1118 "A nuanced red background.
1119This does not specify a foreground of its own. Instead it is meant to
1120serve as the backdrop for elements such as Org blocks, headings, and any
1121other surface that needs to retain the colors on display.
1122
1123The actual styling of the face is done by `modus-themes-faces'.")
1124
1125(defface modus-theme-nuanced-green nil
1126 "A nuanced green background.
1127This does not specify a foreground of its own. Instead it is meant to
1128serve as the backdrop for elements such as Org blocks, headings, and any
1129other surface that needs to retain the colors on display.
1130
1131The actual styling of the face is done by `modus-themes-faces'.")
1132
1133(defface modus-theme-nuanced-yellow nil
1134 "A nuanced yellow background.
1135This does not specify a foreground of its own. Instead it is meant to
1136serve as the backdrop for elements such as Org blocks, headings, and any
1137other surface that needs to retain the colors on display.
1138
1139The actual styling of the face is done by `modus-themes-faces'.")
1140
1141(defface modus-theme-nuanced-blue nil
1142 "A nuanced blue background.
1143This does not specify a foreground of its own. Instead it is meant to
1144serve as the backdrop for elements such as Org blocks, headings, and any
1145other surface that needs to retain the colors on display.
1146
1147The actual styling of the face is done by `modus-themes-faces'.")
1148
1149(defface modus-theme-nuanced-magenta nil
1150 "A nuanced magenta background.
1151This does not specify a foreground of its own. Instead it is meant to
1152serve as the backdrop for elements such as Org blocks, headings, and any
1153other surface that needs to retain the colors on display.
1154
1155The actual styling of the face is done by `modus-themes-faces'.")
1156
1157(defface modus-theme-nuanced-cyan nil
1158 "A nuanced cyan background.
1159This does not specify a foreground of its own. Instead it is meant to
1160serve as the backdrop for elements such as Org blocks, headings, and any
1161other surface that needs to retain the colors on display.
1162
1163The actual styling of the face is done by `modus-themes-faces'.")
1164
1165(defface modus-theme-special-cold nil
1166 "Combines the 'special cold' background and foreground values.
1167This is intended for cases when a neutral gray background is not
1168suitable and where a combination of more saturated colors would not be
1169appropriate.
1170
1171The actual styling of the face is done by `modus-themes-faces'.")
1172
1173(defface modus-theme-special-mild nil
1174 "Combines the 'special mild' background and foreground values.
1175This is intended for cases when a neutral gray background is not
1176suitable and where a combination of more saturated colors would not be
1177appropriate.
1178
1179The actual styling of the face is done by `modus-themes-faces'.")
1180
1181(defface modus-theme-special-warm nil
1182 "Combines the 'special warm' background and foreground values.
1183This is intended for cases when a neutral gray background is not
1184suitable and where a combination of more saturated colors would not be
1185appropriate.
1186
1187The actual styling of the face is done by `modus-themes-faces'.")
1188
1189(defface modus-theme-special-calm nil
1190 "Combines the 'special calm' background and foreground values.
1191This is intended for cases when a neutral gray background is not
1192suitable and where a combination of more saturated colors would not be
1193appropriate.
1194
1195The actual styling of the face is done by `modus-themes-faces'.")
1196
1197(defface modus-theme-diff-added nil
1198 "Combines green colors for the 'added' state in diffs.
1199The applied colors are contingent on the value assigned to
1200`modus-themes-diffs'.
1201
1202The actual styling of the face is done by `modus-themes-faces'.")
1203
1204(defface modus-theme-diff-changed nil
1205 "Combines yellow colors for the 'changed' state in diffs.
1206The applied colors are contingent on the value assigned to
1207`modus-themes-diffs'.
1208
1209The actual styling of the face is done by `modus-themes-faces'.")
1210
1211(defface modus-theme-diff-removed nil
1212 "Combines red colors for the 'removed' state in diffs.
1213The applied colors are contingent on the value assigned to
1214`modus-themes-diffs'.
1215
1216The actual styling of the face is done by `modus-themes-faces'.")
1217
1218(defface modus-theme-diff-refine-added nil
1219 "Combines green colors for word-wise 'added' state in diffs.
1220The applied colors are contingent on the value assigned to
1221`modus-themes-diffs'.
1222
1223The actual styling of the face is done by `modus-themes-faces'.")
1224
1225(defface modus-theme-diff-refine-changed nil
1226 "Combines yellow colors for word-wise 'changed' state in diffs.
1227The applied colors are contingent on the value assigned to
1228`modus-themes-diffs'.
1229
1230The actual styling of the face is done by `modus-themes-faces'.")
1231
1232(defface modus-theme-diff-refine-removed nil
1233 "Combines red colors for word-wise 'removed' state in diffs.
1234The applied colors are contingent on the value assigned to
1235`modus-themes-diffs'.
1236
1237The actual styling of the face is done by `modus-themes-faces'.")
1238
1239(defface modus-theme-diff-focus-added nil
1240 "Combines green colors for the focused 'added' state in diffs.
1241The applied colors are contingent on the value assigned to
1242`modus-themes-diffs'.
1243
1244The actual styling of the face is done by `modus-themes-faces'.")
1245
1246(defface modus-theme-diff-focus-changed nil
1247 "Combines yellow colors for the focused 'changed' state in.
1248The applied colors are contingent on the value assigned to
1249`modus-themes-diffs'.
1250
1251The actual styling of the face is done by `modus-themes-faces'.")
1252
1253(defface modus-theme-diff-focus-removed nil
1254 "Combines red colors for the focused 'removed' state in diffs.
1255The applied colors are contingent on the value assigned to
1256`modus-themes-diffs'.
1257
1258The actual styling of the face is done by `modus-themes-faces'.")
1259
1260(defface modus-theme-diff-heading nil
1261 "Combines blue colors for the diff hunk heading.
1262The applied colors are contingent on the value assigned to
1263`modus-themes-diffs'.
1264
1265The actual styling of the face is done by `modus-themes-faces'.")
1266
1267(defface modus-theme-pseudo-header nil
1268 "Generic style for some elements that function like headings.
1269The actual styling of the face is done by `modus-themes-faces'.")
1270
1271(defface modus-theme-mark-alt nil
1272 "Combines yellow colors for marking special lines
1273This is intended for use in modes such as Dired, Ibuffer, Proced.
1274
1275The actual styling of the face is done by `modus-themes-faces'.")
1276
1277(defface modus-theme-mark-del nil
1278 "Combines red colors for marking deletable lines
1279This is intended for use in modes such as Dired, Ibuffer, Proced.
1280
1281The actual styling of the face is done by `modus-themes-faces'.")
1282
1283(defface modus-theme-mark-sel nil
1284 "Combines green colors for marking lines
1285This is intended for use in modes such as Dired, Ibuffer, Proced.
1286
1287The actual styling of the face is done by `modus-themes-faces'.")
1288
1289(defface modus-theme-mark-symbol nil
1290 "Applies a blue color and other styles for mark indicators.
1291This is intended for use in modes such as Dired, Ibuffer, Proced.
1292
1293The actual styling of the face is done by `modus-themes-faces'.")
1294
1295(defface modus-theme-heading-1 nil
1296 "General purpose face for use in headings level 1
1297The exact attributes assigned to this face are contingent on the values
1298assigned to the `modus-themes-headings' variable.
1299
1300The actual styling of the face is done by `modus-themes-faces'.")
1301
1302(defface modus-theme-heading-2 nil
1303 "General purpose face for use in headings level 2.
1304The exact attributes assigned to this face are contingent on the values
1305assigned to the `modus-themes-headings' variable.
1306
1307The actual styling of the face is done by `modus-themes-faces'.")
1308
1309(defface modus-theme-heading-3 nil
1310 "General purpose face for use in headings level 3.
1311The exact attributes assigned to this face are contingent on the values
1312assigned to the `modus-themes-headings' variable.
1313
1314The actual styling of the face is done by `modus-themes-faces'.")
1315
1316(defface modus-theme-heading-4 nil
1317 "General purpose face for use in headings level 4.
1318The exact attributes assigned to this face are contingent on the values
1319assigned to the `modus-themes-headings' variable.
1320
1321The actual styling of the face is done by `modus-themes-faces'.")
1322
1323(defface modus-theme-heading-5 nil
1324 "General purpose face for use in headings level 5.
1325The exact attributes assigned to this face are contingent on the values
1326assigned to the `modus-themes-headings' variable.
1327
1328The actual styling of the face is done by `modus-themes-faces'.")
1329
1330(defface modus-theme-heading-6 nil
1331 "General purpose face for use in headings level 6.
1332The exact attributes assigned to this face are contingent on the values
1333assigned to the `modus-themes-headings' variable.
1334
1335The actual styling of the face is done by `modus-themes-faces'.")
1336
1337(defface modus-theme-heading-7 nil
1338 "General purpose face for use in headings level 7.
1339The exact attributes assigned to this face are contingent on the values
1340assigned to the `modus-themes-headings' variable.
1341
1342The actual styling of the face is done by `modus-themes-faces'.")
1343
1344(defface modus-theme-heading-8 nil
1345 "General purpose face for use in headings level 8.
1346The exact attributes assigned to this face are contingent on the values
1347assigned to the `modus-themes-headings' variable.
1348
1349The actual styling of the face is done by `modus-themes-faces'.")
1350
1351(defface modus-theme-hl-line nil
1352 "General purpose face for the current line.
1353The exact attributes assigned to this face are contingent on the values
1354assigned to the `modus-themes-intense-hl-line' variable.
1355
1356The actual styling of the face is done by `modus-themes-faces'.")
1357
1358(defface modus-theme-bold nil
1359 "Generic face for applying a conditional bold weight.
1360This behaves in accordance with `modus-themes-bold-constructs'.
1361
1362The actual styling of the face is done by `modus-themes-faces'.")
1363
1364(defface modus-theme-slant nil
1365 "Generic face for applying a conditional slant (italics).
1366This behaves in accordance with `modus-themes-slanted-constructs'.
1367
1368The actual styling of the face is done by `modus-themes-faces'.")
1369
1370(defface modus-theme-variable-pitch nil
1371 "Generic face for applying a conditional `variable-pitch'.
1372This behaves in accordance with `modus-themes-no-mixed-fonts',
1373`modus-themes-variable-pitch-headings' for all heading levels, and
1374`modus-themes-variable-pitch-ui'.
1375
1376The actual styling of the face is done by `modus-themes-faces'.")
1377
1378(defface modus-theme-graph-red-0 nil
1379 "Special subdued red face for use in graphs.
1380This is intended to be applied in contexts such as the Org agenda habit
1381graph where faithfulness to the semantics of a color value is of
1382paramount importance.
1383
1384The actual styling of the face is done by `modus-themes-faces'.")
1385
1386(defface modus-theme-graph-red-1 nil
1387 "Special prominent red face for use in graphs.
1388This is intended to be applied in contexts such as the Org agenda habit
1389graph where faithfulness to the semantics of a color value is of
1390paramount importance.
1391
1392The actual styling of the face is done by `modus-themes-faces'.")
1393
1394(defface modus-theme-graph-green-0 nil
1395 "Special subdued green face for use in graphs.
1396This is intended to be applied in contexts such as the Org agenda habit
1397graph where faithfulness to the semantics of a color value is of
1398paramount importance.
1399
1400The actual styling of the face is done by `modus-themes-faces'.")
1401
1402(defface modus-theme-graph-green-1 nil
1403 "Special prominent green face for use in graphs.
1404This is intended to be applied in contexts such as the Org agenda habit
1405graph where faithfulness to the semantics of a color value is of
1406paramount importance.
1407
1408The actual styling of the face is done by `modus-themes-faces'.")
1409
1410(defface modus-theme-graph-yellow-0 nil
1411 "Special subdued yellow face for use in graphs.
1412This is intended to be applied in contexts such as the Org agenda habit
1413graph where faithfulness to the semantics of a color value is of
1414paramount importance.
1415
1416The actual styling of the face is done by `modus-themes-faces'.")
1417
1418(defface modus-theme-graph-yellow-1 nil
1419 "Special prominent yellow face for use in graphs.
1420This is intended to be applied in contexts such as the Org agenda habit
1421graph where faithfulness to the semantics of a color value is of
1422paramount importance.
1423
1424The actual styling of the face is done by `modus-themes-faces'.")
1425
1426(defface modus-theme-graph-blue-0 nil
1427 "Special subdued blue face for use in graphs.
1428This is intended to be applied in contexts such as the Org agenda habit
1429graph where faithfulness to the semantics of a color value is of
1430paramount importance.
1431
1432The actual styling of the face is done by `modus-themes-faces'.")
1433
1434(defface modus-theme-graph-blue-1 nil
1435 "Special prominent blue face for use in graphs.
1436This is intended to be applied in contexts such as the Org agenda habit
1437graph where faithfulness to the semantics of a color value is of
1438paramount importance.
1439
1440The actual styling of the face is done by `modus-themes-faces'.")
1441
1442(defface modus-theme-graph-magenta-0 nil
1443 "Special subdued magenta face for use in graphs.
1444This is intended to be applied in contexts such as the Org agenda habit
1445graph where faithfulness to the semantics of a color value is of
1446paramount importance.
1447
1448The actual styling of the face is done by `modus-themes-faces'.")
1449
1450(defface modus-theme-graph-magenta-1 nil
1451 "Special prominent magenta face for use in graphs.
1452This is intended to be applied in contexts such as the Org agenda habit
1453graph where faithfulness to the semantics of a color value is of
1454paramount importance.
1455
1456The actual styling of the face is done by `modus-themes-faces'.")
1457
1458(defface modus-theme-graph-cyan-0 nil
1459 "Special subdued cyan face for use in graphs.
1460This is intended to be applied in contexts such as the Org agenda habit
1461graph where faithfulness to the semantics of a color value is of
1462paramount importance.
1463
1464The actual styling of the face is done by `modus-themes-faces'.")
1465
1466(defface modus-theme-graph-cyan-1 nil
1467 "Special prominent cyan face for use in graphs.
1468This is intended to be applied in contexts such as the Org agenda habit
1469graph where faithfulness to the semantics of a color value is of
1470paramount importance.
1471
1472The actual styling of the face is done by `modus-themes-faces'.")
1473
1474(defface modus-theme-lang-note nil
1475 "Generic face for linter or spell checker notes.
1476The exact attributes and color combinations are controlled by
1477`modus-themes-lang-checkers'.
1478
1479The actual styling of the face is done by `modus-themes-faces'.")
1480
1481(defface modus-theme-lang-warning nil
1482 "Generic face for linter or spell checker warnings.
1483The exact attributes and color combinations are controlled by
1484`modus-themes-lang-checkers'.
1485
1486The actual styling of the face is done by `modus-themes-faces'.")
1487
1488(defface modus-theme-lang-error nil
1489 "Generic face for linter or spell checker errors.
1490The exact attributes and color combinations are controlled by
1491`modus-themes-lang-checkers'.
1492
1493The actual styling of the face is done by `modus-themes-faces'.")
1494
1495
1496
1497;;; Customization options
1498
1499;;;; Current customization options (>= 1.0.0)
1500
1501(defcustom modus-themes-operandi-color-overrides nil
1502 "Override colors in the Modus Operandi palette.
1503
1504For form, see `modus-themes-operandi-colors'."
1505 :group 'modus-themes
1506 :package-version '(modus-themes . "1.1.0")
1507 :version "28.1"
1508 :type '(alist :key-type symbol :value-type color)
1509 :link '(info-link "(modus-themes) Override colors (DIY)"))
1510
1511(defcustom modus-themes-vivendi-color-overrides nil
1512 "Override colors in the Modus Vivendi palette.
1513
1514For form, see `modus-themes-vivendi-colors'."
1515 :group 'modus-themes
1516 :package-version '(modus-themes . "1.1.0")
1517 :version "28.1"
1518 :type '(alist :key-type symbol :value-type color)
1519 :link '(info-link "(modus-themes) Override colors (DIY)"))
1520
1521;; The byte compiler complains when a defcustom isn't a top level form
1522(let* ((names (mapcar (lambda (pair)
1523 (symbol-name (car pair)))
1524 modus-themes-operandi-colors))
1525 (colors (mapcar #'intern (sort names #'string<))))
1526 (put 'modus-themes-operandi-color-overrides
1527 'custom-options (copy-sequence colors))
1528 (put 'modus-themes-vivendi-color-overrides
1529 'custom-options (copy-sequence colors)))
1530
1531(defcustom modus-themes-slanted-constructs nil
1532 "Use slanted text in more code constructs (italics or oblique)."
1533 :group 'modus-themes
1534 :package-version '(modus-themes . "1.0.0")
1535 :version "28.1"
1536 :type 'boolean
1537 :link '(info-link "(modus-themes) Slanted constructs"))
1538
1539(defcustom modus-themes-bold-constructs nil
1540 "Use bold text in more code constructs."
1541 :group 'modus-themes
1542 :package-version '(modus-themes . "1.0.0")
1543 :version "28.1"
1544 :type 'boolean
1545 :link '(info-link "(modus-themes) Bold constructs"))
1546
1547(defcustom modus-themes-variable-pitch-headings nil
1548 "Use proportional fonts (variable-pitch) in headings."
1549 :group 'modus-themes
1550 :package-version '(modus-themes . "1.0.0")
1551 :version "28.1"
1552 :type 'boolean
1553 :link '(info-link "(modus-themes) Headings' typeface"))
1554
1555(defcustom modus-themes-variable-pitch-ui nil
1556 "Use proportional fonts (variable-pitch) in UI elements.
1557This includes the mode line, header line, tab bar, and tab line."
1558 :group 'modus-themes
1559 :package-version '(modus-themes . "1.1.0")
1560 :version "28.1"
1561 :type 'boolean
1562 :link '(info-link "(modus-themes) UI typeface"))
1563
1564(defcustom modus-themes-no-mixed-fonts nil
1565 "Disable inheritance from `fixed-pitch' in some faces.
1566
1567This is done by default to allow spacing-sensitive constructs,
1568such as Org tables and code blocks, to remain monospaced when
1569users opt for something like the command `variable-pitch-mode'.
1570The downside with the default is that users need to explicitly
1571configure the font family of `fixed-pitch' in order to get a
1572consistent experience. That may be something they do not want to
1573do. Hence this option to disable any kind of technique for
1574mixing fonts."
1575 :group 'modus-themes
1576 :package-version '(modus-themes . "1.0.0")
1577 :version "28.1"
1578 :type 'boolean
1579 :link '(info-link "(modus-themes) No mixed fonts"))
1580
1581(defcustom modus-themes-headings
1582 '((t . nil))
1583 "Alist of styles for headings, with optional value per level.
1584
1585To control faces per level from 1-8, use something like this:
1586
1587 (setq modus-themes-headings
1588 '((1 . highlight)
1589 (2 . line)
1590 (t . rainbow-line-no-bold)))
1591
1592To set a uniform value for all heading levels, use this pattern:
1593
1594 (setq modus-themes-headings
1595 '((t . rainbow-line-no-bold)))
1596
1597The default uses a fairly desaturated foreground value in
1598combination with a bold typographic weight. To specify this
1599style for a given level N (assuming you wish to have another
1600fallback option), just specify the value t like this:
1601
1602 (setq modus-themes-headings
1603 '((1 . t)
1604 (2 . line)
1605 (t . rainbow-line-no-bold)))
1606
1607A description of all possible values:
1608
1609+ `no-bold' retains the default text color while removing the
1610 typographic weight.
1611
1612+ `line' is the same as the default plus an overline over the
1613 heading.
1614
1615+ `line-no-bold' is the same as `line' without bold weight.
1616
1617+ `rainbow' uses a more colorful foreground in combination with
1618 bold weight.
1619
1620+ `rainbow-line' is the same as `rainbow' plus an overline.
1621
1622+ `rainbow-line-no-bold' is the same as `rainbow-line' without
1623 the bold weight.
1624
1625+ `highlight' retains the default style of a fairly desaturated
1626 foreground combined with a bold weight and add to it a subtle
1627 accented background.
1628
1629+ `highlight-no-bold' is the same as `highlight' without a bold
1630 weight.
1631
1632+ `rainbow-highlight' is the same as `highlight' but with a more
1633 colorful foreground.
1634
1635+ `rainbow-highlight-no-bold' is the same as `rainbow-highlight'
1636 without a bold weight.
1637
1638+ `section' retains the default looks and adds to them both an
1639 overline and a slightly accented background. It is, in effect,
1640 a combination of the `line' and `highlight' values.
1641
1642+ `section-no-bold' is the same as `section' without a bold
1643 weight.
1644
1645+ `rainbow-section' is the same as `section' but with a more
1646 colorful foreground.
1647
1648+ `rainbow-section-no-bold' is the same as `rainbow-section'
1649 without a bold weight.
1650
1651+ `no-color' does not apply any color to the heading, meaning
1652 that it uses the foreground of the `default' face. It still
1653 renders the text with a bold typographic weight.
1654
1655+ `no-color-no-bold' is like `no-color' but without the bold
1656 weight."
1657 :group 'modus-themes
1658 :package-version '(modus-themes . "1.2.0")
1659 :version "28.1"
1660 :type
1661 '(alist
1662 :key-type symbol
1663 :value-type
1664 (choice (const :tag "Fairly desaturated foreground with bold weight (default)" t)
1665 (const :tag "Like the default without bold weight" no-bold)
1666 (const :tag "Like the default plus overline" line)
1667 (const :tag "Like `line' without bold weight" line-no-bold)
1668 (const :tag "Like the default but with more colorful foreground" rainbow)
1669 (const :tag "Like `rainbow' plus overline" rainbow-line)
1670 (const :tag "Like `rainbow' without bold weight" rainbow-no-bold)
1671 (const :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold)
1672 (const :tag "Like the default plus subtle background" highlight)
1673 (const :tag "Like `highlight' without bold weight" highlight-no-bold)
1674 (const :tag "Like `highlight' with more colorful foreground" rainbow-highlight)
1675 (const :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold)
1676 (const :tag "Like `highlight' plus overline" section)
1677 (const :tag "Like `section' without bold weight" section-no-bold)
1678 (const :tag "Like `section' with more colorful foreground" rainbow-section)
1679 (const :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold)
1680 (const :tag "Do not use any distinct foreground color; just bold weight" no-color)
1681 (const :tag "Like `no-bold' but without the distinct foreground color" no-color-no-bold)))
1682 :link '(info-link "(modus-themes) Heading styles"))
1683
1684(defcustom modus-themes-scale-headings nil
1685 "Use font scaling for headings.
1686
1687For regular headings the scale is controlled by the variables
1688`modus-themes-scale-1' (smallest) and its variants all the way up
1689to `modus-themes-scale-4' (larger). While `modus-themes-scale-5'
1690is reserved for special headings that must be the largest on the
1691scale.
1692
1693A special heading is, in this context, one that does not fit into
1694the syntax for heading levels that apply to the given mode. For
1695example, Org's #+title keyword lies outside the normal eight
1696levels of headings. Whereas, say, Markdown does not have such a
1697special heading."
1698 :group 'modus-themes
1699 :package-version '(modus-themes . "1.2.0")
1700 :version "28.1"
1701 :type 'boolean
1702 :link '(info-link "(modus-themes) Scaled headings"))
1703
1704(defcustom modus-themes-scale-1 1.05
1705 "Font size that is slightly larger than the base value.
1706
1707This size is used for level 4 headings, such as in Org and
1708Markdown files.
1709
1710The default value is a floating point that is interpreted as a
1711multiple of the base font size. It is recommended to use such a
1712value.
1713
1714However, the variable also accepts an integer, understood as an
1715absolute height that is 1/10 of the typeface's point size (e.g. a
1716value of 140 is the same as setting the font at 14 point size).
1717This will ignore the base font size and, thus, will not scale in
1718accordance with it in cases where it changes, such as while using
1719`text-scale-adjust'."
1720 :group 'modus-themes
1721 :package-version '(modus-themes . "1.2.0")
1722 :version "28.1"
1723 :type 'number
1724 :link '(info-link "(modus-themes) Scaled heading sizes"))
1725
1726(defcustom modus-themes-scale-2 1.1
1727 "Font size slightly larger than `modus-themes-scale-1'.
1728
1729This size is used for level 3 headings, such as in Org and
1730Markdown files.
1731
1732The default value is a floating point that is interpreted as a
1733multiple of the base font size. It is recommended to use such a
1734value.
1735
1736However, the variable also accepts an integer, understood as an
1737absolute height that is 1/10 of the typeface's point size (e.g. a
1738value of 140 is the same as setting the font at 14 point size).
1739This will ignore the base font size and, thus, will not scale in
1740accordance with it in cases where it changes, such as while using
1741`text-scale-adjust'."
1742 :group 'modus-themes
1743 :package-version '(modus-themes . "1.2.0")
1744 :version "28.1"
1745 :type 'number
1746 :link '(info-link "(modus-themes) Scaled heading sizes"))
1747
1748(defcustom modus-themes-scale-3 1.15
1749 "Font size slightly larger than `modus-themes-scale-2'.
1750
1751This size is used for level 2 headings, such as in Org and
1752Markdown files.
1753
1754The default value is a floating point that is interpreted as a
1755multiple of the base font size. It is recommended to use such a
1756value.
1757
1758However, the variable also accepts an integer, understood as an
1759absolute height that is 1/10 of the typeface's point size (e.g. a
1760value of 140 is the same as setting the font at 14 point size).
1761This will ignore the base font size and, thus, will not scale in
1762accordance with it in cases where it changes, such as while using
1763`text-scale-adjust'."
1764 :group 'modus-themes
1765 :package-version '(modus-themes . "1.2.0")
1766 :version "28.1"
1767 :type 'number
1768 :link '(info-link "(modus-themes) Scaled heading sizes"))
1769
1770(defcustom modus-themes-scale-4 1.2
1771 "Font size slightly larger than `modus-themes-scale-3'.
1772
1773This size is used for level 1 headings, such as in Org and
1774Markdown files.
1775
1776The default value is a floating point that is interpreted as a
1777multiple of the base font size. It is recommended to use such a
1778value.
1779
1780However, the variable also accepts an integer, understood as an
1781absolute height that is 1/10 of the typeface's point size (e.g. a
1782value of 140 is the same as setting the font at 14 point size).
1783This will ignore the base font size and, thus, will not scale in
1784accordance with it in cases where it changes, such as while using
1785`text-scale-adjust'."
1786 :group 'modus-themes
1787 :package-version '(modus-themes . "1.2.0")
1788 :version "28.1"
1789 :type 'number
1790 :link '(info-link "(modus-themes) Scaled heading sizes"))
1791
1792(defcustom modus-themes-scale-5 1.3
1793 "Font size slightly larger than `modus-themes-scale-4'.
1794
1795This size is only used for 'special' top level headings, such as
1796Org's file title heading, denoted by the #+title key word, and
1797the Org agenda structure headers.
1798
1799The default value is a floating point that is interpreted as a
1800multiple of the base font size. It is recommended to use such a
1801value.
1802
1803However, the variable also accepts an integer, understood as an
1804absolute height that is 1/10 of the typeface's point size (e.g. a
1805value of 140 is the same as setting the font at 14 point size).
1806This will ignore the base font size and, thus, will not scale in
1807accordance with it in cases where it changes, such as while using
1808`text-scale-adjust'."
1809 :group 'modus-themes
1810 :package-version '(modus-themes . "1.2.0")
1811 :version "28.1"
1812 :type 'number
1813 :link '(info-link "(modus-themes) Scaled heading sizes"))
1814
1815(defcustom modus-themes-fringes nil
1816 "Define the visibility of fringes.
1817
1818Nil means the fringes have no background color. Option `subtle'
1819will apply a greyscale value that is visible yet close to the
1820main buffer background color. Option `intense' will use a more
1821pronounced greyscale value."
1822 :group 'modus-themes
1823 :package-version '(modus-themes . "1.0.0")
1824 :version "28.1"
1825 :type '(choice
1826 (const :tag "No visible fringes (default)" nil)
1827 (const :tag "Subtle greyscale background" subtle)
1828 (const :tag "Intense greyscale background" intense))
1829 :link '(info-link "(modus-themes) Fringes"))
1830
1831(defcustom modus-themes-lang-checkers nil
1832 "Control the style of spelling and code checkers/linters.
1833
1834Nil (the default) applies a color-coded underline to the affected
1835text, while it leaves the original foreground in tact. If the
1836display spec of Emacs has support for it, the underline's style
1837is that of a wave, otherwise it is a straight line.
1838
1839Options `subtle-foreground' and `intense-foreground' add a
1840color-coded underline while also changing the text's foreground
1841accordingly. The style of the underline is the same as with the
1842default option.
1843
1844Option `straight-underline' is like the default but always
1845applies a straight line under the affected text. Same principle
1846for `subtle-foreground-straight-underline' and its counterpart
1847`intense-foreground-straight-underline'.
1848
1849Option `colored-background' uses a straight underline, a
1850background, and a foreground. All are color-coded. This is the
1851most intense combination of face properties."
1852 :group 'modus-themes
1853 :package-version '(modus-themes . "1.1.0")
1854 :version "28.1"
1855 :type '(choice
1856 (const :tag "Only color-coded wavy underline (default)" nil)
1857 (const :tag "Like the default, but with a straight underline" straight-underline)
1858 (const :tag "Color-coded wavy underline; subtle foreground" subtle-foreground)
1859 (const :tag "Combines `straight-underline' and `subtle-foreground'" subtle-foreground-straight-underline)
1860 (const :tag "Color-coded wavy underline; intense foreground" intense-foreground)
1861 (const :tag "Combines `straight-underline' and `intense-foreground'" intense-foreground-straight-underline)
1862 (const :tag "Color-coded background, foreground, straight underline" colored-background))
1863 :link '(info-link "(modus-themes) Language checkers"))
1864
1865(defcustom modus-themes-org-blocks nil
1866 "Use a subtle gray or color-coded background for Org blocks.
1867
1868Nil means that the block will have no background of its own and
1869will use the default that applies to the rest of the buffer.
1870
1871Option `grayscale' (or `greyscale') will apply a subtle neutral
1872gray background to the block's contents. It also affects the
1873begin and end lines of the block: their background will be
1874extended to the edge of the window for Emacs version >= 27 where
1875the ':extend' keyword is recognized by `set-face-attribute'.
1876
1877Option `rainbow' will use an accented background for the contents
1878of the block. The exact color will depend on the programming
1879language and is controlled by the `org-src-block-faces'
1880variable (refer to the theme's source code for the current
1881association list)."
1882 :group 'modus-themes
1883 :package-version '(modus-themes . "1.0.0")
1884 :version "28.1"
1885 :type '(choice
1886 (const :tag "No Org block background (default)" nil)
1887 (const :tag "Subtle gray block background" grayscale)
1888 (const :tag "Subtle gray block background (alt spelling)" greyscale)
1889 (const :tag "Color-coded background per programming language" rainbow))
1890 :link '(info-link "(modus-themes) Org mode blocks"))
1891
1892(defcustom modus-themes-org-habit nil
1893 "Control the presentation of the `org-habit' graph.
1894
1895The default is meant to conform with the original aesthetic of
1896`org-habit'. It employs all four color codes that correspond to
1897the org-habit states---clear, ready, alert, and overdue---while
1898distinguishing between their present and future variants. This
1899results in a total of eight colors in use: red, yellow, green,
1900blue, in tinted and shaded versions. They cover the full set of
1901information provided by the `org-habit' consistency graph.
1902
1903Option `simplified' is like the default except that it removes
1904the dichotomy between current and future variants by applying
1905uniform color-coded values. It applies a total of four colors:
1906red, yellow, green, blue. They produce a simplified consistency
1907graph that is more legible (or less \"busy\") than the default.
1908The intent is to shift focus towards the distinction between the
1909four states of a habit task, rather than each state's
1910present/future outlook.
1911
1912Option `traffic-light' further reduces the available colors to
1913red, yellow, and green. As in `simplified', present and future
1914variants appear uniformly, but differently from it, the 'clear'
1915state is rendered in a green hue, instead of the original blue.
1916This is meant to capture the use-case where a habit task being
1917\"too early\" is less important than it being \"too late\". The
1918difference between ready and clear states is attenuated by
1919painting both of them using shades of green. This option thus
1920highlights the alert and overdue states."
1921 :group 'modus-themes
1922 :package-version '(modus-themes . "1.1.0")
1923 :version "28.1"
1924 :type '(choice
1925 (const :tag "Respect the original design of org-habit (default)" nil)
1926 (const :tag "Like the default, but do not distinguish between present and future variants" simplified)
1927 (const :tag "Like `simplified', but only use red, yellow, green" traffic-light))
1928 :link '(info-link "(modus-themes) Org agenda habits"))
1929
1930(defcustom modus-themes-mode-line nil
1931 "Adjust the overall style of the mode line.
1932
1933Nil is a two-dimensional rectangle with a border around it. The
1934active and the inactive modelines use different shades of
1935greyscale values for the background and foreground.
1936
1937A `3d' value will apply a three-dimensional effect to the active
1938modeline. The inactive modelines remain two-dimensional and are
1939toned down a bit, relative to the nil value.
1940
1941The `moody' option is meant to optimize the modeline for use with
1942the library of the same name. This practically means to remove
1943the box effect and rely on underline and overline properties
1944instead. It also tones down the inactive modelines. Despite its
1945intended purpose, this option can also be used without the
1946`moody' library.
1947
1948The `borderless' option uses the same colors as the default (nil
1949value), but removes the border effect. This is done by making
1950the box property use the same color as the background,
1951effectively blending the two and creating some padding.
1952
1953The `borderless-3d' and `borderless-moody' approximate the `3d'
1954and `moody' options respectively, while removing the borders.
1955However, to ensure that the inactive modelines remain visible,
1956they apply a slightly more prominent background to them than what
1957their counterparts do (same inactive background as with the
1958default)."
1959 :group 'modus-themes
1960 :package-version '(modus-themes . "1.0.0")
1961 :version "28.1"
1962 :type '(choice
1963 (const :tag "Two-dimensional box (default)" nil)
1964 (const :tag "Three-dimensional style for the active mode line" 3d)
1965 (const :tag "No box effects, which are optimal for use with the `moody' library" moody)
1966 (const :tag "Like the default, but without border effects" borderless)
1967 (const :tag "Like `3d', but without noticeable border" borderless-3d)
1968 (const :tag "Like `moody', but without noticeable border" borderless-moody))
1969 :link '(info-link "(modus-themes) Mode line"))
1970
1971(defcustom modus-themes-diffs nil
1972 "Adjust the overall styles of diffs.
1973
1974Nil means to use fairly intense color combinations for diffs.
1975For example, you get a rich green background with a green
1976foreground for added lines. Word-wise or 'refined' diffs follow
1977the same pattern but use different shades of those colors to
1978remain distinct.
1979
1980A `desaturated' value follows the same principles as with the nil
1981option, while it tones down all relevant colors.
1982
1983Option `fg-only' will remove all accented backgrounds, except
1984from word-wise changes. It instead uses color-coded foreground
1985values to differentiate between added/removed/changed lines. If
1986a background is necessary, such as with `ediff', then a subtle
1987greyscale value is used.
1988
1989Option `bg-only' applies a background but does not override the
1990text's foreground. This makes it suitable for a non-nil value
1991passed to `diff-font-lock-syntax' (note: Magit does not support
1992syntax highlighting in diffs as of 2020-11-25, version
199320201116.1057).
1994
1995Option `deuteranopia' accounts for red-green color defficiency by
1996replacing all instances of green with colors on the blue side of
1997the spectrum. Other stylistic changes are made in the interest
1998of optimizing for such a use-case."
1999 :group 'modus-themes
2000 :package-version '(modus-themes . "1.2.0")
2001 :version "28.1"
2002 :type '(choice
2003 (const :tag "Intensely colored backgrounds (default)" nil)
2004 (const :tag "Slightly accented backgrounds with tinted text" desaturated)
2005 (const :tag "No backgrounds, except for refined diffs" fg-only)
2006 (const :tag "Apply color-coded backgrounds; keep syntax colors in tact" bg-only)
2007 (const :tag "Optimized for red-green color defficiency" deuteranopia))
2008 :link '(info-link "(modus-themes) Diffs"))
2009
2010(defcustom modus-themes-completions nil
2011 "Apply special styles to the UI of completion frameworks.
2012
2013This concerns Icomplete, Ivy, Helm, Selectrum, Ido, as well as
2014any other tool meant to enhance their experience. The effect
2015will vary depending on the completion framework.
2016
2017Nil means to remain faithful to the metaphors that each UI
2018establishes. For example, Icomplete and Ido only use foreground
2019colors to style their matches, whereas Ivy or Helm rely on an
2020aesthetic that combines colored backgrounds with appropriate text
2021color.
2022
2023Option `moderate' will apply a combination of background and
2024foreground that is fairly subtle. For Icomplete and the like,
2025this constitutes a departure from their standard style. While
2026Ivy, Helm, and the others, will use less pronounced colors for
2027applicable contexts.
2028
2029Option `opinionated' will apply color combinations that refashion
2030the completion UI. So Icomplete et al will now use styles that
2031resemble the defaults of Ivy and co., while the latter group will
2032revert to an even more nuanced aesthetic."
2033 :group 'modus-themes
2034 :package-version '(modus-themes . "1.0.0")
2035 :version "28.1"
2036 :type '(choice
2037 (const :tag "Respect the framework's established aesthetic (default)" nil)
2038 (const :tag "Subtle backgrounds for various elements" moderate)
2039 (const :tag "Radical alternative to the framework's looks" opinionated))
2040 :link '(info-link "(modus-themes) Completion UIs"))
2041
2042(defcustom modus-themes-prompts nil
2043 "Use subtle or intense styles for minibuffer and REPL prompts.
2044
2045Nil means to only use an accented foreground color.
2046
2047Options `subtle-accented' and `intense-accented' will change both
2048the background and the foreground values to use accented color
2049combinations that follow the hue of the default styles'
2050foreground (e.g. the default minibuffer prompt is cyan text, so
2051these combinations will involved a cyan background and an
2052appropriate cyan foreground).
2053
2054Options `subtle-gray' and `intense-gray' are like their
2055`subtle-accented' and `intense-accented' counterparts, except
2056they use grayscale values instead of accented ones."
2057 :group 'modus-themes
2058 :package-version '(modus-themes . "1.0.0")
2059 :version "28.1"
2060 :type '(choice
2061 ;; `subtle' is the same as `subtle-accented', while `intense' is
2062 ;; equal to `intense-accented' for backward compatibility
2063 (const :tag "No prompt background (default)" nil)
2064 (const :tag "Subtle accented background for the prompt" subtle-accented)
2065 (const :tag "Same as `subtle-accented' for compatibility with older versions" subtle)
2066 (const :tag "Intense accented background and foreground for the prompt" intense-accented)
2067 (const :tag "Same as `intense-accented' for compatibility with older versions" intense)
2068 (const :tag "Like `subtle-accented' but grayscale" subtle-gray)
2069 (const :tag "Like `intense-accented' but grayscale" intense-gray))
2070 :link '(info-link "(modus-themes) Command prompts"))
2071
2072(defcustom modus-themes-intense-hl-line nil
2073 "Use a more prominent background for command `hl-line-mode'."
2074 :group 'modus-themes
2075 :package-version '(modus-themes . "1.0.0")
2076 :version "28.1"
2077 :type 'boolean
2078 :link '(info-link "(modus-themes) Line highlighting"))
2079
2080(defcustom modus-themes-subtle-line-numbers nil
2081 "Use more subtle style for command `display-line-numbers-mode'."
2082 :group 'modus-themes
2083 :package-version '(modus-themes . "1.2.0")
2084 :version "28.1"
2085 :type 'boolean
2086 :link '(info-link "(modus-themes) Line numbers"))
2087
2088(defcustom modus-themes-paren-match nil
2089 "Choose the style of matching parentheses or delimiters.
2090
2091Nil means to use a subtle tinted background color (the default).
2092
2093Option `intense' applies a saturated background color.
2094
2095Option `subtle-bold' is the same as the default, but also makes
2096use of bold typographic weight (inherits the `bold' face).
2097
2098Option `intense-bold' is the same as `intense', while it also
2099uses a bold weight."
2100 :group 'modus-themes
2101 :package-version '(modus-themes . "1.0.0")
2102 :version "28.1"
2103 :type '(choice
2104 (const :tag "Sublte tinted background (default)" nil)
2105 (const :tag "Like the default, but also use bold typographic weight" subtle-bold)
2106 (const :tag "Intense saturated background" intense)
2107 (const :tag "Like `intense' but with bold weight" intense-bold))
2108 :link '(info-link "(modus-themes) Matching parentheses"))
2109
2110(defcustom modus-themes-syntax nil
2111 "Control the overall style of code syntax highlighting.
2112
2113Nil (the default) means to use colors on the cyan-blue-magenta
2114side of the spectrum. There is little to no use of greens,
2115yellows, and reds.
2116
2117Option `faint' is like the default in terms of the choice of
2118palette but applies desaturated color values.
2119
2120Option `yellow-comments' applies a yellow tint to comments. The
2121rest of the syntax is the same as the default.
2122
2123Option `green-strings' replaces the blue/cyan/cold color variants
2124in strings with greener alternatives. The rest of the syntax
2125remains the same.
2126
2127Option `yellow-comments-green-strings' combines yellow comments
2128with green strings and the rest of the default syntax
2129highlighting style.
2130
2131Option `alt-syntax' expands the color palette and applies new
2132color combinations. Strings are green. Doc strings are magenta
2133tinted. Comments are gray.
2134
2135Option `alt-syntax-yellow-comments' combines `alt-syntax' with
2136`yellow-comments'.
2137
2138Option `faint-yellow-comments' combines the `faint' style with
2139`yellow-comments'."
2140 :group 'modus-themes
2141 :package-version '(modus-themes . "1.2.0")
2142 :version "28.1"
2143 :type '(choice
2144 (const :tag "Balanced use of blue, cyan, magenta, purple variants (default)" nil)
2145 (const :tag "Like the default, but with desaturated color values" faint)
2146 (const :tag "Apply yellow tint to comments, keep the default style for the rest" yellow-comments)
2147 (const :tag "Use green for strings, keep the default style for the rest" green-strings)
2148 (const :tag "Use green for strings, yellow for comments, keep the default style for the rest" yellow-comments-green-strings)
2149 (const :tag "Refashion syntax highlighting with more colors, gray comments" alt-syntax)
2150 (const :tag "Like `alt-syntax' but with yellow comments" alt-syntax-yellow-comments)
2151 (const :tag "Like `faint' but with yellow comments" faint-yellow-comments))
2152 :link '(info-link "(modus-themes) Syntax styles"))
2153
2154(defcustom modus-themes-links nil
2155 "Set the style of links.
2156
2157Nil means to use an underline that is the same color as the
2158foreground.
2159
2160Option `faint' applies desaturated colors to the link's text and
2161underline.
2162
2163Option `neutral-underline' applies a subtle grey underline, while
2164retaining the link's foreground.
2165
2166Option `faint-neutral-underline' combines a desaturated text
2167color with a subtle grey underline.
2168
2169Option `no-underline' removes link underlines altogether, while
2170retaining their original fairly vivid color.
2171
2172Option `underline-only' applies an underline while making the
2173affected text colorless (it uses the same foreground as the
2174theme's default).
2175
2176Option `neutral-underline-only' makes the text colorless while
2177using a subtle underline below it."
2178 :group 'modus-themes
2179 :package-version '(modus-themes . "1.2.0")
2180 :version "28.1"
2181 :type '(choice
2182 (const :tag "Undeline link using the same color as the text (default)" nil)
2183 (const :tag "Like the default, but apply less intense colors to links" faint)
2184 (const :tag "Change the color of link underlines to a neutral grey" neutral-underline)
2185 (const :tag "Desaturated foreground with neutral grey underline" faint-neutral-underline)
2186 (const :tag "Remove underline property from links, keeping their foreground as-is" no-underline)
2187 (const :tag "Apply underline only; use default foreground" underline-only)
2188 (const :tag "Like `underline-only' but with a subtle underline" neutral-underline-only))
2189 :link '(info-link "(modus-themes) Link styles"))
2190
2191(defcustom modus-themes-region nil
2192 "Change the overall appearance of the active region.
2193
2194Nil (the default) means to only use a prominent gray background
2195with a neutral foreground. The foreground overrides all syntax
2196highlighting. The region extends to the edge of the window.
2197
2198Option `no-extend' preserves the default aesthetic but prevents
2199the region from extending to the edge of the window.
2200
2201Option `bg-only' applies a faint tinted background that is
2202distinct from all others used in the theme, while it does not
2203override any existing colors. It extends to the edge of the
2204window.
2205
2206Option `bg-only-no-extend' is a combination of the `bg-only' and
2207`no-extend' options."
2208 :group 'modus-themes
2209 :package-version '(modus-themes . "1.0.0")
2210 :version "28.1"
2211 :type '(choice
2212 (const :tag "Intense background; overrides colors; extends to edge of window (default)" nil)
2213 (const :tag "As with the default, but does not extend" no-extend)
2214 (const :tag "Subtle background; preserves colors; extends to edge of window" bg-only)
2215 (const :tag "As with the `subtle' option, but does not extend" bg-only-no-extend))
2216 :link '(info-link "(modus-themes) Active region"))
2217
2218
2219
2220;;;; Deprecated customization options (prior to 1.0.0)
2221
2222;;;;; Modus Operandi obsolete options
2223
2224(make-obsolete 'modus-operandi-theme-override-colors-alist nil "1.0.0")
2225(make-obsolete 'modus-operandi-theme-slanted-constructs 'modus-themes-slanted-constructs "1.0.0")
2226(make-obsolete 'modus-operandi-theme-bold-constructs 'modus-themes-bold-constructs "1.0.0")
2227(make-obsolete 'modus-operandi-theme-proportional-fonts 'modus-themes-variable-pitch-headings "1.0.0")
2228(make-obsolete 'modus-operandi-theme-variable-pitch-headings 'modus-themes-variable-pitch-headings "1.0.0")
2229(make-obsolete 'modus-operandi-theme-no-mixed-fonts 'modus-themes-no-mixed-fonts "1.0.0")
2230(make-obsolete 'modus-operandi-theme-rainbow-headings 'modus-themes-headings "1.0.0")
2231(make-obsolete 'modus-operandi-theme-section-headings 'modus-themes-headings "1.0.0")
2232(make-obsolete 'modus-operandi-theme-headings 'modus-themes-headings "1.0.0")
2233(make-obsolete 'modus-operandi-theme-scale-headings 'modus-themes-scale-headings "1.0.0")
2234(make-obsolete 'modus-operandi-theme-scale-1 'modus-themes-scale-1 "1.0.0")
2235(make-obsolete 'modus-operandi-theme-scale-2 'modus-themes-scale-2 "1.0.0")
2236(make-obsolete 'modus-operandi-theme-scale-3 'modus-themes-scale-3 "1.0.0")
2237(make-obsolete 'modus-operandi-theme-scale-4 'modus-themes-scale-4 "1.0.0")
2238(make-obsolete 'modus-operandi-theme-scale-5 'modus-themes-scale-5 "1.0.0")
2239(make-obsolete 'modus-operandi-theme-visible-fringes 'modus-themes-fringes "1.0.0")
2240(make-obsolete 'modus-operandi-theme-fringes 'modus-themes-fringes "1.0.0")
2241(make-obsolete 'modus-operandi-theme-distinct-org-blocks 'modus-themes-org-blocks "1.0.0")
2242(make-obsolete 'modus-operandi-theme-rainbow-org-src-blocks 'modus-themes-org-blocks "1.0.0")
2243(make-obsolete 'modus-operandi-theme-org-blocks 'modus-themes-org-blocks "1.0.0")
2244(make-obsolete 'modus-operandi-theme-3d-modeline 'modus-themes-mode-line "1.0.0")
2245(make-obsolete 'modus-operandi-theme-mode-line 'modus-themes-mode-line "1.0.0")
2246(make-obsolete 'modus-operandi-theme-subtle-diffs 'modus-themes-diffs "1.0.0")
2247(make-obsolete 'modus-operandi-theme-diffs 'modus-themes-diffs "1.0.0")
2248(make-obsolete 'modus-operandi-theme-intense-standard-completions 'modus-themes-completions "1.0.0")
2249(make-obsolete 'modus-operandi-theme-completions 'modus-themes-completions "1.0.0")
2250(make-obsolete 'modus-operandi-theme-prompts 'modus-themes-prompts "1.0.0")
2251(make-obsolete 'modus-operandi-theme-intense-hl-line 'modus-themes-intense-hl-line "1.0.0")
2252(make-obsolete 'modus-operandi-theme-intense-paren-match 'modus-themes-paren-match "1.0.0")
2253(make-obsolete 'modus-operandi-theme-faint-syntax 'modus-themes-syntax "1.0.0")
2254(make-obsolete 'modus-operandi-theme-comments 'modus-themes-syntax "1.0.0")
2255(make-obsolete 'modus-operandi-theme-syntax 'modus-themes-syntax "1.0.0")
2256(make-obsolete 'modus-operandi-theme-no-link-underline 'modus-themes-links "1.0.0")
2257(make-obsolete 'modus-operandi-theme-links 'modus-themes-links "1.0.0")
2258
2259;;;;; Modus Vivendi obsolete options
2260
2261(make-obsolete 'modus-vivendi-theme-override-colors-alist nil "1.0.0")
2262(make-obsolete 'modus-vivendi-theme-slanted-constructs 'modus-themes-slanted-constructs "1.0.0")
2263(make-obsolete 'modus-vivendi-theme-bold-constructs 'modus-themes-bold-constructs "1.0.0")
2264(make-obsolete 'modus-vivendi-theme-proportional-fonts 'modus-themes-variable-pitch-headings "1.0.0")
2265(make-obsolete 'modus-vivendi-theme-variable-pitch-headings 'modus-themes-variable-pitch-headings "1.0.0")
2266(make-obsolete 'modus-vivendi-theme-no-mixed-fonts 'modus-themes-no-mixed-fonts "1.0.0")
2267(make-obsolete 'modus-vivendi-theme-rainbow-headings 'modus-themes-headings "1.0.0")
2268(make-obsolete 'modus-vivendi-theme-section-headings 'modus-themes-headings "1.0.0")
2269(make-obsolete 'modus-vivendi-theme-headings 'modus-themes-headings "1.0.0")
2270(make-obsolete 'modus-vivendi-theme-scale-headings 'modus-themes-scale-headings "1.0.0")
2271(make-obsolete 'modus-vivendi-theme-scale-1 'modus-themes-scale-1 "1.0.0")
2272(make-obsolete 'modus-vivendi-theme-scale-2 'modus-themes-scale-2 "1.0.0")
2273(make-obsolete 'modus-vivendi-theme-scale-3 'modus-themes-scale-3 "1.0.0")
2274(make-obsolete 'modus-vivendi-theme-scale-4 'modus-themes-scale-4 "1.0.0")
2275(make-obsolete 'modus-vivendi-theme-scale-5 'modus-themes-scale-5 "1.0.0")
2276(make-obsolete 'modus-vivendi-theme-visible-fringes 'modus-themes-fringes "1.0.0")
2277(make-obsolete 'modus-vivendi-theme-fringes 'modus-themes-fringes "1.0.0")
2278(make-obsolete 'modus-vivendi-theme-distinct-org-blocks 'modus-themes-org-blocks "1.0.0")
2279(make-obsolete 'modus-vivendi-theme-rainbow-org-src-blocks 'modus-themes-org-blocks "1.0.0")
2280(make-obsolete 'modus-vivendi-theme-org-blocks 'modus-themes-org-blocks "1.0.0")
2281(make-obsolete 'modus-vivendi-theme-3d-modeline 'modus-themes-mode-line "1.0.0")
2282(make-obsolete 'modus-vivendi-theme-mode-line 'modus-themes-mode-line "1.0.0")
2283(make-obsolete 'modus-vivendi-theme-subtle-diffs 'modus-themes-diffs "1.0.0")
2284(make-obsolete 'modus-vivendi-theme-diffs 'modus-themes-diffs "1.0.0")
2285(make-obsolete 'modus-vivendi-theme-intense-standard-completions 'modus-themes-completions "1.0.0")
2286(make-obsolete 'modus-vivendi-theme-completions 'modus-themes-completions "1.0.0")
2287(make-obsolete 'modus-vivendi-theme-prompts 'modus-themes-prompts "1.0.0")
2288(make-obsolete 'modus-vivendi-theme-intense-hl-line 'modus-themes-intense-hl-line "1.0.0")
2289(make-obsolete 'modus-vivendi-theme-intense-paren-match 'modus-themes-paren-match "1.0.0")
2290(make-obsolete 'modus-vivendi-theme-faint-syntax 'modus-themes-syntax "1.0.0")
2291(make-obsolete 'modus-vivendi-theme-comments 'modus-themes-syntax "1.0.0")
2292(make-obsolete 'modus-vivendi-theme-syntax 'modus-themes-syntax "1.0.0")
2293(make-obsolete 'modus-vivendi-theme-no-link-underline 'modus-themes-links "1.0.0")
2294(make-obsolete 'modus-vivendi-theme-links 'modus-themes-links "1.0.0")
2295
2296
2297
2298;;; Internal functions
2299
2300(defun modus-themes--palette (theme)
2301 "Return color palette for Modus theme THEME.
2302THEME is a symbol, either `modus-operandi' or `modus-vivendi'."
2303 (pcase theme
2304 ('modus-operandi
2305 (append modus-themes-operandi-color-overrides
2306 modus-themes-operandi-colors))
2307 ('modus-vivendi
2308 (append modus-themes-vivendi-color-overrides
2309 modus-themes-vivendi-colors))
2310 (_theme
2311 (error "'%s' is not a Modus theme" theme))))
2312
2313(defvar modus-themes-faces)
2314(defvar modus-themes-custom-variables)
2315
2316(defmacro modus-themes-theme (name)
2317 "Bind NAME's color palette around face specs and variables.
2318
2319NAME should be the proper name of a Modus theme, either
2320`modus-operandi' or `modus-vivendi'.
2321
2322Face specifications are passed to `custom-theme-set-faces'.
2323While variables are handled by `custom-theme-set-variables'.
2324Those are stored in `modus-themes-faces' and
2325`modus-themes-custom-variables' respectively."
2326 (declare (indent 0))
2327 (let ((palette-sym (gensym))
2328 (colors (mapcar #'car modus-themes-operandi-colors)))
2329 `(let* ((class '((class color) (min-colors 89)))
2330 (,palette-sym (modus-themes--palette ',name))
2331 ,@(mapcar (lambda (color)
2332 (list color `(alist-get ',color ,palette-sym)))
2333 colors))
2334 (custom-theme-set-faces ',name ,@modus-themes-faces)
2335 (custom-theme-set-variables ',name ,@modus-themes-custom-variables))))
2336
2337(defun modus-themes--current-theme ()
2338 "Return current theme."
2339 (car custom-enabled-themes))
2340
2341;; Helper functions that are meant to ease the implementation of the
2342;; above customization options.
2343(defun modus-themes--bold-weight ()
2344 "Conditional use of a heavier text weight."
2345 (when modus-themes-bold-constructs
2346 (list :inherit 'bold)))
2347
2348(defun modus-themes--mixed-fonts ()
2349 "Conditional application of `fixed-pitch' inheritance."
2350 (unless modus-themes-no-mixed-fonts
2351 (list :inherit 'fixed-pitch)))
2352
2353(defun modus-themes--slant ()
2354 "Conditional use of italics for slant attribute."
2355 (if modus-themes-slanted-constructs
2356 (list 'italic)
2357 (list 'normal)))
2358
2359(defun modus-themes--variable-pitch ()
2360 "Conditional use of `variable-pitch' in headings."
2361 (when modus-themes-variable-pitch-headings
2362 (list :inherit 'variable-pitch)))
2363
2364(defun modus-themes--variable-pitch-ui ()
2365 "Conditional use of `variable-pitch' in UI elements."
2366 (when modus-themes-variable-pitch-ui
2367 (list :inherit 'variable-pitch)))
2368
2369(defun modus-themes--fringe (mainbg subtlebg intensebg)
2370 "Conditional use of background colors for fringes.
2371MAINBG is the default. SUBTLEBG should be a subtle greyscale
2372value. INTENSEBG must be a more pronounced greyscale color."
2373 (pcase modus-themes-fringes
2374 ('intense (list :background intensebg))
2375 ('subtle (list :background subtlebg))
2376 (_ (list :background mainbg))))
2377
2378(defun modus-themes--line-numbers (mainfg mainbg altfg &optional altbg)
2379 "Conditional use of colors for line numbers.
2380MAINBG and MAINFG are the default colors. ALTFG is a color that
2381combines with the theme's primary background (white/black)."
2382 (if modus-themes-subtle-line-numbers
2383 (list :background (or altbg 'unspecified) :foreground altfg)
2384 (list :background mainbg :foreground mainfg)))
2385
2386(defun modus-themes--lang-check (underline subtlefg intensefg bg)
2387 "Conditional use of foreground colors for language checkers.
2388UNDERLINE is a color-code value for the affected text's underline
2389property. SUBTLEFG and INTENSEFG follow the same color-coding
2390pattern and represent a value that is faint or vibrant
2391respectively. BG is a color-coded background."
2392 (pcase modus-themes-lang-checkers
2393 ('colored-background
2394 (list :underline underline :background bg :foreground intensefg))
2395 ('intense-foreground
2396 (list :underline (list :color underline :style 'wave) :foreground intensefg))
2397 ('intense-foreground-straight-underline
2398 (list :underline underline :foreground intensefg))
2399 ('subtle-foreground
2400 (list :underline (list :color underline :style 'wave) :foreground subtlefg))
2401 ('subtle-foreground-straight-underline
2402 (list :underline underline :foreground subtlefg))
2403 ('straight-underline
2404 (list :underline underline))
2405 (_ (list :underline (list :color underline :style 'wave)))))
2406
2407(defun modus-themes--prompt (mainfg subtlebg subtlefg intensebg intensefg)
2408 "Conditional use of background colors for prompts.
2409MAINFG is the prompt's standard foreground. SUBTLEBG should be a
2410subtle accented background that works with SUBTLEFG. INTENSEBG
2411must be a more pronounced accented color that should be
2412combinable with INTENSEFG."
2413 (pcase modus-themes-prompts
2414 ;; `subtle' is the same as `subtle-accented', while `intense' is
2415 ;; equal to `intense-accented' for backward compatibility
2416 ('intense-accented (list :background intensebg :foreground intensefg))
2417 ('intense (list :background intensebg :foreground intensefg))
2418 ('subtle-accented (list :background subtlebg :foreground subtlefg))
2419 ('subtle (list :background subtlebg :foreground subtlefg))
2420 ('subtle-gray (list :inherit 'modus-theme-subtle-neutral))
2421 ('intense-gray (list :inherit 'modus-theme-intense-neutral))
2422 (_ (list :background nil :foreground mainfg))))
2423
2424(defun modus-themes--paren (normalbg intensebg)
2425 "Conditional use of intense colors for matching parentheses.
2426NORMALBG should be the special palette color 'bg-paren-match' or
2427something similar. INTENSEBG must be easier to discern next to
2428other backgrounds, such as the special palette color
2429'bg-paren-match-intense'."
2430 (pcase modus-themes-paren-match
2431 ('subtle-bold (list :inherit 'bold :background normalbg))
2432 ('intense-bold (list :inherit 'bold :background intensebg))
2433 ('intense (list :background intensebg))
2434 (_ (list :background normalbg))))
2435
2436(defun modus-themes--syntax-foreground (fg faint)
2437 "Apply foreground value to code syntax.
2438FG is the default. FAINT is typically the same color in its
2439desaturated version."
2440 (pcase modus-themes-syntax
2441 ('faint (list :foreground faint))
2442 ('faint-yellow-comments (list :foreground faint))
2443 (_ (list :foreground fg))))
2444
2445(defun modus-themes--syntax-extra (fg faint alt)
2446 "Apply foreground value to code syntax.
2447FG is the default. FAINT is typically the same color in its
2448desaturated version. ALT is another hue."
2449 (pcase modus-themes-syntax
2450 ('faint (list :foreground faint))
2451 ('faint-yellow-comments (list :foreground faint))
2452 ('alt-syntax (list :foreground alt))
2453 ('alt-syntax-yellow-comments (list :foreground alt))
2454 (_ (list :foreground fg))))
2455
2456(defun modus-themes--syntax-string (fg faint green alt)
2457 "Apply foreground value to strings in code syntax.
2458FG is the default. FAINT is typically the same color in its
2459desaturated version. GREEN is a color variant in that side of
2460the spectrum. ALT is another hue."
2461 (pcase modus-themes-syntax
2462 ('faint (list :foreground faint))
2463 ('faint-yellow-comments (list :foreground faint))
2464 ('green-strings (list :foreground green))
2465 ('yellow-comments-green-strings (list :foreground alt))
2466 ('alt-syntax (list :foreground alt))
2467 ('alt-syntax-yellow-comments (list :foreground alt))
2468 (_ (list :foreground fg))))
2469
2470(defun modus-themes--syntax-docstring (fg faint green alt)
2471 "Apply foreground value to strings in code syntax.
2472FG is the default. FAINT is typically the same color in its
2473desaturated version. GREEN is a color variant in that side of
2474the spectrum. ALT is another hue."
2475 (pcase modus-themes-syntax
2476 ('faint (list :foreground faint))
2477 ('faint-yellow-comments (list :foreground faint))
2478 ('green-strings (list :foreground green))
2479 ('yellow-comments-green-strings (list :foreground green))
2480 ('alt-syntax (list :foreground alt))
2481 ('alt-syntax-yellow-comments (list :foreground alt))
2482 (_ (list :foreground fg))))
2483
2484(defun modus-themes--syntax-comment (fg yellow)
2485 "Apply foreground value to strings in code syntax.
2486FG is the default. YELLOW is a color variant of that name."
2487 (pcase modus-themes-syntax
2488 ('yellow-comments (list :foreground yellow))
2489 ('yellow-comments-green-strings (list :foreground yellow))
2490 ('alt-syntax-yellow-comments (list :foreground yellow))
2491 ('faint-yellow-comments (list :foreground yellow))
2492 (_ (list :foreground fg))))
2493
2494(defun modus-themes--heading-p (key)
2495 "Query style of KEY in `modus-themes-headings'."
2496 (cdr (assoc key modus-themes-headings)))
2497
2498(defun modus-themes--heading (level fg fg-alt bg border)
2499 "Conditional styles for `modus-themes-headings'.
2500
2501LEVEL is the heading's position in their order. FG is the
2502default text color. FG-ALT is an accented, more saturated value
2503than the default. BG is a nuanced, typically accented,
2504background that can work well with either of the foreground
2505values. BORDER is a color value that combines well with the
2506background and alternative foreground."
2507 (let* ((key (modus-themes--heading-p `,level))
2508 (style (or key (modus-themes--heading-p t)))
2509 (var (when modus-themes-variable-pitch-headings
2510 'variable-pitch))
2511 (varbold (if var
2512 (append (list 'bold) (list var))
2513 'bold)))
2514 (pcase style
2515 ('no-bold
2516 (list :inherit `,var :foreground fg))
2517 ('no-color
2518 (list :inherit `,varbold))
2519 ('no-color-no-bold
2520 (list :inherit `,var))
2521 ('line
2522 (list :inherit `,varbold :foreground fg :overline border))
2523 ('line-no-bold
2524 (list :inherit `,var :foreground fg :overline border))
2525 ('rainbow
2526 (list :inherit `,varbold :foreground fg-alt))
2527 ('rainbow-no-bold
2528 (list :inherit `,var :foreground fg-alt))
2529 ('rainbow-line
2530 (list :inherit `,varbold :foreground fg-alt :overline border))
2531 ('rainbow-line-no-bold
2532 (list :inherit `,var :foreground fg-alt :overline border))
2533 ('highlight
2534 (list :inherit `,varbold :background bg :foreground fg))
2535 ('highlight-no-bold
2536 (list :inherit `,var :background bg :foreground fg))
2537 ('rainbow-highlight
2538 (list :inherit `,varbold :background bg :foreground fg-alt))
2539 ('rainbow-highlight-no-bold
2540 (list :inherit `,var :background bg :foreground fg-alt))
2541 ('section
2542 (list :inherit `,varbold :background bg :foreground fg :overline border :extend t))
2543 ('section-no-bold
2544 (list :inherit `,var :background bg :foreground fg :overline border :extend t))
2545 ('rainbow-section
2546 (list :inherit `,varbold :background bg :foreground fg-alt :overline border :extend t))
2547 ('rainbow-section-no-bold
2548 (list :inherit `,var :background bg :foreground fg-alt :overline border :extend t))
2549 (_
2550 (list :inherit `,varbold :foreground fg)))))
2551
2552(defun modus-themes--org-block (bgblk)
2553 "Conditionally set the background of Org blocks.
2554BGBLK applies to a distinct neutral background. Else blocks have
2555no background of their own (the default), so they look the same
2556as the rest of the buffer.
2557
2558`modus-themes-org-blocks' also accepts a `rainbow' option
2559which is applied conditionally to `org-src-block-faces' (see the
2560theme's source code)."
2561 (if (or (eq modus-themes-org-blocks 'grayscale)
2562 (eq modus-themes-org-blocks 'greyscale))
2563 (list :background bgblk :extend t)
2564 (list :background 'unspecified)))
2565
2566(defun modus-themes--org-block-delim (bgaccent fgaccent bg fg)
2567 "Conditionally set the styles of Org block delimiters.
2568BG, FG, BGACCENT, FGACCENT apply a background and foreground
2569color respectively.
2570
2571The former pair is a greyscale combination that should be more
2572distinct than the background of the block. It is applied to the
2573default styles or when `modus-themes-org-blocks' is set
2574to `greyscale'.
2575
2576The latter pair should be more subtle than the background of the
2577block, as it is used when `modus-themes-org-blocks' is
2578set to `rainbow'."
2579 (pcase modus-themes-org-blocks
2580 ('grayscale (list :background bg :foreground fg :extend t))
2581 ('greyscale (list :background bg :foreground fg :extend t))
2582 ('rainbow (list :background bgaccent :foreground fgaccent))
2583 (_ (list :background bg :foreground fg))))
2584
2585(defun modus-themes--org-habit (default &optional traffic simple)
2586 "Specify background values for `modus-themes-org-habit'.
2587If no optional TRAFFIC argument is supplied, the DEFAULT is used
2588instead. Same for SIMPLE."
2589 (pcase modus-themes-org-habit
2590 ('traffic-light (list :background (or traffic default)))
2591 ('simplified (list :background (or simple default)))
2592 (_ (list :background default))))
2593
2594(defun modus-themes--mode-line-attrs
2595 (fg bg fg-alt bg-alt border border-3d &optional alt-style border-width fg-distant)
2596 "Color combinations for `modus-themes-mode-line'.
2597
2598FG and BG are the default colors. FG-ALT and BG-ALT are meant to
2599accommodate the options for a 3D modeline or a `moody' compliant
2600one. BORDER applies to all permutations of the modeline, except
2601the three-dimensional effect, where BORDER-3D is used instead.
2602
2603Optional ALT-STYLE applies an appropriate style to the mode
2604line's box property.
2605
2606Optional BORDER-WIDTH specifies an integer for the width of the
2607rectangle that produces the box effect.
2608
2609Optional FG-DISTANT should be close to the main background
2610values. It is intended to be used as a distant-foreground
2611property."
2612 (pcase modus-themes-mode-line
2613 ('3d
2614 `(:background ,bg-alt :foreground ,fg-alt
2615 :box (:line-width ,(or border-width 1)
2616 :color ,border-3d
2617 :style ,(and alt-style 'released-button))))
2618 ('moody
2619 `(:background ,bg-alt :foreground ,fg-alt
2620 :underline ,border :overline ,border
2621 :distant-foreground ,fg-distant))
2622 ('borderless
2623 `(:foreground ,fg :background ,bg :box ,bg))
2624 ('borderless-3d
2625 `(:foreground ,fg :background ,bg
2626 :box (:line-width ,(or border-width 1)
2627 :color ,bg
2628 :style ,(and alt-style 'released-button))))
2629 ('borderless-moody
2630 `(:background ,bg :foreground ,fg
2631 :underline ,bg :overline ,bg
2632 :distant-foreground ,fg-distant))
2633 (_
2634 `(:foreground ,fg :background ,bg :box ,border))))
2635
2636(defun modus-themes--diff
2637 (fg-only-bg fg-only-fg mainbg mainfg altbg altfg &optional deuteranbg deuteranfg bg-only-fg)
2638 "Color combinations for `modus-themes-diffs'.
2639
2640FG-ONLY-BG should be similar or the same as the main background.
2641FG-ONLY-FG should be a saturated accent value that can be
2642combined with the former.
2643
2644MAINBG must be one of the dedicated backgrounds for diffs while
2645MAINFG must be the same for the foreground.
2646
2647ALTBG needs to be a slightly accented background that is meant to
2648be combined with ALTFG. Both must be less intense than MAINBG
2649and MAINFG respectively.
2650
2651DEUTERANBG and DEUTERANFG must be combinations of colors that account
2652for red-green color defficiency (deuteranopia).
2653
2654Optional BG-ONLY-FG applies ALTFG else leaves the foreground
2655unspecified."
2656 (pcase modus-themes-diffs
2657 ('fg-only (list :background fg-only-bg :foreground fg-only-fg))
2658 ('desaturated (list :background altbg :foreground altfg))
2659 ('deuteranopia (list :background (or deuteranbg mainbg) :foreground (or deuteranfg mainfg)))
2660 ('bg-only (list :background altbg :foreground (if bg-only-fg altfg 'unspecified)))
2661 (_ (list :background mainbg :foreground mainfg))))
2662
2663(defun modus-themes--diff-deuteran (deuteran main)
2664 "Determine whether the DEUTERAN or MAIN color should be used.
2665This is based on whether `modus-themes-diffs' has the value
2666`deuteranopia'."
2667 (if (eq modus-themes-diffs 'deuteranopia)
2668 (list deuteran)
2669 (list main)))
2670
2671(defun modus-themes--diff-text (fg-only-fg default-fg)
2672 "Like `modus-themes--diff', but only for foregrounds.
2673FG-ONLY-FG is the foreground that is used when diffs are styled
2674using only foreground colors. DEFAULT-FG covers all other
2675cases."
2676 (pcase modus-themes-diffs
2677 ('fg-only (list :foreground fg-only-fg))
2678 ('bg-only (list :foreground 'unspecified))
2679 (_ (list :foreground default-fg))))
2680
2681(defun modus-themes--standard-completions (mainfg subtlebg intensebg intensefg)
2682 "Combinations for `modus-themes-completions'.
2683
2684MAINFG is an accented foreground value. SUBTLEBG is an accented
2685background value that can be combined with MAINFG. INTENSEBG and
2686INTENSEFG are accented colors that are designed to be used in
2687tandem.
2688
2689These are intended for Icomplete, Ido, and related."
2690 (pcase modus-themes-completions
2691 ('opinionated (list :background intensebg :foreground intensefg))
2692 ('moderate (list :background subtlebg :foreground mainfg))
2693 (_ (list :foreground mainfg))))
2694
2695(defun modus-themes--extra-completions (subtleface intenseface altface &optional altfg bold)
2696 "Combinations for `modus-themes-completions'.
2697
2698SUBTLEFACE and INTENSEFACE are custom theme faces that combine a
2699background and foreground value. The difference between the two
2700is a matter of degree.
2701
2702ALTFACE is a combination of colors that represents a departure
2703from the UI's default aesthetics. Optional ALTFG is meant to be
2704used in tandem with it.
2705
2706Optional BOLD will apply a heavier weight to the text.
2707
2708These are intended for Helm, Ivy, etc."
2709 (pcase modus-themes-completions
2710 ('opinionated (list :inherit (list altface bold)
2711 :foreground (or altfg 'unspecified)))
2712 ('moderate (list :inherit (list subtleface bold)))
2713 (_ (list :inherit (list intenseface bold)))))
2714
2715(defun modus-themes--link (fg fgfaint underline)
2716 "Conditional application of link styles.
2717FG is the link's default color for its text and underline
2718property. FGFAINT is a desaturated color for the text and
2719underline. UNDERLINE is a grey color only for the undeline."
2720 (pcase modus-themes-links
2721 ('faint (list :foreground fgfaint :underline t))
2722 ('neutral-underline (list :foreground fg :underline underline))
2723 ('faint-neutral-underline (list :foreground fgfaint :underline underline))
2724 ('no-underline (list :foreground fg :underline nil))
2725 ('underline-only (list :underline t))
2726 ('neutral-underline-only (list :underline underline))
2727 (_ (list :foreground fg :underline t))))
2728
2729(defun modus-themes--link-color (fg fgfaint &optional neutralfg)
2730 "Extends `modus-themes--link'.
2731FG is the main accented foreground. FGFAINT is also accented,
2732yet desaturated. Optional NEUTRALFG is a gray value."
2733 (pcase modus-themes-links
2734 ('faint (list :foreground fgfaint))
2735 ('faint-neutral-underline (list :foreground fgfaint))
2736 ('underline-only (list :underline t :foreground (or neutralfg 'unspecified)))
2737 ('neutral-underline-only (list :underline 'unspecified :foreground (or neutralfg 'unspecified)))
2738 (_ (list :foreground fg))))
2739
2740(defun modus-themes--scale (amount)
2741 "Scale heading by AMOUNT.
2742AMOUNT is a customization option."
2743 (when modus-themes-scale-headings
2744 (list :height amount)))
2745
2746(defun modus-themes--region (bg fg bgsubtle)
2747 "Apply `modus-themes-region' styles.
2748
2749BG and FG are the main values that are used by default. BGSUBTLE
2750is a subtle background value that can be combined with all colors
2751used to fontify text and code syntax."
2752 (pcase modus-themes-region
2753 ('bg-only (list :background bgsubtle))
2754 ('bg-only-no-extend (list :background bgsubtle :extend nil))
2755 ('no-extend (list :background bg :foreground fg :extend nil))
2756 (_ (list :background bg :foreground fg))))
2757
2758
2759
2760;;;; Utilities for DIY users
2761
2762;; This is the WCAG formula: https://www.w3.org/TR/WCAG20-TECHS/G18.html
2763(defun modus-themes-wcag-formula (hex)
2764 "Get WCAG value of color value HEX.
2765The value is defined in hexadecimal RGB notation, such as those in
2766`modus-themes-operandi-colors' and `modus-themes-vivendi-colors'."
2767 (cl-loop for k in '(0.2126 0.7152 0.0722)
2768 for x in (color-name-to-rgb hex)
2769 sum (* k (if (<= x 0.03928)
2770 (/ x 12.92)
2771 (expt (/ (+ x 0.055) 1.055) 2.4)))))
2772
2773;;;###autoload
2774(defun modus-themes-contrast (c1 c2)
2775 "Measure WCAG contrast ratio between C1 and C2.
2776C1 and C2 are color values written in hexadecimal RGB."
2777 (let ((ct (/ (+ (modus-themes-wcag-formula c1) 0.05)
2778 (+ (modus-themes-wcag-formula c2) 0.05))))
2779 (max ct (/ ct))))
2780
2781(defun modus-themes-current-palette ()
2782 "Return current color palette."
2783 (modus-themes--palette (modus-themes--current-theme)))
2784
2785;;;###autoload
2786(defun modus-themes-color (color)
2787 "Return color value for COLOR from current palette.
2788COLOR is a key in `modus-themes-operandi-colors' or
2789`modus-themes-vivendi-colors'."
2790 (alist-get color (modus-themes-current-palette)))
2791
2792;;;###autoload
2793(defun modus-themes-color-alts (light-color dark-color)
2794 "Return color value from current palette.
2795When Modus Operandi is enabled, return color value for color
2796LIGHT-COLOR. When Modus Vivendi is enabled, return color value
2797for DARK-COLOR. LIGHT-COLOR and DARK-COLOR are keys in
2798`modus-themes-operandi-colors' or `modus-themes-vivendi-colors'."
2799 (let* ((theme (modus-themes--current-theme))
2800 (color (pcase theme
2801 ('modus-operandi light-color)
2802 ('modus-vivendi dark-color)
2803 (_theme
2804 (error "'%s' is not a Modus theme" theme)))))
2805 (alist-get color (modus-themes--palette theme))))
2806
2807(defmacro modus-themes-with-colors (&rest body)
2808 "Evaluate BODY with colors from current palette bound.
2809For colors bound, see `modus-themes-operandi-colors' or
2810`modus-themes-vivendi-colors'."
2811 (declare (indent 0))
2812 (let ((palette-sym (gensym))
2813 (colors (mapcar #'car modus-themes-operandi-colors)))
2814 `(let* ((class '((class color) (min-colors 89)))
2815 (,palette-sym (modus-themes-current-palette))
2816 ,@(mapcar (lambda (color)
2817 (list color `(alist-get ',color ,palette-sym)))
2818 colors))
2819 (ignore class ,@colors) ; Silence unused variable warnings
2820 ,@body)))
2821
2822
2823
2824;;;; Commands
2825
2826;;;###autoload
2827(defun modus-themes-load-themes ()
2828 "Ensure that the Modus themes are in `custom-enabled-themes'.
2829
2830This function is intended for use in package declarations such as
2831those defined with the help of `use-package'. The idea is to add
2832this function to the `:init' stage of the package's loading, so
2833that subsequent calls that assume the presence of a loaded theme,
2834like `modus-themes-toggle' or `modus-themes-load-operandi', will
2835continue to work as intended even if they are lazy-loaded (such
2836as when they are declared in the `:config' phase)."
2837 (unless (or (custom-theme-p 'modus-operandi)
2838 (custom-theme-p 'modus-vivendi))
2839 (load-theme 'modus-operandi t t)
2840 (load-theme 'modus-vivendi t t)))
2841
2842(defvar modus-themes-after-load-theme-hook nil
2843 "Hook that runs after the `modus-themes-toggle' routines.")
2844
2845;; The reason we use `load-theme' instead of `enable-theme' is that the
2846;; former does a kind of "reset" on the face specs. So it plays nicely
2847;; with `custom-set-faces', as well as defcustom user customizations,
2848;; including the likes of `modus-themes-operandi-color-overrides'.
2849;;
2850;; Tests show that `enable-theme' does not re-read those variables, so
2851;; it might appear to the unsuspecting user that the themes are somehow
2852;; broken.
2853;;
2854;; This "reset", however, comes at the cost of being a bit slower than
2855;; `enable-theme'. User who have a stable setup and seldom update their
2856;; variables during a given Emacs session, are better off using
2857;; something like this:
2858;;
2859;; (defun modus-themes-toggle-enabled ()
2860;; "Toggle between `modus-operandi' and `modus-vivendi' themes."
2861;; (interactive)
2862;; (pcase (modus-themes--current-theme)
2863;; ('modus-operandi (progn (enable-theme 'modus-vivendi)
2864;; (disable-theme 'modus-operandi)))
2865;; ('modus-vivendi (progn (enable-theme 'modus-operandi)
2866;; (disable-theme 'modus-vivendi)))
2867;; (_ (error "No Modus theme is loaded; evaluate `modus-themes-load-themes' first"))))
2868
2869;;;###autoload
2870(defun modus-themes-load-operandi ()
2871 "Load `modus-operandi' and disable `modus-vivendi'.
2872Also run `modus-themes-after-load-theme-hook'."
2873 (disable-theme 'modus-vivendi)
2874 (load-theme 'modus-operandi t)
2875 (run-hooks 'modus-themes-after-load-theme-hook))
2876
2877;;;###autoload
2878(defun modus-themes-load-vivendi ()
2879 "Load `modus-vivendi' and disable `modus-operandi'.
2880Also run `modus-themes-after-load-theme-hook'."
2881 (disable-theme 'modus-operandi)
2882 (load-theme 'modus-vivendi t)
2883 (run-hooks 'modus-themes-after-load-theme-hook))
2884
2885(defun modus-themes--load-prompt ()
2886 "Helper for `modus-themes-toggle'."
2887 (let ((theme
2888 (intern
2889 (completing-read "Load Modus theme (will disable all others): "
2890 '(modus-operandi modus-vivendi) nil t))))
2891 (mapc #'disable-theme custom-enabled-themes)
2892 (pcase theme
2893 ('modus-operandi (modus-themes-load-operandi))
2894 ('modus-vivendi (modus-themes-load-vivendi)))))
2895
2896;;;###autoload
2897(defun modus-themes-toggle ()
2898 "Toggle between `modus-operandi' and `modus-vivendi' themes.
2899Also runs `modus-themes-after-load-theme-hook' at its last stage
2900by virtue of calling either of `modus-themes-load-operandi' and
2901`modus-themes-load-vivendi' functions."
2902 (interactive)
2903 (modus-themes-load-themes)
2904 (pcase (modus-themes--current-theme)
2905 ('modus-operandi (modus-themes-load-vivendi))
2906 ('modus-vivendi (modus-themes-load-operandi))
2907 (_ (modus-themes--load-prompt))))
2908
2909
2910
2911;;;; Face specifications
2912
2913(defconst modus-themes-faces
2914 '(
2915;;;; custom faces
2916 ;; these bespoke faces are inherited by other constructs below
2917;;;;; subtle colored backgrounds
2918 `(modus-theme-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim)))
2919 `(modus-theme-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim)))
2920 `(modus-theme-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim)))
2921 `(modus-theme-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim)))
2922 `(modus-theme-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim)))
2923 `(modus-theme-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim)))
2924 `(modus-theme-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive)))
2925;;;;; intense colored backgrounds
2926 `(modus-theme-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main)))
2927 `(modus-theme-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main)))
2928 `(modus-theme-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main)))
2929 `(modus-theme-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main)))
2930 `(modus-theme-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main)))
2931 `(modus-theme-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main)))
2932 `(modus-theme-intense-neutral ((,class :background ,bg-active :foreground ,fg-main)))
2933;;;;; refined background and foreground combinations
2934 ;; general purpose styles that use an accented foreground against an
2935 ;; accented background
2936 `(modus-theme-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg)))
2937 `(modus-theme-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg)))
2938 `(modus-theme-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg)))
2939 `(modus-theme-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg)))
2940 `(modus-theme-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg)))
2941 `(modus-theme-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg)))
2942;;;;; "active" combinations, mostly for use on the mode line
2943 `(modus-theme-active-red ((,class :background ,red-active :foreground ,bg-active)))
2944 `(modus-theme-active-green ((,class :background ,green-active :foreground ,bg-active)))
2945 `(modus-theme-active-yellow ((,class :background ,yellow-active :foreground ,bg-active)))
2946 `(modus-theme-active-blue ((,class :background ,blue-active :foreground ,bg-active)))
2947 `(modus-theme-active-magenta ((,class :background ,magenta-active :foreground ,bg-active)))
2948 `(modus-theme-active-cyan ((,class :background ,cyan-active :foreground ,bg-active)))
2949;;;;; nuanced backgrounds
2950 ;; useful for adding an accented background that is suitable for all
2951 ;; main foreground colors (intended for use in Org source blocks)
2952 `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg :extend t)))
2953 `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg :extend t)))
2954 `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg :extend t)))
2955 `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg :extend t)))
2956 `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg :extend t)))
2957 `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg :extend t)))
2958;;;;; fringe-specific combinations
2959 `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main)))
2960 `(modus-theme-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main)))
2961 `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main)))
2962 `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main)))
2963 `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main)))
2964 `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main)))
2965;;;;; special base values
2966 ;; these are closer to the grayscale than the accents defined above
2967 ;; and should only be used when the next closest alternative would be
2968 ;; a greyscale value than an accented one
2969 `(modus-theme-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
2970 `(modus-theme-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild)))
2971 `(modus-theme-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm)))
2972 `(modus-theme-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm)))
2973;;;;; diff-specific combinations
2974 ;; intended for `diff-mode' or equivalent
2975 `(modus-theme-diff-added
2976 ((,class ,@(modus-themes--diff
2977 bg-main green
2978 bg-diff-focus-added fg-diff-focus-added
2979 green-nuanced-bg fg-diff-added
2980 bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran))))
2981 `(modus-theme-diff-changed
2982 ((,class ,@(modus-themes--diff
2983 bg-main yellow
2984 bg-diff-focus-changed fg-diff-focus-changed
2985 yellow-nuanced-bg fg-diff-changed))))
2986 `(modus-theme-diff-removed
2987 ((,class ,@(modus-themes--diff
2988 bg-main red
2989 bg-diff-focus-removed fg-diff-focus-removed
2990 red-nuanced-bg fg-diff-removed))))
2991 `(modus-theme-diff-refine-added
2992 ((,class ,@(modus-themes--diff
2993 bg-diff-added fg-diff-added
2994 bg-diff-refine-added fg-diff-refine-added
2995 bg-diff-focus-added fg-diff-focus-added
2996 bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran))))
2997 `(modus-theme-diff-refine-changed
2998 ((,class ,@(modus-themes--diff
2999 bg-diff-changed fg-diff-changed
3000 bg-diff-refine-changed fg-diff-refine-changed
3001 bg-diff-focus-changed fg-diff-focus-changed))))
3002 `(modus-theme-diff-refine-removed
3003 ((,class ,@(modus-themes--diff
3004 bg-diff-removed fg-diff-removed
3005 bg-diff-refine-removed fg-diff-refine-removed
3006 bg-diff-focus-removed fg-diff-focus-removed))))
3007 `(modus-theme-diff-focus-added
3008 ((,class ,@(modus-themes--diff
3009 bg-dim green
3010 bg-diff-focus-added fg-diff-focus-added
3011 bg-diff-added fg-diff-added
3012 bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran))))
3013 `(modus-theme-diff-focus-changed
3014 ((,class ,@(modus-themes--diff
3015 bg-dim yellow
3016 bg-diff-focus-changed fg-diff-focus-changed
3017 bg-diff-changed fg-diff-changed))))
3018 `(modus-theme-diff-focus-removed
3019 ((,class ,@(modus-themes--diff
3020 bg-dim red
3021 bg-diff-focus-removed fg-diff-focus-removed
3022 bg-diff-removed fg-diff-removed))))
3023 `(modus-theme-diff-heading
3024 ((,class ,@(modus-themes--diff
3025 bg-main blue
3026 bg-diff-heading fg-diff-heading
3027 cyan-nuanced-bg cyan-nuanced-fg
3028 bg-header fg-main
3029 t))))
3030;;;;; mark indicators
3031 ;; color combinations intended for Dired, Ibuffer, or equivalent
3032 `(modus-theme-pseudo-header ((,class :inherit bold :foreground ,fg-main)))
3033 `(modus-theme-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt)))
3034 `(modus-theme-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del)))
3035 `(modus-theme-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel)))
3036 `(modus-theme-mark-symbol ((,class :inherit bold :foreground ,blue-alt)))
3037;;;;; heading levels
3038 ;; styles for regular headings used in Org, Markdown, Info, etc.
3039 `(modus-theme-heading-1
3040 ((,class ,@(modus-themes--heading
3041 1 fg-main magenta-alt-other magenta-nuanced-bg bg-region)
3042 ,@(modus-themes--scale modus-themes-scale-4))))
3043 `(modus-theme-heading-2
3044 ((,class ,@(modus-themes--heading
3045 2 fg-special-warm magenta-alt red-nuanced-bg bg-region)
3046 ,@(modus-themes--scale modus-themes-scale-3))))
3047 `(modus-theme-heading-3
3048 ((,class ,@(modus-themes--heading
3049 3 fg-special-cold blue blue-nuanced-bg bg-region)
3050 ,@(modus-themes--scale modus-themes-scale-2))))
3051 `(modus-theme-heading-4
3052 ((,class ,@(modus-themes--heading
3053 4 fg-special-mild cyan cyan-nuanced-bg bg-region)
3054 ,@(modus-themes--scale modus-themes-scale-1))))
3055 `(modus-theme-heading-5
3056 ((,class ,@(modus-themes--heading
3057 5 fg-special-calm green-alt-other green-nuanced-bg bg-region))))
3058 `(modus-theme-heading-6
3059 ((,class ,@(modus-themes--heading
3060 6 yellow-nuanced-fg yellow-alt-other yellow-nuanced-bg bg-region))))
3061 `(modus-theme-heading-7
3062 ((,class ,@(modus-themes--heading
3063 7 red-nuanced-fg red-alt red-nuanced-bg bg-region))))
3064 `(modus-theme-heading-8
3065 ((,class ,@(modus-themes--heading
3066 8 fg-dim magenta bg-alt bg-region))))
3067;;;;; graph-specific faces
3068 `(modus-theme-graph-red-0 ((,class :background ,red-graph-0-bg)))
3069 `(modus-theme-graph-red-1 ((,class :background ,red-graph-1-bg)))
3070 `(modus-theme-graph-green-0 ((,class :background ,green-graph-0-bg)))
3071 `(modus-theme-graph-green-1 ((,class :background ,green-graph-1-bg)))
3072 `(modus-theme-graph-yellow-0 ((,class :background ,yellow-graph-0-bg)))
3073 `(modus-theme-graph-yellow-1 ((,class :background ,yellow-graph-1-bg)))
3074 `(modus-theme-graph-blue-0 ((,class :background ,blue-graph-0-bg)))
3075 `(modus-theme-graph-blue-1 ((,class :background ,blue-graph-1-bg)))
3076 `(modus-theme-graph-magenta-0 ((,class :background ,magenta-graph-0-bg)))
3077 `(modus-theme-graph-magenta-1 ((,class :background ,magenta-graph-1-bg)))
3078 `(modus-theme-graph-cyan-0 ((,class :background ,cyan-graph-0-bg)))
3079 `(modus-theme-graph-cyan-1 ((,class :background ,cyan-graph-1-bg)))
3080;;;;; language checkers
3081 `(modus-theme-lang-error ((,class ,@(modus-themes--lang-check fg-lang-underline-error fg-lang-error red red-nuanced-bg))))
3082 `(modus-theme-lang-note ((,class ,@(modus-themes--lang-check fg-lang-underline-note fg-lang-note blue-alt blue-nuanced-bg))))
3083 `(modus-theme-lang-warning ((,class ,@(modus-themes--lang-check fg-lang-underline-warning fg-lang-warning yellow yellow-nuanced-bg))))
3084;;;;; other custom faces
3085 `(modus-theme-bold ((,class ,@(modus-themes--bold-weight))))
3086 `(modus-theme-hl-line ((,class :background ,(if modus-themes-intense-hl-line
3087 bg-hl-line-intense bg-hl-line)
3088 :extend t)))
3089 `(modus-theme-slant ((,class :inherit italic :slant ,@(modus-themes--slant))))
3090 `(modus-theme-variable-pitch ((,class ,@(modus-themes--variable-pitch))))
3091;;;; standard faces
3092;;;;; absolute essentials
3093 `(default ((,class :background ,bg-main :foreground ,fg-main)))
3094 `(cursor ((,class :background ,fg-main)))
3095 `(fringe ((,class ,@(modus-themes--fringe bg-main bg-inactive bg-active)
3096 :foreground ,fg-main)))
3097 `(vertical-border ((,class :foreground ,fg-window-divider-inner)))
3098;;;;; basic and/or ungrouped styles
3099 `(bold ((,class :weight bold)))
3100 `(bold-italic ((,class :inherit (bold italic))))
3101 `(buffer-menu-buffer ((,class :inherit bold)))
3102 `(comint-highlight-input ((,class :inherit bold)))
3103 `(comint-highlight-prompt ((,class :inherit modus-theme-bold
3104 ,@(modus-themes--prompt
3105 cyan
3106 blue-nuanced-bg blue-alt
3107 blue-refine-bg fg-main))))
3108 `(error ((,class :inherit bold :foreground ,red)))
3109 `(escape-glyph ((,class :foreground ,fg-escape-char-construct)))
3110 `(file-name-shadow ((,class :foreground ,fg-unfocused)))
3111 `(header-line ((,class ,@(modus-themes--variable-pitch-ui)
3112 :background ,bg-header :foreground ,fg-header)))
3113 `(header-line-highlight ((,class :inherit modus-theme-active-blue)))
3114 `(help-argument-name ((,class :inherit modus-theme-slant :foreground ,cyan)))
3115 `(homoglyph ((,class :foreground ,red-alt-faint)))
3116 `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other-faint)))
3117 `(italic ((,class :slant italic)))
3118 `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct)))
3119 `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t)))
3120 `(minibuffer-prompt ((,class ,@(modus-themes--prompt
3121 cyan-alt-other
3122 cyan-nuanced-bg cyan
3123 cyan-refine-bg fg-main))))
3124 `(mm-command-output ((,class :foreground ,red-alt-other)))
3125 `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild)))
3126 `(next-error ((,class :inherit modus-theme-subtle-red)))
3127 `(rectangle-preview ((,class :inherit modus-theme-special-mild)))
3128 `(region ((,class ,@(modus-themes--region bg-region fg-main bg-hl-alt-intense))))
3129 `(secondary-selection ((,class :inherit modus-theme-special-cold)))
3130 `(shadow ((,class :foreground ,fg-alt)))
3131 `(success ((,class :inherit bold :foreground ,green)))
3132 `(trailing-whitespace ((,class :background ,red-intense-bg)))
3133 `(warning ((,class :inherit bold :foreground ,yellow)))
3134;;;;; buttons, links, widgets
3135 `(button ((,class ,@(modus-themes--link
3136 blue-alt-other blue-alt-other-faint bg-region))))
3137 `(link ((,class :inherit button)))
3138 `(link-visited ((,class :inherit button
3139 ,@(modus-themes--link-color
3140 magenta-alt-other magenta-alt-other-faint fg-alt))))
3141 `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main)))
3142 `(widget-button ((,class :inherit button)))
3143 `(widget-button-pressed ((,class :inherit button
3144 ,@(modus-themes--link-color
3145 magenta magenta-faint))))
3146 `(widget-documentation ((,class :foreground ,green)))
3147 `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim)))
3148 `(widget-inactive ((,class :background ,bg-inactive :foreground ,fg-inactive)))
3149 `(widget-single-line-field ((,class :inherit widget-field)))
3150;;;;; ag
3151 `(ag-hit-face ((,class :foreground ,fg-special-cold)))
3152 `(ag-match-face ((,class :inherit modus-theme-special-calm)))
3153;;;;; alert
3154 `(alert-high-face ((,class :inherit bold :foreground ,red-alt)))
3155 `(alert-low-face ((,class :foreground ,fg-special-mild)))
3156 `(alert-moderate-face ((,class :inherit bold :foreground ,yellow)))
3157 `(alert-trivial-face ((,class :foreground ,fg-special-calm)))
3158 `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense)))
3159;;;;; all-the-icons
3160 `(all-the-icons-blue ((,class :foreground ,blue)))
3161 `(all-the-icons-blue-alt ((,class :foreground ,blue-alt)))
3162 `(all-the-icons-cyan ((,class :foreground ,cyan)))
3163 `(all-the-icons-cyan-alt ((,class :foreground ,cyan-alt)))
3164 `(all-the-icons-dblue ((,class :foreground ,blue-alt-other)))
3165 `(all-the-icons-dcyan ((,class :foreground ,cyan-alt-other)))
3166 `(all-the-icons-dgreen ((,class :foreground ,green-alt-other)))
3167 `(all-the-icons-dired-dir-face ((,class :foreground ,blue)))
3168 `(all-the-icons-dmaroon ((,class :foreground ,magenta-alt-other)))
3169 `(all-the-icons-dorange ((,class :foreground ,red-alt-other)))
3170 `(all-the-icons-dpink ((,class :foreground ,magenta)))
3171 `(all-the-icons-dpurple ((,class :foreground ,magenta-alt)))
3172 `(all-the-icons-dred ((,class :foreground ,red)))
3173 `(all-the-icons-dsilver ((,class :foreground ,fg-special-cold)))
3174 `(all-the-icons-dyellow ((,class :foreground ,yellow)))
3175 `(all-the-icons-green ((,class :foreground ,green)))
3176 `(all-the-icons-lblue ((,class :foreground ,blue-refine-fg)))
3177 `(all-the-icons-lcyan ((,class :foreground ,cyan-refine-fg)))
3178 `(all-the-icons-lgreen ((,class :foreground ,green-refine-fg)))
3179 `(all-the-icons-lmaroon ((,class :foreground ,magenta-refine-fg)))
3180 `(all-the-icons-lorange ((,class :foreground ,red-refine-fg)))
3181 `(all-the-icons-lpink ((,class :foreground ,magenta-refine-fg)))
3182 `(all-the-icons-lpurple ((,class :foreground ,magenta-refine-fg)))
3183 `(all-the-icons-lred ((,class :foreground ,red-refine-fg)))
3184 `(all-the-icons-lsilver ((,class :foreground ,fg-special-cold)))
3185 `(all-the-icons-lyellow ((,class :foreground ,yellow-refine-fg)))
3186 `(all-the-icons-maroon ((,class :foreground ,magenta)))
3187 `(all-the-icons-orange ((,class :foreground ,red-alt)))
3188 `(all-the-icons-pink ((,class :foreground ,magenta)))
3189 `(all-the-icons-purple ((,class :foreground ,magenta-alt)))
3190 `(all-the-icons-purple-alt ((,class :foreground ,magenta-alt-other)))
3191 `(all-the-icons-red ((,class :foreground ,red)))
3192 `(all-the-icons-red-alt ((,class :foreground ,red-alt)))
3193 `(all-the-icons-silver ((,class :foreground ,fg-special-cold)))
3194 `(all-the-icons-yellow ((,class :foreground ,yellow)))
3195;;;;; annotate
3196 `(annotate-annotation ((,class :inherit modus-theme-subtle-blue)))
3197 `(annotate-annotation-secondary ((,class :inherit modus-theme-subtle-green)))
3198 `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense)))
3199 `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense)))
3200;;;;; anzu
3201 `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan)))
3202 `(anzu-match-2 ((,class :inherit modus-theme-subtle-green)))
3203 `(anzu-match-3 ((,class :inherit modus-theme-subtle-yellow)))
3204 `(anzu-mode-line ((,class :inherit bold :foreground ,green-active)))
3205 `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active)))
3206 `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow :underline t)))
3207 `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold))))
3208;;;;; apropos
3209 `(apropos-function-button ((,class :inherit button
3210 ,@(modus-themes--link-color
3211 magenta-alt-other magenta-alt-other-faint))))
3212 `(apropos-keybinding ((,class :inherit bold :foreground ,cyan)))
3213 `(apropos-misc-button ((,class :inherit button
3214 ,@(modus-themes--link-color
3215 cyan-alt-other cyan-alt-other-faint))))
3216 `(apropos-property ((,class :inherit modus-theme-bold :foreground ,magenta-alt)))
3217 `(apropos-symbol ((,class :inherit modus-theme-bold :foreground ,blue-alt-other)))
3218 `(apropos-user-option-button ((,class :inherit button
3219 ,@(modus-themes--link-color
3220 green-alt-other green-alt-other-faint))))
3221 `(apropos-variable-button ((,class :inherit button
3222 ,@(modus-themes--link-color
3223 blue blue-faint))))
3224;;;;; apt-sources-list
3225 `(apt-sources-list-components ((,class :foreground ,cyan)))
3226 `(apt-sources-list-options ((,class :foreground ,yellow)))
3227 `(apt-sources-list-suite ((,class :foreground ,green)))
3228 `(apt-sources-list-type ((,class :foreground ,magenta)))
3229 `(apt-sources-list-uri ((,class :foreground ,blue)))
3230;;;;; artbollocks-mode
3231 `(artbollocks-face ((,class :inherit modus-theme-lang-note)))
3232 `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t)))
3233 `(artbollocks-passive-voice-face ((,class :inherit modus-theme-lang-warning)))
3234 `(artbollocks-weasel-words-face ((,class :inherit modus-theme-lang-error)))
3235;;;;; auctex and Tex
3236 `(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm)))
3237 `(font-latex-doctex-documentation-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
3238 `(font-latex-doctex-preprocessor-face ((,class :inherit modus-theme-bold :foreground ,red-alt-other)))
3239 `(font-latex-italic-face ((,class :inherit italic :foreground ,fg-special-calm)))
3240 `(font-latex-math-face ((,class :foreground ,cyan-alt-other)))
3241 `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other)))
3242 `(font-latex-sectioning-0-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg)))
3243 `(font-latex-sectioning-1-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg)))
3244 `(font-latex-sectioning-2-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg)))
3245 `(font-latex-sectioning-3-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg)))
3246 `(font-latex-sectioning-4-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg)))
3247 `(font-latex-sectioning-5-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg)))
3248 `(font-latex-sedate-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other)))
3249 `(font-latex-slide-title-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,cyan-nuanced-fg
3250 ,@(modus-themes--scale modus-themes-scale-4))))
3251 `(font-latex-string-face ((,class :inherit font-lock-string-face)))
3252 `(font-latex-subscript-face ((,class :height 0.95)))
3253 `(font-latex-superscript-face ((,class :height 0.95)))
3254 `(font-latex-verbatim-face ((,class :background ,bg-dim :foreground ,fg-special-mild)))
3255 `(font-latex-warning-face ((,class :inherit font-lock-warning-face)))
3256 `(tex-match ((,class :foreground ,blue-alt-other)))
3257 `(tex-verbatim ((,class :background ,bg-dim :foreground ,fg-special-mild)))
3258 `(texinfo-heading ((,class :foreground ,magenta)))
3259 `(TeX-error-description-error ((,class :inherit error)))
3260 `(TeX-error-description-help ((,class :foreground ,blue)))
3261 `(TeX-error-description-tex-said ((,class :foreground ,blue)))
3262 `(TeX-error-description-warning ((,class :inherit warning)))
3263;;;;; auto-dim-other-buffers
3264 `(auto-dim-other-buffers-face ((,class :background ,bg-alt)))
3265;;;;; avy
3266 `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim)))
3267 `(avy-goto-char-timer-face ((,class :inherit (modus-theme-intense-yellow bold))))
3268 `(avy-lead-face ((,class :inherit (modus-theme-intense-magenta bold))))
3269 `(avy-lead-face-0 ((,class :inherit (modus-theme-intense-blue bold))))
3270 `(avy-lead-face-1 ((,class :inherit (modus-theme-intense-red bold))))
3271 `(avy-lead-face-2 ((,class :inherit (modus-theme-intense-green bold))))
3272;;;;; aw (ace-window)
3273 `(aw-background-face ((,class :background ,bg-dim :foreground ,fg-dim)))
3274 `(aw-key-face ((,class :inherit bold :foreground ,blue-intense)))
3275 `(aw-leading-char-face ((,class :inherit bold :height 1.5 :slant normal :background ,bg-main :foreground ,red-intense)))
3276 `(aw-minibuffer-leading-char-face ((,class :foreground ,magenta-active)))
3277 `(aw-mode-line-face ((,class :inherit bold)))
3278;;;;; awesome-tray
3279 `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other)))
3280 `(awesome-tray-module-battery-face ((,class :inherit bold :foreground ,cyan-alt-other)))
3281 `(awesome-tray-module-buffer-name-face ((,class :inherit bold :foreground ,yellow-alt-other)))
3282 `(awesome-tray-module-circe-face ((,class :inherit bold :foreground ,blue-alt)))
3283 `(awesome-tray-module-date-face ((,class :inherit bold :foreground ,fg-dim)))
3284 `(awesome-tray-module-evil-face ((,class :inherit bold :foreground ,green-alt)))
3285 `(awesome-tray-module-git-face ((,class :inherit bold :foreground ,magenta)))
3286 `(awesome-tray-module-last-command-face ((,class :inherit bold :foreground ,blue-alt-other)))
3287 `(awesome-tray-module-location-face ((,class :inherit bold :foreground ,yellow)))
3288 `(awesome-tray-module-mode-name-face ((,class :inherit bold :foreground ,green)))
3289 `(awesome-tray-module-parent-dir-face ((,class :inherit bold :foreground ,cyan)))
3290 `(awesome-tray-module-rvm-face ((,class :inherit bold :foreground ,magenta-alt-other)))
3291;;;;; bbdb
3292 `(bbdb-name ((,class :foreground ,magenta-alt-other)))
3293 `(bbdb-organization ((,class :foreground ,red-alt-other)))
3294 `(bbdb-field-name ((,class :foreground ,cyan-alt-other)))
3295;;;;; binder
3296 `(binder-sidebar-highlight ((,class :inherit modus-theme-subtle-cyan)))
3297 `(binder-sidebar-marked ((,class :inherit modus-theme-mark-sel)))
3298 `(binder-sidebar-missing ((,class :inherit modus-theme-subtle-red)))
3299 `(binder-sidebar-tags ((,class :foreground ,cyan)))
3300;;;;; bm
3301 `(bm-face ((,class :inherit modus-theme-subtle-yellow :extend t)))
3302 `(bm-fringe-face ((,class :inherit modus-theme-fringe-yellow)))
3303 `(bm-fringe-persistent-face ((,class :inherit modus-theme-fringe-blue)))
3304 `(bm-persistent-face ((,class :inherit modus-theme-intense-blue :extend t)))
3305;;;;; bongo
3306 `(bongo-album-title ((,class :foreground ,yellow-active)))
3307 `(bongo-artist ((,class :foreground ,magenta-active)))
3308 `(bongo-currently-playing-track ((,class :inherit bold)))
3309 `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta :underline t)))
3310 `(bongo-filled-seek-bar ((,class :background ,blue-intense-bg :foreground ,fg-main)))
3311 `(bongo-marked-track ((,class :foreground ,fg-mark-alt)))
3312 `(bongo-marked-track-line ((,class :background ,bg-mark-alt)))
3313 `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t)))
3314 `(bongo-track-length ((,class :foreground ,fg-active)))
3315 `(bongo-track-title ((,class :foreground ,cyan-active)))
3316 `(bongo-unfilled-seek-bar ((,class :background ,bg-special-cold :foreground ,fg-main)))
3317;;;;; boon
3318 `(boon-modeline-cmd ((,class :inherit modus-theme-active-blue)))
3319 `(boon-modeline-ins ((,class :inherit modus-theme-active-red)))
3320 `(boon-modeline-off ((,class :inherit modus-theme-active-yellow)))
3321 `(boon-modeline-spc ((,class :inherit modus-theme-active-green)))
3322;;;;; breakpoint (built-in gdb-mi.el)
3323 `(breakpoint-disabled ((,class :inherit shadow)))
3324 `(breakpoint-enabled ((,class :inherit bold :foreground ,red)))
3325;;;;; buffer-expose
3326 `(buffer-expose-ace-char-face ((,class :inherit bold :foreground ,red-active)))
3327 `(buffer-expose-mode-line-face ((,class :foreground ,cyan-active)))
3328 `(buffer-expose-selected-face ((,class :inherit modus-theme-special-mild)))
3329;;;;; calendar and diary
3330 `(calendar-month-header ((,class :inherit modus-theme-pseudo-header)))
3331 `(calendar-today ((,class :inherit bold :underline t)))
3332 `(calendar-weekday-header ((,class :inherit shadow)))
3333 `(calendar-weekend-header ((,class :inherit shadow)))
3334 `(diary ((,class :background ,green-nuanced-bg :foreground ,green-alt-other)))
3335 `(diary-anniversary ((,class :foreground ,red-alt-other)))
3336 `(diary-time ((,class :foreground ,blue-alt)))
3337 `(holiday ((,class :background ,magenta-nuanced-bg :foreground ,magenta-alt)))
3338;;;;; calfw
3339 `(cfw:face-annotation ((,class :foreground ,fg-special-warm)))
3340 `(cfw:face-day-title ((,class :foreground ,fg-main)))
3341 `(cfw:face-default-content ((,class :foreground ,green-alt)))
3342 `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold))))
3343 `(cfw:face-disable ((,class :foreground ,fg-unfocused)))
3344 `(cfw:face-grid ((,class :foreground ,fg-window-divider-outer)))
3345 `(cfw:face-header ((,class :inherit bold :foreground ,fg-main)))
3346 `(cfw:face-holiday ((,class :foreground ,magenta-alt-other)))
3347 `(cfw:face-periods ((,class :foreground ,cyan-alt-other)))
3348 `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other)))
3349 `(cfw:face-select ((,class :inherit modus-theme-intense-blue)))
3350 `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other)))
3351 `(cfw:face-title ((,class :inherit modus-theme-variable-pitch
3352 :foreground ,fg-special-cold
3353 ,@(modus-themes--scale modus-themes-scale-5))))
3354 `(cfw:face-today ((,class :background ,bg-inactive)))
3355 `(cfw:face-today-title ((,class :background ,bg-active)))
3356 `(cfw:face-toolbar ((,class :background ,bg-alt :foreground ,bg-alt)))
3357 `(cfw:face-toolbar-button-off ((,class :inherit shadow)))
3358 `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg
3359 :foreground ,blue-alt)))
3360;;;;; centaur-tabs
3361 `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active)))
3362 `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t)))
3363 `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected)))
3364 `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected)))
3365 `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected)))
3366 `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected)))
3367 `(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main)))
3368 `(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active :foreground ,fg-main)))
3369 `(centaur-tabs-selected-modified ((,class :inherit italic :background ,bg-tab-active :foreground ,fg-main)))
3370 `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground ,fg-dim)))
3371 `(centaur-tabs-unselected-modified ((,class :inherit italic :background ,bg-tab-inactive :foreground ,fg-dim)))
3372;;;;; cfrs
3373 `(cfrs-border-color ((,class :background ,fg-window-divider-inner)))
3374;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
3375 `(change-log-acknowledgment ((,class :foreground ,fg-alt)))
3376 `(change-log-conditionals ((,class :foreground ,yellow)))
3377 `(change-log-date ((,class :foreground ,cyan)))
3378 `(change-log-email ((,class :foreground ,cyan-alt-other)))
3379 `(change-log-file ((,class :inherit bold :foreground ,fg-special-cold)))
3380 `(change-log-function ((,class :foreground ,green-alt-other)))
3381 `(change-log-list ((,class :foreground ,magenta-alt)))
3382 `(change-log-name ((,class :foreground ,magenta-alt-other)))
3383 `(log-edit-header ((,class :foreground ,fg-special-warm)))
3384 `(log-edit-summary ((,class :inherit bold :foreground ,blue)))
3385 `(log-edit-unknown-header ((,class :inherit shadow)))
3386 `(log-view-commit-body ((,class :foreground ,blue-nuanced-fg)))
3387 `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold)))
3388 `(log-view-message ((,class :background ,bg-alt :foreground ,fg-alt)))
3389;;;;; cider
3390 `(cider-debug-code-overlay-face ((,class :background ,bg-alt)))
3391 `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t)))
3392 `(cider-deprecated-face ((,class :inherit modus-theme-refine-yellow)))
3393 `(cider-docview-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold)))
3394 `(cider-docview-literal-face ((,class :foreground ,blue-alt)))
3395 `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold)))
3396 `(cider-docview-table-border-face ((,class :inherit shadow)))
3397 `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim)))
3398 `(cider-enlightened-local-face ((,class :inherit bold :foreground ,yellow-alt-other)))
3399 `(cider-error-highlight-face ((,class :foreground ,red :underline t)))
3400 `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,yellow)))
3401 `(cider-fringe-good-face ((,class :foreground ,green-active)))
3402 `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim)))
3403 `(cider-reader-conditional-face ((,class :inherit italic :foreground ,fg-special-warm)))
3404 `(cider-repl-input-face ((,class :inherit bold)))
3405 `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other)))
3406 `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red)))
3407 `(cider-repl-stdout-face ((,class :foreground ,blue)))
3408 `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim)))
3409 `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground ,red)))
3410 `(cider-stacktrace-error-message-face ((,class :inherit italic :foreground ,red-alt-other)))
3411 `(cider-stacktrace-face ((,class :foreground ,fg-main)))
3412 `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt :underline t)))
3413 `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt)))
3414 `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main)))
3415 `(cider-stacktrace-ns-face ((,class :inherit italic :foreground ,fg-alt)))
3416 `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red)))
3417 `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button)
3418 :background ,bg-alt :foreground ,fg-alt)))
3419 `(cider-test-error-face ((,class :inherit modus-theme-subtle-red)))
3420 `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red bold))))
3421 `(cider-test-success-face ((,class :inherit modus-theme-intense-green)))
3422 `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim)))
3423 `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t)))
3424;;;;; circe (and lui)
3425 `(circe-fool-face ((,class :inherit shadow)))
3426 `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue)))
3427 `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other)))
3428 `(circe-server-face ((,class :foreground ,fg-unfocused)))
3429 `(lui-button-face ((,class :inherit button)))
3430 `(lui-highlight-face ((,class :foreground ,magenta-alt)))
3431 `(lui-time-stamp-face ((,class :foreground ,blue-nuanced-fg)))
3432;;;;; color-rg
3433 `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other)))
3434 `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main)))
3435 `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold)))
3436 `(color-rg-font-lock-flash ((,class :inherit modus-theme-intense-blue)))
3437 `(color-rg-font-lock-function-location ((,class :inherit modus-theme-special-calm)))
3438 `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active)))
3439 `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active)))
3440 `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active)))
3441 `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active)))
3442 `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm)))
3443 `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue)))
3444 `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red)))
3445 `(color-rg-font-lock-match ((,class :inherit modus-theme-special-calm)))
3446 `(color-rg-font-lock-position-splitter ((,class :inherit shadow)))
3447;;;;; column-enforce-mode
3448 `(column-enforce-face ((,class :inherit modus-theme-refine-yellow)))
3449;;;;; company-mode
3450 `(company-echo-common ((,class :foreground ,magenta-alt-other)))
3451 `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim)))
3452 `(company-preview-common ((,class :foreground ,blue-alt)))
3453 `(company-preview-search ((,class :inherit modus-theme-special-calm)))
3454 `(company-scrollbar-bg ((,class :background ,bg-active)))
3455 `(company-scrollbar-fg ((,class :background ,fg-active)))
3456 `(company-template-field ((,class :inherit modus-theme-intense-magenta)))
3457 `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt)))
3458 `(company-tooltip-annotation ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
3459 `(company-tooltip-annotation-selection ((,class :inherit bold :foreground ,fg-main)))
3460 `(company-tooltip-common ((,class :inherit bold :foreground ,blue-alt)))
3461 `(company-tooltip-common-selection ((,class :foreground ,fg-main)))
3462 `(company-tooltip-mouse ((,class :inherit modus-theme-intense-blue)))
3463 `(company-tooltip-search ((,class :inherit (modus-theme-refine-cyan bold))))
3464 `(company-tooltip-search-selection ((,class :inherit (modus-theme-intense-green bold) :underline t)))
3465 `(company-tooltip-selection ((,class :inherit (modus-theme-subtle-cyan bold))))
3466;;;;; company-posframe
3467 `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active)))
3468 `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active)))
3469 `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive)))
3470;;;;; compilation feedback
3471 `(compilation-column-number ((,class :foreground ,magenta-alt-other)))
3472 `(compilation-error ((,class :inherit modus-theme-bold :foreground ,red)))
3473 `(compilation-info ((,class :inherit modus-theme-bold :foreground ,fg-special-cold)))
3474 `(compilation-line-number ((,class :foreground ,fg-special-warm)))
3475 `(compilation-mode-line-exit ((,class :inherit modus-theme-bold :foreground ,blue-active)))
3476 `(compilation-mode-line-fail ((,class :inherit modus-theme-bold :foreground ,red-active)))
3477 `(compilation-mode-line-run ((,class :inherit modus-theme-bold :foreground ,magenta-active)))
3478 `(compilation-warning ((,class :inherit modus-theme-bold :foreground ,yellow)))
3479;;;;; completions
3480 `(completions-annotations ((,class :inherit modus-theme-slant :foreground ,cyan-faint)))
3481 `(completions-common-part ((,class ,@(modus-themes--standard-completions
3482 blue-alt blue-nuanced-bg
3483 cyan-refine-bg cyan-refine-fg))))
3484 `(completions-first-difference ((,class :inherit bold
3485 ,@(modus-themes--standard-completions
3486 magenta-alt blue-nuanced-bg
3487 magenta-intense-bg fg-main))))
3488;;;;; consult
3489 `(consult-async-running ((,class :inherit bold :foreground ,blue)))
3490 `(consult-async-split ((,class :foreground ,magenta-alt)))
3491 `(consult-bookmark ((,class :foreground ,blue)))
3492 `(consult-file ((,class :foreground ,fg-special-cold)))
3493 `(consult-imenu-prefix ((,class :inherit shadow)))
3494 `(consult-key ((,class :inherit modus-themes-bold :foreground ,magenta-alt-other)))
3495 `(consult-line-number ((,class :foreground ,fg-special-warm)))
3496 `(consult-line-number-prefix ((,class :foreground ,fg-unfocused)))
3497 `(consult-narrow-indicator ((,class :foreground ,magenta-alt)))
3498 `(consult-preview-cursor ((,class :inherit modus-theme-intense-blue)))
3499 `(consult-preview-error ((,class :inherit modus-theme-intense-red)))
3500 `(consult-preview-line ((,class :background ,bg-hl-alt-intense)))
3501;;;;; counsel
3502 `(counsel-active-mode ((,class :foreground ,magenta-alt-other)))
3503 `(counsel-application-name ((,class :foreground ,red-alt-other)))
3504 `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other)))
3505 `(counsel-outline-1 ((,class :inherit org-level-1)))
3506 `(counsel-outline-2 ((,class :inherit org-level-2)))
3507 `(counsel-outline-3 ((,class :inherit org-level-3)))
3508 `(counsel-outline-4 ((,class :inherit org-level-4)))
3509 `(counsel-outline-5 ((,class :inherit org-level-5)))
3510 `(counsel-outline-6 ((,class :inherit org-level-6)))
3511 `(counsel-outline-7 ((,class :inherit org-level-7)))
3512 `(counsel-outline-8 ((,class :inherit org-level-8)))
3513 `(counsel-outline-default ((,class :foreground ,fg-main)))
3514 `(counsel-variable-documentation ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other)))
3515;;;;; counsel-css
3516 `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue)))
3517 `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan)))
3518 `(counsel-css-selector-depth-face-3 ((,class :foreground ,green)))
3519 `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow)))
3520 `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta)))
3521 `(counsel-css-selector-depth-face-6 ((,class :foreground ,red)))
3522;;;;; counsel-notmuch
3523 `(counsel-notmuch-count-face ((,class :foreground ,cyan)))
3524 `(counsel-notmuch-date-face ((,class :foreground ,blue)))
3525 `(counsel-notmuch-people-face ((,class :foreground ,magenta)))
3526 `(counsel-notmuch-subject-face ((,class :foreground ,magenta-alt-other)))
3527;;;;; counsel-org-capture-string
3528 `(counsel-org-capture-string-template-body-face ((,class :foreground ,fg-special-cold)))
3529;;;;; cov
3530 `(cov-coverage-not-run-face ((,class :foreground ,red-intense)))
3531 `(cov-coverage-run-face ((,class :foreground ,green-intense)))
3532 `(cov-heavy-face ((,class :foreground ,magenta-intense)))
3533 `(cov-light-face ((,class :foreground ,blue-intense)))
3534 `(cov-med-face ((,class :foreground ,yellow-intense)))
3535 `(cov-none-face ((,class :foreground ,cyan-intense)))
3536;;;;; cperl-mode
3537 `(cperl-nonoverridable-face ((,class :foreground unspecified)))
3538 `(cperl-array-face ((,class :inherit font-lock-keyword-face)))
3539 `(cperl-hash-face ((,class :inherit font-lock-variable-name-face)))
3540;;;;; csv-mode
3541 `(csv-separator-face ((,class :background ,bg-special-cold :foreground ,fg-main)))
3542;;;;; ctrlf
3543 `(ctrlf-highlight-active ((,class :inherit (modus-theme-intense-green bold))))
3544 `(ctrlf-highlight-line ((,class :inherit modus-theme-hl-line)))
3545 `(ctrlf-highlight-passive ((,class :inherit modus-theme-refine-cyan)))
3546;;;;; custom (M-x customize)
3547 `(custom-button ((,class :box (:line-width 2 :color nil :style released-button)
3548 :background ,bg-active :foreground ,fg-main)))
3549 `(custom-button-mouse ((,class :box (:line-width 2 :color nil :style released-button)
3550 :background ,bg-active :foreground ,fg-active)))
3551 `(custom-button-pressed ((,class :box (:line-width 2 :color nil :style pressed-button)
3552 :background ,bg-active :foreground ,fg-main)))
3553 `(custom-changed ((,class :inherit modus-theme-subtle-cyan)))
3554 `(custom-comment ((,class :inherit shadow)))
3555 `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other)))
3556 `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense)))
3557 `(custom-group-tag ((,class :inherit bold :foreground ,green-intense)))
3558 `(custom-group-tag-1 ((,class :inherit modus-theme-special-warm)))
3559 `(custom-invalid ((,class :inherit (modus-theme-intense-red bold))))
3560 `(custom-modified ((,class :inherit modus-theme-subtle-cyan)))
3561 `(custom-rogue ((,class :inherit modus-theme-refine-magenta)))
3562 `(custom-set ((,class :foreground ,blue-alt)))
3563 `(custom-state ((,class :foreground ,cyan-alt-other)))
3564 `(custom-themed ((,class :inherit modus-theme-subtle-blue)))
3565 `(custom-variable-tag ((,class :inherit bold :foreground ,cyan)))
3566;;;;; dap-mode
3567 `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil)
3568 :background ,bg-active :foreground ,fg-main)))
3569 `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active :style nil)
3570 :background ,bg-active :foreground ,fg-main)))
3571 `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground ,green-active)))
3572 `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense)))
3573 `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t)))
3574 `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan)))
3575 `(dap-ui-locals-variable-leaf-face ((,class :inherit italic :foreground ,cyan-alt-other)))
3576 `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue)))
3577 `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt)))
3578 `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt)))
3579 `(dap-ui-sessions-terminated-face ((,class :inherit shadow)))
3580;;;;; dashboard (emacs-dashboard)
3581 `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold)))
3582 `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild)))
3583 `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm)))
3584 `(dashboard-navigator ((,class :foreground ,cyan-alt-other)))
3585 `(dashboard-text-banner ((,class :foreground ,fg-dim)))
3586;;;;; deadgrep
3587 `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
3588 `(deadgrep-match-face ((,class :inherit modus-theme-special-calm)))
3589 `(deadgrep-meta-face ((,class :inherit shadow)))
3590 `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense)))
3591 `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense)))
3592;;;;; debbugs
3593 `(debbugs-gnu-archived ((,class :inverse-video t)))
3594 `(debbugs-gnu-done ((,class :inherit shadow)))
3595 `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm)))
3596 `(debbugs-gnu-handled ((,class :foreground ,green)))
3597 `(debbugs-gnu-new ((,class :foreground ,red)))
3598 `(debbugs-gnu-pending ((,class :foreground ,cyan)))
3599 `(debbugs-gnu-stale-1 ((,class :foreground ,yellow-nuanced-fg)))
3600 `(debbugs-gnu-stale-2 ((,class :foreground ,yellow)))
3601 `(debbugs-gnu-stale-3 ((,class :foreground ,yellow-alt)))
3602 `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other)))
3603 `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt)))
3604 `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt)))
3605;;;;; define-word
3606 `(define-word-face-1 ((,class :foreground ,yellow)))
3607 `(define-word-face-2 ((,class :foreground ,fg-main)))
3608;;;;; deft
3609 `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red)))
3610 `(deft-filter-string-face ((,class :foreground ,green-intense)))
3611 `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm)))
3612 `(deft-separator-face ((,class :inherit shadow)))
3613 `(deft-summary-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
3614 `(deft-time-face ((,class :foreground ,fg-special-cold)))
3615 `(deft-title-face ((,class :inherit bold :foreground ,fg-main)))
3616;;;;; dictionary
3617 `(dictionary-button-face ((,class :inherit bold :foreground ,fg-special-cold)))
3618 `(dictionary-reference-face ((,class :inherit button)))
3619 `(dictionary-word-definition-face ((,class)))
3620 `(dictionary-word-entry-face ((,class :inherit font-lock-comment-face)))
3621;;;;; diff-hl
3622 `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow)))
3623 `(diff-hl-delete ((,class :inherit modus-theme-fringe-red)))
3624 `(diff-hl-dired-change ((,class :inherit diff-hl-change)))
3625 `(diff-hl-dired-delete ((,class :inherit diff-hl-delete)))
3626 `(diff-hl-dired-ignored ((,class :inherit dired-ignored)))
3627 `(diff-hl-dired-insert ((,class :inherit diff-hl-insert)))
3628 `(diff-hl-dired-unknown ((,class :inherit dired-ignored)))
3629 `(diff-hl-insert ((,class :inherit modus-theme-fringe-green)))
3630 `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-theme-active-magenta bold))))
3631;;;;; diff-mode
3632 `(diff-added ((,class :inherit modus-theme-diff-added)))
3633 `(diff-changed ((,class :inherit modus-theme-diff-changed :extend t)))
3634 `(diff-context ((,class ,@(modus-themes--diff-text fg-main fg-unfocused))))
3635 `(diff-error ((,class :inherit modus-theme-intense-red)))
3636 `(diff-file-header ((,class :inherit (bold diff-header))))
3637 `(diff-function ((,class :inherit modus-theme-diff-heading)))
3638 `(diff-header ((,class ,@(modus-themes--diff-text cyan-faint fg-main))))
3639 `(diff-hunk-header ((,class :inherit (bold modus-theme-diff-heading))))
3640 `(diff-index ((,class :inherit bold :foreground ,blue-alt)))
3641 `(diff-indicator-added ((,class :inherit (diff-added bold)
3642 :foreground ,@(modus-themes--diff-deuteran blue green))))
3643 `(diff-indicator-changed ((,class :inherit (diff-changed bold) :foreground ,yellow)))
3644 `(diff-indicator-removed ((,class :inherit (diff-removed bold) :foreground ,red)))
3645 `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold))))
3646 `(diff-refine-added ((,class :inherit modus-theme-diff-refine-added)))
3647 `(diff-refine-changed ((,class :inherit modus-theme-diff-refine-changed)))
3648 `(diff-refine-removed ((,class :inherit modus-theme-diff-refine-removed)))
3649 `(diff-removed ((,class :inherit modus-theme-diff-removed)))
3650;;;;; dim-autoload
3651 `(dim-autoload-cookie-line ((,class :inherit font-lock-comment-face)))
3652;;;;; dir-treeview
3653 `(dir-treeview-archive-face ((,class :foreground ,fg-special-warm)))
3654 `(dir-treeview-archive-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,yellow)))
3655 `(dir-treeview-audio-face ((,class :foreground ,magenta)))
3656 `(dir-treeview-audio-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt)))
3657 `(dir-treeview-control-face ((,class :inherit shadow)))
3658 `(dir-treeview-control-mouse-face ((,class :inherit highlight)))
3659 `(dir-treeview-default-icon-face ((,class :inherit bold :family "Font Awesome" :foreground ,fg-alt)))
3660 `(dir-treeview-default-filename-face ((,class :foreground ,fg-main)))
3661 `(dir-treeview-directory-face ((,class :foreground ,blue)))
3662 `(dir-treeview-directory-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,blue-alt)))
3663 `(dir-treeview-executable-face ((,class :foreground ,red-alt)))
3664 `(dir-treeview-executable-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,red-alt-other)))
3665 `(dir-treeview-image-face ((,class :foreground ,green-alt-other)))
3666 `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt)))
3667 `(dir-treeview-indent-face ((,class :inherit shadow)))
3668 `(dir-treeview-label-mouse-face ((,class :inherit highlight)))
3669 `(dir-treeview-start-dir-face ((,class :inherit modus-theme-pseudo-header)))
3670 `(dir-treeview-symlink-face ((,class :inherit button
3671 ,@(modus-themes--link-color
3672 cyan cyan-faint))))
3673 `(dir-treeview-video-face ((,class :foreground ,magenta-alt-other)))
3674 `(dir-treeview-video-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt-other)))
3675;;;;; dired
3676 `(dired-broken-symlink ((,class :inherit button :foreground ,red)))
3677 `(dired-directory ((,class :foreground ,blue)))
3678 `(dired-flagged ((,class :inherit modus-theme-mark-del)))
3679 `(dired-header ((,class :inherit modus-theme-pseudo-header)))
3680 `(dired-ignored ((,class :inherit shadow)))
3681 `(dired-mark ((,class :inherit modus-theme-mark-symbol)))
3682 `(dired-marked ((,class :inherit modus-theme-mark-sel)))
3683 `(dired-perm-write ((,class :foreground ,fg-special-warm)))
3684 `(dired-symlink ((,class :inherit button
3685 ,@(modus-themes--link-color
3686 cyan-alt cyan-alt-faint))))
3687 `(dired-warning ((,class :inherit bold :foreground ,yellow)))
3688;;;;; dired-async
3689 `(dired-async-failures ((,class :inherit modus-theme-bold :foreground ,red-active)))
3690 `(dired-async-message ((,class :inherit modus-theme-bold :foreground ,green-active)))
3691 `(dired-async-mode-message ((,class :inherit modus-theme-bold :foreground ,cyan-active)))
3692;;;;; dired-git
3693 `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt)))
3694 `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other)))
3695;;;;; dired-git-info
3696 `(dgi-commit-message-face ((,class :foreground ,fg-special-mild)))
3697;;;;; dired-narrow
3698 `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold))))
3699;;;;; dired-subtree
3700 ;; remove backgrounds from dired-subtree faces, else they break
3701 ;; dired-{flagged,marked} and any other face that sets a background
3702 ;; such as hl-line. Also, denoting depth by varying shades of gray
3703 ;; is not good for accessibility.
3704 `(dired-subtree-depth-1-face (()))
3705 `(dired-subtree-depth-2-face (()))
3706 `(dired-subtree-depth-3-face (()))
3707 `(dired-subtree-depth-4-face (()))
3708 `(dired-subtree-depth-5-face (()))
3709 `(dired-subtree-depth-6-face (()))
3710;;;;; diredc
3711 `(diredc-face-chmod-font-lock-dir ((,class :foreground ,blue-alt)))
3712 `(diredc-face-chmod-font-lock-exec ((,class :foreground ,magenta)))
3713 `(diredc-face-chmod-font-lock-read ((,class :foreground ,fg-main)))
3714 `(diredc-face-chmod-font-lock-write ((,class :foreground ,cyan)))
3715;;;;; diredfl
3716 `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold)))
3717 `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm)))
3718 `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt)))
3719 `(diredfl-date-time ((,class :foreground ,cyan-alt-other)))
3720 `(diredfl-deletion ((,class :inherit modus-theme-mark-del)))
3721 `(diredfl-deletion-file-name ((,class :inherit modus-theme-mark-del)))
3722 `(diredfl-dir-heading ((,class :inherit modus-theme-pseudo-header)))
3723 `(diredfl-dir-name ((,class :inherit dired-directory)))
3724 `(diredfl-dir-priv ((,class :foreground ,blue-alt)))
3725 `(diredfl-exec-priv ((,class :foreground ,magenta)))
3726 `(diredfl-executable-tag ((,class :foreground ,magenta-alt)))
3727 `(diredfl-file-name ((,class :foreground ,fg-main)))
3728 `(diredfl-file-suffix ((,class :foreground ,cyan)))
3729 `(diredfl-flag-mark ((,class :inherit modus-theme-mark-sel)))
3730 `(diredfl-flag-mark-line ((,class :inherit modus-theme-mark-sel)))
3731 `(diredfl-ignored-file-name ((,class :inherit shadow)))
3732 `(diredfl-link-priv ((,class :foreground ,blue-alt-other)))
3733 `(diredfl-no-priv ((,class :inherit shadow)))
3734 `(diredfl-number ((,class :foreground ,cyan-alt)))
3735 `(diredfl-other-priv ((,class :foreground ,yellow)))
3736 `(diredfl-rare-priv ((,class :foreground ,red-alt)))
3737 `(diredfl-read-priv ((,class :foreground ,fg-main)))
3738 `(diredfl-symlink ((,class :inherit dired-symlink)))
3739 `(diredfl-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta)))
3740 `(diredfl-write-priv ((,class :foreground ,cyan)))
3741;;;;; dired+
3742 `(diredp-autofile-name ((,class :inherit modus-theme-special-cold)))
3743 `(diredp-compressed-file-name ((,class :foreground ,fg-special-warm)))
3744 `(diredp-compressed-file-suffix ((,class :foreground ,red-alt)))
3745 `(diredp-date-time ((,class :foreground ,cyan-alt-other)))
3746 `(diredp-deletion ((,class :inherit modus-theme-mark-del)))
3747 `(diredp-deletion-file-name ((,class :inherit modus-theme-mark-del)))
3748 `(diredp-dir-heading ((,class :inherit modus-theme-pseudo-header)))
3749 `(diredp-dir-name ((,class :inherit dired-directory)))
3750 `(diredp-dir-priv ((,class :foreground ,blue-alt)))
3751 `(diredp-exec-priv ((,class :foreground ,magenta)))
3752 `(diredp-executable-tag ((,class :foreground ,magenta-alt)))
3753 `(diredp-file-name ((,class :foreground ,fg-main)))
3754 `(diredp-file-suffix ((,class :foreground ,cyan)))
3755 `(diredp-flag-mark ((,class :inherit modus-theme-mark-sel)))
3756 `(diredp-flag-mark-line ((,class :inherit modus-theme-mark-sel)))
3757 `(diredp-ignored-file-name ((,class :inherit shadow)))
3758 `(diredp-link-priv ((,class :foreground ,blue-alt-other)))
3759 `(diredp-mode-line-flagged ((,class :foreground ,red-active)))
3760 `(diredp-mode-line-marked ((,class :foreground ,green-active)))
3761 `(diredp-no-priv ((,class :inherit shadow)))
3762 `(diredp-number ((,class :foreground ,cyan-alt)))
3763 `(diredp-omit-file-name ((,class :inherit shadow :strike-through t)))
3764 `(diredp-other-priv ((,class :foreground ,yellow)))
3765 `(diredp-rare-priv ((,class :foreground ,red-alt)))
3766 `(diredp-read-priv ((,class :foreground ,fg-main)))
3767 `(diredp-symlink ((,class :inherit dired-symlink)))
3768 `(diredp-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta)))
3769 `(diredp-write-priv ((,class :foreground ,cyan)))
3770;;;;; disk-usage
3771 `(disk-usage-children ((,class :foreground ,yellow)))
3772 `(disk-usage-inaccessible ((,class :inherit bold :foreground ,red)))
3773 `(disk-usage-percent ((,class :foreground ,green)))
3774 `(disk-usage-size ((,class :foreground ,cyan)))
3775 `(disk-usage-symlink ((,class :inherit button)))
3776 `(disk-usage-symlink-directory ((,class :inherit bold :foreground ,blue-alt)))
3777;;;;; display-fill-column-indicator-mode
3778 `(fill-column-indicator ((,class :foreground ,bg-active)))
3779;;;;; doom-modeline
3780 `(doom-modeline-bar ((,class :inherit modus-theme-active-blue)))
3781 `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main)))
3782 `(doom-modeline-battery-charging ((,class :foreground ,green-active)))
3783 `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active)))
3784 `(doom-modeline-battery-error ((,class :inherit bold :box (:line-width -2)
3785 :foreground ,red-active)))
3786 `(doom-modeline-battery-full ((,class :foreground ,blue-active)))
3787 `(doom-modeline-battery-normal ((,class :foreground ,fg-active)))
3788 `(doom-modeline-battery-warning ((,class :inherit bold :foreground ,yellow-active)))
3789 `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active)))
3790 `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground ,cyan-active)))
3791 `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive)))
3792 `(doom-modeline-buffer-modified ((,class :inherit bold :foreground ,magenta-active)))
3793 `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active)))
3794 `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active)))
3795 `(doom-modeline-debug-visual ((,class :inherit bold :foreground ,red-active)))
3796 `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground ,magenta-active)))
3797 `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground ,green-active)))
3798 `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground ,fg-inactive)))
3799 `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground ,fg-active)))
3800 `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground ,blue-active)))
3801 `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground ,red-active)))
3802 `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground ,cyan-active)))
3803 `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active)))
3804 `(doom-modeline-host ((,class :inherit italic)))
3805 `(doom-modeline-info ((,class :foreground ,green-active)))
3806 `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active)))
3807 `(doom-modeline-lsp-success ((,class :inherit bold :foreground ,green-active)))
3808 `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active)))
3809 `(doom-modeline-panel ((,class :inherit modus-theme-active-blue)))
3810 `(doom-modeline-persp-buffer-not-in-persp ((,class :inherit italic :foreground ,yellow-active)))
3811 `(doom-modeline-persp-name ((,class :foreground ,fg-active)))
3812 `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active)))
3813 `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active)))
3814 `(doom-modeline-project-root-dir ((,class :foreground ,fg-active)))
3815 `(doom-modeline-unread-number ((,class :inherit italic :foreground ,fg-active)))
3816 `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active)))
3817 `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active)))
3818;;;;; dynamic-ruler
3819 `(dynamic-ruler-negative-face ((,class :inherit modus-theme-intense-neutral)))
3820 `(dynamic-ruler-positive-face ((,class :inherit modus-theme-intense-yellow)))
3821;;;;; easy-jekyll
3822 `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other)))
3823;;;;; easy-kill
3824 `(easy-kill-origin ((,class :inherit modus-theme-subtle-red)))
3825 `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow)))
3826;;;;; ebdb
3827 `(ebdb-address-default ((,class :foreground ,fg-special-calm)))
3828 `(ebdb-defunct ((,class :inherit shadow)))
3829 `(ebdb-field-hidden ((,class :foreground ,magenta)))
3830 `(ebdb-label ((,class :foreground ,cyan-alt-other)))
3831 `(ebdb-mail-default ((,class :foreground ,fg-main)))
3832 `(ebdb-mail-primary ((,class :foreground ,magenta-alt)))
3833 `(ebdb-marked ((,class :background ,cyan-intense-bg)))
3834 `(ebdb-organization-name ((,class :foreground ,red-alt-other)))
3835 `(ebdb-person-name ((,class :foreground ,magenta-alt-other)))
3836 `(ebdb-phone-default ((,class :foreground ,cyan)))
3837 `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt)))
3838;;;;; ediff
3839 ;; NOTE: here we break from the pattern of inheriting from the
3840 ;; modus-theme-diff-* faces.
3841 `(ediff-current-diff-A ((,class ,@(modus-themes--diff
3842 bg-dim red
3843 bg-diff-removed fg-diff-removed
3844 red-nuanced-bg red-faint))))
3845 `(ediff-current-diff-Ancestor ((,class ,@(modus-themes--diff
3846 bg-dim fg-special-cold
3847 bg-special-cold fg-special-cold
3848 blue-nuanced-bg blue))))
3849 `(ediff-current-diff-B ((,class ,@(modus-themes--diff
3850 bg-dim green
3851 bg-diff-added fg-diff-added
3852 green-nuanced-bg green-faint
3853 bg-diff-added-deuteran fg-diff-added-deuteran))))
3854 `(ediff-current-diff-C ((,class ,@(modus-themes--diff
3855 bg-dim yellow
3856 bg-diff-changed fg-diff-changed
3857 yellow-nuanced-bg yellow-faint))))
3858 `(ediff-even-diff-A ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
3859 `(ediff-even-diff-Ancestor ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1)))
3860 `(ediff-even-diff-B ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
3861 `(ediff-even-diff-C ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
3862 `(ediff-fine-diff-A ((,class :background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed)))
3863 `(ediff-fine-diff-Ancestor ((,class :inherit modus-theme-refine-cyan)))
3864 `(ediff-fine-diff-B
3865 ((,class :background ,@(modus-themes--diff-deuteran bg-diff-focus-added-deuteran bg-diff-focus-added)
3866 :foreground ,@(modus-themes--diff-deuteran fg-diff-focus-added-deuteran fg-diff-focus-added))))
3867 `(ediff-fine-diff-C ((,class :background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed)))
3868 `(ediff-odd-diff-A ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
3869 `(ediff-odd-diff-Ancestor ((,class :background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0)))
3870 `(ediff-odd-diff-B ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
3871 `(ediff-odd-diff-C ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
3872;;;;; eglot
3873 `(eglot-mode-line ((,class :inherit modus-theme-bold :foreground ,magenta-active)))
3874;;;;; el-search
3875 `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt)))
3876 `(el-search-match ((,class :inherit modus-theme-intense-green)))
3877 `(el-search-other-match ((,class :inherit modus-theme-special-mild)))
3878 `(el-search-occur-match ((,class :inherit modus-theme-special-calm)))
3879;;;;; eldoc
3880 ;; NOTE: see https://github.com/purcell/package-lint/issues/187
3881 (list 'eldoc-highlight-function-argument `((,class :inherit bold :foreground ,blue-alt-other)))
3882;;;;; eldoc-box
3883 `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main)))
3884 `(eldoc-box-border ((,class :background ,fg-alt)))
3885;;;;; elfeed
3886 `(elfeed-log-date-face ((,class :inherit elfeed-search-date-face)))
3887 `(elfeed-log-debug-level-face ((,class :inherit elfeed-search-filter-face)))
3888 `(elfeed-log-error-level-face ((,class :inherit error)))
3889 `(elfeed-log-info-level-face ((,class :inherit success)))
3890 `(elfeed-log-warn-level-face ((,class :inherit warning)))
3891 `(elfeed-search-date-face ((,class :foreground ,cyan)))
3892 `(elfeed-search-feed-face ((,class :foreground ,blue-faint)))
3893 `(elfeed-search-filter-face ((,class :inherit bold :foreground ,magenta-active)))
3894 `(elfeed-search-last-update-face ((,class :foreground ,cyan-active)))
3895 `(elfeed-search-tag-face ((,class :foreground ,cyan-alt-other)))
3896 `(elfeed-search-title-face ((,class :foreground ,fg-dim)))
3897 `(elfeed-search-unread-count-face ((,class :foreground ,green-active)))
3898 `(elfeed-search-unread-title-face ((,class :inherit bold :foreground ,fg-main)))
3899;;;;; elfeed-score
3900 `(elfeed-score-date-face ((,class :foreground ,blue)))
3901 `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other)))
3902 `(elfeed-score-error-level-face ((,class :foreground ,red)))
3903 `(elfeed-score-info-level-face ((,class :foreground ,cyan)))
3904 `(elfeed-score-warn-level-face ((,class :foreground ,yellow)))
3905;;;;; emms
3906 `(emms-playlist-track-face ((,class :foreground ,blue)))
3907 `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta)))
3908;;;;; enhanced-ruby-mode
3909 `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other)))
3910 `(enh-ruby-op-face ((,class :foreground ,fg-main)))
3911 `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green)))
3912 `(enh-ruby-regexp-face ((,class :foreground ,magenta)))
3913 `(enh-ruby-string-delimiter-face ((,class :foreground ,blue-alt)))
3914 `(erm-syn-errline ((,class :foreground ,red :underline t)))
3915 `(erm-syn-warnline ((,class :foreground ,yellow :underline t)))
3916;;;;; epa
3917 `(epa-field-body ((,class :foreground ,fg-main)))
3918 `(epa-field-name ((,class :inherit bold :foreground ,fg-dim)))
3919 `(epa-mark ((,class :inherit bold :foreground ,magenta)))
3920 `(epa-string ((,class :foreground ,blue-alt)))
3921 `(epa-validity-disabled ((,class :inherit modus-theme-refine-red)))
3922 `(epa-validity-high ((,class :inherit bold :foreground ,green-alt-other)))
3923 `(epa-validity-low ((,class :inherit shadow)))
3924 `(epa-validity-medium ((,class :foreground ,green-alt)))
3925;;;;; equake
3926 `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main)))
3927 `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground ,green-active)))
3928 `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground ,red-active)))
3929 `(equake-shell-type-shell ((,class :background ,bg-inactive :foreground ,cyan-active)))
3930 `(equake-shell-type-term ((,class :background ,bg-inactive :foreground ,yellow-active)))
3931 `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground ,magenta-active)))
3932 `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt)))
3933 `(equake-tab-inactive ((,class :foreground ,fg-inactive)))
3934;;;;; erc
3935 `(erc-action-face ((,class :inherit bold :foreground ,cyan)))
3936 `(erc-bold-face ((,class :inherit bold)))
3937 `(erc-button ((,class :inherit button)))
3938 `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt)))
3939 `(erc-current-nick-face ((,class :foreground ,magenta-alt-other)))
3940 `(erc-dangerous-host-face ((,class :inherit modus-theme-intense-red)))
3941 `(erc-direct-msg-face ((,class :foreground ,magenta)))
3942 `(erc-error-face ((,class :inherit bold :foreground ,red)))
3943 `(erc-fool-face ((,class :foreground ,fg-inactive)))
3944 `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header)))
3945 `(erc-input-face ((,class :foreground ,fg-special-calm)))
3946 `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t)))
3947 `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt)))
3948 `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta)))
3949 `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face)))
3950 `(erc-nick-default-face ((,class :inherit bold :foreground ,blue)))
3951 `(erc-nick-msg-face ((,class :inherit bold :foreground ,green)))
3952 `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face)))
3953 `(erc-notice-face ((,class :foreground ,fg-unfocused)))
3954 `(erc-pal-face ((,class :inherit bold :foreground ,red-alt)))
3955 `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other)))
3956 `(erc-timestamp-face ((,class :foreground ,blue-nuanced-fg)))
3957 `(erc-underline-face ((,class :underline t)))
3958 `(bg:erc-color-face0 ((,class :background "white")))
3959 `(bg:erc-color-face1 ((,class :background "black")))
3960 `(bg:erc-color-face10 ((,class :background ,cyan-subtle-bg)))
3961 `(bg:erc-color-face11 ((,class :background ,cyan-intense-bg)))
3962 `(bg:erc-color-face12 ((,class :background ,blue-subtle-bg)))
3963 `(bg:erc-color-face13 ((,class :background ,magenta-subtle-bg)))
3964 `(bg:erc-color-face14 ((,class :background "gray60")))
3965 `(bg:erc-color-face15 ((,class :background "gray80")))
3966 `(bg:erc-color-face2 ((,class :background ,blue-intense-bg)))
3967 `(bg:erc-color-face3 ((,class :background ,green-intense-bg)))
3968 `(bg:erc-color-face4 ((,class :background ,red-subtle-bg)))
3969 `(bg:erc-color-face5 ((,class :background ,red-intense-bg)))
3970 `(bg:erc-color-face6 ((,class :background ,magenta-refine-bg)))
3971 `(bg:erc-color-face7 ((,class :background ,yellow-subtle-bg)))
3972 `(bg:erc-color-face8 ((,class :background ,yellow-refine-bg)))
3973 `(bg:erc-color-face9 ((,class :background ,green-subtle-bg)))
3974 `(fg:erc-color-face0 ((,class :foreground "white")))
3975 `(fg:erc-color-face1 ((,class :foreground "black")))
3976 `(fg:erc-color-face10 ((,class :foreground ,cyan)))
3977 `(fg:erc-color-face11 ((,class :foreground ,cyan-alt-other)))
3978 `(fg:erc-color-face12 ((,class :foreground ,blue)))
3979 `(fg:erc-color-face13 ((,class :foreground ,magenta-alt)))
3980 `(fg:erc-color-face14 ((,class :foreground "gray60")))
3981 `(fg:erc-color-face15 ((,class :foreground "gray80")))
3982 `(fg:erc-color-face2 ((,class :foreground ,blue-alt-other)))
3983 `(fg:erc-color-face3 ((,class :foreground ,green)))
3984 `(fg:erc-color-face4 ((,class :foreground ,red)))
3985 `(fg:erc-color-face5 ((,class :foreground ,red-alt)))
3986 `(fg:erc-color-face6 ((,class :foreground ,magenta-alt-other)))
3987 `(fg:erc-color-face7 ((,class :foreground ,yellow-alt-other)))
3988 `(fg:erc-color-face8 ((,class :foreground ,yellow-alt)))
3989 `(fg:erc-color-face9 ((,class :foreground ,green-alt-other)))
3990;;;;; eros
3991 `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue)
3992 :background ,bg-dim :foreground ,fg-dim)))
3993;;;;; ert
3994 `(ert-test-result-expected ((,class :inherit modus-theme-intense-green)))
3995 `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red)))
3996;;;;; eshell
3997 `(eshell-ls-archive ((,class :inherit bold :foreground ,cyan-alt)))
3998 `(eshell-ls-backup ((,class :foreground ,yellow-alt)))
3999 `(eshell-ls-clutter ((,class :foreground ,red-alt)))
4000 `(eshell-ls-directory ((,class :inherit bold :foreground ,blue-alt)))
4001 `(eshell-ls-executable ((,class :foreground ,magenta-alt)))
4002 `(eshell-ls-missing ((,class :inherit modus-theme-intense-red)))
4003 `(eshell-ls-product ((,class :foreground ,fg-special-warm)))
4004 `(eshell-ls-readonly ((,class :foreground ,fg-special-cold)))
4005 `(eshell-ls-special ((,class :inherit bold :foreground ,magenta)))
4006 `(eshell-ls-symlink ((,class :inherit button
4007 ,@(modus-themes--link-color
4008 cyan cyan-faint))))
4009 `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive)))
4010 `(eshell-prompt ((,class :inherit modus-theme-bold
4011 ,@(modus-themes--prompt
4012 green-alt-other
4013 green-nuanced-bg green-alt
4014 green-refine-bg fg-main))))
4015;;;;; eshell-fringe-status
4016 `(eshell-fringe-status-failure ((,class :foreground ,red)))
4017 `(eshell-fringe-status-success ((,class :foreground ,green)))
4018;;;;; eshell-git-prompt
4019 `(eshell-git-prompt-add-face ((,class :inherit shadow)))
4020 `(eshell-git-prompt-branch-face ((,class :inherit shadow)))
4021 `(eshell-git-prompt-directory-face ((,class :foreground ,cyan)))
4022 `(eshell-git-prompt-exit-fail-face ((,class :foreground ,red)))
4023 `(eshell-git-prompt-exit-success-face ((,class :foreground ,green)))
4024 `(eshell-git-prompt-modified-face ((,class :foreground ,yellow)))
4025 `(eshell-git-prompt-powerline-clean-face ((,class :background ,green-refine-bg)))
4026 `(eshell-git-prompt-powerline-dir-face ((,class :background ,blue-refine-bg)))
4027 `(eshell-git-prompt-powerline-not-clean-face ((,class :background ,magenta-refine-bg)))
4028 `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,red)))
4029 `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow)))
4030 `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,blue)))
4031;;;;; eshell-prompt-extras (epe)
4032 `(epe-dir-face ((,class :inherit modus-theme-bold :foreground ,blue)))
4033 `(epe-git-dir-face ((,class :foreground ,red-alt-other)))
4034 `(epe-git-face ((,class :foreground ,cyan-alt)))
4035 `(epe-pipeline-delimiter-face ((,class :foreground ,green-alt)))
4036 `(epe-pipeline-host-face ((,class :foreground ,blue)))
4037 `(epe-pipeline-time-face ((,class :foreground ,fg-special-warm)))
4038 `(epe-pipeline-user-face ((,class :foreground ,magenta)))
4039 `(epe-remote-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
4040 `(epe-status-face ((,class :foreground ,magenta-alt-other)))
4041 `(epe-venv-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
4042;;;;; eshell-syntax-highlighting
4043 `(eshell-syntax-highlighting-alias-face ((,class :foreground ,cyan)))
4044 `(eshell-syntax-highlighting-comment-face ((,class :inherit shadow)))
4045 `(eshell-syntax-highlighting-directory-face ((,class :foreground ,blue)))
4046 `(eshell-syntax-highlighting-envvar-face ((,class :foreground ,magenta-alt)))
4047 `(eshell-syntax-highlighting-invalid-face ((,class :foreground ,red)))
4048 `(eshell-syntax-highlighting-lisp-function-face ((,class :foreground ,magenta)))
4049 `(eshell-syntax-highlighting-shell-command-face ((,class :foreground ,cyan-alt-other)))
4050 `(eshell-syntax-highlighting-string-face ((,class :foreground ,blue-alt)))
4051;;;;; evil-mode
4052 `(evil-ex-commands ((,class :foreground ,magenta-alt-other)))
4053 `(evil-ex-info ((,class :foreground ,cyan-alt-other)))
4054 `(evil-ex-lazy-highlight ((,class :inherit modus-theme-refine-cyan)))
4055 `(evil-ex-search ((,class :inherit modus-theme-intense-green)))
4056 `(evil-ex-substitute-matches ((,class :inherit modus-theme-refine-yellow :underline t)))
4057 `(evil-ex-substitute-replacement ((,class :inherit (modus-theme-intense-green bold))))
4058;;;;; evil-goggles
4059 `(evil-goggles-change-face ((,class :inherit modus-theme-refine-yellow)))
4060 `(evil-goggles-commentary-face ((,class :inherit (modus-theme-subtle-neutral modus-theme-slant))))
4061 `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral)))
4062 `(evil-goggles-delete-face ((,class :inherit modus-theme-refine-red)))
4063 `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face)))
4064 `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face)))
4065 `(evil-goggles-join-face ((,class :inherit modus-theme-subtle-green)))
4066 `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face)))
4067 `(evil-goggles-paste-face ((,class :inherit modus-theme-subtle-cyan)))
4068 `(evil-goggles-record-macro-face ((,class :inherit modus-theme-special-cold)))
4069 `(evil-goggles-replace-with-register-face ((,class :inherit modus-theme-refine-magenta)))
4070 `(evil-goggles-set-marker-face ((,class :inherit modus-theme-intense-magenta)))
4071 `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face)))
4072 `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face)))
4073 `(evil-goggles-yank-face ((,class :inherit modus-theme-subtle-blue)))
4074;;;;; evil-snipe
4075 `(evil-snipe-first-match-face ((,class :inherit (bold modus-theme-intense-blue))))
4076 `(evil-snipe-matches-face ((,class :inherit modus-theme-refine-magenta)))
4077;;;;; evil-visual-mark-mode
4078 `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta)))
4079;;;;; eww
4080 `(eww-invalid-certificate ((,class :foreground ,red-active)))
4081 `(eww-valid-certificate ((,class :foreground ,green-active)))
4082 `(eww-form-checkbox ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main)))
4083 `(eww-form-file ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main)))
4084 `(eww-form-select ((,class :inherit eww-form-checkbox)))
4085 `(eww-form-submit ((,class :inherit eww-form-file)))
4086 `(eww-form-text ((,class :box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active)))
4087 `(eww-form-textarea ((,class :background ,bg-alt :foreground ,fg-main)))
4088;;;;; eyebrowse
4089 `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active)))
4090;;;;; fancy-dabbrev
4091 `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt)))
4092 `(fancy-dabbrev-preview-face ((,class :inherit shadow :underline t)))
4093 `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan bold))))
4094;;;;; flycheck
4095 `(flycheck-error ((,class :inherit modus-theme-lang-error)))
4096 `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active)))
4097 `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold)))
4098 `(flycheck-error-list-error ((,class :inherit modus-theme-bold :foreground ,red)))
4099 `(flycheck-error-list-filename ((,class :foreground ,blue)))
4100 `(flycheck-error-list-highlight ((,class :inherit modus-theme-hl-line)))
4101 `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other)))
4102 `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t)))
4103 `(flycheck-error-list-info ((,class :foreground ,cyan)))
4104 `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm)))
4105 `(flycheck-error-list-warning ((,class :foreground ,yellow)))
4106 `(flycheck-fringe-error ((,class :inherit modus-theme-fringe-red)))
4107 `(flycheck-fringe-info ((,class :inherit modus-theme-fringe-cyan)))
4108 `(flycheck-fringe-warning ((,class :inherit modus-theme-fringe-yellow)))
4109 `(flycheck-info ((,class :inherit modus-theme-lang-note)))
4110 `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button))))
4111 `(flycheck-warning ((,class :inherit modus-theme-lang-warning)))
4112;;;;; flycheck-color-mode-line
4113 `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error)))
4114 `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info)))
4115 `(flycheck-color-mode-line-running-face ((,class :inherit italic :foreground ,fg-inactive)))
4116 `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning)))
4117;;;;; flycheck-indicator
4118 `(flycheck-indicator-disabled ((,class :inherit modus-theme-slant :foreground ,fg-inactive)))
4119 `(flycheck-indicator-error ((,class :inherit modus-theme-bold :foreground ,red-active)))
4120 `(flycheck-indicator-info ((,class :inherit modus-theme-bold :foreground ,blue-active)))
4121 `(flycheck-indicator-running ((,class :inherit modus-theme-bold :foreground ,magenta-active)))
4122 `(flycheck-indicator-success ((,class :inherit modus-theme-bold :foreground ,green-active)))
4123 `(flycheck-indicator-warning ((,class :inherit modus-theme-bold :foreground ,yellow-active)))
4124;;;;; flycheck-posframe
4125 `(flycheck-posframe-background-face ((,class :background ,bg-alt)))
4126 `(flycheck-posframe-border-face ((,class :inherit shadow)))
4127 `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red)))
4128 `(flycheck-posframe-face ((,class :inherit modus-theme-slant :foreground ,fg-main)))
4129 `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan)))
4130 `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow)))
4131;;;;; flymake
4132 `(flymake-error ((,class :inherit modus-theme-lang-error)))
4133 `(flymake-note ((,class :inherit modus-theme-lang-note)))
4134 `(flymake-warning ((,class :inherit modus-theme-lang-warning)))
4135;;;;; flyspell
4136 `(flyspell-duplicate ((,class :inherit modus-theme-lang-warning)))
4137 `(flyspell-incorrect ((,class :inherit modus-theme-lang-error)))
4138;;;;; flyspell-correct
4139 `(flyspell-correct-highlight-face ((,class :inherit modus-theme-refine-green)))
4140;;;;; flx
4141 `(flx-highlight-face ((,class ,@(modus-themes--extra-completions
4142 'modus-theme-subtle-magenta
4143 'modus-theme-intense-magenta
4144 'modus-theme-nuanced-magenta
4145 magenta-alt
4146 'bold))))
4147;;;;; freeze-it
4148 `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm)))
4149;;;;; frog-menu
4150 `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other)))
4151 `(frog-menu-actions-face ((,class :foreground ,magenta)))
4152 `(frog-menu-border ((,class :background ,bg-active)))
4153 `(frog-menu-candidates-face ((,class :foreground ,fg-main)))
4154 `(frog-menu-posframe-background-face ((,class :background ,bg-dim)))
4155 `(frog-menu-prompt-face ((,class :foreground ,cyan)))
4156;;;;; focus
4157 `(focus-unfocused ((,class :foreground ,fg-unfocused)))
4158;;;;; fold-this
4159 `(fold-this-overlay ((,class :inherit modus-theme-special-mild)))
4160;;;;; font-lock
4161 `(font-lock-builtin-face ((,class :inherit modus-theme-bold
4162 ,@(modus-themes--syntax-extra
4163 magenta-alt magenta-alt-faint blue-alt))))
4164 `(font-lock-comment-delimiter-face ((,class :inherit font-lock-comment-face)))
4165 `(font-lock-comment-face ((,class :inherit modus-theme-slant
4166 ,@(modus-themes--syntax-comment
4167 fg-alt fg-comment-yellow))))
4168 `(font-lock-constant-face ((,class ,@(modus-themes--syntax-extra
4169 blue-alt-other blue-alt-other-faint magenta-alt-other))))
4170 `(font-lock-doc-face ((,class :inherit modus-theme-slant
4171 ,@(modus-themes--syntax-docstring
4172 fg-docstring green-alt-other-faint
4173 green-alt-other-faint magenta-nuanced-fg))))
4174 `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra
4175 magenta magenta-faint magenta-alt))))
4176 `(font-lock-keyword-face ((,class :inherit modus-theme-bold
4177 ,@(modus-themes--syntax-extra
4178 magenta-alt-other magenta-alt-other-faint cyan-alt-other))))
4179 `(font-lock-negation-char-face ((,class :inherit modus-theme-bold
4180 ,@(modus-themes--syntax-foreground
4181 yellow yellow-faint))))
4182 `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-foreground
4183 red-alt-other red-alt-other-faint))))
4184 `(font-lock-regexp-grouping-backslash ((,class :inherit bold
4185 ,@(modus-themes--syntax-string
4186 fg-escape-char-backslash yellow-alt-faint
4187 magenta-alt-other blue-alt))))
4188 `(font-lock-regexp-grouping-construct ((,class :inherit bold
4189 ,@(modus-themes--syntax-string
4190 fg-escape-char-construct red-alt-other-faint
4191 red magenta-alt))))
4192 `(font-lock-string-face ((,class ,@(modus-themes--syntax-string
4193 blue-alt blue-alt-faint green green-alt))))
4194 `(font-lock-type-face ((,class :inherit modus-theme-bold
4195 ,@(modus-themes--syntax-extra
4196 cyan-alt-other cyan-alt-faint cyan-alt))))
4197 `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra
4198 cyan cyan-faint blue-alt-faint))))
4199 `(font-lock-warning-face ((,class :inherit modus-theme-bold
4200 ,@(modus-themes--syntax-foreground
4201 yellow-active yellow-alt-faint))))
4202;;;;; forge
4203 `(forge-post-author ((,class :inherit bold :foreground ,fg-main)))
4204 `(forge-post-date ((,class :foreground ,fg-special-cold)))
4205 `(forge-topic-closed ((,class :inherit shadow)))
4206 `(forge-topic-merged ((,class :inherit shadow)))
4207 `(forge-topic-open ((,class :foreground ,fg-special-mild)))
4208 `(forge-topic-unmerged ((,class :inherit modus-theme-slant :foreground ,magenta)))
4209 `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main)))
4210;;;;; fountain-mode
4211 `(fountain-character ((,class :foreground ,blue-alt-other)))
4212 `(fountain-comment ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
4213 `(fountain-dialog ((,class :foreground ,blue-alt)))
4214 `(fountain-metadata-key ((,class :foreground ,green-alt-other)))
4215 `(fountain-metadata-value ((,class :foreground ,blue)))
4216 `(fountain-non-printing ((,class :inherit shadow)))
4217 `(fountain-note ((,class :inherit modus-theme-slant :foreground ,yellow)))
4218 `(fountain-page-break ((,class :inherit bold :foreground ,red-alt)))
4219 `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other)))
4220 `(fountain-paren ((,class :foreground ,cyan)))
4221 `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced-fg)))
4222 `(fountain-section-heading ((,class :inherit modus-theme-heading-1)))
4223 `(fountain-section-heading-1 ((,class :inherit modus-theme-heading-1)))
4224 `(fountain-section-heading-2 ((,class :inherit modus-theme-heading-2)))
4225 `(fountain-section-heading-3 ((,class :inherit modus-theme-heading-3)))
4226 `(fountain-section-heading-4 ((,class :inherit modus-theme-heading-4)))
4227 `(fountain-section-heading-5 ((,class :inherit modus-theme-heading-5)))
4228 `(fountain-synopsis ((,class :foreground ,cyan-alt)))
4229 `(fountain-trans ((,class :foreground ,yellow-alt-other)))
4230;;;;; geiser
4231 `(geiser-font-lock-autodoc-current-arg ((,class :inherit font-lock-function-name-face)))
4232 `(geiser-font-lock-autodoc-identifier ((,class :inherit font-lock-constant-face)))
4233 `(geiser-font-lock-doc-button ((,class :inherit button :foreground ,fg-docstring)))
4234 `(geiser-font-lock-doc-link ((,class :inherit button)))
4235 `(geiser-font-lock-error-link ((,class :inherit button :foreground ,red)))
4236 `(geiser-font-lock-image-button ((,class :inherit button :foreground ,green-alt)))
4237 `(geiser-font-lock-repl-input ((,class :inherit bold)))
4238 `(geiser-font-lock-repl-output ((,class :inherit font-lock-keyword-face)))
4239 `(geiser-font-lock-repl-prompt ((,class :inherit minibuffer-prompt)))
4240 `(geiser-font-lock-xref-header ((,class :inherit bold)))
4241 `(geiser-font-lock-xref-link ((,class :inherit button)))
4242;;;;; git-commit
4243 `(git-commit-comment-action ((,class :inherit font-lock-comment-face)))
4244 `(git-commit-comment-branch-local ((,class :inherit modus-theme-slant :foreground ,blue-alt)))
4245 `(git-commit-comment-branch-remote ((,class :inherit modus-theme-slant :foreground ,magenta-alt)))
4246 `(git-commit-comment-detached ((,class :inherit modus-theme-slant :foreground ,cyan-alt)))
4247 `(git-commit-comment-file ((,class :inherit modus-theme-slant
4248 ,@(modus-themes--syntax-comment
4249 fg-special-cold red-nuanced-fg))))
4250 `(git-commit-comment-heading ((,class :inherit (bold modus-theme-slant)
4251 ,@(modus-themes--syntax-comment
4252 fg-dim fg-special-warm))))
4253 `(git-commit-keyword ((,class :foreground ,magenta)))
4254 `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other)))
4255 `(git-commit-nonempty-second-line ((,class :inherit modus-theme-refine-yellow)))
4256 `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow)))
4257 `(git-commit-pseudo-header ((,class :foreground ,blue)))
4258 `(git-commit-summary ((,class :inherit bold :foreground ,cyan)))
4259;;;;; git-gutter
4260 `(git-gutter:added ((,class :inherit modus-theme-fringe-green)))
4261 `(git-gutter:deleted ((,class :inherit modus-theme-fringe-red)))
4262 `(git-gutter:modified ((,class :inherit modus-theme-fringe-yellow)))
4263 `(git-gutter:separator ((,class :inherit modus-theme-fringe-cyan)))
4264 `(git-gutter:unchanged ((,class :inherit modus-theme-fringe-magenta)))
4265;;;;; git-gutter-fr
4266 `(git-gutter-fr:added ((,class :inherit modus-theme-fringe-green)))
4267 `(git-gutter-fr:deleted ((,class :inherit modus-theme-fringe-red)))
4268 `(git-gutter-fr:modified ((,class :inherit modus-theme-fringe-yellow)))
4269;;;;; git-{gutter,fringe}+
4270 `(git-gutter+-added ((,class :inherit modus-theme-fringe-green)))
4271 `(git-gutter+-deleted ((,class :inherit modus-theme-fringe-red)))
4272 `(git-gutter+-modified ((,class :inherit modus-theme-fringe-yellow)))
4273 `(git-gutter+-separator ((,class :inherit modus-theme-fringe-cyan)))
4274 `(git-gutter+-unchanged ((,class :inherit modus-theme-fringe-magenta)))
4275 `(git-gutter-fr+-added ((,class :inherit modus-theme-fringe-green)))
4276 `(git-gutter-fr+-deleted ((,class :inherit modus-theme-fringe-red)))
4277 `(git-gutter-fr+-modified ((,class :inherit modus-theme-fringe-yellow)))
4278;;;;; git-lens
4279 `(git-lens-added ((,class :inherit bold :foreground ,green)))
4280 `(git-lens-deleted ((,class :inherit bold :foreground ,red)))
4281 `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan)))
4282 `(git-lens-modified ((,class :inherit bold :foreground ,yellow)))
4283 `(git-lens-renamed ((,class :inherit bold :foreground ,magenta)))
4284;;;;; git-rebase
4285 `(git-rebase-comment-hash ((,class :inherit modus-theme-slant
4286 ,@(modus-themes--syntax-comment
4287 fg-special-cold red-nuanced-fg))))
4288 `(git-rebase-comment-heading ((,class :inherit (bold modus-theme-slant)
4289 ,@(modus-themes--syntax-comment
4290 fg-dim fg-special-warm))))
4291 `(git-rebase-description ((,class :foreground ,fg-main)))
4292 `(git-rebase-hash ((,class :foreground ,cyan-alt-other)))
4293;;;;; git-timemachine
4294 `(git-timemachine-commit ((,class :inherit bold :foreground ,yellow-active)))
4295 `(git-timemachine-minibuffer-author-face ((,class :foreground ,fg-special-warm)))
4296 `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt)))
4297;;;;; git-walktree
4298 `(git-walktree-commit-face ((,class :foreground ,yellow)))
4299 `(git-walktree-symlink-face ((,class :inherit button)))
4300 `(git-walktree-tree-face ((,class :foreground ,magenta)))
4301;;;;; gnus
4302 `(gnus-button ((,class :inherit button)))
4303 `(gnus-cite-1 ((,class :foreground ,blue-faint)))
4304 `(gnus-cite-10 ((,class :foreground ,yellow-alt-other)))
4305 `(gnus-cite-11 ((,class :foreground ,magenta-alt)))
4306 `(gnus-cite-2 ((,class :foreground ,green-alt-other)))
4307 `(gnus-cite-3 ((,class :foreground ,red-alt-other)))
4308 `(gnus-cite-4 ((,class :foreground ,cyan)))
4309 `(gnus-cite-5 ((,class :foreground ,yellow-alt)))
4310 `(gnus-cite-6 ((,class :foreground ,magenta)))
4311 `(gnus-cite-7 ((,class :foreground ,green-alt)))
4312 `(gnus-cite-8 ((,class :foreground ,magenta-alt-other)))
4313 `(gnus-cite-9 ((,class :foreground ,cyan-alt)))
4314 `(gnus-cite-attribution ((,class :inherit italic :foreground ,fg-main)))
4315 `(gnus-emphasis-bold ((,class :inherit bold)))
4316 `(gnus-emphasis-bold-italic ((,class :inherit bold-italic)))
4317 `(gnus-emphasis-highlight-words ((,class :inherit modus-theme-refine-yellow)))
4318 `(gnus-emphasis-italic ((,class :inherit italic)))
4319 `(gnus-emphasis-underline-bold ((,class :inherit gnus-emphasis-bold :underline t)))
4320 `(gnus-emphasis-underline-bold-italic ((,class :inherit gnus-emphasis-bold-italic :underline t)))
4321 `(gnus-emphasis-underline-italic ((,class :inherit gnus-emphasis-italic :underline t)))
4322 `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt)))
4323 `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt)))
4324 `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta)))
4325 `(gnus-group-mail-2-empty ((,class :foreground ,magenta)))
4326 `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other)))
4327 `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other)))
4328 `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced-fg)))
4329 `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced-fg)))
4330 `(gnus-group-news-1 ((,class :inherit bold :foreground ,green)))
4331 `(gnus-group-news-1-empty ((,class :foreground ,green)))
4332 `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan)))
4333 `(gnus-group-news-2-empty ((,class :foreground ,cyan)))
4334 `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced-fg)))
4335 `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced-fg)))
4336 `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced-fg)))
4337 `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced-fg)))
4338 `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced-fg)))
4339 `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced-fg)))
4340 `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-alt)))
4341 `(gnus-group-news-6-empty ((,class :inherit shadow)))
4342 `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced-fg)))
4343 `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced-fg)))
4344 `(gnus-header-content ((,class :inherit message-header-other)))
4345 `(gnus-header-from ((,class :inherit message-header-to :underline nil)))
4346 `(gnus-header-name ((,class :inherit message-header-name)))
4347 `(gnus-header-newsgroups ((,class :inherit message-header-newsgroups)))
4348 `(gnus-header-subject ((,class :inherit message-header-subject)))
4349 `(gnus-server-agent ((,class :inherit bold :foreground ,cyan)))
4350 `(gnus-server-closed ((,class :inherit bold :foreground ,magenta)))
4351 `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt)))
4352 `(gnus-server-cloud-host ((,class :inherit modus-theme-refine-cyan)))
4353 `(gnus-server-denied ((,class :inherit bold :foreground ,red)))
4354 `(gnus-server-offline ((,class :inherit bold :foreground ,yellow)))
4355 `(gnus-server-opened ((,class :inherit bold :foreground ,green)))
4356 `(gnus-signature ((,class :inherit italic :foreground ,fg-special-cold)))
4357 `(gnus-splash ((,class :inherit shadow)))
4358 `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt)))
4359 `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt)))
4360 `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold)))
4361 `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other)))
4362 `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground ,yellow)))
4363 `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main)))
4364 `(gnus-summary-low-ancient ((,class :inherit italic :foreground ,fg-alt)))
4365 `(gnus-summary-low-read ((,class :inherit italic :foreground ,fg-alt)))
4366 `(gnus-summary-low-ticked ((,class :inherit italic :foreground ,red-refine-fg)))
4367 `(gnus-summary-low-undownloaded ((,class :inherit italic :foreground ,yellow-refine-fg)))
4368 `(gnus-summary-low-unread ((,class :inherit bold :foreground ,fg-special-cold)))
4369 `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm)))
4370 `(gnus-summary-normal-read ((,class :inherit shadow)))
4371 `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other)))
4372 `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow)))
4373 `(gnus-summary-normal-unread ((,class :foreground ,fg-main)))
4374 `(gnus-summary-selected ((,class :inherit modus-theme-subtle-blue)))
4375;;;;; golden-ratio-scroll-screen
4376 `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
4377;;;;; helm
4378 `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other)))
4379 `(helm-action ((,class :underline t)))
4380 `(helm-bookmark-addressbook ((,class :foreground ,green-alt)))
4381 `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue)))
4382 `(helm-bookmark-file ((,class :foreground ,fg-main)))
4383 `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground ,fg-alt)))
4384 `(helm-bookmark-gnus ((,class :foreground ,magenta)))
4385 `(helm-bookmark-info ((,class :foreground ,cyan-alt)))
4386 `(helm-bookmark-man ((,class :foreground ,yellow-alt)))
4387 `(helm-bookmark-w3m ((,class :foreground ,blue-alt)))
4388 `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan)))
4389 `(helm-buffer-directory ((,class :inherit bold :foreground ,blue)))
4390 `(helm-buffer-file ((,class :foreground ,fg-main)))
4391 `(helm-buffer-modified ((,class :foreground ,yellow-alt)))
4392 `(helm-buffer-not-saved ((,class :foreground ,red-alt)))
4393 `(helm-buffer-process ((,class :foreground ,magenta)))
4394 `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt :foreground ,red)))
4395 `(helm-buffer-size ((,class :inherit shadow)))
4396 `(helm-candidate-number ((,class :foreground ,cyan-active)))
4397 `(helm-candidate-number-suspended ((,class :foreground ,yellow-active)))
4398 `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active)))
4399 `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active)))
4400 `(helm-delete-async-message ((,class :inherit bold :foreground ,magenta-active)))
4401 `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main)))
4402 `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active)))
4403 `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active)))
4404 `(helm-etags-file ((,class :foreground ,fg-dim :underline t)))
4405 `(helm-ff-backup-file ((,class :inherit shadow)))
4406 `(helm-ff-denied ((,class ,@(modus-themes--extra-completions
4407 'modus-theme-subtle-red
4408 'modus-theme-intense-red
4409 'modus-theme-nuanced-red
4410 red))))
4411 `(helm-ff-directory ((,class :inherit helm-buffer-directory)))
4412 `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other)))
4413 `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt :foreground ,fg-alt)))
4414 `(helm-ff-dotted-symlink-directory ((,class :inherit (button helm-ff-dotted-directory))))
4415 `(helm-ff-executable ((,class :foreground ,magenta-alt)))
4416 `(helm-ff-file ((,class :foreground ,fg-main)))
4417 `(helm-ff-file-extension ((,class :foreground ,fg-special-warm)))
4418 `(helm-ff-invalid-symlink ((,class :inherit button
4419 ,@(modus-themes--link-color
4420 red red-faint))))
4421 `(helm-ff-pipe ((,class ,@(modus-themes--extra-completions
4422 'modus-theme-refine-magenta
4423 'modus-theme-subtle-magenta
4424 'modus-theme-nuanced-magenta
4425 magenta))))
4426 `(helm-ff-prefix ((,class ,@(modus-themes--extra-completions
4427 'modus-theme-refine-yellow
4428 'modus-theme-subtle-yellow
4429 'modus-theme-nuanced-yellow
4430 yellow-alt-other))))
4431 `(helm-ff-socket ((,class :foreground ,red-alt-other)))
4432 `(helm-ff-suid ((,class ,@(modus-themes--extra-completions
4433 'modus-theme-subtle-red
4434 'modus-theme-refine-red
4435 'modus-theme-nuanced-yellow
4436 red-alt))))
4437 `(helm-ff-symlink ((,class :inherit button
4438 ,@(modus-themes--link-color
4439 cyan cyan-faint))))
4440 `(helm-ff-truename ((,class :foreground ,blue-alt-other)))
4441 `(helm-fd-finish ((,class :foreground ,green-active)))
4442 `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other)))
4443 `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold)))
4444 `(helm-grep-finish ((,class :foreground ,green-active)))
4445 `(helm-grep-lineno ((,class :foreground ,fg-special-warm)))
4446 `(helm-grep-match ((,class :inherit modus-theme-special-calm)))
4447 `(helm-header ((,class :inherit bold :foreground ,fg-special-cold)))
4448 `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense)))
4449 `(helm-history-deleted ((,class ,@(modus-themes--extra-completions
4450 'modus-theme-subtle-red
4451 'modus-theme-intense-red
4452 'modus-theme-nuanced-red
4453 red
4454 'bold))))
4455 `(helm-history-remote ((,class :foreground ,red-alt-other)))
4456 `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm)))
4457 `(helm-lisp-show-completion ((,class ,@(modus-themes--extra-completions
4458 'modus-theme-subtle-yellow
4459 'modus-theme-refine-yellow
4460 'modus-theme-nuanced-yellow
4461 yellow
4462 'bold))))
4463 `(helm-locate-finish ((,class :foreground ,green-active)))
4464 `(helm-match ((,class ,@(modus-themes--extra-completions
4465 'modus-theme-subtle-cyan
4466 'modus-theme-refine-cyan
4467 'modus-theme-nuanced-cyan
4468 cyan
4469 'bold))))
4470 `(helm-match-item ((,class ,@(modus-themes--extra-completions
4471 'modus-theme-subtle-neutral
4472 'modus-theme-subtle-cyan
4473 'modus-theme-nuanced-cyan
4474 cyan-alt-other))))
4475 `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt)))
4476 `(helm-moccur-buffer ((,class :inherit button
4477 ,@(modus-themes--link-color
4478 cyan-alt-other cyan-alt-other-faint))))
4479 `(helm-mode-prefix ((,class ,@(modus-themes--extra-completions
4480 'modus-theme-subtle-magenta
4481 'modus-theme-intense-magenta
4482 'modus-theme-nuanced-magenta
4483 magenta-alt
4484 'bold))))
4485 `(helm-non-file-buffer ((,class :inherit shadow)))
4486 `(helm-prefarg ((,class :foreground ,red-active)))
4487 `(helm-resume-need-update ((,class ,@(modus-themes--extra-completions
4488 'modus-theme-subtle-magenta
4489 'modus-theme-refine-magenta
4490 'modus-theme-nuanced-magenta
4491 magenta-alt-other))))
4492 `(helm-selection ((,class ,@(modus-themes--extra-completions
4493 'modus-theme-subtle-blue
4494 'modus-theme-refine-blue
4495 'modus-theme-special-cold
4496 nil
4497 'bold))))
4498 `(helm-selection-line ((,class :inherit modus-theme-special-cold)))
4499 `(helm-separator ((,class :foreground ,fg-special-mild)))
4500 `(helm-time-zone-current ((,class :foreground ,green)))
4501 `(helm-time-zone-home ((,class :foreground ,magenta)))
4502 `(helm-source-header ((,class :inherit bold :foreground ,red-alt
4503 ,@(modus-themes--scale modus-themes-scale-4))))
4504 `(helm-top-columns ((,class :inherit helm-header)))
4505 `(helm-ucs-char ((,class :foreground ,yellow-alt-other)))
4506 `(helm-visible-mark ((,class :inherit modus-theme-subtle-cyan)))
4507;;;;; helm-ls-git
4508 `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense)))
4509 `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense)))
4510 `(helm-ls-git-conflict-face ((,class :inherit bold :foreground ,red-intense)))
4511 `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced-fg)))
4512 `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red)))
4513 `(helm-ls-git-modified-and-staged-face ((,class :foreground ,yellow-nuanced-fg)))
4514 `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow)))
4515 `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta)))
4516 `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold)))
4517;;;;; helm-switch-shell
4518 `(helm-switch-shell-new-shell-face ((,class ,@(modus-themes--extra-completions
4519 'modus-theme-subtle-magenta
4520 'modus-theme-refine-magenta
4521 'modus-theme-nuanced-magenta
4522 magenta-alt-other
4523 'bold))))
4524;;;;; helm-xref
4525 `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold)))
4526 `(helm-xref-file-name ((,class :foreground ,fg-special-warm)))
4527;;;;; helpful
4528 `(helpful-heading ((,class :inherit modus-theme-heading-1)))
4529;;;;; highlight region or ad-hoc regexp
4530 `(hi-aquamarine ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
4531 `(hi-black-b ((,class :inherit bold :background ,fg-main :foreground ,bg-main)))
4532 `(hi-black-hb ((,class :inherit bold :background ,fg-alt :foreground ,bg-main)))
4533 `(hi-blue ((,class :background ,blue-subtle-bg :foreground ,fg-main)))
4534 `(hi-blue-b ((,class :inherit (bold hi-blue))))
4535 `(hi-green ((,class :background ,green-subtle-bg :foreground ,fg-main)))
4536 `(hi-green-b ((,class :inherit (bold hi-green))))
4537 `(hi-pink ((,class :background ,magenta-subtle-bg :foreground ,fg-main)))
4538 `(hi-pink-b ((,class :inherit (bold hi-pink))))
4539 `(hi-red-b ((,class :inherit bold :background ,red-intense-bg :foreground ,fg-main)))
4540 `(hi-salmon ((,class :background ,red-subtle-bg :foreground ,fg-main)))
4541 `(hi-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-main)))
4542 `(highlight ((,class :inherit modus-theme-subtle-blue)))
4543 `(highlight-changes ((,class :foreground ,yellow-alt-other)))
4544 `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline t)))
4545 `(hl-line ((,class :inherit modus-theme-hl-line)))
4546;;;;; highlight-blocks
4547 `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground ,fg-main)))
4548 `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground ,fg-main)))
4549 `(highlight-blocks-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-main)))
4550 `(highlight-blocks-depth-4-face ((,class :background ,bg-special-calm :foreground ,fg-main)))
4551 `(highlight-blocks-depth-5-face ((,class :background ,bg-special-warm :foreground ,fg-main)))
4552 `(highlight-blocks-depth-6-face ((,class :background ,bg-special-mild :foreground ,fg-main)))
4553 `(highlight-blocks-depth-7-face ((,class :background ,bg-inactive :foreground ,fg-main)))
4554 `(highlight-blocks-depth-8-face ((,class :background ,bg-active :foreground ,fg-main)))
4555 `(highlight-blocks-depth-9-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main)))
4556;;;;; highlight-defined
4557 `(highlight-defined-builtin-function-name-face ((,class :foreground ,magenta)))
4558 `(highlight-defined-face-name-face ((,class :foreground ,fg-main)))
4559 `(highlight-defined-function-name-face ((,class :foreground ,magenta)))
4560 `(highlight-defined-macro-name-face ((,class :foreground ,magenta-alt)))
4561 `(highlight-defined-special-form-name-face ((,class :foreground ,magenta-alt-other)))
4562 `(highlight-defined-variable-name-face ((,class :foreground ,cyan)))
4563;;;;; highlight-escape-sequences (`hes-mode')
4564 `(hes-escape-backslash-face ((,class :inherit bold :foreground ,fg-escape-char-construct)))
4565 `(hes-escape-sequence-face ((,class :inherit bold :foreground ,fg-escape-char-backslash)))
4566;;;;; highlight-indentation
4567 `(highlight-indentation-face ((,class :inherit modus-theme-hl-line)))
4568 `(highlight-indentation-current-column-face ((,class :background ,bg-active)))
4569;;;;; highlight-numbers
4570 `(highlight-numbers-number ((,class :foreground ,blue-alt-other)))
4571;;;;; highlight-symbol
4572 `(highlight-symbol-face ((,class :inherit modus-theme-special-mild)))
4573;;;;; highlight-thing
4574 `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan)))
4575;;;;; hl-defined
4576 `(hdefd-functions ((,class :foreground ,blue)))
4577 `(hdefd-undefined ((,class :foreground ,red-alt)))
4578 `(hdefd-variables ((,class :foreground ,cyan-alt)))
4579;;;;; hl-fill-column
4580 `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active)))
4581;;;;; hl-todo
4582 `(hl-todo ((,class :inherit (bold modus-theme-slant) :foreground ,red-alt-other)))
4583;;;;; hydra
4584 `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow)))
4585 `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt)))
4586 `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt)))
4587 `(hydra-face-red ((,class :inherit bold :foreground ,red)))
4588 `(hydra-face-teal ((,class :inherit bold :foreground ,cyan)))
4589;;;;; hyperlist
4590 `(hyperlist-condition ((,class :foreground ,green)))
4591 `(hyperlist-hashtag ((,class :foreground ,yellow)))
4592 `(hyperlist-operator ((,class :foreground ,blue-alt)))
4593 `(hyperlist-paren ((,class :foreground ,cyan-alt-other)))
4594 `(hyperlist-quote ((,class :foreground ,cyan-alt)))
4595 `(hyperlist-ref ((,class :foreground ,magenta-alt-other)))
4596 `(hyperlist-stars ((,class :inherit shadow)))
4597 `(hyperlist-tag ((,class :foreground ,red)))
4598 `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main)))
4599;;;;; icomplete
4600 `(icomplete-first-match ((,class :inherit bold
4601 ,@(modus-themes--standard-completions
4602 magenta bg-alt
4603 bg-active fg-main))))
4604;;;;; icomplete-vertical
4605 `(icomplete-vertical-separator ((,class :inherit shadow)))
4606;;;;; ido-mode
4607 `(ido-first-match ((,class :inherit bold
4608 ,@(modus-themes--standard-completions
4609 magenta bg-alt
4610 bg-active fg-main))))
4611 `(ido-incomplete-regexp ((,class :inherit error)))
4612 `(ido-indicator ((,class :inherit modus-theme-subtle-yellow)))
4613 `(ido-only-match ((,class :inherit bold
4614 ,@(modus-themes--standard-completions
4615 green green-nuanced-bg
4616 green-intense-bg fg-main))))
4617 `(ido-subdir ((,class :foreground ,blue)))
4618 `(ido-virtual ((,class :foreground ,fg-special-warm)))
4619;;;;; iedit
4620 `(iedit-occurrence ((,class :inherit modus-theme-refine-blue)))
4621 `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow)))
4622;;;;; iflipb
4623 `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt)))
4624 `(iflipb-other-buffer-face ((,class :inherit shadow)))
4625;;;;; imenu-list
4626 `(imenu-list-entry-face-0 ((,class :foreground ,cyan)))
4627 `(imenu-list-entry-face-1 ((,class :foreground ,blue)))
4628 `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other)))
4629 `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt)))
4630 `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground ,magenta-alt-other :underline t)))
4631 `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground ,magenta :underline t)))
4632 `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground ,green-alt-other :underline t)))
4633 `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground ,red-alt-other :underline t)))
4634;;;;; indium
4635 `(indium-breakpoint-face ((,class :foreground ,red-active)))
4636 `(indium-frame-url-face ((,class :inherit button :foreground ,fg-alt)))
4637 `(indium-keyword-face ((,class :foreground ,magenta-alt-other)))
4638 `(indium-litable-face ((,class :inherit modus-theme-slant :foreground ,fg-special-warm)))
4639 `(indium-repl-error-face ((,class :inherit bold :foreground ,red)))
4640 `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other)))
4641 `(indium-repl-stdout-face ((,class :foreground ,fg-main)))
4642;;;;; info
4643 `(Info-quoted ((,class ,@(modus-themes--mixed-fonts) ; the capitalization is canonical
4644 :background ,bg-alt :foreground ,fg-special-calm)))
4645 `(info-header-node ((,class :inherit bold :foreground ,fg-alt)))
4646 `(info-header-xref ((,class :foreground ,blue-active)))
4647 `(info-index-match ((,class :inherit match)))
4648 `(info-menu-header ((,class :inherit modus-theme-heading-3)))
4649 `(info-menu-star ((,class :foreground ,red)))
4650 `(info-node ((,class :inherit bold)))
4651 `(info-title-1 ((,class :inherit modus-theme-heading-1)))
4652 `(info-title-2 ((,class :inherit modus-theme-heading-2)))
4653 `(info-title-3 ((,class :inherit modus-theme-heading-3)))
4654 `(info-title-4 ((,class :inherit modus-theme-heading-4)))
4655;;;;; info-colors
4656 `(info-colors-lisp-code-block ((,class :inherit fixed-pitch)))
4657 `(info-colors-ref-item-command ((,class :foreground ,magenta)))
4658 `(info-colors-ref-item-constant ((,class :inherit font-lock-constant-face)))
4659 `(info-colors-ref-item-function ((,class :inherit font-lock-function-name-face)))
4660 `(info-colors-ref-item-macro ((,class :inherit font-lock-keyword-face)))
4661 `(info-colors-ref-item-other ((,class :inherit font-lock-doc-face)))
4662 `(info-colors-ref-item-special-form ((,class :inherit font-lock-keyword-face)))
4663 `(info-colors-ref-item-syntax-class ((,class :inherit font-lock-builtin-face)))
4664 `(info-colors-ref-item-type ((,class :inherit font-lock-type-face)))
4665 `(info-colors-ref-item-user-option ((,class :inherit font-lock-variable-name-face)))
4666 `(info-colors-ref-item-variable ((,class :inherit font-lock-variable-name-face)))
4667;;;;; interaction-log
4668 `(ilog-buffer-face ((,class :foreground ,magenta-alt-other)))
4669 `(ilog-change-face ((,class :foreground ,magenta-alt)))
4670 `(ilog-echo-face ((,class :foreground ,yellow-alt-other)))
4671 `(ilog-load-face ((,class :foreground ,green)))
4672 `(ilog-message-face ((,class :inherit shadow)))
4673 `(ilog-non-change-face ((,class :foreground ,blue)))
4674;;;;; ioccur
4675 `(ioccur-cursor ((,class :foreground ,fg-main)))
4676 `(ioccur-invalid-regexp ((,class :foreground ,red)))
4677 `(ioccur-match-face ((,class :inherit modus-theme-special-calm)))
4678 `(ioccur-match-overlay-face ((,class :inherit modus-theme-special-cold :extend t)))
4679 `(ioccur-num-line-face ((,class :foreground ,fg-special-warm)))
4680 `(ioccur-overlay-face ((,class :inherit modus-theme-refine-blue :extend t)))
4681 `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold))))
4682 `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt
4683 ,@(modus-themes--scale modus-themes-scale-4))))
4684;;;;; isearch, occur, and the like
4685 `(isearch ((,class :inherit (modus-theme-intense-green bold))))
4686 `(isearch-fail ((,class :inherit modus-theme-refine-red)))
4687 `(isearch-group-1 ((,class :inherit modus-theme-intense-blue)))
4688 `(isearch-group-2 ((,class :inherit modus-theme-intense-magenta)))
4689 `(lazy-highlight ((,class :inherit modus-theme-refine-cyan)))
4690 `(match ((,class :inherit modus-theme-special-calm)))
4691 `(query-replace ((,class :inherit (modus-theme-intense-yellow bold))))
4692;;;;; isl (isearch-light)
4693 `(isl-line ((,class :inherit modus-theme-subtle-green)))
4694 `(isl-match ((,class :inherit modus-theme-refine-cyan)))
4695 `(isl-number ((,class :inherit modus-theme-bold :foreground ,green-active)))
4696 `(isl-on ((,class :inherit (bold modus-theme-intense-green))))
4697 `(isl-string ((,class :inherit modus-theme-bold :foreground ,cyan-active)))
4698;;;;; ivy
4699 `(ivy-action ((,class :inherit bold :foreground ,red-alt)))
4700 `(ivy-completions-annotations ((,class :inherit completions-annotations)))
4701 `(ivy-confirm-face ((,class :foreground ,cyan)))
4702 `(ivy-current-match ((,class ,@(modus-themes--extra-completions
4703 'modus-theme-refine-cyan
4704 'modus-theme-intense-cyan
4705 'modus-theme-special-cold
4706 nil
4707 'bold))))
4708 `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main)))
4709 `(ivy-grep-info ((,class :foreground ,cyan-alt)))
4710 `(ivy-grep-line-number ((,class :foreground ,fg-special-warm)))
4711 `(ivy-highlight-face ((,class :foreground ,magenta)))
4712 `(ivy-match-required-face ((,class :inherit error)))
4713 `(ivy-minibuffer-match-face-1 ((,class ,@(modus-themes--extra-completions
4714 'modus-theme-subtle-neutral
4715 'modus-theme-intense-neutral
4716 'modus-theme-nuanced-cyan
4717 fg-alt))))
4718 `(ivy-minibuffer-match-face-2 ((,class ,@(modus-themes--extra-completions
4719 'modus-theme-subtle-green
4720 'modus-theme-refine-green
4721 'modus-theme-nuanced-green
4722 green-alt-other
4723 'bold))))
4724 `(ivy-minibuffer-match-face-3 ((,class ,@(modus-themes--extra-completions
4725 'modus-theme-subtle-blue
4726 'modus-theme-refine-blue
4727 'modus-theme-nuanced-blue
4728 blue-alt-other
4729 'bold))))
4730 `(ivy-minibuffer-match-face-4 ((,class ,@(modus-themes--extra-completions
4731 'modus-theme-subtle-magenta
4732 'modus-theme-refine-magenta
4733 'modus-theme-nuanced-magenta
4734 magenta-alt-other
4735 'bold))))
4736 `(ivy-minibuffer-match-highlight ((,class ,@(modus-themes--extra-completions
4737 'modus-theme-subtle-cyan
4738 'modus-theme-intense-cyan
4739 'modus-theme-nuanced-cyan
4740 cyan-alt-other
4741 'bold))))
4742 `(ivy-modified-buffer ((,class :inherit modus-theme-slant :foreground ,yellow)))
4743 `(ivy-modified-outside-buffer ((,class :inherit modus-theme-slant :foreground ,yellow-alt)))
4744 `(ivy-org ((,class :foreground ,cyan-alt-other)))
4745 `(ivy-prompt-match ((,class :inherit ivy-current-match)))
4746 `(ivy-remote ((,class :foreground ,magenta)))
4747 `(ivy-separator ((,class :inherit shadow)))
4748 `(ivy-subdir ((,class :foreground ,blue-alt-other)))
4749 `(ivy-virtual ((,class :foreground ,magenta-alt-other)))
4750 `(ivy-yanked-word ((,class ,@(modus-themes--extra-completions
4751 'modus-theme-subtle-blue
4752 'modus-theme-refine-blue
4753 'modus-theme-nuanced-blue
4754 blue-alt))))
4755;;;;; ivy-posframe
4756 `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main)))
4757 `(ivy-posframe-border ((,class :background ,fg-window-divider-inner)))
4758 `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main)))
4759;;;;; jira (org-jira)
4760 `(jiralib-comment-face ((,class :background ,bg-alt)))
4761 `(jiralib-comment-header-face ((,class :inherit bold)))
4762 `(jiralib-issue-info-face ((,class :inherit modus-theme-special-warm)))
4763 `(jiralib-issue-info-header-face ((,class :inherit (modus-theme-special-warm bold))))
4764 `(jiralib-issue-summary-face ((,class :inherit bold)))
4765 `(jiralib-link-filter-face ((,class :underline t)))
4766 `(jiralib-link-issue-face ((,class :underline t)))
4767 `(jiralib-link-project-face ((,class :underline t)))
4768;;;;; journalctl-mode
4769 `(journalctl-error-face ((,class :inherit bold :foreground ,red)))
4770 `(journalctl-finished-face ((,class :inherit bold :foreground ,green)))
4771 `(journalctl-host-face ((,class :foreground ,blue)))
4772 `(journalctl-process-face ((,class :foreground ,cyan-alt-other)))
4773 `(journalctl-starting-face ((,class :foreground ,green)))
4774 `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold)))
4775 `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow)))
4776;;;;; js2-mode
4777 `(js2-error ((,class :foreground ,red)))
4778 `(js2-external-variable ((,class :foreground ,cyan-alt-other)))
4779 `(js2-function-call ((,class :foreground ,magenta)))
4780 `(js2-function-param ((,class :foreground ,blue)))
4781 `(js2-instance-member ((,class :foreground ,magenta-alt-other)))
4782 `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main)))
4783 `(js2-jsdoc-html-tag-name ((,class :foreground ,cyan)))
4784 `(js2-jsdoc-tag ((,class :foreground ,fg-special-calm)))
4785 `(js2-jsdoc-type ((,class :foreground ,fg-special-cold)))
4786 `(js2-jsdoc-value ((,class :foreground ,fg-special-warm)))
4787 `(js2-object-property ((,class :foreground ,fg-main)))
4788 `(js2-object-property-access ((,class :foreground ,fg-main)))
4789 `(js2-private-function-call ((,class :foreground ,green-alt-other)))
4790 `(js2-private-member ((,class :foreground ,fg-special-mild)))
4791 `(js2-warning ((,class :foreground ,yellow-alt :underline t)))
4792;;;;; julia
4793 `(julia-macro-face ((,class :inherit modus-theme-bold :foreground ,magenta)))
4794 `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other)))
4795;;;;; jupyter
4796 `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue)))
4797 `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other)))
4798 `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other)))
4799 `(jupyter-repl-traceback ((,class :inherit modus-theme-intense-red)))
4800;;;;; kaocha-runner
4801 `(kaocha-runner-error-face ((,class :foreground ,red)))
4802 `(kaocha-runner-success-face ((,class :foreground ,green)))
4803 `(kaocha-runner-warning-face ((,class :foreground ,yellow)))
4804;;;;; keycast
4805 `(keycast-command ((,class :inherit bold :foreground ,blue-active)))
4806 `(keycast-key ((,class ,@(modus-themes--mode-line-attrs
4807 bg-main blue-active
4808 bg-main blue-active
4809 blue-active blue-intense
4810 'alt-style -3))))
4811;;;;; line numbers (display-line-numbers-mode and global variant)
4812 `(line-number
4813 ((,class :inherit default
4814 ,@(modus-themes--line-numbers
4815 fg-alt bg-dim
4816 fg-unfocused))))
4817 `(line-number-current-line
4818 ((,class :inherit (bold default)
4819 ,@(modus-themes--line-numbers
4820 fg-main bg-active
4821 blue-alt-other))))
4822 `(line-number-major-tick
4823 ((,class :inherit (bold default)
4824 ,@(modus-themes--line-numbers
4825 yellow-nuanced-fg yellow-nuanced-bg
4826 red-alt))))
4827 `(line-number-minor-tick
4828 ((,class :inherit (bold default)
4829 ,@(modus-themes--line-numbers
4830 fg-alt bg-inactive
4831 fg-inactive))))
4832;;;;; lsp-mode
4833 `(lsp-face-highlight-read ((,class :inherit modus-theme-subtle-blue :underline t)))
4834 `(lsp-face-highlight-textual ((,class :inherit modus-theme-subtle-blue)))
4835 `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue bold))))
4836 `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other)))
4837 `(lsp-face-semhl-deprecated
4838 ((,(append '((supports :underline (:style wave))) class)
4839 :foreground ,yellow :underline (:style wave))
4840 (,class :foreground ,yellow :underline t)))
4841 `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other)))
4842 `(lsp-face-semhl-field ((,class :foreground ,cyan-alt)))
4843 `(lsp-face-semhl-field-static ((,class :inherit modus-theme-slant :foreground ,cyan-alt)))
4844 `(lsp-face-semhl-function ((,class :foreground ,magenta)))
4845 `(lsp-face-semhl-method ((,class :foreground ,magenta)))
4846 `(lsp-face-semhl-namespace ((,class :inherit modus-theme-bold :foreground ,magenta-alt)))
4847 `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other)))
4848 `(lsp-face-semhl-static-method ((,class :inherit modus-theme-slant :foreground ,magenta)))
4849 `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt)))
4850 `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt)))
4851 `(lsp-face-semhl-type-primitive ((,class :inherit modus-theme-slant :foreground ,magenta-alt)))
4852 `(lsp-face-semhl-type-template ((,class :inherit modus-theme-slant :foreground ,magenta-alt)))
4853 `(lsp-face-semhl-type-typedef ((,class :inherit modus-theme-slant :foreground ,magenta-alt)))
4854 `(lsp-face-semhl-variable ((,class :foreground ,cyan)))
4855 `(lsp-face-semhl-variable-local ((,class :foreground ,cyan)))
4856 `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other)))
4857 `(lsp-lens-face ((,class :height 0.8 :foreground ,fg-alt)))
4858 `(lsp-lens-mouse-face ((,class :height 0.8 :foreground ,blue-alt-other :underline t)))
4859 `(lsp-ui-doc-background ((,class :background ,bg-alt)))
4860 `(lsp-ui-doc-header ((,class :background ,bg-header :foreground ,fg-header)))
4861 `(lsp-ui-doc-url ((,class :inherit button)))
4862 `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm)))
4863 `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header)))
4864 `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header)))
4865 `(lsp-ui-peek-highlight ((,class :inherit modus-theme-subtle-blue)))
4866 `(lsp-ui-peek-line-number ((,class :inherit shadow)))
4867 `(lsp-ui-peek-list ((,class :background ,bg-dim)))
4868 `(lsp-ui-peek-peek ((,class :background ,bg-alt)))
4869 `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan)))
4870 `(lsp-ui-sideline-code-action ((,class :foreground ,yellow)))
4871 `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main)))
4872 `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt)))
4873 `(lsp-ui-sideline-symbol-info ((,class :inherit italic :height 0.99)))
4874;;;;; macrostep
4875 `(macrostep-compiler-macro-face ((,class :inherit italic)))
4876 `(macrostep-expansion-highlight-face ((,class :background ,blue-nuanced-bg)))
4877 `(macrostep-gensym-1 ((,class :inherit bold :foreground ,blue :box t)))
4878 `(macrostep-gensym-2 ((,class :inherit bold :foreground ,green :box t)))
4879 `(macrostep-gensym-3 ((,class :inherit bold :foreground ,yellow :box t)))
4880 `(macrostep-gensym-4 ((,class :inherit bold :foreground ,red :box t)))
4881 `(macrostep-gensym-5 ((,class :inherit bold :foreground ,magenta :box t)))
4882 `(macrostep-macro-face ((,class :inherit button :foreground ,green-alt)))
4883;;;;; magit
4884 `(magit-bisect-bad ((,class :foreground ,red-alt-other)))
4885 `(magit-bisect-good ((,class :foreground ,green-alt-other)))
4886 `(magit-bisect-skip ((,class :foreground ,yellow-alt-other)))
4887 `(magit-blame-date ((,class :foreground ,blue)))
4888 `(magit-blame-dimmed ((,class :inherit shadow)))
4889 `(magit-blame-hash ((,class :foreground ,fg-special-warm)))
4890 `(magit-blame-heading ((,class :background ,bg-alt)))
4891 `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan)))
4892 `(magit-blame-margin ((,class :inherit magit-blame-highlight)))
4893 `(magit-blame-name ((,class :foreground ,magenta-alt-other)))
4894 `(magit-blame-summary ((,class :foreground ,cyan-alt-other)))
4895 `(magit-branch-current ((,class :foreground ,blue-alt-other :box t)))
4896 `(magit-branch-local ((,class :foreground ,blue-alt)))
4897 `(magit-branch-remote ((,class :foreground ,magenta-alt)))
4898 `(magit-branch-remote-head ((,class :foreground ,magenta-alt-other :box t)))
4899 `(magit-branch-upstream ((,class :inherit italic)))
4900 `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense)))
4901 `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense)))
4902 ;; NOTE: here we break from the pattern of inheriting from the
4903 ;; modus-theme-diff-* faces, though only for the standard actions,
4904 ;; not the highlighted ones. This is because Magit's interaction
4905 ;; model relies on highlighting the current diff hunk.
4906 `(magit-diff-added ((,class ,@(modus-themes--diff
4907 bg-main green
4908 bg-diff-added fg-diff-added
4909 green-nuanced-bg fg-diff-added
4910 bg-diff-added-deuteran fg-diff-added-deuteran))))
4911 `(magit-diff-added-highlight ((,class :inherit modus-theme-diff-focus-added)))
4912 `(magit-diff-base ((,class ,@(modus-themes--diff
4913 bg-main yellow
4914 bg-diff-changed fg-diff-changed
4915 yellow-nuanced-bg fg-diff-changed))))
4916 `(magit-diff-base-highlight ((,class :inherit modus-theme-diff-focus-changed)))
4917 `(magit-diff-context ((,class :foreground ,fg-unfocused)))
4918 `(magit-diff-context-highlight ((,class ,@(modus-themes--diff
4919 bg-dim fg-dim
4920 bg-inactive fg-inactive
4921 bg-dim fg-alt))))
4922 `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold)))
4923 `(magit-diff-file-heading-highlight ((,class :inherit (modus-theme-special-cold bold))))
4924 `(magit-diff-file-heading-selection ((,class :inherit modus-theme-refine-cyan)))
4925 ;; NOTE: here we break from the pattern of inheriting from the
4926 ;; modus-theme-diff-* faces.
4927 `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active
4928 :foreground ,fg-inactive)))
4929 `(magit-diff-hunk-heading-highlight
4930 ((,class :inherit bold
4931 :background ,@(modus-themes--diff-deuteran bg-region bg-diff-heading)
4932 :foreground ,@(modus-themes--diff-deuteran fg-main fg-diff-heading))))
4933 `(magit-diff-hunk-heading-selection ((,class :inherit modus-theme-refine-blue)))
4934 `(magit-diff-hunk-region ((,class :inherit bold)))
4935 `(magit-diff-lines-boundary ((,class :background ,fg-main)))
4936 `(magit-diff-lines-heading ((,class :inherit modus-theme-refine-magenta)))
4937 `(magit-diff-removed ((,class ,@(modus-themes--diff
4938 bg-main red
4939 bg-diff-removed fg-diff-removed
4940 red-nuanced-bg fg-diff-removed))))
4941 `(magit-diff-removed-highlight ((,class :inherit modus-theme-diff-focus-removed)))
4942 `(magit-diffstat-added ((,class :foreground ,@(modus-themes--diff-deuteran blue green))))
4943 `(magit-diffstat-removed ((,class :foreground ,red)))
4944 `(magit-dimmed ((,class :foreground ,fg-unfocused)))
4945 `(magit-filename ((,class :foreground ,fg-special-cold)))
4946 `(magit-hash ((,class :inherit shadow)))
4947 `(magit-head ((,class :inherit magit-branch-local)))
4948 `(magit-header-line ((,class :inherit bold :foreground ,magenta-active)))
4949 `(magit-header-line-key ((,class :inherit bold :foreground ,blue-active)))
4950 `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main)))
4951 `(magit-keyword ((,class :foreground ,magenta)))
4952 `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other)))
4953 `(magit-log-author ((,class :foreground ,cyan)))
4954 `(magit-log-date ((,class :inherit shadow)))
4955 `(magit-log-graph ((,class :foreground ,fg-dim)))
4956 `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active)))
4957 `(magit-mode-line-process-error ((,class :inherit bold :foreground ,red-active)))
4958 `(magit-process-ng ((,class :inherit error)))
4959 `(magit-process-ok ((,class :inherit success)))
4960 `(magit-reflog-amend ((,class :background ,bg-main :foreground ,magenta-intense)))
4961 `(magit-reflog-checkout ((,class :background ,bg-main :foreground ,blue-intense)))
4962 `(magit-reflog-cherry-pick ((,class :background ,bg-main :foreground ,green-intense)))
4963 `(magit-reflog-commit ((,class :background ,bg-main :foreground ,green-intense)))
4964 `(magit-reflog-merge ((,class :background ,bg-main :foreground ,green-intense)))
4965 `(magit-reflog-other ((,class :background ,bg-main :foreground ,cyan-intense)))
4966 `(magit-reflog-rebase ((,class :background ,bg-main :foreground ,magenta-intense)))
4967 `(magit-reflog-remote ((,class :background ,bg-main :foreground ,cyan-intense)))
4968 `(magit-reflog-reset ((,class :background ,bg-main :foreground ,red-intense)))
4969 `(magit-refname ((,class :inherit shadow)))
4970 `(magit-refname-pullreq ((,class :inherit shadow)))
4971 `(magit-refname-stash ((,class :inherit shadow)))
4972 `(magit-refname-wip ((,class :inherit shadow)))
4973 `(magit-section ((,class :background ,bg-dim :foreground ,fg-main)))
4974 `(magit-section-heading ((,class :inherit bold :foreground ,cyan)))
4975 `(magit-section-heading-selection ((,class :inherit (modus-theme-refine-cyan bold))))
4976 `(magit-section-highlight ((,class :background ,bg-alt)))
4977 `(magit-sequence-done ((,class :foreground ,green-alt)))
4978 `(magit-sequence-drop ((,class :foreground ,red-alt)))
4979 `(magit-sequence-exec ((,class :foreground ,magenta-alt)))
4980 `(magit-sequence-head ((,class :foreground ,cyan-alt)))
4981 `(magit-sequence-onto ((,class :inherit shadow)))
4982 `(magit-sequence-part ((,class :foreground ,yellow-alt)))
4983 `(magit-sequence-pick ((,class :foreground ,blue-alt)))
4984 `(magit-sequence-stop ((,class :foreground ,red)))
4985 `(magit-signature-bad ((,class :inherit bold :foreground ,red)))
4986 `(magit-signature-error ((,class :foreground ,red-alt)))
4987 `(magit-signature-expired ((,class :foreground ,yellow)))
4988 `(magit-signature-expired-key ((,class :foreground ,yellow)))
4989 `(magit-signature-good ((,class :foreground ,green)))
4990 `(magit-signature-revoked ((,class :foreground ,magenta)))
4991 `(magit-signature-untrusted ((,class :foreground ,cyan)))
4992 `(magit-tag ((,class :foreground ,yellow-alt-other)))
4993;;;;; magit-imerge
4994 `(magit-imerge-overriding-value ((,class :inherit bold :foreground ,red-alt)))
4995;;;;; make-mode (makefiles)
4996 `(makefile-makepp-perl ((,class :background ,cyan-nuanced-bg)))
4997 `(makefile-space ((,class :background ,magenta-nuanced-bg)))
4998;;;;; man
4999 `(Man-overstrike ((,class :inherit bold :foreground ,magenta)))
5000 `(Man-reverse ((,class :inherit modus-theme-subtle-magenta)))
5001 `(Man-underline ((,class :foreground ,cyan :underline t)))
5002;;;;; marginalia
5003 `(marginalia-archive ((,class :foreground ,green-nuanced-fg)))
5004 `(marginalia-date ((,class :foreground ,blue-nuanced-fg)))
5005 `(marginalia-char ((,class :foreground ,red-active)))
5006 `(marginalia-documentation ((,class :foreground ,fg-special-cold :inherit modus-theme-slant)))
5007 `(marginalia-file-modes ((,class :inherit shadow)))
5008 `(marginalia-file-name ((,class :foreground ,fg-special-mild)))
5009 `(marginalia-file-owner ((,class :foreground ,red-nuanced-fg)))
5010 `(marginalia-key ((,class :foreground ,magenta-active)))
5011 `(marginalia-mode ((,class :foreground ,cyan-active)))
5012 `(marginalia-modified ((,class :foreground ,yellow-active)))
5013 `(marginalia-number ((,class :foreground ,blue-active)))
5014 `(marginalia-size ((,class :foreground ,green-active)))
5015 `(marginalia-type ((,class :foreground ,fg-special-warm)))
5016 `(marginalia-variable ((,class :foreground ,yellow-nuanced-fg)))
5017 `(marginalia-version ((,class :foreground ,cyan-active)))
5018;;;;; markdown-mode
5019 `(markdown-blockquote-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
5020 `(markdown-bold-face ((,class :inherit bold)))
5021 `(markdown-code-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-dim :extend t)))
5022 `(markdown-comment-face ((,class :inherit font-lock-comment-face)))
5023 `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt)))
5024 `(markdown-footnote-text-face ((,class :inherit modus-theme-slant :foreground ,fg-main)))
5025 `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other)))
5026 `(markdown-header-delimiter-face ((,class :inherit modus-theme-bold :foreground ,fg-dim)))
5027 `(markdown-header-face ((t nil)))
5028 `(markdown-header-face-1 ((,class :inherit modus-theme-heading-1)))
5029 `(markdown-header-face-2 ((,class :inherit modus-theme-heading-2)))
5030 `(markdown-header-face-3 ((,class :inherit modus-theme-heading-3)))
5031 `(markdown-header-face-4 ((,class :inherit modus-theme-heading-4)))
5032 `(markdown-header-face-5 ((,class :inherit modus-theme-heading-5)))
5033 `(markdown-header-face-6 ((,class :inherit modus-theme-heading-6)))
5034 `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm)))
5035 `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm)))
5036 `(markdown-html-attr-name-face ((,class ,@(modus-themes--mixed-fonts)
5037 :foreground ,cyan)))
5038 `(markdown-html-attr-value-face ((,class ,@(modus-themes--mixed-fonts)
5039 :foreground ,blue)))
5040 `(markdown-html-entity-face ((,class ,@(modus-themes--mixed-fonts)
5041 :foreground ,cyan)))
5042 `(markdown-html-tag-delimiter-face ((,class ,@(modus-themes--mixed-fonts)
5043 :foreground ,fg-special-mild)))
5044 `(markdown-html-tag-name-face ((,class ,@(modus-themes--mixed-fonts)
5045 :foreground ,magenta-alt)))
5046 `(markdown-inline-code-face ((,class ,@(modus-themes--mixed-fonts)
5047 :background ,bg-alt :foreground ,fg-special-calm)))
5048 `(markdown-italic-face ((,class :inherit italic :foreground ,fg-special-cold)))
5049 `(markdown-language-info-face ((,class ,@(modus-themes--mixed-fonts)
5050 :foreground ,fg-special-cold)))
5051 `(markdown-language-keyword-face ((,class ,@(modus-themes--mixed-fonts)
5052 :background ,bg-alt
5053 :foreground ,fg-alt)))
5054 `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan :underline t)))
5055 `(markdown-link-face ((,class :inherit button)))
5056 `(markdown-link-title-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
5057 `(markdown-list-face ((,class :foreground ,fg-dim)))
5058 `(markdown-markup-face ((,class :inherit shadow)))
5059 `(markdown-math-face ((,class :foreground ,magenta-alt-other)))
5060 `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other)))
5061 `(markdown-metadata-value-face ((,class :foreground ,blue-alt)))
5062 `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow)))
5063 `(markdown-plain-url-face ((,class :inherit markdown-link-face)))
5064 `(markdown-pre-face ((,class :inherit markdown-code-face :foreground ,fg-special-mild)))
5065 `(markdown-reference-face ((,class :inherit markdown-markup-face)))
5066 `(markdown-strike-through-face ((,class :strike-through t)))
5067 `(markdown-table-face ((,class ,@(modus-themes--mixed-fonts)
5068 :foreground ,fg-special-cold)))
5069 `(markdown-url-face ((,class :foreground ,blue-alt)))
5070;;;;; markup-faces (`adoc-mode')
5071 `(markup-anchor-face ((,class :foreground ,fg-inactive)))
5072 `(markup-attribute-face ((,class :inherit italic :foreground ,fg-inactive)))
5073 `(markup-big-face ((,class :height 1.3 :foreground ,blue-nuanced-fg)))
5074 `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced-fg)))
5075 `(markup-code-face ((,class :inherit fixed-pitch :foreground ,magenta)))
5076 `(markup-command-face ((,class :foreground ,fg-inactive)))
5077 `(markup-comment-face ((,class :inherit font-lock-comment-face)))
5078 `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil :style released-button)
5079 :inherit modus-theme-refine-magenta)))
5080 `(markup-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold)))
5081 `(markup-error-face ((,class :inherit bold :foreground ,red)))
5082 `(markup-gen-face ((,class :foreground ,magenta-alt)))
5083 `(markup-internal-reference-face ((,class :inherit button :foreground ,fg-alt)))
5084 `(markup-italic-face ((,class :inherit italic :foreground ,fg-special-cold)))
5085 `(markup-list-face ((,class :inherit modus-theme-special-calm)))
5086 `(markup-meta-face ((,class :foreground ,fg-inactive)))
5087 `(markup-meta-hide-face ((,class :inherit shadow)))
5088 `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan)))
5089 `(markup-preprocessor-face ((,class :foreground ,red-alt-other)))
5090 `(markup-replacement-face ((,class :foreground ,yellow-alt-other)))
5091 `(markup-secondary-text-face ((,class :height 0.8 :foreground ,magenta-nuanced-fg)))
5092 `(markup-small-face ((,class :height 0.8 :foreground ,fg-main)))
5093 `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced-fg)))
5094 `(markup-subscript-face ((,class :height 0.8 :foreground ,fg-special-cold)))
5095 `(markup-superscript-face ((,class :height 0.8 :foreground ,fg-special-cold)))
5096 `(markup-table-cell-face ((,class :inherit modus-theme-special-cold)))
5097 `(markup-table-face ((,class :inherit modus-theme-subtle-cyan)))
5098 `(markup-table-row-face ((,class :inherit modus-theme-subtle-cyan)))
5099 `(markup-title-0-face ((,class :height 3.0 :foreground ,blue-nuanced-fg)))
5100 `(markup-title-1-face ((,class :height 2.4 :foreground ,blue-nuanced-fg)))
5101 `(markup-title-2-face ((,class :height 1.8 :foreground ,blue-nuanced-fg)))
5102 `(markup-title-3-face ((,class :height 1.4 :foreground ,blue-nuanced-fg)))
5103 `(markup-title-4-face ((,class :height 1.2 :foreground ,blue-nuanced-fg)))
5104 `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced-fg :underline t)))
5105 `(markup-value-face ((,class :foreground ,fg-inactive)))
5106 `(markup-verbatim-face ((,class :inherit modus-theme-special-mild)))
5107;;;;; mentor
5108 `(mentor-download-message ((,class :foreground ,fg-special-warm)))
5109 `(mentor-download-name ((,class :foreground ,fg-special-cold)))
5110 `(mentor-download-progress ((,class :foreground ,blue-alt-other)))
5111 `(mentor-download-size ((,class :foreground ,magenta-alt-other)))
5112 `(mentor-download-speed-down ((,class :foreground ,cyan-alt)))
5113 `(mentor-download-speed-up ((,class :foreground ,red-alt)))
5114 `(mentor-download-state ((,class :foreground ,yellow-alt)))
5115 `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue)))
5116 `(mentor-tracker-name ((,class :foreground ,magenta-alt)))
5117;;;;; messages
5118 `(message-cited-text-1 ((,class :foreground ,blue-faint)))
5119 `(message-cited-text-2 ((,class :foreground ,green-alt-other)))
5120 `(message-cited-text-3 ((,class :foreground ,red-alt-other)))
5121 `(message-cited-text-4 ((,class :foreground ,cyan)))
5122 `(message-header-cc ((,class :foreground ,blue-alt-other)))
5123 `(message-header-name ((,class :inherit bold :foreground ,cyan)))
5124 `(message-header-newsgroups ((,class :inherit message-header-other)))
5125 `(message-header-other ((,class :foreground ,fg-special-calm)))
5126 `(message-header-subject ((,class :inherit bold :foreground ,magenta-alt)))
5127 `(message-header-to ((,class :inherit bold :foreground ,magenta-alt-other)))
5128 `(message-header-xheader ((,class :foreground ,blue-alt)))
5129 `(message-mml ((,class :foreground ,yellow)))
5130 `(message-separator ((,class :inherit modus-theme-intense-neutral)))
5131;;;;; minibuffer-line
5132 `(minibuffer-line ((,class :foreground ,fg-main)))
5133;;;;; minimap
5134 `(minimap-active-region-background ((,class :background ,bg-active)))
5135 `(minimap-current-line-face ((,class :background ,cyan-intense-bg :foreground ,fg-main)))
5136;;;;; mmm-mode
5137 `(mmm-cleanup-submode-face ((,class :background ,yellow-nuanced-bg)))
5138 `(mmm-code-submode-face ((,class :background ,bg-alt)))
5139 `(mmm-comment-submode-face ((,class :background ,blue-nuanced-bg)))
5140 `(mmm-declaration-submode-face ((,class :background ,cyan-nuanced-bg)))
5141 `(mmm-default-submode-face ((,class :background ,bg-dim)))
5142 `(mmm-init-submode-face ((,class :background ,magenta-nuanced-bg)))
5143 `(mmm-output-submode-face ((,class :background ,red-nuanced-bg)))
5144 `(mmm-special-submode-face ((,class :background ,green-nuanced-bg)))
5145;;;;; modeline
5146 `(mode-line ((,class ,@(modus-themes--variable-pitch-ui)
5147 ,@(modus-themes--mode-line-attrs
5148 fg-active bg-active fg-dim bg-active
5149 fg-alt bg-active 'alt-style nil bg-main))))
5150 `(mode-line-buffer-id ((,class :inherit bold)))
5151 `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active)))
5152 `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button))))
5153 `(mode-line-inactive ((,class ,@(modus-themes--variable-pitch-ui)
5154 ,@(modus-themes--mode-line-attrs
5155 fg-inactive bg-inactive fg-alt bg-dim
5156 bg-region bg-active))))
5157;;;;; mood-line
5158 `(mood-line-modified ((,class :foreground ,magenta-active)))
5159 `(mood-line-status-error ((,class :inherit bold :foreground ,red-active)))
5160 `(mood-line-status-info ((,class :foreground ,cyan-active)))
5161 `(mood-line-status-neutral ((,class :foreground ,blue-active)))
5162 `(mood-line-status-success ((,class :foreground ,green-active)))
5163 `(mood-line-status-warning ((,class :inherit bold :foreground ,yellow-active)))
5164 `(mood-line-unimportant ((,class :foreground ,fg-inactive)))
5165;;;;; mpdel
5166 `(mpdel-browser-directory-face ((,class :foreground ,blue)))
5167 `(mpdel-playlist-current-song-face ((,class :inherit bold :foreground ,blue-alt-other)))
5168;;;;; mu4e
5169 `(mu4e-attach-number-face ((,class :inherit bold :foreground ,fg-dim)))
5170 `(mu4e-cited-1-face ((,class :foreground ,blue-faint)))
5171 `(mu4e-cited-2-face ((,class :foreground ,green-alt-other)))
5172 `(mu4e-cited-3-face ((,class :foreground ,red-alt-other)))
5173 `(mu4e-cited-4-face ((,class :foreground ,cyan)))
5174 `(mu4e-cited-5-face ((,class :foreground ,yellow-alt)))
5175 `(mu4e-cited-6-face ((,class :foreground ,magenta)))
5176 `(mu4e-cited-7-face ((,class :foreground ,green-alt)))
5177 `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face)))
5178 `(mu4e-compose-separator-face ((,class :inherit modus-theme-intense-neutral)))
5179 `(mu4e-contact-face ((,class :inherit message-header-to)))
5180 `(mu4e-context-face ((,class :foreground ,blue-active)))
5181 `(mu4e-draft-face ((,class :foreground ,magenta-alt)))
5182 `(mu4e-flagged-face ((,class :foreground ,red-alt)))
5183 `(mu4e-footer-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
5184 `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other)))
5185 `(mu4e-header-face ((,class :inherit shadow)))
5186 `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line)))
5187 `(mu4e-header-key-face ((,class :inherit message-header-name)))
5188 `(mu4e-header-marks-face ((,class :inherit mu4e-special-header-value-face)))
5189 `(mu4e-header-title-face ((,class :foreground ,fg-special-mild)))
5190 `(mu4e-header-value-face ((,class :inherit message-header-other)))
5191 `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other)))
5192 `(mu4e-link-face ((,class :inherit button)))
5193 `(mu4e-modeline-face ((,class :foreground ,magenta-active)))
5194 `(mu4e-moved-face ((,class :inherit modus-theme-slant :foreground ,yellow)))
5195 `(mu4e-ok-face ((,class :inherit bold :foreground ,green)))
5196 `(mu4e-region-code ((,class :inherit modus-theme-special-calm)))
5197 `(mu4e-replied-face ((,class :foreground ,blue)))
5198 `(mu4e-special-header-value-face ((,class :inherit message-header-subject)))
5199 `(mu4e-system-face ((,class :inherit modus-theme-slant :foreground ,fg-mark-del)))
5200 `(mu4e-title-face ((,class :foreground ,fg-main)))
5201 `(mu4e-trashed-face ((,class :foreground ,red)))
5202 `(mu4e-unread-face ((,class :inherit bold)))
5203 `(mu4e-url-number-face ((,class :foreground ,fg-alt)))
5204 `(mu4e-view-body-face ((,class :foreground ,fg-main)))
5205 `(mu4e-warning-face ((,class :inherit warning)))
5206;;;;; mu4e-conversation
5207 `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold)))
5208 `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm)))
5209 `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold)))
5210 `(mu4e-conversation-sender-3 ((,class :foreground ,fg-special-mild)))
5211 `(mu4e-conversation-sender-4 ((,class :inherit shadow)))
5212 `(mu4e-conversation-sender-5 ((,class :foreground ,yellow-refine-fg)))
5213 `(mu4e-conversation-sender-6 ((,class :foreground ,cyan-refine-fg)))
5214 `(mu4e-conversation-sender-7 ((,class :foreground ,green-refine-fg)))
5215 `(mu4e-conversation-sender-8 ((,class :foreground ,blue-refine-fg)))
5216 `(mu4e-conversation-sender-me ((,class :foreground ,fg-main)))
5217 `(mu4e-conversation-unread ((,class :inherit bold)))
5218;;;;; multiple-cursors
5219 `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main)))
5220 `(mc/cursor-face ((,class :inverse-video t)))
5221 `(mc/region-face ((,class :inherit region)))
5222;;;;; neotree
5223 `(neo-banner-face ((,class :foreground ,magenta)))
5224 `(neo-button-face ((,class :inherit button)))
5225 `(neo-dir-link-face ((,class :inherit bold :foreground ,blue)))
5226 `(neo-expand-btn-face ((,class :foreground ,cyan)))
5227 `(neo-file-link-face ((,class :foreground ,fg-main)))
5228 `(neo-header-face ((,class :inherit bold :foreground ,fg-main)))
5229 `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt)))
5230 `(neo-vc-added-face ((,class :foreground ,green)))
5231 `(neo-vc-conflict-face ((,class :inherit bold :foreground ,red)))
5232 `(neo-vc-default-face ((,class :foreground ,fg-main)))
5233 `(neo-vc-edited-face ((,class :foreground ,yellow)))
5234 `(neo-vc-ignored-face ((,class :foreground ,fg-inactive)))
5235 `(neo-vc-missing-face ((,class :foreground ,red-alt)))
5236 `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt)))
5237 `(neo-vc-needs-update-face ((,class :underline t)))
5238 `(neo-vc-removed-face ((,class :strike-through t)))
5239 `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue)))
5240 `(neo-vc-up-to-date-face ((,class :inherit shadow)))
5241 `(neo-vc-user-face ((,class :foreground ,magenta)))
5242;;;;; no-emoji
5243 `(no-emoji ((,class :foreground ,cyan)))
5244;;;;; notmuch
5245 `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta)))
5246 `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other)))
5247 `(notmuch-crypto-signature-bad ((,class :inherit modus-theme-intense-red)))
5248 `(notmuch-crypto-signature-good ((,class :inherit modus-theme-refine-green)))
5249 `(notmuch-crypto-signature-good-key ((,class :inherit modus-theme-refine-yellow)))
5250 `(notmuch-crypto-signature-unknown ((,class :inherit modus-theme-refine-red)))
5251 `(notmuch-hello-logo-background ((,class :background "gray50")))
5252 `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan)))
5253 `(notmuch-search-count ((,class :inherit shadow)))
5254 `(notmuch-search-date ((,class :foreground ,cyan)))
5255 `(notmuch-search-flagged-face ((,class :foreground ,red-alt)))
5256 `(notmuch-search-matching-authors ((,class :foreground ,fg-main)))
5257 `(notmuch-search-non-matching-authors ((,class :inherit shadow)))
5258 `(notmuch-search-subject ((,class :foreground ,fg-dim)))
5259 `(notmuch-search-unread-face ((,class :inherit bold)))
5260 `(notmuch-tag-added
5261 ((,(append '((supports :underline (:style wave))) class)
5262 :underline (:color ,green :style wave))
5263 (,class :foreground ,green :underline t)))
5264 `(notmuch-tag-deleted
5265 ((,(append '((supports :underline (:style wave))) class)
5266 :underline (:color ,red :style wave))
5267 (,class :foreground ,red :underline t)))
5268 `(notmuch-tag-face ((,class :inherit bold :foreground ,blue-alt)))
5269 `(notmuch-tag-flagged ((,class :foreground ,red-alt)))
5270 `(notmuch-tag-unread ((,class :foreground ,magenta-alt)))
5271 `(notmuch-tree-match-author-face ((,class :foreground ,fg-special-cold)))
5272 `(notmuch-tree-match-date-face ((,class :inherit notmuch-search-date)))
5273 `(notmuch-tree-match-face ((,class :foreground ,fg-main)))
5274 `(notmuch-tree-match-tag-face ((,class :inherit bold :foreground ,blue-alt)))
5275 `(notmuch-tree-no-match-face ((,class :inherit shadow)))
5276 `(notmuch-tree-no-match-date-face ((,class :inherit shadow)))
5277 `(notmuch-wash-cited-text ((,class :foreground ,cyan)))
5278 `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground ,fg-alt)))
5279;;;;; num3-mode
5280 `(num3-face-even ((,class :inherit bold :background ,bg-alt)))
5281;;;;; nxml-mode
5282 `(nxml-attribute-colon ((,class :foreground ,fg-main)))
5283 `(nxml-attribute-local-name ((,class :inherit font-lock-variable-name-face)))
5284 `(nxml-attribute-prefix ((,class :inherit font-lock-type-face)))
5285 `(nxml-attribute-value ((,class :inherit font-lock-constant-face)))
5286 `(nxml-cdata-section-CDATA ((,class :inherit error)))
5287 `(nxml-cdata-section-delimiter ((,class :inherit error)))
5288 `(nxml-char-ref-delimiter ((,class :foreground ,fg-special-mild)))
5289 `(nxml-char-ref-number ((,class :inherit modus-theme-bold :foreground ,fg-special-mild)))
5290 `(nxml-delimited-data ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
5291 `(nxml-delimiter ((,class :foreground ,fg-dim)))
5292 `(nxml-element-colon ((,class :foreground ,fg-main)))
5293 `(nxml-element-local-name ((,class :inherit font-lock-function-name-face)))
5294 `(nxml-element-prefix ((,class :inherit font-lock-builtin-face)))
5295 `(nxml-entity-ref-delimiter ((,class :foreground ,fg-special-mild)))
5296 `(nxml-entity-ref-name ((,class :inherit modus-theme-bold :foreground ,fg-special-mild)))
5297 `(nxml-glyph ((,class :inherit modus-theme-intense-neutral)))
5298 `(nxml-hash ((,class :inherit (bold font-lock-string-face))))
5299 `(nxml-heading ((,class :inherit bold)))
5300 `(nxml-name ((,class :inherit font-lock-builtin-face)))
5301 `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main)))
5302 `(nxml-namespace-attribute-prefix ((,class :inherit font-lock-variable-name-face)))
5303 `(nxml-processing-instruction-target ((,class :inherit font-lock-keyword-face)))
5304 `(nxml-prolog-keyword ((,class :inherit font-lock-keyword-face)))
5305 `(nxml-ref ((,class :inherit modus-theme-bold :foreground ,fg-special-mild)))
5306 `(rng-error ((,class :inherit error)))
5307;;;;; objed
5308 `(objed-hl ((,class :background ,(if modus-themes-intense-hl-line
5309 bg-hl-alt-intense bg-hl-alt))))
5310 `(objed-mark ((,class :background ,bg-active)))
5311 `(objed-mode-line ((,class :foreground ,cyan-active)))
5312;;;;; orderless
5313 `(orderless-match-face-0 ((,class :inherit bold
5314 ,@(modus-themes--standard-completions
5315 blue-alt-other blue-nuanced-bg
5316 blue-refine-bg blue-refine-fg))))
5317 `(orderless-match-face-1 ((,class :inherit bold
5318 ,@(modus-themes--standard-completions
5319 magenta-alt magenta-nuanced-bg
5320 magenta-refine-bg magenta-refine-fg))))
5321 `(orderless-match-face-2 ((,class :inherit bold
5322 ,@(modus-themes--standard-completions
5323 green green-nuanced-bg
5324 green-refine-bg green-refine-fg))))
5325 `(orderless-match-face-3 ((,class :inherit bold
5326 ,@(modus-themes--standard-completions
5327 yellow yellow-nuanced-bg
5328 yellow-refine-bg yellow-refine-fg))))
5329;;;;; org
5330 `(org-agenda-calendar-event ((,class :foreground ,fg-main)))
5331 `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt)))
5332 `(org-agenda-clocking ((,class :inherit modus-theme-special-cold :extend t)))
5333 `(org-agenda-column-dateline ((,class :background ,bg-alt)))
5334 `(org-agenda-current-time ((,class :inherit bold :foreground ,blue-alt-other)))
5335 `(org-agenda-date ((,class :foreground ,cyan)))
5336 `(org-agenda-date-today ((,class :inherit bold :foreground ,fg-main :underline t)))
5337 `(org-agenda-date-weekend ((,class :foreground ,cyan-alt-other)))
5338 `(org-agenda-diary ((,class :foreground ,fg-main)))
5339 `(org-agenda-dimmed-todo-face ((,class :inherit bold :foreground ,fg-alt)))
5340 `(org-agenda-done ((,class :foreground ,green-alt)))
5341 `(org-agenda-filter-category ((,class :inherit bold :foreground ,magenta-active)))
5342 `(org-agenda-filter-effort ((,class :inherit bold :foreground ,magenta-active)))
5343 `(org-agenda-filter-regexp ((,class :inherit bold :foreground ,magenta-active)))
5344 `(org-agenda-filter-tags ((,class :inherit bold :foreground ,magenta-active)))
5345 `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground ,fg-dim)))
5346 `(org-agenda-structure ((,class ,@(modus-themes--scale modus-themes-scale-5)
5347 :foreground ,blue-alt)))
5348 `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt)))
5349 `(org-block ((,class ,@(modus-themes--mixed-fonts)
5350 ,@(modus-themes--org-block bg-dim)
5351 :foreground ,fg-main)))
5352 `(org-block-begin-line ((,class ,@(modus-themes--mixed-fonts)
5353 ,@(modus-themes--org-block-delim
5354 bg-dim fg-special-cold
5355 bg-alt fg-special-mild))))
5356 `(org-block-end-line ((,class :inherit org-block-begin-line)))
5357 `(org-checkbox ((,class :box (:line-width 1 :color ,bg-active)
5358 :background ,bg-inactive :foreground ,fg-active)))
5359 `(org-checkbox-statistics-done ((,class :inherit org-done)))
5360 `(org-checkbox-statistics-todo ((,class :inherit org-todo)))
5361 `(org-clock-overlay ((,class :inherit modus-theme-special-cold)))
5362 `(org-code ((,class ,@(modus-themes--mixed-fonts)
5363 :background ,red-nuanced-bg :foreground ,magenta)))
5364 `(org-column ((,class :background ,bg-alt)))
5365 `(org-column-title ((,class :inherit bold :underline t :background ,bg-alt)))
5366 `(org-date ((,class :inherit ,(if modus-themes-no-mixed-fonts
5367 'button
5368 '(button fixed-pitch))
5369 ,@(modus-themes--link-color
5370 cyan cyan-faint))))
5371 `(org-date-selected ((,class :inherit bold :foreground ,blue-alt :inverse-video t)))
5372 `(org-dispatcher-highlight ((,class :inherit (bold modus-theme-mark-alt))))
5373 `(org-document-info ((,class :foreground ,fg-special-cold)))
5374 `(org-document-info-keyword ((,class ,@(modus-themes--mixed-fonts)
5375 :foreground ,fg-alt)))
5376 `(org-document-title ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,fg-special-cold
5377 ,@(modus-themes--scale modus-themes-scale-5))))
5378 `(org-done ((,class :foreground ,green)))
5379 `(org-drawer ((,class ,@(modus-themes--mixed-fonts)
5380 :foreground ,fg-alt)))
5381 `(org-ellipsis ((,class))) ; inherits from the heading's color
5382 `(org-footnote ((,class :inherit button
5383 ,@(modus-themes--link-color
5384 blue-alt blue-alt-faint))))
5385 `(org-formula ((,class ,@(modus-themes--mixed-fonts)
5386 :foreground ,red-alt)))
5387 `(org-habit-alert-face ((,class ,@(modus-themes--org-habit
5388 yellow-graph-0-bg
5389 yellow-graph-0-bg
5390 yellow-graph-1-bg))))
5391 `(org-habit-alert-future-face ((,class ,@(modus-themes--org-habit
5392 yellow-graph-1-bg
5393 yellow-graph-0-bg
5394 yellow-graph-1-bg))))
5395 `(org-habit-clear-face ((,class ,@(modus-themes--org-habit
5396 blue-graph-0-bg
5397 green-graph-1-bg
5398 blue-graph-1-bg))))
5399 `(org-habit-clear-future-face ((,class ,@(modus-themes--org-habit
5400 blue-graph-1-bg
5401 green-graph-1-bg
5402 blue-graph-1-bg))))
5403 `(org-habit-overdue-face ((,class ,@(modus-themes--org-habit
5404 red-graph-0-bg
5405 red-graph-0-bg
5406 red-graph-1-bg))))
5407 `(org-habit-overdue-future-face ((,class ,@(modus-themes--org-habit
5408 red-graph-1-bg
5409 red-graph-0-bg
5410 red-graph-1-bg))))
5411 `(org-habit-ready-face ((,class ,@(modus-themes--org-habit
5412 green-graph-0-bg
5413 green-graph-0-bg
5414 green-graph-1-bg))))
5415 `(org-habit-ready-future-face ((,class ,@(modus-themes--org-habit
5416 green-graph-1-bg
5417 green-graph-0-bg
5418 green-graph-1-bg))))
5419 `(org-headline-done ((,class :inherit modus-theme-variable-pitch :foreground ,green-nuanced-fg)))
5420 `(org-headline-todo ((,class :inherit modus-theme-variable-pitch :foreground ,red-nuanced-fg)))
5421 `(org-hide ((,class :foreground ,bg-main)))
5422 `(org-indent ((,class :inherit (fixed-pitch org-hide))))
5423 `(org-latex-and-related ((,class :foreground ,magenta-refine-fg)))
5424 `(org-level-1 ((,class :inherit modus-theme-heading-1)))
5425 `(org-level-2 ((,class :inherit modus-theme-heading-2)))
5426 `(org-level-3 ((,class :inherit modus-theme-heading-3)))
5427 `(org-level-4 ((,class :inherit modus-theme-heading-4)))
5428 `(org-level-5 ((,class :inherit modus-theme-heading-5)))
5429 `(org-level-6 ((,class :inherit modus-theme-heading-6)))
5430 `(org-level-7 ((,class :inherit modus-theme-heading-7)))
5431 `(org-level-8 ((,class :inherit modus-theme-heading-8)))
5432 `(org-link ((,class :inherit button)))
5433 `(org-list-dt ((,class :inherit bold)))
5434 `(org-macro ((,class ,@(modus-themes--mixed-fonts)
5435 :background ,blue-nuanced-bg :foreground ,magenta-alt-other)))
5436 `(org-meta-line ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt)))
5437 `(org-mode-line-clock ((,class :foreground ,fg-main)))
5438 `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red)))
5439 `(org-priority ((,class :foreground ,magenta)))
5440 `(org-property-value ((,class ,@(modus-themes--mixed-fonts)
5441 :foreground ,fg-special-cold)))
5442 `(org-quote ((,class :inherit modus-theme-slant
5443 ,@(modus-themes--org-block bg-dim)
5444 :foreground ,fg-special-cold)))
5445 `(org-scheduled ((,class :foreground ,magenta-alt)))
5446 `(org-scheduled-previously ((,class :foreground ,yellow-alt-other)))
5447 `(org-scheduled-today ((,class :foreground ,magenta-alt-other)))
5448 `(org-sexp-date ((,class :inherit org-date)))
5449 `(org-special-keyword ((,class ,@(modus-themes--mixed-fonts)
5450 :foreground ,fg-alt)))
5451 `(org-table ((,class ,@(modus-themes--mixed-fonts)
5452 :foreground ,fg-special-cold)))
5453 `(org-table-header ((,class :inherit (fixed-pitch modus-theme-intense-neutral))))
5454 `(org-tag ((,class :foreground ,magenta-nuanced-fg)))
5455 `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced-fg)))
5456 `(org-target ((,class :underline t)))
5457 `(org-time-grid ((,class :foreground ,fg-unfocused)))
5458 `(org-todo ((,class :foreground ,red)))
5459 `(org-upcoming-deadline ((,class :foreground ,red-alt-other)))
5460 `(org-upcoming-distant-deadline ((,class :foreground ,red-nuanced-fg)))
5461 `(org-verbatim ((,class ,@(modus-themes--mixed-fonts)
5462 :background ,bg-alt :foreground ,fg-special-calm)))
5463 `(org-verse ((,class :inherit org-quote)))
5464 `(org-warning ((,class :inherit bold :foreground ,red-alt-other)))
5465;;;;; org-journal
5466 `(org-journal-calendar-entry-face ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other)))
5467 `(org-journal-calendar-scheduled-face ((,class :inherit modus-theme-slant :foreground ,red-alt-other)))
5468 `(org-journal-highlight ((,class :foreground ,magenta-alt)))
5469;;;;; org-noter
5470 `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active)))
5471 `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active)))
5472;;;;; org-pomodoro
5473 `(org-pomodoro-mode-line ((,class :foreground ,red-active)))
5474 `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active)))
5475 `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground ,red-active)))
5476;;;;; org-recur
5477 `(org-recur ((,class :foreground ,magenta-active)))
5478;;;;; org-roam
5479 `(org-roam-link ((,class :inherit button
5480 ,@(modus-themes--link-color
5481 green green-faint))))
5482 `(org-roam-link-current ((,class :inherit button
5483 ,@(modus-themes--link-color
5484 green-alt green-alt-faint))))
5485 `(org-roam-link-invalid ((,class :inherit button
5486 ,@(modus-themes--link-color
5487 red red-faint))))
5488 `(org-roam-link-shielded ((,class :inherit button
5489 ,@(modus-themes--link-color
5490 yellow yellow-faint))))
5491 `(org-roam-tag ((,class :inherit italic :foreground ,fg-alt)))
5492;;;;; org-superstar
5493 `(org-superstar-item ((,class :foreground ,fg-main)))
5494 `(org-superstar-leading ((,class :foreground ,fg-whitespace)))
5495;;;;; org-table-sticky-header
5496 `(org-table-sticky-header-face ((,class :inherit modus-theme-intense-neutral)))
5497;;;;; org-tree-slide
5498 `(org-tree-slide-header-overlay-face
5499 ((,class :inherit (bold modus-theme-variable-pitch) :background ,bg-main
5500 :foreground ,fg-special-cold :overline nil
5501 ,@(modus-themes--scale modus-themes-scale-5))))
5502;;;;; org-treescope
5503 `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-theme-intense-blue)))
5504 `(org-treescope-faces--markerinternal-range ((,class :inherit modus-theme-special-mild)))
5505;;;;; origami
5506 `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t)))
5507 `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt)))
5508;;;;; outline-mode
5509 `(outline-1 ((,class :inherit modus-theme-heading-1)))
5510 `(outline-2 ((,class :inherit modus-theme-heading-2)))
5511 `(outline-3 ((,class :inherit modus-theme-heading-3)))
5512 `(outline-4 ((,class :inherit modus-theme-heading-4)))
5513 `(outline-5 ((,class :inherit modus-theme-heading-5)))
5514 `(outline-6 ((,class :inherit modus-theme-heading-6)))
5515 `(outline-7 ((,class :inherit modus-theme-heading-7)))
5516 `(outline-8 ((,class :inherit modus-theme-heading-8)))
5517;;;;; outline-minor-faces
5518 `(outline-minor-0 ((,class :background ,bg-alt)))
5519;;;;; package (M-x list-packages)
5520 `(package-description ((,class :foreground ,fg-special-cold)))
5521 `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other)))
5522 `(package-name ((,class :inherit button)))
5523 `(package-status-avail-obso ((,class :inherit bold :foreground ,red)))
5524 `(package-status-available ((,class :foreground ,fg-special-mild)))
5525 `(package-status-built-in ((,class :foreground ,magenta)))
5526 `(package-status-dependency ((,class :foreground ,magenta-alt-other)))
5527 `(package-status-disabled ((,class :inherit modus-theme-subtle-red)))
5528 `(package-status-external ((,class :foreground ,cyan-alt-other)))
5529 `(package-status-held ((,class :foreground ,yellow-alt)))
5530 `(package-status-incompat ((,class :inherit bold :foreground ,yellow)))
5531 `(package-status-installed ((,class :foreground ,fg-special-warm)))
5532 `(package-status-new ((,class :inherit bold :foreground ,green)))
5533 `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt)))
5534;;;;; page-break-lines
5535 `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer)))
5536;;;;; paradox
5537 `(paradox-archive-face ((,class :foreground ,fg-special-mild)))
5538 `(paradox-comment-face ((,class :inherit font-lock-comment-face)))
5539 `(paradox-commit-tag-face ((,class :inherit modus-theme-refine-magenta :box t)))
5540 `(paradox-description-face ((,class :foreground ,fg-special-cold)))
5541 `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold)))
5542 `(paradox-download-face ((,class :inherit modus-theme-bold :foreground ,blue-alt-other)))
5543 `(paradox-highlight-face ((,class :inherit modus-theme-bold :foreground ,cyan-alt-other)))
5544 `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t)))
5545 `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active)))
5546 `(paradox-name-face ((,class :foreground ,blue :underline t)))
5547 `(paradox-star-face ((,class :foreground ,magenta)))
5548 `(paradox-starred-face ((,class :foreground ,magenta-alt)))
5549;;;;; paren-face
5550 `(parenthesis ((,class :foreground ,fg-unfocused)))
5551;;;;; parrot
5552 `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-theme-refine-magenta)))
5553;;;;; pass
5554 `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold)))
5555 `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main)))
5556 `(pass-mode-header-face ((,class :foreground ,fg-special-warm)))
5557;;;;; pdf-tools
5558 `(pdf-links-read-link ((,class :background ,fg-main :foreground ,magenta-intense-bg :inherit bold))) ; Foreground is background and vice versa
5559 `(pdf-occur-document-face ((,class :inherit shadow)))
5560 `(pdf-occur-page-face ((,class :inherit shadow)))
5561;;;;; persp-mode
5562 `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-theme-intense-red)))
5563 `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active)))
5564 `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active)))
5565;;;;; perspective
5566 `(persp-selected-face ((,class :inherit bold :foreground ,blue-active)))
5567;;;;; phi-grep
5568 `(phi-grep-heading-face ((,class :inherit bold :foreground ,red-alt
5569 ,@(modus-themes--scale modus-themes-scale-4))))
5570 `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm)))
5571 `(phi-grep-match-face ((,class :inherit modus-theme-special-calm)))
5572 `(phi-grep-modified-face ((,class :inherit modus-theme-refine-yellow)))
5573 `(phi-grep-overlay-face ((,class :inherit modus-theme-refine-blue)))
5574;;;;; phi-search
5575 `(phi-replace-preview-face ((,class :inherit modus-theme-intense-magenta)))
5576 `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red)))
5577 `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan)))
5578 `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green bold))))
5579;;;;; pkgbuild-mode
5580 `(pkgbuild-error-face ((,class :inherit modus-theme-lang-error)))
5581;;;;; pomidor
5582 `(pomidor-break-face ((,class :foreground ,blue-alt-other)))
5583 `(pomidor-overwork-face ((,class :foreground ,red-alt-other)))
5584 `(pomidor-skip-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
5585 `(pomidor-work-face ((,class :foreground ,green-alt-other)))
5586;;;;; popup
5587 `(popup-face ((,class :background ,bg-alt :foreground ,fg-main)))
5588 `(popup-isearch-match ((,class :inherit (modus-theme-refine-cyan bold))))
5589 `(popup-menu-mouse-face ((,class :inherit modus-theme-intense-blue)))
5590 `(popup-menu-selection-face ((,class :inherit (modus-theme-subtle-cyan bold))))
5591 `(popup-scroll-bar-background-face ((,class :background ,bg-active)))
5592 `(popup-scroll-bar-foreground-face ((,class :foreground ,fg-active)))
5593 `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive)))
5594 `(popup-tip-face ((,class :inherit modus-theme-refine-yellow)))
5595;;;;; powerline
5596 `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t)))
5597 `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg)))
5598 `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active)))
5599 `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
5600 `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive)))
5601 `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive)))
5602;;;;; powerline-evil
5603 `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main)))
5604 `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta)))
5605 `(powerline-evil-insert-face ((,class :inherit modus-theme-active-green)))
5606 `(powerline-evil-motion-face ((,class :inherit modus-theme-active-blue)))
5607 `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main)))
5608 `(powerline-evil-operator-face ((,class :inherit modus-theme-active-yellow)))
5609 `(powerline-evil-replace-face ((,class :inherit modus-theme-active-red)))
5610 `(powerline-evil-visual-face ((,class :inherit modus-theme-active-cyan)))
5611;;;;; proced
5612 `(proced-mark ((,class :inherit modus-theme-mark-symbol)))
5613 `(proced-marked ((,class :inherit modus-theme-mark-alt)))
5614 `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t)))
5615;;;;; prodigy
5616 `(prodigy-green-face ((,class :foreground ,green)))
5617 `(prodigy-red-face ((,class :foreground ,red)))
5618 `(prodigy-yellow-face ((,class :foreground ,yellow)))
5619;;;;; quick-peek
5620 `(quick-peek-background-face ((,class :background ,bg-alt)))
5621 `(quick-peek-border-face ((,class :background ,fg-window-divider-inner :height 1)))
5622 `(quick-peek-padding-face ((,class :background ,bg-alt :height 0.15)))
5623;;;;; racket-mode
5624 `(racket-debug-break-face ((,class :inherit modus-theme-intense-red)))
5625 `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil)
5626 :foreground ,green-alt-other)))
5627 `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil)
5628 :foreground ,green)))
5629 `(racket-here-string-face ((,class :foreground ,blue-alt)))
5630 `(racket-keyword-argument-face ((,class :foreground ,red-alt)))
5631 `(racket-logger-config-face ((,class :inherit modus-theme-slant :foreground ,fg-alt)))
5632 `(racket-logger-debug-face ((,class :foreground ,blue-alt-other)))
5633 `(racket-logger-info-face ((,class :foreground ,fg-lang-note)))
5634 `(racket-logger-topic-face ((,class :inherit modus-theme-slant :foreground ,magenta)))
5635 `(racket-selfeval-face ((,class :foreground ,green-alt)))
5636 `(racket-xp-error-face ((,class :inherit modus-theme-lang-error)))
5637;;;;; rainbow-blocks
5638 `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other)))
5639 `(rainbow-blocks-depth-2-face ((,class :foreground ,blue)))
5640 `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt)))
5641 `(rainbow-blocks-depth-4-face ((,class :foreground ,green)))
5642 `(rainbow-blocks-depth-5-face ((,class :foreground ,magenta)))
5643 `(rainbow-blocks-depth-6-face ((,class :foreground ,cyan)))
5644 `(rainbow-blocks-depth-7-face ((,class :foreground ,yellow)))
5645 `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt)))
5646 `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt)))
5647 `(rainbow-blocks-unmatched-face ((,class :foreground ,red)))
5648;;;;; rainbow-identifiers
5649 `(rainbow-identifiers-identifier-1 ((,class :foreground ,green-alt-other)))
5650 `(rainbow-identifiers-identifier-2 ((,class :foreground ,magenta-alt-other)))
5651 `(rainbow-identifiers-identifier-3 ((,class :foreground ,cyan-alt-other)))
5652 `(rainbow-identifiers-identifier-4 ((,class :foreground ,yellow-alt-other)))
5653 `(rainbow-identifiers-identifier-5 ((,class :foreground ,blue-alt-other)))
5654 `(rainbow-identifiers-identifier-6 ((,class :foreground ,green-alt)))
5655 `(rainbow-identifiers-identifier-7 ((,class :foreground ,magenta-alt)))
5656 `(rainbow-identifiers-identifier-8 ((,class :foreground ,cyan-alt)))
5657 `(rainbow-identifiers-identifier-9 ((,class :foreground ,yellow-alt)))
5658 `(rainbow-identifiers-identifier-10 ((,class :foreground ,green)))
5659 `(rainbow-identifiers-identifier-11 ((,class :foreground ,magenta)))
5660 `(rainbow-identifiers-identifier-12 ((,class :foreground ,cyan)))
5661 `(rainbow-identifiers-identifier-13 ((,class :foreground ,yellow)))
5662 `(rainbow-identifiers-identifier-14 ((,class :foreground ,blue-alt)))
5663 `(rainbow-identifiers-identifier-15 ((,class :foreground ,red-alt)))
5664;;;;; rainbow-delimiters
5665 `(rainbow-delimiters-base-error-face ((,class :background ,red-subtle-bg :foreground ,fg-main)))
5666 `(rainbow-delimiters-base-face ((,class :foreground ,fg-main)))
5667 `(rainbow-delimiters-depth-1-face ((,class :foreground ,fg-main)))
5668 `(rainbow-delimiters-depth-2-face ((,class :foreground ,magenta-intense)))
5669 `(rainbow-delimiters-depth-3-face ((,class :foreground ,cyan-intense)))
5670 `(rainbow-delimiters-depth-4-face ((,class :foreground ,orange-intense)))
5671 `(rainbow-delimiters-depth-5-face ((,class :foreground ,purple-intense)))
5672 `(rainbow-delimiters-depth-6-face ((,class :foreground ,green-intense)))
5673 `(rainbow-delimiters-depth-7-face ((,class :foreground ,red-intense)))
5674 `(rainbow-delimiters-depth-8-face ((,class :foreground ,blue-intense)))
5675 `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-intense)))
5676 `(rainbow-delimiters-mismatched-face ((,class :inherit (bold modus-theme-refine-yellow))))
5677 `(rainbow-delimiters-unmatched-face ((,class :inherit (bold modus-theme-refine-red))))
5678;;;;; rcirc
5679 `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt)))
5680 `(rcirc-dim-nick ((,class :inherit shadow)))
5681 `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta)))
5682 `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other)))
5683 `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,fg-special-mild)))
5684 `(rcirc-other-nick ((,class :inherit bold :foreground ,fg-special-cold)))
5685 `(rcirc-prompt ((,class :inherit bold :foreground ,cyan-alt-other)))
5686 `(rcirc-server ((,class :foreground ,fg-unfocused)))
5687 `(rcirc-timestamp ((,class :foreground ,blue-nuanced-fg)))
5688 `(rcirc-url ((,class :foreground ,blue :underline t)))
5689;;;;; recursion-indicator
5690 `(recursion-indicator-general ((,class :foreground ,blue-active)))
5691 `(recursion-indicator-minibuffer ((,class :foreground ,red-active)))
5692;;;;; regexp-builder (re-builder)
5693 `(reb-match-0 ((,class :inherit modus-theme-refine-cyan)))
5694 `(reb-match-1 ((,class :inherit modus-theme-subtle-magenta)))
5695 `(reb-match-2 ((,class :inherit modus-theme-subtle-green)))
5696 `(reb-match-3 ((,class :inherit modus-theme-refine-yellow)))
5697 `(reb-regexp-grouping-backslash ((,class :inherit font-lock-regexp-grouping-backslash)))
5698 `(reb-regexp-grouping-construct ((,class :inherit font-lock-regexp-grouping-construct)))
5699;;;;; rg (rg.el)
5700 `(rg-column-number-face ((,class :foreground ,magenta-alt-other)))
5701 `(rg-context-face ((,class :foreground ,fg-unfocused)))
5702 `(rg-error-face ((,class :inherit bold :foreground ,red)))
5703 `(rg-file-tag-face ((,class :foreground ,fg-special-cold)))
5704 `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold)))
5705 `(rg-line-number-face ((,class :foreground ,fg-special-warm)))
5706 `(rg-literal-face ((,class :foreground ,blue-alt)))
5707 `(rg-match-face ((,class :inherit modus-theme-special-calm)))
5708 `(rg-regexp-face ((,class :foreground ,magenta-active)))
5709 `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive)))
5710 `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active)))
5711 `(rg-warning-face ((,class :inherit bold :foreground ,yellow)))
5712;;;;; ripgrep
5713 `(ripgrep-context-face ((,class :foreground ,fg-unfocused)))
5714 `(ripgrep-error-face ((,class :inherit bold :foreground ,red)))
5715 `(ripgrep-hit-face ((,class :foreground ,cyan)))
5716 `(ripgrep-match-face ((,class :inherit modus-theme-special-calm)))
5717;;;;; rmail
5718 `(rmail-header-name ((,class :foreground ,cyan-alt-other)))
5719 `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt)))
5720;;;;; ruler-mode
5721 `(ruler-mode-column-number ((,class :inherit ruler-mode-default :foreground ,fg-main)))
5722 `(ruler-mode-comment-column ((,class :inherit ruler-mode-default :foreground ,red)))
5723 `(ruler-mode-current-column ((,class :inherit ruler-mode-default :background ,blue-subtle-bg :foreground ,fg-main)))
5724 `(ruler-mode-default ((,class :inherit default :background ,bg-alt :foreground ,fg-unfocused)))
5725 `(ruler-mode-fill-column ((,class :inherit ruler-mode-default :foreground ,green)))
5726 `(ruler-mode-fringes ((,class :inherit ruler-mode-default :foreground ,cyan)))
5727 `(ruler-mode-goal-column ((,class :inherit ruler-mode-default :foreground ,blue)))
5728 `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground ,bg-main)))
5729 `(ruler-mode-pad ((,class :inherit ruler-mode-default :background ,bg-active :foreground ,fg-inactive)))
5730 `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground ,fg-special-warm)))
5731;;;;; sallet
5732 `(sallet-buffer-compressed ((,class :inherit italic :foreground ,yellow-nuanced-fg)))
5733 `(sallet-buffer-default-directory ((,class :foreground ,cyan-nuanced-fg)))
5734 `(sallet-buffer-directory ((,class :foreground ,blue-nuanced-fg)))
5735 `(sallet-buffer-help ((,class :foreground ,fg-special-cold)))
5736 `(sallet-buffer-modified ((,class :inherit italic :foreground ,yellow-alt-other)))
5737 `(sallet-buffer-ordinary ((,class :foreground ,fg-main)))
5738 `(sallet-buffer-read-only ((,class :foreground ,yellow-alt)))
5739 `(sallet-buffer-size ((,class :foreground ,fg-special-calm)))
5740 `(sallet-buffer-special ((,class :foreground ,magenta-alt-other)))
5741 `(sallet-flx-match ((,class ,@(modus-themes--extra-completions
5742 'modus-theme-subtle-cyan
5743 'modus-theme-refine-cyan
5744 'modus-theme-nuanced-cyan
5745 cyan-alt-other))))
5746 `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced-fg)))
5747 `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild)))
5748 `(sallet-regexp-match ((,class ,@(modus-themes--extra-completions
5749 'modus-theme-subtle-magenta
5750 'modus-theme-refine-magenta
5751 'modus-theme-nuanced-magenta
5752 magenta-alt-other))))
5753 `(sallet-source-header ((,class :inherit bold :foreground ,red-alt
5754 ,@(modus-themes--scale modus-themes-scale-4))))
5755 `(sallet-substring-match ((,class ,@(modus-themes--extra-completions
5756 'modus-theme-subtle-blue
5757 'modus-theme-refine-blue
5758 'modus-theme-nuanced-blue
5759 blue-alt-other))))
5760;;;;; selectrum
5761;; NOTE 2021-02-22: The `selectrum-primary-highlight' and
5762;; `selectrum-secondary-highlight' are deprecated upstream in favour of
5763;; their selectrum-prescient counterparts. We shall remove those faces
5764;; from the themes once we are certain that they are no longer relevant.
5765 `(selectrum-current-candidate
5766 ((,class :inherit bold :foreground ,fg-main
5767 :background ,@(pcase modus-themes-completions
5768 ('opinionated (list bg-active))
5769 (_ (list bg-inactive))))))
5770 `(selectrum-primary-highlight
5771 ((,class :inherit bold
5772 ,@(modus-themes--standard-completions
5773 magenta-alt magenta-nuanced-bg
5774 magenta-refine-bg magenta-refine-fg))))
5775 `(selectrum-secondary-highlight
5776 ((,class :inherit bold
5777 ,@(modus-themes--standard-completions
5778 cyan-alt-other cyan-nuanced-bg
5779 cyan-refine-bg cyan-refine-fg))))
5780;;;;; selectrum-prescient
5781 `(selectrum-prescient-primary-highlight
5782 ((,class :inherit bold
5783 ,@(modus-themes--standard-completions
5784 magenta-alt magenta-nuanced-bg
5785 magenta-refine-bg magenta-refine-fg))))
5786 `(selectrum-prescient-secondary-highlight
5787 ((,class :inherit bold
5788 ,@(modus-themes--standard-completions
5789 cyan-alt-other cyan-nuanced-bg
5790 cyan-refine-bg cyan-refine-fg))))
5791;;;;; semantic
5792 `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t)))
5793 `(semantic-decoration-on-fileless-includes ((,class :inherit modus-theme-refine-green)))
5794 `(semantic-decoration-on-private-members-face ((,class :inherit modus-theme-refine-cyan)))
5795 `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim)))
5796 `(semantic-decoration-on-unknown-includes ((,class :inherit modus-theme-refine-red)))
5797 `(semantic-decoration-on-unparsed-includes ((,class :inherit modus-theme-refine-yellow)))
5798 `(semantic-highlight-edits-face ((,class :background ,bg-alt)))
5799 `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt)))
5800 `(semantic-idle-symbol-highlight ((,class :inherit modus-theme-special-mild)))
5801 `(semantic-tag-boundary-face ((,class :overline ,blue-intense)))
5802 `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error)))
5803;;;;; sesman
5804 `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t)))
5805 `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue)))
5806 `(sesman-buffer-face ((,class :foreground ,magenta)))
5807 `(sesman-directory-face ((,class :inherit bold :foreground ,blue)))
5808 `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other)))
5809;;;;; shell-script-mode
5810 `(sh-heredoc ((,class :foreground ,blue-alt)))
5811 `(sh-quoted-exec ((,class :inherit modus-theme-bold :foreground ,magenta-alt)))
5812;;;;; shortdoc
5813 `(shortdoc-heading ((,class :inherit modus-theme-pseudo-header)))
5814 `(shortdoc-section ((,class))) ; remove the default's variable-pitch style
5815;;;;; show-paren-mode
5816 `(show-paren-match ((,class ,@(modus-themes--paren bg-paren-match
5817 bg-paren-match-intense)
5818 :foreground ,fg-main)))
5819 `(show-paren-match-expression ((,class :inherit modus-theme-special-calm)))
5820 `(show-paren-mismatch ((,class :inherit modus-theme-intense-red)))
5821;;;;; shr
5822 `(shr-abbreviation
5823 ((,(append '((supports :underline (:style wave))) class)
5824 :foreground ,fg-docstring :underline (:color ,fg-alt :style wave))
5825 (,class :foreground ,fg-docstring :underline t)))
5826 `(shr-selected-link ((,class :inherit modus-theme-subtle-cyan)))
5827;;;;; side-notes
5828 `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim)))
5829;;;;; sieve-mode
5830 `(sieve-action-commands ((,class :inherit font-lock-builtin-face)))
5831 `(sieve-control-commands ((,class :inherit font-lock-keyword-face)))
5832 `(sieve-tagged-arguments ((,class :inherit font-lock-type-face)))
5833 `(sieve-test-commands ((,class :inherit font-lock-function-name-face)))
5834;;;;; skewer-mode
5835 `(skewer-error-face ((,class :foreground ,red :underline t)))
5836;;;;; smart-mode-line
5837 `(sml/charging ((,class :foreground ,green-active)))
5838 `(sml/discharging ((,class :foreground ,red-active)))
5839 `(sml/filename ((,class :inherit bold :foreground ,blue-active)))
5840 `(sml/folder ((,class :foreground ,fg-active)))
5841 `(sml/git ((,class :inherit bold :foreground ,green-active)))
5842 `(sml/global ((,class :foreground ,fg-active)))
5843 `(sml/line-number ((,class :inherit sml/global)))
5844 `(sml/minor-modes ((,class :inherit sml/global)))
5845 `(sml/modes ((,class :inherit bold :foreground ,fg-active)))
5846 `(sml/modified ((,class :inherit bold :foreground ,magenta-active)))
5847 `(sml/mule-info ((,class :inherit sml/global)))
5848 `(sml/name-filling ((,class :foreground ,yellow-active)))
5849 `(sml/not-modified ((,class :inherit sml/global)))
5850 `(sml/numbers-separator ((,class :inherit sml/global)))
5851 `(sml/outside-modified ((,class :inherit modus-theme-intense-red)))
5852 `(sml/position-percentage ((,class :inherit sml/global)))
5853 `(sml/prefix ((,class :foreground ,green-active)))
5854 `(sml/process ((,class :inherit sml/prefix)))
5855 `(sml/projectile ((,class :inherit sml/git)))
5856 `(sml/read-only ((,class :inherit bold :foreground ,cyan-active)))
5857 `(sml/remote ((,class :inherit sml/global)))
5858 `(sml/sudo ((,class :inherit modus-theme-subtle-red)))
5859 `(sml/time ((,class :inherit sml/global)))
5860 `(sml/vc ((,class :inherit sml/git)))
5861 `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active)))
5862;;;;; smartparens
5863 `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm)))
5864 `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild)))
5865 `(sp-show-pair-match-face ((,class ,@(modus-themes--paren bg-paren-match
5866 bg-paren-match-intense)
5867 :foreground ,fg-main)))
5868 `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red)))
5869 `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face)))
5870 `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face)))
5871 `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face)))
5872 `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face)))
5873;;;;; smerge
5874 `(smerge-base ((,class :inherit modus-theme-diff-changed)))
5875 `(smerge-lower ((,class :inherit modus-theme-diff-added)))
5876 `(smerge-markers ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2)))
5877 `(smerge-refined-added ((,class :inherit modus-theme-diff-refine-added)))
5878 `(smerge-refined-changed ((,class)))
5879 `(smerge-refined-removed ((,class :inherit modus-theme-diff-refine-removed)))
5880 `(smerge-upper ((,class :inherit modus-theme-diff-removed)))
5881;;;;; solaire
5882 `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim)))
5883 `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused)))
5884 `(solaire-hl-line-face ((,class :background ,bg-active)))
5885 `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt)))
5886;;;;; spaceline
5887 `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta)))
5888 `(spaceline-evil-insert ((,class :inherit modus-theme-active-green)))
5889 `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue)))
5890 `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt)))
5891 `(spaceline-evil-replace ((,class :inherit modus-theme-active-red)))
5892 `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan)))
5893 `(spaceline-flycheck-error ((,class :foreground ,red-active)))
5894 `(spaceline-flycheck-info ((,class :foreground ,cyan-active)))
5895 `(spaceline-flycheck-warning ((,class :foreground ,yellow-active)))
5896 `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue)))
5897 `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta)))
5898 `(spaceline-python-venv ((,class :foreground ,magenta-active)))
5899 `(spaceline-read-only ((,class :inherit modus-theme-fringe-red)))
5900 `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan)))
5901;;;;; speedbar
5902 `(speedbar-button-face ((,class :inherit button)))
5903 `(speedbar-directory-face ((,class :inherit bold :foreground ,blue)))
5904 `(speedbar-file-face ((,class :foreground ,fg-main)))
5905 `(speedbar-highlight-face ((,class :inherit modus-theme-subtle-blue)))
5906 `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan)))
5907 `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral)))
5908 `(speedbar-tag-face ((,class :foreground ,yellow-alt-other)))
5909;;;;; spell-fu
5910 `(spell-fu-incorrect-face ((,class :inherit modus-theme-lang-error)))
5911;;;;; spray
5912 `(spray-accent-face ((,class :foreground ,red-intense)))
5913 `(spray-base-face ((,class :inherit default :foreground ,fg-special-cold)))
5914;;;;; stripes
5915 `(stripes ((,class :inherit modus-theme-hl-line)))
5916;;;;; success
5917 `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other)))
5918;;;;; switch-window
5919 `(switch-window-background ((,class :background ,bg-dim)))
5920 `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense)))
5921;;;;; swiper
5922 `(swiper-background-match-face-1 ((,class :inherit modus-theme-subtle-neutral)))
5923 `(swiper-background-match-face-2 ((,class :inherit modus-theme-refine-cyan)))
5924 `(swiper-background-match-face-3 ((,class :inherit modus-theme-refine-magenta)))
5925 `(swiper-background-match-face-4 ((,class :inherit modus-theme-refine-yellow)))
5926 `(swiper-line-face ((,class :inherit modus-theme-special-cold)))
5927 `(swiper-match-face-1 ((,class :inherit (bold modus-theme-intense-neutral))))
5928 `(swiper-match-face-2 ((,class :inherit (bold modus-theme-intense-green))))
5929 `(swiper-match-face-3 ((,class :inherit (bold modus-theme-intense-blue))))
5930 `(swiper-match-face-4 ((,class :inherit (bold modus-theme-intense-red))))
5931;;;;; swoop
5932 `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt
5933 ,@(modus-themes--scale modus-themes-scale-3))))
5934 `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt
5935 ,@(modus-themes--scale modus-themes-scale-4))))
5936 `(swoop-face-line-number ((,class :foreground ,fg-special-warm)))
5937 `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue :extend t)))
5938 `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan)))
5939;;;;; sx
5940 `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other)))
5941 `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold))))
5942 `(sx-question-list-answers ((,class :foreground ,green)))
5943 `(sx-question-list-answers-accepted ((,class :box t :foreground ,green)))
5944 `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt :foreground ,yellow)))
5945 `(sx-question-list-date ((,class :foreground ,fg-special-cold)))
5946 `(sx-question-list-favorite ((,class :inherit bold :foreground ,fg-special-warm)))
5947 `(sx-question-list-parent ((,class :foreground ,fg-main)))
5948 `(sx-question-list-read-question ((,class :inherit shadow)))
5949 `(sx-question-list-score ((,class :foreground ,fg-special-mild)))
5950 `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold))))
5951 `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main)))
5952 `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green)))
5953 `(sx-question-mode-closed ((,class :inherit modus-theme-active-yellow :box (:line-width 2 :color nil))))
5954 `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main)))
5955 `(sx-question-mode-content-face ((,class :background ,bg-dim)))
5956 `(sx-question-mode-date ((,class :foreground ,blue)))
5957 `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan)))
5958 `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main)))
5959 `(sx-question-mode-score ((,class :foreground ,fg-dim)))
5960 `(sx-question-mode-score-downvoted ((,class :foreground ,yellow)))
5961 `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground ,magenta)))
5962 `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main)))
5963 `(sx-question-mode-title-comments ((,class :inherit bold :foreground ,fg-alt)))
5964 `(sx-tag ((,class :foreground ,magenta-alt)))
5965 `(sx-user-name ((,class :foreground ,blue-alt)))
5966 `(sx-user-reputation ((,class :inherit shadow)))
5967;;;;; symbol-overlay
5968 `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm)))
5969 `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue)))
5970 `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta)))
5971 `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow)))
5972 `(symbol-overlay-face-4 ((,class :inherit modus-theme-intense-magenta)))
5973 `(symbol-overlay-face-5 ((,class :inherit modus-theme-intense-red)))
5974 `(symbol-overlay-face-6 ((,class :inherit modus-theme-refine-red)))
5975 `(symbol-overlay-face-7 ((,class :inherit modus-theme-intense-cyan)))
5976 `(symbol-overlay-face-8 ((,class :inherit modus-theme-refine-cyan)))
5977;;;;; syslog-mode
5978 `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other)))
5979 `(syslog-error ((,class :inherit bold :foreground ,red)))
5980 `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold)))
5981 `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main)))
5982 `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other)))
5983 `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other)))
5984 `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t)))
5985 `(syslog-su ((,class :inherit bold :foreground ,red-alt)))
5986 `(syslog-warn ((,class :inherit bold :foreground ,yellow)))
5987;;;;; tab-bar-mode
5988 `(tab-bar ((,class ,@(modus-themes--variable-pitch-ui)
5989 :background ,bg-tab-bar :foreground ,fg-main)))
5990 `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active)
5991 :background ,bg-tab-active :foreground ,fg-main)))
5992 `(tab-bar-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive)
5993 :background ,bg-tab-inactive :foreground ,fg-dim)))
5994;;;;; tab-line-mode
5995 `(tab-line ((,class ,@(modus-themes--variable-pitch-ui)
5996 :height 0.95 :background ,bg-tab-bar :foreground ,fg-main)))
5997 `(tab-line-close-highlight ((,class :foreground ,red)))
5998 `(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground ,fg-dim)))
5999 `(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active)
6000 :background ,bg-tab-active :foreground ,fg-main)))
6001 `(tab-line-tab-current ((,class :inherit tab-line-tab)))
6002 `(tab-line-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive)
6003 :background ,bg-tab-inactive :foreground ,fg-dim)))
6004 `(tab-line-tab-inactive-alternate ((,class :box (:line-width 2 :color ,bg-tab-inactive-alt)
6005 :background ,bg-tab-inactive-alt :foreground ,fg-main)))
6006;;;;; table (built-in table.el)
6007 `(table-cell ((,class :background ,blue-nuanced-bg)))
6008;;;;; telephone-line
6009 `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive)))
6010 `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active)))
6011 `(telephone-line-error ((,class :inherit bold :foreground ,red-active)))
6012 `(telephone-line-evil ((,class :foreground ,fg-main)))
6013 `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil :background ,magenta-intense-bg)))
6014 `(telephone-line-evil-insert ((,class :inherit telephone-line-evil :background ,green-intense-bg)))
6015 `(telephone-line-evil-motion ((,class :inherit telephone-line-evil :background ,yellow-intense-bg)))
6016 `(telephone-line-evil-normal ((,class :inherit telephone-line-evil :background ,bg-alt)))
6017 `(telephone-line-evil-operator ((,class :inherit telephone-line-evil :background ,yellow-subtle-bg)))
6018 `(telephone-line-evil-replace ((,class :inherit telephone-line-evil :background ,red-intense-bg)))
6019 `(telephone-line-evil-visual ((,class :inherit telephone-line-evil :background ,cyan-intense-bg)))
6020 `(telephone-line-projectile ((,class :foreground ,cyan-active)))
6021 `(telephone-line-unimportant ((,class :foreground ,fg-inactive)))
6022 `(telephone-line-warning ((,class :inherit bold :foreground ,yellow-active)))
6023;;;;; terraform-mode
6024 `(terraform--resource-name-face ((,class ,@(modus-themes--syntax-string
6025 magenta-alt-other magenta-alt-other-faint
6026 red-alt red-alt))))
6027 `(terraform--resource-type-face ((,class ,@(modus-themes--syntax-string
6028 green green-faint
6029 blue-alt magenta-alt))))
6030;;;;; term
6031 `(term ((,class :background ,bg-main :foreground ,fg-main)))
6032 `(term-bold ((,class :inherit bold)))
6033 `(term-color-black ((,class :background "gray35" :foreground "gray35")))
6034 `(term-color-blue ((,class :background ,blue :foreground ,blue)))
6035 `(term-color-cyan ((,class :background ,cyan :foreground ,cyan)))
6036 `(term-color-green ((,class :background ,green :foreground ,green)))
6037 `(term-color-magenta ((,class :background ,magenta :foreground ,magenta)))
6038 `(term-color-red ((,class :background ,red :foreground ,red)))
6039 `(term-color-white ((,class :background "gray65" :foreground "gray65")))
6040 `(term-color-yellow ((,class :background ,yellow :foreground ,yellow)))
6041 `(term-underline ((,class :underline t)))
6042;;;;; tomatinho
6043 `(tomatinho-ok-face ((,class :foreground ,blue-intense)))
6044 `(tomatinho-pause-face ((,class :foreground ,yellow-intense)))
6045 `(tomatinho-reset-face ((,class :inherit shadow)))
6046;;;;; transient
6047 `(transient-active-infix ((,class :inherit modus-theme-special-mild)))
6048 `(transient-amaranth ((,class :inherit bold :foreground ,yellow)))
6049 `(transient-argument ((,class :inherit bold :foreground ,red-alt)))
6050 `(transient-blue ((,class :inherit bold :foreground ,blue)))
6051 `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red)))
6052 `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green)))
6053 `(transient-heading ((,class :inherit bold :foreground ,fg-main)))
6054 `(transient-inactive-argument ((,class :inherit shadow)))
6055 `(transient-inactive-value ((,class :inherit shadow)))
6056 `(transient-key ((,class :inherit bold :foreground ,blue)))
6057 `(transient-mismatched-key ((,class :underline t)))
6058 `(transient-nonstandard-key ((,class :underline t)))
6059 `(transient-pink ((,class :inherit bold :foreground ,magenta)))
6060 `(transient-red ((,class :inherit bold :foreground ,red-intense)))
6061 `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other)))
6062 `(transient-unreachable ((,class :foreground ,fg-unfocused)))
6063 `(transient-unreachable-key ((,class :foreground ,fg-unfocused)))
6064 `(transient-value ((,class :inherit bold :foreground ,magenta-alt-other)))
6065;;;;; trashed
6066 `(trashed-deleted ((,class :inherit modus-theme-mark-del)))
6067 `(trashed-directory ((,class :foreground ,blue)))
6068 `(trashed-mark ((,class :inherit modus-theme-mark-symbol)))
6069 `(trashed-marked ((,class :inherit modus-theme-mark-alt)))
6070 `(trashed-restored ((,class :inherit modus-theme-mark-sel)))
6071 `(trashed-symlink ((,class :inherit button
6072 ,@(modus-themes--link-color
6073 cyan-alt cyan-alt-faint))))
6074;;;;; treemacs
6075 `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt)))
6076 `(treemacs-directory-face ((,class :inherit dired-directory)))
6077 `(treemacs-file-face ((,class :foreground ,fg-main)))
6078 `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main)))
6079 `(treemacs-git-added-face ((,class :foreground ,green-intense)))
6080 `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red bold))))
6081 `(treemacs-git-ignored-face ((,class :inherit shadow)))
6082 `(treemacs-git-modified-face ((,class :foreground ,yellow-alt-other)))
6083 `(treemacs-git-renamed-face ((,class :foreground ,cyan-alt-other)))
6084 `(treemacs-git-unmodified-face ((,class :foreground ,fg-main)))
6085 `(treemacs-git-untracked-face ((,class :foreground ,red-alt-other)))
6086 `(treemacs-help-column-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other :underline t)))
6087 `(treemacs-help-title-face ((,class :foreground ,blue-alt-other)))
6088 `(treemacs-on-failure-pulse-face ((,class :inherit modus-theme-intense-red)))
6089 `(treemacs-on-success-pulse-face ((,class :inherit modus-theme-intense-green)))
6090 `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t)))
6091 `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow)))
6092 `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta)))
6093 `(treemacs-root-remote-unreadable-face ((,class :inherit treemacs-root-unreadable-face)))
6094 `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face :strike-through t)))
6095 `(treemacs-tags-face ((,class :foreground ,blue-alt)))
6096 `(treemacs-tags-face ((,class :foreground ,magenta-alt)))
6097;;;;; tty-menu
6098 `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt)))
6099 `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main)))
6100 `(tty-menu-selected-face ((,class :inherit modus-theme-intense-blue)))
6101;;;;; tuareg
6102 `(caml-types-def-face ((,class :inherit modus-theme-subtle-red)))
6103 `(caml-types-expr-face ((,class :inherit modus-theme-subtle-green)))
6104 `(caml-types-occ-face ((,class :inherit modus-theme-subtle-green)))
6105 `(caml-types-scope-face ((,class :inherit modus-theme-subtle-blue)))
6106 `(caml-types-typed-face ((,class :inherit modus-theme-subtle-magenta)))
6107 `(tuareg-font-double-semicolon-face ((,class :inherit font-lock-preprocessor-face)))
6108 `(tuareg-font-lock-attribute-face ((,class :inherit font-lock-function-name-face)))
6109 `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main)))
6110 `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red bold))))
6111 `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta)))
6112 `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main)))
6113 `(tuareg-font-lock-infix-extension-node-face ((,class :inherit font-lock-function-name-face)))
6114 `(tuareg-font-lock-interactive-directive-face ((,class :foreground ,fg-special-cold)))
6115 `(tuareg-font-lock-interactive-error-face ((,class :inherit error)))
6116 `(tuareg-font-lock-interactive-output-face ((,class :inherit font-lock-constant-face)))
6117 `(tuareg-font-lock-label-face ((,class :inherit font-lock-type-face)))
6118 `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm)))
6119 `(tuareg-font-lock-module-face ((,class :inherit font-lock-builtin-face)))
6120 `(tuareg-font-lock-multistage-face ((,class :inherit bold :background ,bg-alt :foreground ,blue)))
6121 `(tuareg-font-lock-operator-face ((,class :inherit font-lock-preprocessor-face)))
6122 `(tuareg-opam-error-face ((,class :inherit error)))
6123 `(tuareg-opam-pkg-variable-name-face ((,class :inherit font-lock-variable-name-face)))
6124;;;;; typescript
6125 `(typescript-jsdoc-tag ((,class :inherit modus-theme-slant :foreground ,fg-special-mild)))
6126 `(typescript-jsdoc-type ((,class :inherit modus-theme-slant :foreground ,fg-special-calm)))
6127 `(typescript-jsdoc-value ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
6128;;;;; undo-tree
6129 `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main)))
6130 `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense)))
6131 `(undo-tree-visualizer-default-face ((,class :inherit shadow)))
6132 `(undo-tree-visualizer-register-face ((,class :foreground ,magenta-intense)))
6133 `(undo-tree-visualizer-unmodified-face ((,class :foreground ,green-intense)))
6134;;;;; vc (vc-dir.el, vc-hooks.el)
6135 `(vc-dir-directory ((,class :foreground ,blue)))
6136 `(vc-dir-file ((,class :foreground ,fg-main)))
6137 `(vc-dir-header ((,class :foreground ,cyan-alt-other)))
6138 `(vc-dir-header-value ((,class :foreground ,magenta-alt-other)))
6139 `(vc-dir-mark-indicator ((,class :foreground ,blue-alt-other)))
6140 `(vc-dir-status-edited ((,class :foreground ,yellow)))
6141 `(vc-dir-status-ignored ((,class :foreground ,fg-unfocused)))
6142 `(vc-dir-status-up-to-date ((,class :foreground ,cyan)))
6143 `(vc-dir-status-warning ((,class :foreground ,red)))
6144 `(vc-conflict-state ((,class :inherit modus-theme-slant :foreground ,red-active)))
6145 `(vc-edited-state ((,class :foreground ,yellow-active)))
6146 `(vc-locally-added-state ((,class :foreground ,cyan-active)))
6147 `(vc-locked-state ((,class :foreground ,blue-active)))
6148 `(vc-missing-state ((,class :inherit modus-theme-slant :foreground ,magenta-active)))
6149 `(vc-needs-update-state ((,class :inherit modus-theme-slant :foreground ,green-active)))
6150 `(vc-removed-state ((,class :foreground ,red-active)))
6151 `(vc-state-base ((,class :foreground ,fg-active)))
6152 `(vc-up-to-date-state ((,class :foreground ,fg-special-cold)))
6153;;;;; vdiff
6154 `(vdiff-addition-face ((,class :inherit modus-theme-diff-added)))
6155 `(vdiff-change-face ((,class :inherit modus-theme-diff-changed)))
6156 `(vdiff-closed-fold-face ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1)))
6157 `(vdiff-refine-added ((,class :inherit modus-theme-diff-refine-added)))
6158 `(vdiff-refine-changed ((,class :inherit modus-theme-diff-refine-changed)))
6159 `(vdiff-subtraction-face ((,class :inherit modus-theme-diff-removed)))
6160 `(vdiff-target-face ((,class :inherit modus-theme-intense-blue)))
6161;;;;; vimish-fold
6162 `(vimish-fold-fringe ((,class :foreground ,cyan-active)))
6163 `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue)))
6164 `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold)))
6165;;;;; visible-mark
6166 `(visible-mark-active ((,class :background ,blue-intense-bg)))
6167 `(visible-mark-face1 ((,class :background ,cyan-intense-bg)))
6168 `(visible-mark-face2 ((,class :background ,yellow-intense-bg)))
6169 `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg)))
6170 `(visible-mark-forward-face2 ((,class :background ,green-intense-bg)))
6171;;;;; visual-regexp
6172 `(vr/group-0 ((,class :inherit modus-theme-intense-blue)))
6173 `(vr/group-1 ((,class :inherit modus-theme-intense-magenta)))
6174 `(vr/group-2 ((,class :inherit modus-theme-intense-green)))
6175 `(vr/match-0 ((,class :inherit modus-theme-refine-yellow)))
6176 `(vr/match-1 ((,class :inherit modus-theme-refine-yellow)))
6177 `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral bold))))
6178;;;;; volatile-highlights
6179 `(vhl/default-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg :extend t)))
6180;;;;; vterm
6181 `(vterm-color-black ((,class :background "gray35" :foreground "gray35")))
6182 `(vterm-color-blue ((,class :background ,blue :foreground ,blue)))
6183 `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan)))
6184 `(vterm-color-default ((,class :background ,bg-main :foreground ,fg-main)))
6185 `(vterm-color-green ((,class :background ,green :foreground ,green)))
6186 `(vterm-color-inverse-video ((,class :background ,bg-main :inverse-video t)))
6187 `(vterm-color-magenta ((,class :background ,magenta :foreground ,magenta)))
6188 `(vterm-color-red ((,class :background ,red :foreground ,red)))
6189 `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t)))
6190 `(vterm-color-white ((,class :background "gray65" :foreground "gray65")))
6191 `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow)))
6192;;;;; wcheck-mode
6193 `(wcheck-default-face ((,class :foreground ,red :underline t)))
6194;;;;; web-mode
6195 `(web-mode-annotation-face ((,class :inherit web-mode-comment-face)))
6196 `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face)))
6197 `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face :underline t)))
6198 `(web-mode-block-attr-name-face ((,class :inherit font-lock-constant-face)))
6199 `(web-mode-block-attr-value-face ((,class :inherit font-lock-type-face)))
6200 `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face)))
6201 `(web-mode-block-control-face ((,class :inherit font-lock-builtin-face)))
6202 `(web-mode-block-delimiter-face ((,class :foreground ,fg-main)))
6203 `(web-mode-block-face ((,class :background ,bg-dim)))
6204 `(web-mode-block-string-face ((,class :inherit web-mode-string-face)))
6205 `(web-mode-bold-face ((,class :inherit bold)))
6206 `(web-mode-builtin-face ((,class :inherit font-lock-builtin-face)))
6207 `(web-mode-comment-face ((,class :inherit font-lock-comment-face)))
6208 `(web-mode-comment-keyword-face ((,class :inherit font-lock-warning-face)))
6209 `(web-mode-constant-face ((,class :inherit font-lock-constant-face)))
6210 `(web-mode-css-at-rule-face ((,class :inherit font-lock-constant-face)))
6211 `(web-mode-css-color-face ((,class :inherit font-lock-builtin-face)))
6212 `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face)))
6213 `(web-mode-css-function-face ((,class :inherit font-lock-builtin-face)))
6214 `(web-mode-css-priority-face ((,class :inherit font-lock-warning-face)))
6215 `(web-mode-css-property-name-face ((,class :inherit font-lock-keyword-face)))
6216 `(web-mode-css-pseudo-class-face ((,class :inherit font-lock-doc-face)))
6217 `(web-mode-css-selector-face ((,class :inherit font-lock-keyword-face)))
6218 `(web-mode-css-string-face ((,class :inherit web-mode-string-face)))
6219 `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm)))
6220 `(web-mode-current-column-highlight-face ((,class :background ,bg-alt)))
6221 `(web-mode-current-element-highlight-face ((,class :inherit modus-theme-special-mild)))
6222 `(web-mode-doctype-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold)))
6223 `(web-mode-error-face ((,class :inherit modus-theme-intense-red)))
6224 `(web-mode-filter-face ((,class :inherit font-lock-function-name-face)))
6225 `(web-mode-folded-face ((,class :underline t)))
6226 `(web-mode-function-call-face ((,class :inherit font-lock-function-name-face)))
6227 `(web-mode-function-name-face ((,class :inherit font-lock-function-name-face)))
6228 `(web-mode-html-attr-custom-face ((,class :inherit font-lock-variable-name-face)))
6229 `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main)))
6230 `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main)))
6231 `(web-mode-html-attr-name-face ((,class :inherit font-lock-variable-name-face)))
6232 `(web-mode-html-attr-value-face ((,class :inherit font-lock-constant-face)))
6233 `(web-mode-html-entity-face ((,class :inherit font-lock-negation-char-face)))
6234 `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim)))
6235 `(web-mode-html-tag-custom-face ((,class :inherit font-lock-function-name-face)))
6236 `(web-mode-html-tag-face ((,class :inherit font-lock-function-name-face)))
6237 `(web-mode-html-tag-namespaced-face ((,class :inherit font-lock-builtin-face)))
6238 `(web-mode-html-tag-unclosed-face ((,class :inherit error :underline t)))
6239 `(web-mode-inlay-face ((,class :background ,bg-alt)))
6240 `(web-mode-italic-face ((,class :inherit italic)))
6241 `(web-mode-javascript-comment-face ((,class :inherit web-mode-comment-face)))
6242 `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face)))
6243 `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face)))
6244 `(web-mode-json-context-face ((,class :inherit font-lock-builtin-face)))
6245 `(web-mode-json-key-face ((,class :foreground ,blue-nuanced-fg)))
6246 `(web-mode-json-string-face ((,class :inherit web-mode-string-face)))
6247 `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg :foreground ,fg-main)))
6248 `(web-mode-jsx-depth-2-face ((,class :background ,blue-subtle-bg :foreground ,fg-main)))
6249 `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold)))
6250 `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg)))
6251 `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg)))
6252 `(web-mode-keyword-face ((,class :inherit :inherit font-lock-keyword-face)))
6253 `(web-mode-param-name-face ((,class :inherit font-lock-function-name-face)))
6254 `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face)))
6255 `(web-mode-part-face ((,class :inherit web-mode-block-face)))
6256 `(web-mode-part-string-face ((,class :inherit web-mode-string-face)))
6257 `(web-mode-preprocessor-face ((,class :inherit font-lock-preprocessor-face)))
6258 `(web-mode-script-face ((,class :inherit web-mode-part-face)))
6259 `(web-mode-sql-keyword-face ((,class :inherit font-lock-negation-char-face)))
6260 `(web-mode-string-face ((,class :inherit font-lock-string-face)))
6261 `(web-mode-style-face ((,class :inherit web-mode-part-face)))
6262 `(web-mode-symbol-face ((,class :inherit font-lock-constant-face)))
6263 `(web-mode-type-face ((,class :inherit font-lock-builtin-face)))
6264 `(web-mode-underline-face ((,class :underline t)))
6265 `(web-mode-variable-name-face ((,class :inherit font-lock-variable-name-face)))
6266 `(web-mode-warning-face ((,class :inherit font-lock-warning-face)))
6267 `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
6268;;;;; wgrep
6269 `(wgrep-delete-face ((,class :inherit modus-theme-refine-yellow)))
6270 `(wgrep-done-face ((,class :inherit modus-theme-refine-blue)))
6271 `(wgrep-face ((,class :inherit modus-theme-refine-green)))
6272 `(wgrep-file-face ((,class :foreground ,fg-special-warm)))
6273 `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold))))
6274;;;;; which-function-mode
6275 `(which-func ((,class :foreground ,magenta-active)))
6276;;;;; which-key
6277 `(which-key-command-description-face ((,class :foreground ,fg-main)))
6278 `(which-key-group-description-face ((,class :foreground ,magenta-alt)))
6279 `(which-key-highlighted-command-face ((,class :foreground ,yellow :underline t)))
6280 `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense)))
6281 `(which-key-local-map-description-face ((,class :foreground ,fg-main)))
6282 `(which-key-note-face ((,class :foreground ,fg-special-warm)))
6283 `(which-key-separator-face ((,class :inherit shadow)))
6284 `(which-key-special-key-face ((,class :inherit bold :foreground ,orange-intense)))
6285;;;;; whitespace-mode
6286 `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red)))
6287 `(whitespace-empty ((,class :inherit modus-theme-intense-magenta)))
6288 `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
6289 `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
6290 `(whitespace-line ((,class :background ,bg-alt)))
6291 `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
6292 `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
6293 `(whitespace-space-after-tab ((,class :inherit modus-theme-subtle-magenta)))
6294 `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan)))
6295 `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace)))
6296 `(whitespace-trailing ((,class :inherit modus-theme-intense-red)))
6297;;;;; window-divider-mode
6298 `(window-divider ((,class :foreground ,fg-window-divider-inner)))
6299 `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer)))
6300 `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer)))
6301;;;;; winum
6302 `(winum-face ((,class :inherit modus-theme-bold :foreground ,cyan-active)))
6303;;;;; writegood-mode
6304 `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t)))
6305 `(writegood-passive-voice-face ((,class :inherit modus-theme-lang-warning)))
6306 `(writegood-weasels-face ((,class :inherit modus-theme-lang-error)))
6307;;;;; woman
6308 `(woman-addition ((,class :foreground ,magenta-alt-other)))
6309 `(woman-bold ((,class :inherit bold :foreground ,magenta)))
6310 `(woman-italic ((,class :inherit italic :foreground ,cyan)))
6311 `(woman-unknown ((,class :inherit italic :foreground ,yellow)))
6312;;;;; xah-elisp-mode
6313 `(xah-elisp-at-symbol ((,class :inherit font-lock-warning-face)))
6314 `(xah-elisp-cap-variable ((,class :inherit font-lock-preprocessor-face)))
6315 `(xah-elisp-command-face ((,class :inherit font-lock-type-face)))
6316 `(xah-elisp-dollar-symbol ((,class :inherit font-lock-variable-name-face)))
6317;;;;; xref
6318 `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold)))
6319 `(xref-line-number ((,class :inherit shadow)))
6320 `(xref-match ((,class :inherit match)))
6321;;;;; yaml-mode
6322 `(yaml-tab-face ((,class :inherit modus-theme-intense-red)))
6323;;;;; yasnippet
6324 `(yas-field-highlight-face ((,class :background ,bg-hl-alt-intense)))
6325;;;;; ztree
6326 `(ztreep-arrow-face ((,class :foreground ,fg-inactive)))
6327 `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold)))
6328 `(ztreep-diff-header-small-face ((,class :inherit bold :foreground ,fg-special-mild)))
6329 `(ztreep-diff-model-add-face ((,class :foreground ,green)))
6330 `(ztreep-diff-model-diff-face ((,class :foreground ,red)))
6331 `(ztreep-diff-model-ignored-face ((,class :inherit shadow :strike-through t)))
6332 `(ztreep-diff-model-normal-face ((,class :inherit shadow)))
6333 `(ztreep-expand-sign-face ((,class :foreground ,blue)))
6334 `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold)))
6335 `(ztreep-leaf-face ((,class :foreground ,cyan)))
6336 `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm)))
6337 `(ztreep-node-face ((,class :foreground ,fg-main))))
6338 "Face specs for use with `modus-themes-theme'.")
6339
6340(defconst modus-themes-custom-variables
6341 '(
6342;;;; ansi-colors
6343 `(ansi-color-faces-vector [default bold shadow italic underline success warning error])
6344 `(ansi-color-names-vector ["gray35" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"])
6345;;;; awesome-tray
6346 `(awesome-tray-mode-line-active-color ,blue)
6347 `(awesome-tray-mode-line-inactive-color ,bg-active)
6348;;;; exwm
6349 `(exwm-floating-border-color ,fg-window-divider-inner)
6350;;;; flymake fringe indicators
6351 `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red))
6352 `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow))
6353 `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan))
6354;;;; ibuffer
6355 `(ibuffer-deletion-face 'modus-theme-mark-del)
6356 `(ibuffer-filter-group-name-face 'modus-theme-mark-symbol)
6357 `(ibuffer-marked-face 'modus-theme-mark-sel)
6358 `(ibuffer-title-face 'modus-theme-pseudo-header)
6359;;;; highlight-tail
6360 `(highlight-tail-colors
6361 '((,green-subtle-bg . 0)
6362 (,cyan-subtle-bg . 20)))
6363;;;; hl-todo
6364 `(hl-todo-keyword-faces
6365 '(("HOLD" . ,yellow-alt)
6366 ("TODO" . ,magenta)
6367 ("NEXT" . ,magenta-alt-other)
6368 ("THEM" . ,magenta-alt)
6369 ("PROG" . ,cyan)
6370 ("OKAY" . ,cyan-alt)
6371 ("DONT" . ,green-alt)
6372 ("FAIL" . ,red)
6373 ("BUG" . ,red)
6374 ("DONE" . ,green)
6375 ("NOTE" . ,yellow-alt-other)
6376 ("KLUDGE" . ,yellow)
6377 ("HACK" . ,yellow)
6378 ("TEMP" . ,red-nuanced-fg)
6379 ("FIXME" . ,red-alt-other)
6380 ("XXX+" . ,red-alt)
6381 ("REVIEW" . ,cyan-alt-other)
6382 ("DEPRECATED" . ,blue-nuanced-fg)))
6383;;;; pdf-tools
6384 `(pdf-view-midnight-colors
6385 '(,fg-main . ,bg-dim))
6386;;;; vc-annotate (C-x v g)
6387 `(vc-annotate-background nil)
6388 `(vc-annotate-background-mode nil)
6389 `(vc-annotate-color-map
6390 '((20 . ,red)
6391 (40 . ,magenta)
6392 (60 . ,magenta-alt)
6393 (80 . ,red-alt)
6394 (100 . ,yellow)
6395 (120 . ,yellow-alt)
6396 (140 . ,fg-special-warm)
6397 (160 . ,fg-special-mild)
6398 (180 . ,green)
6399 (200 . ,green-alt)
6400 (220 . ,cyan-alt-other)
6401 (240 . ,cyan-alt)
6402 (260 . ,cyan)
6403 (280 . ,fg-special-cold)
6404 (300 . ,blue)
6405 (320 . ,blue-alt)
6406 (340 . ,blue-alt-other)
6407 (360 . ,magenta-alt-other)))
6408 `(vc-annotate-very-old-color nil)
6409;;;; xterm-color
6410 `(xterm-color-names ["black" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"])
6411 `(xterm-color-names-bright ["gray35" ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt "white"])
6412 (if (eq modus-themes-org-blocks 'rainbow)
6413 `(org-src-block-faces ; TODO this list should be expanded
6414 `(("emacs-lisp" modus-theme-nuanced-magenta)
6415 ("elisp" modus-theme-nuanced-magenta)
6416 ("clojure" modus-theme-nuanced-magenta)
6417 ("clojurescript" modus-theme-nuanced-magenta)
6418 ("c" modus-theme-nuanced-blue)
6419 ("c++" modus-theme-nuanced-blue)
6420 ("sh" modus-theme-nuanced-green)
6421 ("shell" modus-theme-nuanced-green)
6422 ("html" modus-theme-nuanced-yellow)
6423 ("xml" modus-theme-nuanced-yellow)
6424 ("css" modus-theme-nuanced-red)
6425 ("scss" modus-theme-nuanced-red)
6426 ("python" modus-theme-nuanced-green)
6427 ("ipython" modus-theme-nuanced-magenta)
6428 ("r" modus-theme-nuanced-cyan)
6429 ("yaml" modus-theme-nuanced-cyan)
6430 ("conf" modus-theme-nuanced-cyan)
6431 ("docker" modus-theme-nuanced-cyan)))
6432 `(org-src-block-faces '())))
6433 "Custom variables for `modus-themes-theme'.")
6434
6435(provide 'modus-themes)
6436;;; modus-themes.el ends here