modus-themes.el (214179B)
1 ;;; modus-themes.el --- Elegant, highly legible and customizable themes -*- lexical-binding:t -*- 2 3 ;; Copyright (C) 2019-2023 Free Software Foundation, Inc. 4 5 ;; Author: Protesilaos Stavrou <info@protesilaos.com> 6 ;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> 7 ;; URL: https://git.sr.ht/~protesilaos/modus-themes 8 ;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes 9 ;; Version: 4.3.0 10 ;; Package-Requires: ((emacs "27.1")) 11 ;; Keywords: faces, theme, accessibility 12 13 ;; This file is part of GNU Emacs. 14 15 ;; GNU Emacs is free software: you can redistribute it and/or modify 16 ;; it under the terms of the GNU General Public License as published by 17 ;; the Free Software Foundation, either version 3 of the License, or 18 ;; (at your option) any later version. 19 ;; 20 ;; GNU Emacs is distributed in the hope that it will be useful, 21 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 22 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 ;; GNU General Public License for more details. 24 ;; 25 ;; You should have received a copy of the GNU General Public License 26 ;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. 27 28 ;;; Commentary: 29 ;; 30 ;; The Modus themes conform with the highest standard for 31 ;; color-contrast accessibility between background and foreground 32 ;; values (WCAG AAA). Please refer to the official Info manual for 33 ;; further documentation (distributed with the themes, or available 34 ;; at: <https://protesilaos.com/emacs/modus-themes>). 35 36 ;;; Code: 37 38 39 40 (eval-when-compile 41 (require 'cl-lib) 42 (require 'subr-x)) 43 44 (defgroup modus-themes () 45 "User options for the Modus themes. 46 The Modus themes conform with the WCAG AAA standard for color 47 contrast between background and foreground combinations (a 48 minimum contrast of 7:1---the highest standard of its kind). 49 50 The Modus themes collection includes themes that are optimized 51 for people with red-green or blue-yellow color 52 deficiency (deuteranopia or tritanopia, respectively)." 53 :group 'faces 54 :link '(info-link "(modus-themes) Top") 55 :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/modus-themes") 56 :link '(url-link :tag "Sample pictures" "https://protesilaos.com/emacs/modus-themes-pictures") 57 :prefix "modus-themes-" 58 :tag "Modus Themes") 59 60 (defgroup modus-themes-faces () 61 "Faces defined by the Modus themes." 62 :group 'modus-themes 63 :link '(info-link "(modus-themes) Top") 64 :link '(url-link :tag "Homepage" "https://protesilaos.com/emacs/modus-themes") 65 :link '(url-link :tag "Sample pictures" "https://protesilaos.com/emacs/modus-themes-pictures") 66 :prefix "modus-themes-" 67 :tag "Modus Themes Faces") 68 69 (make-obsolete-variable 'modus-themes-operandi-colors nil "4.0.0") 70 (make-obsolete-variable 'modus-themes-vivendi-colors nil "4.0.0") 71 (make-obsolete-variable 'modus-themes-version nil "4.0.0") 72 (make-obsolete 'modus-themes-report-bug nil "4.0.0") 73 74 75 76 ;;;; Custom faces 77 78 ;; These faces are used internally to ensure consistency between various 79 ;; groups and to streamline the evaluation of relevant customization 80 ;; options. 81 82 (dolist (color '( red green blue yellow magenta cyan 83 red-warmer green-warmer blue-warmer yellow-warmer magenta-warmer cyan-warmer 84 red-cooler green-cooler blue-cooler yellow-cooler magenta-cooler cyan-cooler 85 red-faint green-faint blue-faint yellow-faint magenta-faint cyan-faint 86 red-intense green-intense blue-intense yellow-intense magenta-intense cyan-intense)) 87 (custom-declare-face 88 (intern (format "modus-themes-fg-%s" color)) 89 nil (format "Face with %s foreground." color) 90 :package-version '(modus-themes . "4.0.0") 91 :version "30.1" 92 :group 'modus-themes-faces)) 93 94 (dolist (color '(red green yellow blue magenta cyan)) 95 (custom-declare-face 96 (intern (format "modus-themes-nuanced-%s" color)) 97 nil (format "Nuanced %s background." color) 98 :package-version '(modus-themes . "4.1.0") 99 :version "30.1" 100 :group 'modus-themes-faces)) 101 102 (dolist (color '(red green yellow blue magenta cyan)) 103 (custom-declare-face 104 (intern (format "modus-themes-subtle-%s" color)) 105 nil (format "Subtle %s background." color) 106 :package-version '(modus-themes . "4.0.0") 107 :version "30.1" 108 :group 'modus-themes-faces)) 109 110 (dolist (color '(red green yellow blue magenta cyan)) 111 (custom-declare-face 112 (intern (format "modus-themes-intense-%s" color)) 113 nil (format "Intense %s background." color) 114 :package-version '(modus-themes . "4.0.0") 115 :version "30.1" 116 :group 'modus-themes-faces)) 117 118 (dolist (scope '(alt del sel)) 119 (custom-declare-face 120 (intern (format "modus-themes-mark-%s" scope)) 121 nil (format "Mark of type %s." scope) 122 :package-version '(modus-themes . "4.0.0") 123 :version "30.1" 124 :group 'modus-themes-faces)) 125 126 (dolist (scope '(note warning error)) 127 (custom-declare-face 128 (intern (format "modus-themes-lang-%s" scope)) 129 nil (format "Linter or spell check of type %s." scope) 130 :package-version '(modus-themes . "4.0.0") 131 :version "30.1" 132 :group 'modus-themes-faces)) 133 134 (dolist (scope '(note warning error)) 135 (custom-declare-face 136 (intern (format "modus-themes-prominent-%s" scope)) 137 nil (format "Prominent notification of type %s." scope) 138 :package-version '(modus-themes . "4.2.0") 139 :version "30.1" 140 :group 'modus-themes-faces)) 141 142 (dolist (scope '(current lazy)) 143 (custom-declare-face 144 (intern (format "modus-themes-search-%s" scope)) 145 nil (format "Search of type %s." scope) 146 :package-version '(modus-themes . "4.0.0") 147 :version "30.1" 148 :group 'modus-themes-faces)) 149 150 (define-obsolete-variable-alias 151 'modus-themes-search-success 152 'modus-themes-search-current 153 "4.0.0") 154 155 (define-obsolete-variable-alias 156 'modus-themes-search-success-lazy 157 'modus-themes-search-lazy 158 "4.0.0") 159 160 (dolist (scope '(code macro verbatim)) 161 (custom-declare-face 162 (intern (format "modus-themes-prose-%s" scope)) 163 nil (format "Construct of type %s for prose." scope) 164 :package-version '(modus-themes . "4.0.0") 165 :version "30.1" 166 :group 'modus-themes-faces)) 167 168 (define-obsolete-variable-alias 169 'modus-themes-markup-code 170 'modus-themes-prose-code 171 "4.0.0") 172 173 (define-obsolete-variable-alias 174 'modus-themes-markup-macro 175 'modus-themes-prose-macro 176 "4.0.0") 177 178 (define-obsolete-variable-alias 179 'modus-themes-markup-verbatim 180 'modus-themes-prose-verbatim 181 "4.0.0") 182 183 (dotimes (n 9) 184 (custom-declare-face 185 (intern (format "modus-themes-heading-%d" n)) 186 nil (format "Level %d heading." n) 187 :package-version '(modus-themes . "4.0.0") 188 :version "30.1" 189 :group 'modus-themes-faces)) 190 191 (defface modus-themes-bold nil 192 "Generic face for applying a conditional bold weight. 193 This behaves in accordance with `modus-themes-bold-constructs'." 194 :package-version '(modus-themes . "4.0.0") 195 :version "30.1" 196 :group 'modus-themes-faces) 197 198 (defface modus-themes-slant nil 199 "Generic face for applying a conditional slant (italics). 200 This behaves in accordance with `modus-themes-italic-constructs'." 201 :package-version '(modus-themes . "4.0.0") 202 :version "30.1" 203 :group 'modus-themes-faces) 204 205 (defface modus-themes-key-binding nil 206 "Face for key bindings." 207 :package-version '(modus-themes . "4.0.0") 208 :version "30.1" 209 :group 'modus-themes-faces) 210 211 (defface modus-themes-fixed-pitch nil 212 "Face for `fixed-pitch' if `modus-themes-mixed-fonts' is non-nil." 213 :package-version '(modus-themes . "4.0.0") 214 :version "30.1" 215 :group 'modus-themes-faces) 216 217 (defface modus-themes-ui-variable-pitch nil 218 "Face for `variable-pitch' if `modus-themes-variable-pitch-ui' is non-nil." 219 :package-version '(modus-themes . "4.0.0") 220 :version "30.1" 221 :group 'modus-themes-faces) 222 223 (defface modus-themes-reset-soft nil 224 "Generic face to set most face properties to nil. 225 226 This is intended to be inherited by faces that should not retain 227 properties from their context (e.g. an overlay over an underlined 228 text should not be underlined as well) yet still blend in." 229 :group 'modus-themes-faces) 230 231 (defface modus-themes-prompt nil 232 "Generic face for command prompts." 233 :group 'modus-themes-faces) 234 235 (defface modus-themes-completion-selected nil 236 "Face for current selection in completion UIs." 237 :group 'modus-themes-faces) 238 239 (defface modus-themes-button nil 240 "Face for graphical buttons." 241 :group 'modus-themes-faces) 242 243 (dotimes (n 4) 244 (custom-declare-face 245 (intern (format "modus-themes-completion-match-%d" n)) 246 nil (format "Completions match level %d." n) 247 :package-version '(modus-themes . "4.0.0") 248 :version "30.1" 249 :group 'modus-themes-faces)) 250 251 (make-obsolete-variable 'modus-themes-reset-hard nil "4.0.0") 252 (make-obsolete-variable 'modus-themes-subtle-neutral nil "4.0.0") 253 (make-obsolete-variable 'modus-themes-intense-neutral nil "4.0.0") 254 (make-obsolete-variable 'modus-themes-refine-red nil "4.0.0") 255 (make-obsolete-variable 'modus-themes-refine-green nil "4.0.0") 256 (make-obsolete-variable 'modus-themes-refine-yellow nil "4.0.0") 257 (make-obsolete-variable 'modus-themes-refine-blue nil "4.0.0") 258 (make-obsolete-variable 'modus-themes-refine-magenta nil "4.0.0") 259 (make-obsolete-variable 'modus-themes-refine-cyan nil "4.0.0") 260 (make-obsolete-variable 'modus-themes-active-red nil "4.0.0") 261 (make-obsolete-variable 'modus-themes-active-green nil "4.0.0") 262 (make-obsolete-variable 'modus-themes-active-yellow nil "4.0.0") 263 (make-obsolete-variable 'modus-themes-active-blue nil "4.0.0") 264 (make-obsolete-variable 'modus-themes-active-magenta nil "4.0.0") 265 (make-obsolete-variable 'modus-themes-active-cyan nil "4.0.0") 266 (make-obsolete-variable 'modus-themes-fringe-red nil "4.0.0") 267 (make-obsolete-variable 'modus-themes-fringe-green nil "4.0.0") 268 (make-obsolete-variable 'modus-themes-fringe-yellow nil "4.0.0") 269 (make-obsolete-variable 'modus-themes-fringe-blue nil "4.0.0") 270 (make-obsolete-variable 'modus-themes-fringe-magenta nil "4.0.0") 271 (make-obsolete-variable 'modus-themes-fringe-cyan nil "4.0.0") 272 (make-obsolete-variable 'modus-themes-grue nil "4.0.0") 273 (make-obsolete-variable 'modus-themes-grue-nuanced nil "4.0.0") 274 (make-obsolete-variable 'modus-themes-red-nuanced nil "4.0.0") 275 (make-obsolete-variable 'modus-themes-green-nuanced nil "4.0.0") 276 (make-obsolete-variable 'modus-themes-yellow-nuanced nil "4.0.0") 277 (make-obsolete-variable 'modus-themes-blue-nuanced nil "4.0.0") 278 (make-obsolete-variable 'modus-themes-magenta-nuanced nil "4.0.0") 279 (make-obsolete-variable 'modus-themes-cyan-nuanced nil "4.0.0") 280 (make-obsolete-variable 'modus-themes-special-calm nil "4.0.0") 281 (make-obsolete-variable 'modus-themes-special-cold nil "4.0.0") 282 (make-obsolete-variable 'modus-themes-special-mild nil "4.0.0") 283 (make-obsolete-variable 'modus-themes-special-warm nil "4.0.0") 284 (make-obsolete-variable 'modus-themes-diff-added nil "4.0.0") 285 (make-obsolete-variable 'modus-themes-diff-changed nil "4.0.0") 286 (make-obsolete-variable 'modus-themes-diff-removed nil "4.0.0") 287 (make-obsolete-variable 'modus-themes-diff-refine-added nil "4.0.0") 288 (make-obsolete-variable 'modus-themes-diff-refine-changed nil "4.0.0") 289 (make-obsolete-variable 'modus-themes-diff-refine-removed nil "4.0.0") 290 (make-obsolete-variable 'modus-themes-diff-focus-added nil "4.0.0") 291 (make-obsolete-variable 'modus-themes-diff-focus-changed nil "4.0.0") 292 (make-obsolete-variable 'modus-themes-diff-focus-removed nil "4.0.0") 293 (make-obsolete-variable 'modus-themes-diff-heading nil "4.0.0") 294 (make-obsolete-variable 'modus-themes-pseudo-header nil "4.0.0") 295 (make-obsolete-variable 'modus-themes-mark-symbol nil "4.0.0") 296 (make-obsolete-variable 'modus-themes-hl-line nil "4.0.0") 297 (make-obsolete-variable 'modus-themes-search-success-modeline nil "4.0.0") 298 (make-obsolete-variable 'modus-themes-grue-active nil "4.0.0") 299 (make-obsolete-variable 'modus-themes-grue-background-active nil "4.0.0") 300 (make-obsolete-variable 'modus-themes-grue-background-intense nil "4.0.0") 301 (make-obsolete-variable 'modus-themes-grue-background-subtle nil "4.0.0") 302 (make-obsolete-variable 'modus-themes-grue-background-refine nil "4.0.0") 303 (make-obsolete-variable 'modus-themes-link-broken nil "4.0.0") 304 (make-obsolete-variable 'modus-themes-link-symlink nil "4.0.0") 305 (make-obsolete-variable 'modus-themes-tab-backdrop nil "4.0.0") 306 (make-obsolete-variable 'modus-themes-tab-active nil "4.0.0") 307 (make-obsolete-variable 'modus-themes-tab-inactive nil "4.0.0") 308 (make-obsolete-variable 'modus-themes-completion-selected-popup nil "4.0.0") 309 (make-obsolete-variable 'modus-themes-box-button nil "4.0.0") 310 (make-obsolete-variable 'modus-themes-box-button-pressed nil "4.0.0") 311 312 313 314 ;;;; Customization variables 315 316 (defcustom modus-themes-custom-auto-reload t 317 "Automatically reload theme after setting options with Customize. 318 319 All theme user options take effect when a theme is loaded. Any 320 subsequent changes require the theme to be reloaded. 321 322 When this variable has a non-nil value, any change made via the 323 Custom UI or related functions such as `customize-set-variable' 324 and `setopt' (Emacs 29), will trigger a reload automatically. 325 326 With a nil value, changes to user options have no further 327 consequences. The user must manually reload the theme." 328 :group 'modus-themes 329 :package-version '(modus-themes . "4.0.0") 330 :version "30.1" 331 :type 'boolean 332 :link '(info-link "(modus-themes) Custom reload theme")) 333 334 (make-obsolete-variable 'modus-themes-inhibit-reload 'modus-themes-custom-auto-reload "4.0.0") 335 336 (defun modus-themes--set-option (sym val) 337 "Custom setter for theme related user options. 338 Will set SYM to VAL, and reload the current theme, unless 339 `modus-themes-custom-auto-reload' is nil." 340 (set-default sym val) 341 (when (and modus-themes-custom-auto-reload 342 ;; Check if a theme is being loaded, in which case we 343 ;; don't want to reload a theme if the setter is 344 ;; invoked. `custom--inhibit-theme-enable' is set to nil 345 ;; by `enable-theme'. 346 (bound-and-true-p custom--inhibit-theme-enable)) 347 (when-let* ((modus-themes-custom-auto-reload t) 348 (theme (modus-themes--current-theme))) 349 (modus-themes-load-theme theme)))) 350 351 (defcustom modus-themes-disable-other-themes t 352 "Disable all other themes when loading a Modus theme. 353 354 When the value is non-nil, the commands `modus-themes-toggle' and 355 `modus-themes-select', as well as the `modus-themes-load-theme' 356 function, will disable all other themes while loading the 357 specified Modus theme. This is done to ensure that Emacs does 358 not blend two or more themes: such blends lead to awkward results 359 that undermine the work of the designer. 360 361 When the value is nil, the aforementioned commands and function 362 will only disable other themes within the Modus collection. 363 364 This option is provided because Emacs themes are not necessarily 365 limited to colors/faces: they can consist of an arbitrary set of 366 customizations. Users who use such customization bundles must 367 set this variable to a nil value." 368 :group 'modus-themes 369 :package-version '(modus-themes . "4.1.0") 370 :version "30.1" 371 :type 'boolean 372 :link '(info-link "(modus-themes) Disable other themes")) 373 374 (defvaralias 'modus-themes-collection 'modus-themes-items 375 "Alias of `modus-themes-items'.") 376 377 (defconst modus-themes-items 378 '( modus-operandi modus-vivendi 379 modus-operandi-tinted modus-vivendi-tinted 380 modus-operandi-deuteranopia modus-vivendi-deuteranopia 381 modus-operandi-tritanopia modus-vivendi-tritanopia) 382 "Symbols of the Modus themes.") 383 384 (defcustom modus-themes-to-toggle '(modus-operandi modus-vivendi) 385 "Specify two Modus themes for `modus-themes-toggle' command. 386 The variable `modus-themes-items' contains the symbols of all 387 official themes that form part of this collection. 388 389 The default value of this user option includes the original 390 themes: `modus-operandi' (light) and `modus-vivendi' (dark). 391 392 If the value is nil or otherwise does not specify two valid Modus 393 themes, the command `modus-themes-toggle' reverts to selecting a 394 theme from the list of available Modus themes. In effect, it is 395 the same as using the command `modus-themes-select'." 396 :type `(choice 397 (const :tag "No toggle" nil) 398 (list :tag "Pick two themes to toggle between" 399 (choice :tag "Theme one of two" 400 ,@(mapcar (lambda (theme) 401 (list 'const theme)) 402 modus-themes-items)) 403 (choice :tag "Theme two of two" 404 ,@(mapcar (lambda (theme) 405 (list 'const theme)) 406 modus-themes-items)))) 407 :package-version '(modus-themes . "4.0.0") 408 :version "30.1" 409 :set #'modus-themes--set-option 410 :initialize #'custom-initialize-default 411 :group 'modus-themes) 412 413 (defvaralias 'modus-themes-post-load-hook 'modus-themes-after-load-theme-hook) 414 415 (defcustom modus-themes-after-load-theme-hook nil 416 "Hook that runs after loading a Modus theme. 417 This is used by the command `modus-themes-toggle'." 418 :type 'hook 419 :package-version '(modus-themes . "4.0.0") 420 :version "30.1" 421 :set #'modus-themes--set-option 422 :initialize #'custom-initialize-default 423 :group 'modus-themes) 424 425 (make-obsolete-variable 'modus-themes-operandi-color-overrides nil "4.0.0") 426 (make-obsolete-variable 'modus-themes-vivendi-color-overrides nil "4.0.0") 427 428 (defvaralias 'modus-themes-slanted-constructs 'modus-themes-italic-constructs) 429 430 (defcustom modus-themes-italic-constructs nil 431 "Use italic font forms in more code constructs." 432 :group 'modus-themes 433 :package-version '(modus-themes . "1.5.0") 434 :version "28.1" 435 :type 'boolean 436 :set #'modus-themes--set-option 437 :initialize #'custom-initialize-default 438 :link '(info-link "(modus-themes) Italic constructs")) 439 440 (defcustom modus-themes-bold-constructs nil 441 "Use bold text in more code constructs." 442 :group 'modus-themes 443 :package-version '(modus-themes . "1.0.0") 444 :version "28.1" 445 :type 'boolean 446 :set #'modus-themes--set-option 447 :initialize #'custom-initialize-default 448 :link '(info-link "(modus-themes) Bold constructs")) 449 450 (defcustom modus-themes-variable-pitch-ui nil 451 "Use proportional fonts (variable-pitch) in UI elements. 452 This includes the mode line, header line, tab bar, and tab line." 453 :group 'modus-themes 454 :package-version '(modus-themes . "1.1.0") 455 :version "28.1" 456 :type 'boolean 457 :set #'modus-themes--set-option 458 :initialize #'custom-initialize-default 459 :link '(info-link "(modus-themes) UI typeface")) 460 461 (defcustom modus-themes-mixed-fonts nil 462 "Non-nil to enable inheritance from `fixed-pitch' in some faces. 463 464 This is done to allow spacing-sensitive constructs, such as Org 465 tables and code blocks, to remain monospaced when users opt for 466 something like the command `variable-pitch-mode'. 467 468 Users may need to explicitly configure the font family of 469 `fixed-pitch' in order to get a consistent experience with their 470 typography (also check the `fontaine' package on GNU ELPA (by 471 Protesilaos))." 472 :group 'modus-themes 473 :package-version '(modus-themes . "1.7.0") 474 :version "29.1" 475 :type 'boolean 476 :set #'modus-themes--set-option 477 :initialize #'custom-initialize-default 478 :link '(info-link "(modus-themes) Mixed fonts")) 479 480 (make-obsolete-variable 'modus-themes-intense-mouseovers nil "4.0.0") 481 482 (defconst modus-themes--weight-widget 483 '(choice :tag "Font weight (must be supported by the typeface)" 484 (const :tag "Unspecified (use whatever the default is)" nil) 485 (const :tag "Thin" thin) 486 (const :tag "Ultra-light" ultralight) 487 (const :tag "Extra-light" extralight) 488 (const :tag "Light" light) 489 (const :tag "Semi-light" semilight) 490 (const :tag "Regular" regular) 491 (const :tag "Medium" medium) 492 (const :tag "Semi-bold" semibold) 493 (const :tag "Bold" bold) 494 (const :tag "Extra-bold" extrabold) 495 (const :tag "Ultra-bold" ultrabold)) 496 "List of supported font weights used by `defcustom' forms.") 497 498 (defconst modus-themes--headings-widget 499 `(set :tag "Properties" :greedy t 500 (const :tag "Proportionately spaced font (variable-pitch)" variable-pitch) 501 ,modus-themes--weight-widget 502 (radio :tag "Height" 503 (float :tag "Floating point to adjust height by") 504 (cons :tag "Cons cell of `(height . FLOAT)'" 505 (const :tag "The `height' key (constant)" height) 506 (float :tag "Floating point")))) 507 "Refer to the doc string of `modus-themes-headings'. 508 This is a helper variable intended for internal use.") 509 510 (defcustom modus-themes-headings nil 511 "Heading styles with optional list of values per heading level. 512 513 This is an alist that accepts a (KEY . LIST-OF-VALUES) 514 combination. The KEY is either a number, representing the 515 heading's level (0-8) or t, which pertains to the fallback style. 516 The named keys `agenda-date' and `agenda-structure' apply to the 517 Org agenda. 518 519 Level 0 is used for what counts as a document title or 520 equivalent, such as the #+title construct we find in Org files. 521 Levels 1-8 are regular headings. 522 523 The LIST-OF-VALUES covers symbols that refer to properties, as 524 described below. Here is a complete sample with various 525 stylistic combinations, followed by a presentation of all 526 available properties: 527 528 (setq modus-themes-headings 529 (quote ((1 . (variable-pitch 1.5)) 530 (2 . (1.3)) 531 (agenda-date . (1.3)) 532 (agenda-structure . (variable-pitch light 1.8)) 533 (t . (1.1))))) 534 535 By default (a nil value for this variable), all headings have a 536 bold typographic weight, use a desaturated text color, have a 537 font family that is the same as the `default' face (typically 538 monospaced), and a height that is equal to the `default' face's 539 height. 540 541 A `variable-pitch' property changes the font family of the 542 heading to that of the `variable-pitch' face (normally a 543 proportionately spaced typeface). 544 545 The symbol of a weight attribute adjusts the font of the heading 546 accordingly, such as `light', `semibold', etc. Valid symbols are 547 defined in the variable `modus-themes-weights'. The absence of a 548 weight means that bold will be used by virtue of inheriting the 549 `bold' face (check the manual for tweaking bold and italic 550 faces). 551 552 A number, expressed as a floating point (e.g. 1.5), adjusts the 553 height of the heading to that many times the base font size. The 554 default height is the same as 1.0, though it need not be 555 explicitly stated. Instead of a floating point, an acceptable 556 value can be in the form of a cons cell like (height . FLOAT) 557 or (height FLOAT), where FLOAT is the given number. 558 559 Combinations of any of those properties are expressed as a list, 560 like in these examples: 561 562 (semibold) 563 (variable-pitch semibold 1.3) 564 (variable-pitch semibold (height 1.3)) ; same as above 565 (variable-pitch semibold (height . 1.3)) ; same as above 566 567 The order in which the properties are set is not significant. 568 569 In user configuration files the form may look like this: 570 571 (setq modus-themes-headings 572 (quote ((1 . (variable-pitch 1.5)) 573 (2 . (1.3)) 574 (agenda-date . (1.3)) 575 (agenda-structure . (variable-pitch light 1.8)) 576 (t . (1.1))))) 577 578 When defining the styles per heading level, it is possible to 579 pass a non-nil value (t) instead of a list of properties. This 580 will retain the original aesthetic for that level. For example: 581 582 (setq modus-themes-headings 583 (quote ((1 . t) ; keep the default style 584 (2 . (semibold 1.2)) 585 (t . (variable-pitch))))) ; style for all other headings 586 587 (setq modus-themes-headings 588 (quote ((1 . (variable-pitch extrabold 1.5)) 589 (2 . (semibold)) 590 (t . t)))) ; default style for all other levels 591 592 Note that the text color of headings, of their background, and 593 overline can all be set via the overrides. It is possible to 594 have any color combination for any heading level (something that 595 could not be done in older versions of the themes). 596 597 Read Info node `(modus-themes) Option for palette overrides' as 598 well as Info node `(modus-themes) Make headings more or less 599 colorful'. Else check `modus-themes-common-palette-overrides' 600 and related user options." 601 :group 'modus-themes 602 :package-version '(modus-themes . "4.0.0") 603 :version "30.1" 604 :type `(alist 605 :options ,(mapcar (lambda (el) 606 (list el modus-themes--headings-widget)) 607 '(0 1 2 3 4 5 6 7 8 t agenda-date agenda-structure)) 608 :key-type symbol 609 :value-type ,modus-themes--headings-widget) 610 :set #'modus-themes--set-option 611 :initialize #'custom-initialize-default 612 :link '(info-link "(modus-themes) Heading styles")) 613 614 (make-obsolete-variable 'modus-themes-org-agenda nil "4.0.0") 615 (make-obsolete-variable 'modus-themes-fringes nil "4.0.0") 616 (make-obsolete-variable 'modus-themes-lang-checkers nil "4.0.0") 617 618 (defcustom modus-themes-org-blocks nil 619 "Set the overall style of Org code blocks, quotes, and the like. 620 621 Nil (the default) means that the block has no background of its 622 own: it uses the one that applies to the rest of the buffer. In 623 this case, the delimiter lines have a gray color for their text, 624 making them look exactly like all other Org properties. 625 626 Option `gray-background' applies a subtle gray background to the 627 block's contents. It also affects the begin and end lines of the 628 block as they get another shade of gray as their background, 629 which differentiates them from the contents of the block. All 630 background colors extend to the edge of the window, giving the 631 area a rectangular, \"blocky\" presentation. If the begin/end 632 lines do not extend in this way, check the value of the Org user 633 option `org-fontify-whole-block-delimiter-line'. 634 635 Option `tinted-background' uses a colored background for the 636 contents of the block. The exact color value will depend on the 637 programming language and is controlled by the variable 638 `org-src-block-faces' (refer to the theme's source code for the 639 current association list). For this to take effect, the Org 640 buffer needs to be restarted with `org-mode-restart'. 641 642 Code blocks use their major mode's fontification (syntax 643 highlighting) only when the variable `org-src-fontify-natively' 644 is non-nil. While quote/verse blocks require setting 645 `org-fontify-quote-and-verse-blocks' to a non-nil value." 646 :group 'modus-themes 647 :package-version '(modus-themes . "4.0.0") 648 :version "30.1" 649 :type '(choice 650 (const :format "[%v] %t\n" :tag "No Org block background (default)" nil) 651 (const :format "[%v] %t\n" :tag "Subtle gray block background" gray-background) 652 (const :format "[%v] %t\n" :tag "Color-coded background per programming language" tinted-background)) 653 :set #'modus-themes--set-option 654 :initialize #'custom-initialize-default 655 :link '(info-link "(modus-themes) Org mode blocks")) 656 657 (make-obsolete-variable 'modus-themes-mode-line nil "4.0.0") 658 (make-obsolete-variable 'modus-themes-diffs nil "4.0.0") 659 660 (defcustom modus-themes-completions nil 661 "Control the style of completion user interfaces. 662 663 This affects Company, Corfu, Flx, Icomplete/Fido, Ido, Ivy, 664 Orderless, Vertico, and the standard *Completions* buffer. The 665 value is an alist of expressions, each of which takes the form 666 of (KEY . LIST-OF-PROPERTIES). KEY is a symbol, while PROPERTIES 667 is a list. Here is a sample, followed by a description of the 668 particularities: 669 670 (setq modus-themes-completions 671 (quote ((matches . (extrabold underline)) 672 (selection . (semibold italic))))) 673 674 The `matches' key refers to the highlighted characters that 675 correspond to the user's input. When its properties are nil or 676 an empty list, matching characters in the user interface will 677 have a bold weight and a colored foreground. The list of 678 properties may include any of the following symbols regardless of 679 the order they may appear in: 680 681 - `underline' to draw a line below the characters; 682 683 - `italic' to use a slanted font (italic or oblique forms); 684 685 - The symbol of a font weight attribute such as `light', 686 `semibold', et cetera. Valid symbols are defined in the 687 variable `modus-themes-weights'. The absence of a weight means 688 that bold will be used. 689 690 The `selection' key applies to the current line or currently 691 matched candidate, depending on the specifics of the user 692 interface. When its properties are nil or an empty list, it has 693 a subtle gray background, a bold weight, and the base foreground 694 value for the text. The list of properties it accepts is as 695 follows (order is not significant): 696 697 - `underline' to draw a line below the characters; 698 699 - `italic' to use a slanted font (italic or oblique forms); 700 701 - The symbol of a font weight attribute such as `light', 702 `semibold', et cetera. Valid symbols are defined in the 703 variable `modus-themes-weights'. The absence of a weight means 704 that bold will be used. 705 706 Apart from specifying each key separately, a catch-all list is 707 accepted. This is only useful when the desired aesthetic is the 708 same across all keys that are not explicitly referenced. For 709 example, this: 710 711 (setq modus-themes-completions 712 (quote ((t . (extrabold underline))))) 713 714 Is the same as: 715 716 (setq modus-themes-completions 717 (quote ((matches . (extrabold underline)) 718 (selection . (extrabold underline)))))" 719 :group 'modus-themes 720 :package-version '(modus-themes . "4.0.0") 721 :version "30.1" 722 :type `(set 723 (cons :tag "Matches" 724 (const matches) 725 (set :tag "Style of matches" :greedy t 726 ,modus-themes--weight-widget 727 (const :tag "Italic font (oblique or slanted forms)" italic) 728 (const :tag "Underline" underline))) 729 (cons :tag "Selection" 730 (const selection) 731 (set :tag "Style of selection" :greedy t 732 ,modus-themes--weight-widget 733 (const :tag "Italic font (oblique or slanted forms)" italic) 734 (const :tag "Underline" underline))) 735 (cons :tag "Fallback for both matches and selection" 736 (const t) 737 (set :tag "Style of both matches and selection" :greedy t 738 ,modus-themes--weight-widget 739 (const :tag "Italic font (oblique or slanted forms)" italic) 740 (const :tag "Underline" underline)))) 741 :set #'modus-themes--set-option 742 :initialize #'custom-initialize-default 743 :link '(info-link "(modus-themes) Completion UIs")) 744 745 (defcustom modus-themes-prompts nil 746 "Use subtle or intense styles for minibuffer and REPL prompts. 747 748 The value is a list of properties, each designated by a symbol. 749 The default (a nil value or an empty list) means to only use a 750 subtle colored foreground color. 751 752 The `italic' property adds a slant to the font's forms (italic or 753 oblique forms, depending on the typeface). 754 755 The symbol of a font weight attribute such as `light', `semibold', 756 et cetera, adds the given weight to links. Valid symbols are 757 defined in the variable `modus-themes-weights'. The absence of a 758 weight means that the one of the underlying text will be used. 759 760 Combinations of any of those properties are expressed as a list, 761 like in these examples: 762 763 (bold italic) 764 (italic semibold) 765 766 The order in which the properties are set is not significant. 767 768 In user configuration files the form may look like this: 769 770 (setq modus-themes-prompts (quote (extrabold italic)))" 771 :group 'modus-themes 772 :package-version '(modus-themes . "4.0.0") 773 :version "30.1" 774 :type `(set :tag "Properties" :greedy t 775 (const :tag "Italic font slant" italic) 776 ,modus-themes--weight-widget) 777 :set #'modus-themes--set-option 778 :initialize #'custom-initialize-default 779 :link '(info-link "(modus-themes) Command prompts")) 780 781 (make-obsolete-variable 'modus-themes-subtle-line-numbers nil "4.0.0") 782 (make-obsolete-variable 'modus-themes-markup nil "4.0.0") 783 (make-obsolete-variable 'modus-themes-paren-match nil "4.0.0") 784 (make-obsolete-variable 'modus-themes-syntax nil "4.0.0") 785 (make-obsolete-variable 'modus-themes-links nil "4.0.0") 786 (make-obsolete-variable 'modus-themes-region nil "4.0.0") 787 (make-obsolete-variable 'modus-themes-deuteranopia nil "4.0.0") 788 (make-obsolete-variable 'modus-themes-mail-citations nil "4.0.0") 789 (make-obsolete-variable 'modus-themes-tabs-accented nil "4.0.0") 790 (make-obsolete-variable 'modus-themes-box-buttons nil "4.0.0") 791 792 (defcustom modus-themes-common-palette-overrides nil 793 "Set palette overrides for all the Modus themes. 794 795 Mirror the elements of a theme's palette, overriding their value. 796 The palette variables are named THEME-NAME-palette, while 797 individual theme overrides are THEME-NAME-palette-overrides. The 798 THEME-NAME is one of the symbols in `modus-themes-items'. For 799 example: 800 801 - `modus-operandi-palette' 802 - `modus-operandi-palette-overrides' 803 804 Individual theme overrides take precedence over these common 805 overrides. 806 807 The idea of common overrides is to change semantic color 808 mappings, such as to make the cursor red. Wherea theme-specific 809 overrides can also be used to change the value of a named color, 810 such as what hexadecimal RGB value the red-warmer symbol 811 represents." 812 :group 'modus-themes 813 :package-version '(modus-themes . "4.0.0") 814 :version "30.1" 815 :type '(repeat (list symbol (choice symbol string))) 816 ;; ;; NOTE 2023-01-07: The following is a functioning version of the 817 ;; ;; intended :type. However, I think the Custom UI is really 818 ;; ;; awkward for this specific case. Maybe the generic type I have 819 ;; ;; above is better, as it encourages the user to write out the 820 ;; ;; code and read the manual. Counter-arguments are welcome. 821 ;; 822 ;; :type `(repeat (list (radio :tag "Palette key to override" 823 ;; ,@(mapcar (lambda (x) 824 ;; (list 'const x)) 825 ;; (mapcar #'car (modus-themes--current-theme-palette)))) 826 ;; (choice :tag "Value to assign" :value unspecified 827 ;; (const :tag "`unspecified' (remove the original color)" unspecified) 828 ;; (string :tag "String with color name (e.g. \"gray50\") or hex RGB (e.g. \"#123456\")" 829 ;; :match-inline (color-supported-p val)) 830 ;; (radio :tag "Palette key to map to" 831 ;; ,@(mapcar (lambda (x) 832 ;; (list 'const x)) 833 ;; (mapcar #'car (modus-themes--current-theme-palette))))))) 834 :set #'modus-themes--set-option 835 :initialize #'custom-initialize-default 836 :link '(info-link "(modus-themes) Palette overrides")) 837 838 839 840 ;;;; Presets of palette overrides 841 842 (defvar modus-themes-preset-overrides-faint 843 '((bg-completion bg-inactive) 844 (bg-hl-line bg-dim) 845 (bg-paren-match bg-cyan-subtle) 846 (bg-region bg-active) 847 848 (bg-mode-line-active bg-inactive) 849 (border-mode-line-active fg-dim) 850 (bg-mode-line-inactive bg-dim) 851 (border-mode-line-inactive bg-active) 852 853 (bg-tab-bar bg-inactive) 854 (bg-tab-current bg-main) 855 (bg-tab-other bg-active) 856 857 (fringe unspecified) 858 (builtin maroon) 859 (comment fg-dim) 860 (constant blue-faint) 861 (docstring fg-alt) 862 (docmarkup magenta-faint) 863 (fnname pink) 864 (keyword indigo) 865 (preprocessor rust) 866 (string slate) 867 (type cyan-faint) 868 (variable cyan-faint) 869 (rx-construct gold) 870 (rx-backslash olive) 871 872 (underline-err red-faint) 873 (underline-warning yellow-faint) 874 (underline-note cyan-faint) 875 876 (bg-button-active bg-main) 877 (fg-button-active fg-main) 878 (bg-button-inactive bg-inactive) 879 (fg-button-inactive "gray50") 880 881 (date-common cyan-faint) 882 (date-deadline red-faint) 883 (date-event fg-alt) 884 (date-holiday magenta) 885 (date-now fg-main) 886 (date-scheduled yellow-faint) 887 (date-weekday fg-dim) 888 (date-weekend fg-dim) 889 890 (name maroon) 891 (identifier fg-dim) 892 893 (fg-line-number-active fg-main) 894 (fg-line-number-inactive "gray50") 895 (bg-line-number-active unspecified) 896 (bg-line-number-inactive unspecified) 897 898 (fg-link blue-faint) 899 (bg-link unspecified) 900 (underline-link bg-active) 901 902 (fg-link-symbolic cyan-faint) 903 (bg-link-symbolic unspecified) 904 (underline-link-symbolic bg-active) 905 906 (fg-link-visited magenta-faint) 907 (bg-link-visited unspecified) 908 (underline-link-visited bg-active) 909 910 (mail-cite-0 cyan-faint) 911 (mail-cite-1 yellow-faint) 912 (mail-cite-2 green-faint) 913 (mail-cite-3 red-faint) 914 (mail-part olive) 915 (mail-recipient indigo) 916 (mail-subject maroon) 917 (mail-other slate) 918 919 (fg-prompt cyan-faint) 920 921 (prose-code olive) 922 (prose-done green-faint) 923 (prose-macro indigo) 924 (prose-tag rust) 925 (prose-todo red-faint) 926 (prose-verbatim maroon) 927 928 (rainbow-0 fg-main) 929 (rainbow-1 magenta) 930 (rainbow-2 cyan) 931 (rainbow-3 red-faint) 932 (rainbow-4 yellow-faint) 933 (rainbow-5 magenta-cooler) 934 (rainbow-6 green) 935 (rainbow-7 blue-warmer) 936 (rainbow-8 magenta-faint)) 937 "Preset for palette overrides with faint coloration. 938 939 This changes many parts of the theme to make them look less 940 colorful/intense. Grays are toned down, gray backgrounds are 941 removed from some contexts, and almost all accent colors are 942 desaturated. 943 944 All the preset overrides the themes provide (including this one): 945 946 - `modus-themes-preset-overrides-faint' 947 - `modus-themes-preset-overrides-intense' 948 - `modus-themes-preset-overrides-cooler' 949 - `modus-themes-preset-overrides-warmer' 950 951 To set a preset, assign its symbol without a quote as the value 952 of the `modus-themes-common-palette-overrides' or as the value of 953 theme-specific options such as `modus-operandi-palette-overrides'. 954 955 For overriding named colors and/or semantic color mappings read 956 Info node `(modus-themes) Option for palette overrides'.") 957 958 (defvar modus-themes-preset-overrides-intense 959 '((bg-region bg-cyan-intense) 960 961 (bg-completion bg-cyan-subtle) 962 (bg-hover bg-yellow-intense) 963 (bg-hover-secondary bg-magenta-intense) 964 (bg-hl-line bg-cyan-subtle) 965 966 (bg-mode-line-active bg-blue-subtle) 967 (fg-mode-line-active fg-main) 968 (border-mode-line-active blue-intense) 969 970 (fringe bg-inactive) 971 (comment red-faint) 972 973 (date-common cyan) 974 (date-deadline red) 975 (date-event blue) 976 (date-holiday magenta-warmer) 977 (date-now blue-faint) 978 (date-range blue) 979 (date-scheduled yellow-warmer) 980 (date-weekday fg-main) 981 (date-weekend red-faint) 982 983 (keybind blue-intense) 984 985 (mail-cite-0 blue) 986 (mail-cite-1 yellow) 987 (mail-cite-2 green) 988 (mail-cite-3 magenta) 989 (mail-part magenta-cooler) 990 (mail-recipient cyan) 991 (mail-subject red-warmer) 992 (mail-other cyan-cooler) 993 994 (fg-prompt blue-intense) 995 996 (prose-block red-faint) 997 (prose-done green-intense) 998 (prose-metadata magenta-faint) 999 (prose-metadata-value blue-cooler) 1000 (prose-table blue) 1001 (prose-todo red-intense) 1002 1003 (fg-heading-0 blue-cooler) 1004 (fg-heading-1 magenta-cooler) 1005 (fg-heading-2 magenta-warmer) 1006 (fg-heading-3 blue) 1007 (fg-heading-4 cyan) 1008 (fg-heading-5 green-warmer) 1009 (fg-heading-6 yellow) 1010 (fg-heading-7 red) 1011 (fg-heading-8 magenta) 1012 1013 (bg-heading-0 unspecified) 1014 (bg-heading-1 bg-magenta-nuanced) 1015 (bg-heading-2 bg-red-nuanced) 1016 (bg-heading-3 bg-blue-nuanced) 1017 (bg-heading-4 bg-cyan-nuanced) 1018 (bg-heading-5 bg-green-nuanced) 1019 (bg-heading-6 bg-yellow-nuanced) 1020 (bg-heading-7 bg-red-nuanced) 1021 (bg-heading-8 bg-magenta-nuanced) 1022 1023 (overline-heading-0 unspecified) 1024 (overline-heading-1 magenta-cooler) 1025 (overline-heading-2 magenta-warmer) 1026 (overline-heading-3 blue) 1027 (overline-heading-4 cyan) 1028 (overline-heading-5 green) 1029 (overline-heading-6 yellow-cooler) 1030 (overline-heading-7 red-cooler) 1031 (overline-heading-8 magenta)) 1032 "Preset for palette overrides with intense coloration. 1033 1034 This changes many parts of the theme to make them look more 1035 colorful/intense. Many background colors are accented and 1036 coloration is increased to pop out more. 1037 1038 All the preset overrides the themes provide (including this one): 1039 1040 - `modus-themes-preset-overrides-faint' 1041 - `modus-themes-preset-overrides-intense' 1042 - `modus-themes-preset-overrides-cooler' 1043 - `modus-themes-preset-overrides-warmer' 1044 1045 To set a preset, assign its symbol without a quote as the value 1046 of the `modus-themes-common-palette-overrides' or as the value of 1047 theme-specific options such as `modus-operandi-palette-overrides'. 1048 1049 For overriding named colors and/or semantic color mappings read 1050 Info node `(modus-themes) Option for palette overrides'.") 1051 1052 (defvar modus-themes-preset-overrides-cooler 1053 '((fg-prompt blue-cooler) 1054 1055 (builtin magenta-faint) 1056 (constant blue-cooler) 1057 (fnname cyan-cooler) 1058 (keyword magenta-cooler) 1059 (preprocessor blue) 1060 (string blue-warmer) 1061 (type green-cooler) 1062 (variable cyan) 1063 (rx-construct blue-cooler) 1064 (rx-backslash red) 1065 1066 (name blue-warmer) 1067 (identifier magenta-faint) 1068 1069 (date-deadline magenta-cooler) 1070 (date-scheduled yellow-cooler) 1071 (date-weekday blue-faint) 1072 (date-weekend red-faint) 1073 1074 (mail-cite-0 blue-faint) 1075 (mail-cite-1 cyan-cooler) 1076 (mail-cite-2 magenta-faint) 1077 (mail-cite-3 yellow-cooler) 1078 (mail-part cyan) 1079 (mail-recipient blue-warmer) 1080 (mail-subject magenta-cooler) 1081 (mail-other blue) 1082 1083 (prose-tag fg-dim) 1084 (prose-verbatim blue-cooler)) 1085 "Preset of palette overrides with cooler colors. 1086 1087 This changes parts of the palette to use more blue and 1088 blue-tinted colors. 1089 1090 All the preset overrides the themes provide (including this one): 1091 1092 - `modus-themes-preset-overrides-faint' 1093 - `modus-themes-preset-overrides-intense' 1094 - `modus-themes-preset-overrides-cooler' 1095 - `modus-themes-preset-overrides-warmer' 1096 1097 To set a preset, assign its symbol without a quote as the value 1098 of the `modus-themes-common-palette-overrides' or as the value of 1099 theme-specific options such as `modus-operandi-palette-overrides'. 1100 1101 For overriding named colors and/or semantic color mappings read 1102 Info node `(modus-themes) Option for palette overrides'.") 1103 1104 (defvar modus-themes-preset-overrides-warmer 1105 '((fg-prompt magenta-warmer) 1106 1107 (builtin magenta) 1108 (constant blue-warmer) 1109 (fnname magenta-cooler) 1110 (keyword magenta-warmer) 1111 (preprocessor red-cooler) 1112 (string green-warmer) 1113 (type cyan-cooler) 1114 (variable cyan) 1115 (rx-construct blue-cooler) 1116 (rx-backslash red-warmer) 1117 1118 (name blue-warmer) 1119 (identifier magenta) 1120 (keybind magenta-warmer) 1121 1122 (accent-0 magenta-warmer) 1123 (accent-1 cyan) 1124 (accent-2 blue-warmer) 1125 (accent-3 red-cooler) 1126 1127 (date-common cyan-cooler) 1128 (date-holiday magenta-warmer) 1129 1130 (mail-cite-0 magenta-faint) 1131 (mail-cite-1 cyan-cooler) 1132 (mail-cite-2 green-warmer) 1133 (mail-cite-3 red-faint) 1134 (mail-part cyan) 1135 (mail-recipient magenta) 1136 (mail-subject blue-warmer) 1137 (mail-other magenta-warmer) 1138 1139 (prose-macro red-cooler) 1140 (prose-tag fg-dim)) 1141 "Preset of palette overrides with warmer colors. 1142 1143 This changes many parts of the theme to use warmer colors, 1144 including green and yellow. 1145 1146 All the preset overrides the themes provide (including this one): 1147 1148 - `modus-themes-preset-overrides-faint' 1149 - `modus-themes-preset-overrides-intense' 1150 - `modus-themes-preset-overrides-cooler' 1151 - `modus-themes-preset-overrides-warmer' 1152 1153 To set a preset, assign its symbol without a quote as the value 1154 of the `modus-themes-common-palette-overrides' or as the value of 1155 theme-specific options such as `modus-operandi-palette-overrides'. 1156 1157 For overriding named colors and/or semantic color mappings read 1158 Info node `(modus-themes) Option for palette overrides'.") 1159 1160 1161 1162 ;;;; Helper functions for theme setup 1163 1164 ;; This is the WCAG formula: https://www.w3.org/TR/WCAG20-TECHS/G18.html 1165 (defun modus-themes-wcag-formula (hex) 1166 "Get WCAG value of color value HEX. 1167 The value is defined in hexadecimal RGB notation, such #123456." 1168 (cl-loop for k in '(0.2126 0.7152 0.0722) 1169 for x in (color-name-to-rgb hex) 1170 sum (* k (if (<= x 0.03928) 1171 (/ x 12.92) 1172 (expt (/ (+ x 0.055) 1.055) 2.4))))) 1173 1174 ;;;###autoload 1175 (defun modus-themes-contrast (c1 c2) 1176 "Measure WCAG contrast ratio between C1 and C2. 1177 C1 and C2 are color values written in hexadecimal RGB." 1178 (let ((ct (/ (+ (modus-themes-wcag-formula c1) 0.05) 1179 (+ (modus-themes-wcag-formula c2) 0.05)))) 1180 (max ct (/ ct)))) 1181 1182 (make-obsolete 'modus-themes-color nil "4.0.0") 1183 (make-obsolete 'modus-themes-color-alts nil "4.0.0") 1184 1185 (declare-function cl-remove-if-not "cl-seq" (cl-pred cl-list &rest cl-keys)) 1186 1187 (defun modus-themes--list-enabled-themes () 1188 "Return list of `custom-enabled-themes' with modus- prefix." 1189 (cl-remove-if-not 1190 (lambda (theme) 1191 (string-prefix-p "modus-" (symbol-name theme))) 1192 custom-enabled-themes)) 1193 1194 (defun modus-themes--enable-themes () 1195 "Enable the Modus themes." 1196 (mapc (lambda (theme) 1197 (unless (memq theme custom-known-themes) 1198 (load-theme theme :no-confirm :no-enable))) 1199 modus-themes-items)) 1200 1201 (defun modus-themes--list-known-themes () 1202 "Return list of `custom-known-themes' with modus- prefix." 1203 (modus-themes--enable-themes) 1204 (cl-remove-if-not 1205 (lambda (theme) 1206 (string-prefix-p "modus-" (symbol-name theme))) 1207 custom-known-themes)) 1208 1209 (defun modus-themes--current-theme () 1210 "Return first enabled Modus theme." 1211 (car (or (modus-themes--list-enabled-themes) 1212 (modus-themes--list-known-themes)))) 1213 1214 (defun modus-themes--palette-symbol (theme &optional overrides) 1215 "Return THEME palette as a symbol. 1216 With optional OVERRIDES, return THEME palette overrides as a 1217 symbol." 1218 (when-let ((suffix (cond 1219 ((and theme overrides) 1220 "palette-overrides") 1221 (theme 1222 "palette")))) 1223 (intern (format "%s-%s" theme suffix)))) 1224 1225 (defun modus-themes--palette-value (theme &optional overrides) 1226 "Return palette value of THEME with optional OVERRIDES." 1227 (let ((base-value (symbol-value (modus-themes--palette-symbol theme)))) 1228 (if overrides 1229 (append (symbol-value (modus-themes--palette-symbol theme :overrides)) 1230 modus-themes-common-palette-overrides 1231 base-value) 1232 base-value))) 1233 1234 (defun modus-themes--current-theme-palette (&optional overrides) 1235 "Return palette value of active Modus theme, else produce `user-error'. 1236 With optional OVERRIDES return palette value plus whatever 1237 overrides." 1238 (if-let ((theme (modus-themes--current-theme))) 1239 (if overrides 1240 (modus-themes--palette-value theme :overrides) 1241 (modus-themes--palette-value theme)) 1242 (user-error "No enabled Modus theme could be found"))) 1243 1244 (defun modus-themes--disable-themes () 1245 "Disable themes per `modus-themes-disable-other-themes'." 1246 (mapc #'disable-theme 1247 (if modus-themes-disable-other-themes 1248 custom-enabled-themes 1249 (modus-themes--list-known-themes)))) 1250 1251 (defun modus-themes-load-theme (theme) 1252 "Load THEME while disabling other themes. 1253 1254 Which themes are disabled is determined by the user option 1255 `modus-themes-disable-other-themes'. 1256 1257 Run the `modus-themes-after-load-theme-hook' as the final step 1258 after loading the THEME. 1259 1260 Return THEME." 1261 (modus-themes--disable-themes) 1262 (load-theme theme :no-confirm) 1263 (run-hooks 'modus-themes-after-load-theme-hook) 1264 theme) 1265 1266 (defun modus-themes--retrieve-palette-value (color palette) 1267 "Return COLOR from PALETTE. 1268 Use recursion until COLOR is retrieved as a string. Refrain from 1269 doing so if the value of COLOR is not a key in the PALETTE. 1270 1271 Return `unspecified' if the value of COLOR cannot be determined. 1272 This symbol is accepted by faces and is thus harmless. 1273 1274 This function is used in the macros `modus-themes-theme', 1275 `modus-themes-with-colors'." 1276 (let ((value (car (alist-get color palette)))) 1277 (cond 1278 ((or (stringp value) 1279 (eq value 'unspecified)) 1280 value) 1281 ((and (symbolp value) 1282 (memq value (mapcar #'car palette))) 1283 (modus-themes--retrieve-palette-value value palette)) 1284 (t 1285 'unspecified)))) 1286 1287 (defun modus-themes-get-color-value (color &optional overrides theme) 1288 "Return color value of named COLOR for current Modus theme. 1289 1290 COLOR is a symbol that represents a named color entry in the 1291 palette. 1292 1293 If the value is the name of another color entry in the 1294 palette (so a mapping), recur until you find the underlying color 1295 value. 1296 1297 With optional OVERRIDES as a non-nil value, account for palette 1298 overrides. Else use the default palette. 1299 1300 With optional THEME as a symbol among `modus-themes-items', use 1301 the palette of that item. Else use the current Modus theme. 1302 1303 If COLOR is not present in the palette, return the `unspecified' 1304 symbol, which is safe when used as a face attribute's value." 1305 (if-let* ((palette (if theme 1306 (modus-themes--palette-value theme overrides) 1307 (modus-themes--current-theme-palette overrides))) 1308 (value (modus-themes--retrieve-palette-value color palette))) 1309 value 1310 'unspecified)) 1311 1312 ;;;; Commands 1313 1314 (make-obsolete 'modus-themes-load-themes nil "4.0.0") 1315 (make-obsolete 'modus-themes-load-operandi nil "4.0.0; Check `modus-themes-load-theme'") 1316 (make-obsolete 'modus-themes-load-vivendi nil "4.0.0; Check `modus-themes-load-theme'") 1317 1318 (defvar modus-themes--select-theme-history nil 1319 "Minibuffer history of `modus-themes--select-prompt'.") 1320 1321 (defun modus-themes--annotate-theme (theme) 1322 "Return completion annotation for THEME." 1323 (when-let ((symbol (intern-soft theme)) 1324 (doc-string (get symbol 'theme-documentation))) 1325 (format " -- %s" (car (split-string doc-string "\\."))))) 1326 1327 (defun modus-themes--completion-table (category candidates) 1328 "Pass appropriate metadata CATEGORY to completion CANDIDATES." 1329 (lambda (string pred action) 1330 (if (eq action 'metadata) 1331 `(metadata (category . ,category)) 1332 (complete-with-action action candidates string pred)))) 1333 1334 (defun modus-themes--completion-table-candidates () 1335 "Render `modus-themes--list-known-themes' as completion with theme category." 1336 (modus-themes--completion-table 'theme (modus-themes--list-known-themes))) 1337 1338 (defun modus-themes--select-prompt () 1339 "Minibuffer prompt to select a Modus theme." 1340 (let ((completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme))) 1341 (intern 1342 (completing-read 1343 "Select Modus theme: " 1344 (modus-themes--completion-table-candidates) 1345 nil t nil 1346 'modus-themes--select-theme-history)))) 1347 1348 ;;;###autoload 1349 (defun modus-themes-select (theme) 1350 "Load a Modus THEME using minibuffer completion. 1351 Run `modus-themes-after-load-theme-hook' after loading the theme. 1352 Disable other themes per `modus-themes-disable-other-themes'." 1353 (interactive (list (modus-themes--select-prompt))) 1354 (modus-themes-load-theme theme)) 1355 1356 (defun modus-themes--toggle-theme-p () 1357 "Return non-nil if `modus-themes-to-toggle' are valid." 1358 (mapc 1359 (lambda (theme) 1360 (if (or (memq theme modus-themes-items) 1361 (memq theme (modus-themes--list-known-themes))) 1362 theme 1363 (user-error "`%s' is not part of `modus-themes-items'" theme))) 1364 modus-themes-to-toggle)) 1365 1366 ;;;###autoload 1367 (defun modus-themes-toggle () 1368 "Toggle between the two `modus-themes-to-toggle'. 1369 If `modus-themes-to-toggle' does not specify two Modus themes, 1370 prompt with completion for a theme among our collection (this is 1371 practically the same as the `modus-themes-select' command). 1372 1373 Run `modus-themes-after-load-theme-hook' after loading the theme. 1374 Disable other themes per `modus-themes-disable-other-themes'." 1375 (interactive) 1376 (if-let* ((themes (modus-themes--toggle-theme-p)) 1377 (one (car themes)) 1378 (two (cadr themes))) 1379 (modus-themes-load-theme (if (eq (car custom-enabled-themes) one) two one)) 1380 (modus-themes-load-theme (modus-themes--select-prompt)))) 1381 1382 (defun modus-themes--list-colors-render (buffer theme &optional mappings &rest _) 1383 "Render colors in BUFFER from THEME for `modus-themes-list-colors'. 1384 Optional MAPPINGS changes the output to only list the semantic 1385 color mappings of the palette, instead of its named colors." 1386 (let* ((current-palette (modus-themes--palette-value theme mappings)) 1387 (palette (if mappings 1388 (seq-remove (lambda (cell) 1389 (stringp (cadr cell))) 1390 current-palette) 1391 current-palette)) 1392 (current-buffer buffer) 1393 (current-theme theme)) 1394 (with-help-window buffer 1395 (with-current-buffer standard-output 1396 (erase-buffer) 1397 (when (<= (display-color-cells) 256) 1398 (insert (concat "Your display terminal may not render all color previews!\n" 1399 "It seems to only support <= 256 colors.\n\n")) 1400 (put-text-property (point-min) (point) 'face 'warning)) 1401 ;; We need this to properly render the first line. 1402 (insert " ") 1403 (dolist (cell palette) 1404 (let* ((name (car cell)) 1405 (color (modus-themes-get-color-value name mappings theme)) 1406 (pad (make-string 10 ?\s)) 1407 (fg (if (eq color 'unspecified) 1408 (progn 1409 (readable-foreground-color (modus-themes-get-color-value 'bg-main nil theme)) 1410 (setq pad (make-string 6 ?\s))) 1411 (readable-foreground-color color)))) 1412 (let ((old-point (point))) 1413 (insert (format "%s %s" color pad)) 1414 (put-text-property old-point (point) 'face `( :foreground ,color))) 1415 (let ((old-point (point))) 1416 (insert (format " %s %s %s\n" color pad name)) 1417 (put-text-property old-point (point) 1418 'face `( :background ,color 1419 :foreground ,fg 1420 :extend t))) 1421 ;; We need this to properly render the last line. 1422 (insert " "))) 1423 (setq-local revert-buffer-function 1424 (lambda (_ignore-auto _noconfirm) 1425 (modus-themes--list-colors-render current-buffer current-theme mappings))))))) 1426 1427 (defvar modus-themes--list-colors-prompt-history '() 1428 "Minibuffer history for `modus-themes--list-colors-prompt'.") 1429 1430 (defun modus-themes--list-colors-prompt () 1431 "Prompt for Modus theme. 1432 Helper function for `modus-themes-list-colors'." 1433 (let ((def (format "%s" (modus-themes--current-theme))) 1434 (completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme))) 1435 (completing-read 1436 (format "Use palette from theme [%s]: " def) 1437 (modus-themes--completion-table-candidates) 1438 nil t nil 1439 'modus-themes--list-colors-prompt-history def))) 1440 1441 (defun modus-themes-list-colors (theme &optional mappings) 1442 "Preview named colors of the Modus THEME of choice. 1443 With optional prefix argument for MAPPINGS preview the semantic 1444 color mappings instead of the named colors." 1445 (interactive (list (intern (modus-themes--list-colors-prompt)) current-prefix-arg)) 1446 (modus-themes--list-colors-render 1447 (format (if mappings "*%s-list-mappings*" "*%s-list-colors*") theme) 1448 theme 1449 mappings)) 1450 1451 (defalias 'modus-themes-preview-colors 'modus-themes-list-colors 1452 "Alias of `modus-themes-list-colors'.") 1453 1454 (defun modus-themes-list-colors-current (&optional mappings) 1455 "Call `modus-themes-list-colors' for the current Modus theme. 1456 Optional prefix argument MAPPINGS has the same meaning as for 1457 `modus-themes-list-colors'." 1458 (interactive "P") 1459 (modus-themes-list-colors (modus-themes--current-theme) mappings)) 1460 1461 (defalias 'modus-themes-preview-colors-current 'modus-themes-list-colors-current 1462 "Alias of `modus-themes-list-colors-current'.") 1463 1464 1465 1466 ;;;; Internal functions 1467 1468 (defun modus-themes--warn (option) 1469 "Warn that OPTION has changed." 1470 (prog1 nil 1471 (display-warning 1472 'modus-themes 1473 (format "`%s' has changed; please read the updated documentation" option) 1474 :warning))) 1475 1476 (defun modus-themes--list-or-warn (option) 1477 "Return list or nil value of OPTION, else `modus-themes--warn'." 1478 (let* ((value (symbol-value option))) 1479 (if (or (null value) (listp value)) 1480 value 1481 (modus-themes--warn option)))) 1482 1483 (defun modus-themes--property-lookup (properties alist-key list-pred default) 1484 "Return value from property alist or list. 1485 Check PROPERTIES for an alist value that corresponds to 1486 ALIST-KEY. If no alist is present, search the PROPERTIES 1487 list given LIST-PRED, using DEFAULT as a fallback." 1488 (if-let* ((val (or (alist-get alist-key properties) 1489 (cl-loop for x in properties 1490 if (funcall list-pred x) return x) 1491 default)) 1492 ((listp val))) 1493 (car val) 1494 val)) 1495 1496 ;; Helper functions that are meant to ease the implementation of the 1497 ;; above customization variables. 1498 (defun modus-themes--bold-weight () 1499 "Conditional use of a heavier text weight." 1500 (when modus-themes-bold-constructs 1501 (list :inherit 'bold))) 1502 1503 (defun modus-themes--slant () 1504 "Conditional use of italics for slant attribute." 1505 (when modus-themes-italic-constructs 1506 (list :inherit 'italic))) 1507 1508 (defun modus-themes--fixed-pitch () 1509 "Conditional application of `fixed-pitch' inheritance." 1510 (when modus-themes-mixed-fonts 1511 (list :inherit 'fixed-pitch))) 1512 1513 (defun modus-themes--variable-pitch-ui () 1514 "Conditional use of `variable-pitch' in UI elements." 1515 (when modus-themes-variable-pitch-ui 1516 (list :inherit 'variable-pitch))) 1517 1518 (defun modus-themes--prompt (fg bg) 1519 "Conditional use of colors for text prompt faces. 1520 FG is the prompt's standard foreground. BG is a background 1521 color that is combined with FG-FOR-BG." 1522 (let* ((properties (modus-themes--list-or-warn 'modus-themes-prompts)) 1523 (weight (modus-themes--weight properties))) 1524 (list :inherit 1525 (cond 1526 ((and (memq 'bold properties) 1527 (memq 'italic properties)) 1528 'bold-italic) 1529 ((memq 'italic properties) 1530 'italic) 1531 ((memq 'bold properties) 1532 'bold) 1533 ('unspecified)) 1534 :background bg 1535 :foreground fg 1536 :weight 1537 ;; If we have `bold' specifically, we inherit the face of 1538 ;; the same name. This allows the user to customise that 1539 ;; face, such as to change its font family. 1540 (if (and weight (not (eq weight 'bold))) 1541 weight 1542 'unspecified)))) 1543 1544 (defconst modus-themes-weights 1545 '( thin ultralight extralight light semilight regular medium 1546 semibold bold heavy extrabold ultrabold) 1547 "List of font weights.") 1548 1549 (defun modus-themes--weight (list) 1550 "Search for `modus-themes-weights' weight in LIST." 1551 (catch 'found 1552 (dolist (elt list) 1553 (when (memq elt modus-themes-weights) 1554 (throw 'found elt))))) 1555 1556 (defun modus-themes--heading (level fg &optional bg ol) 1557 "Conditional styles for `modus-themes-headings'. 1558 1559 LEVEL is the heading's position in their order. FG is the 1560 default text color. Optional BG is an appropriate background. 1561 Optional OL is the color of an overline." 1562 (let* ((key (alist-get level modus-themes-headings)) 1563 (style (or key (alist-get t modus-themes-headings))) 1564 (style-listp (listp style)) 1565 (properties style) 1566 (var (when (and style-listp (memq 'variable-pitch properties)) 'variable-pitch)) 1567 (weight (when style-listp (modus-themes--weight style)))) 1568 (list :inherit (cond 1569 ((not style-listp) 'bold) 1570 ;; `no-bold' is for backward compatibility because we cannot 1571 ;; deprecate a variable's value. 1572 ((or weight (memq 'no-bold properties)) 1573 var) 1574 (var (append (list 'bold) (list var))) 1575 (t 'bold)) 1576 :background (or bg 'unspecified) 1577 :foreground fg 1578 :overline (or ol 'unspecified) 1579 :height (if style-listp 1580 (modus-themes--property-lookup properties 'height #'floatp 'unspecified) 1581 'unspecified) 1582 :weight (or weight 'unspecified)))) 1583 1584 (defun modus-themes--org-block (fg bg) 1585 "Conditionally set the FG and BG of Org blocks." 1586 (let ((gray (or (eq modus-themes-org-blocks 'gray-background) 1587 (eq modus-themes-org-blocks 'grayscale) ; for backward compatibility 1588 (eq modus-themes-org-blocks 'greyscale)))) 1589 (list :inherit 'modus-themes-fixed-pitch 1590 :background (if gray bg 'unspecified) 1591 :foreground (if gray 'unspecified fg) 1592 :extend (if gray t 'unspecified)))) 1593 1594 (defun modus-themes--completion-line (bg) 1595 "Styles for `modus-themes-completions' with BG as the background." 1596 (let* ((var (modus-themes--list-or-warn 'modus-themes-completions)) 1597 (properties (or (alist-get 'selection var) (alist-get t var))) 1598 (italic (memq 'italic properties)) 1599 (weight (modus-themes--weight properties)) 1600 (bold (when (and weight (eq weight 'bold)) 'bold))) 1601 (list 1602 :inherit 1603 (cond 1604 ((and italic weight (not (eq weight 'bold))) 1605 'italic) 1606 ((and weight (not (eq weight 'bold))) 1607 'unspecified) 1608 (italic 'bold-italic) 1609 ('bold)) 1610 :background bg 1611 :foreground 'unspecified 1612 :underline 1613 (if (memq 'underline properties) t 'unspecified) 1614 :weight 1615 (if (and weight (null bold)) weight 'unspecified)))) 1616 1617 (defun modus-themes--completion-match (fg bg) 1618 "Styles for `modus-themes-completions'. 1619 FG and BG are the main colors." 1620 (let* ((var (modus-themes--list-or-warn 'modus-themes-completions)) 1621 (properties (or (alist-get 'matches var) (alist-get t var))) 1622 (italic (memq 'italic properties)) 1623 (weight (modus-themes--weight properties)) 1624 (bold (when (and weight (eq weight 'bold)) 'bold))) 1625 (list 1626 :inherit 1627 (cond 1628 ((and italic weight (not (eq weight 'bold))) 1629 'italic) 1630 ((and weight (not (eq weight 'bold))) 1631 'unspecified) 1632 (italic 'bold-italic) 1633 ('bold)) 1634 :background bg 1635 :foreground fg 1636 :underline 1637 (if (memq 'underline properties) t 'unspecified) 1638 :weight 1639 (if (and weight (null bold)) weight 'unspecified)))) 1640 1641 1642 1643 ;;;; Face specifications 1644 1645 (defconst modus-themes-faces 1646 '( 1647 ;;;; custom faces 1648 ;; these bespoke faces are inherited by other constructs below 1649 ;;;;; just the foregrounds 1650 `(modus-themes-fg-red ((,c :foreground ,red))) 1651 `(modus-themes-fg-red-warmer ((,c :foreground ,red-warmer))) 1652 `(modus-themes-fg-red-cooler ((,c :foreground ,red-cooler))) 1653 `(modus-themes-fg-red-faint ((,c :foreground ,red-faint))) 1654 `(modus-themes-fg-red-intense ((,c :foreground ,red-intense))) 1655 `(modus-themes-fg-green ((,c :foreground ,green))) 1656 `(modus-themes-fg-green-warmer ((,c :foreground ,green-warmer))) 1657 `(modus-themes-fg-green-cooler ((,c :foreground ,green-cooler))) 1658 `(modus-themes-fg-green-faint ((,c :foreground ,green-faint))) 1659 `(modus-themes-fg-green-intense ((,c :foreground ,green-intense))) 1660 `(modus-themes-fg-yellow ((,c :foreground ,yellow))) 1661 `(modus-themes-fg-yellow-warmer ((,c :foreground ,yellow-warmer))) 1662 `(modus-themes-fg-yellow-cooler ((,c :foreground ,yellow-cooler))) 1663 `(modus-themes-fg-yellow-faint ((,c :foreground ,yellow-faint))) 1664 `(modus-themes-fg-yellow-intense ((,c :foreground ,yellow-intense))) 1665 `(modus-themes-fg-blue ((,c :foreground ,blue))) 1666 `(modus-themes-fg-blue-warmer ((,c :foreground ,blue-warmer))) 1667 `(modus-themes-fg-blue-cooler ((,c :foreground ,blue-cooler))) 1668 `(modus-themes-fg-blue-faint ((,c :foreground ,blue-faint))) 1669 `(modus-themes-fg-blue-intense ((,c :foreground ,blue-intense))) 1670 `(modus-themes-fg-magenta ((,c :foreground ,magenta))) 1671 `(modus-themes-fg-magenta-warmer ((,c :foreground ,magenta-warmer))) 1672 `(modus-themes-fg-magenta-cooler ((,c :foreground ,magenta-cooler))) 1673 `(modus-themes-fg-magenta-faint ((,c :foreground ,magenta-faint))) 1674 `(modus-themes-fg-magenta-intense ((,c :foreground ,magenta-intense))) 1675 `(modus-themes-fg-cyan ((,c :foreground ,cyan))) 1676 `(modus-themes-fg-cyan-warmer ((,c :foreground ,cyan-warmer))) 1677 `(modus-themes-fg-cyan-cooler ((,c :foreground ,cyan-cooler))) 1678 `(modus-themes-fg-cyan-faint ((,c :foreground ,cyan-faint))) 1679 `(modus-themes-fg-cyan-intense ((,c :foreground ,cyan-intense))) 1680 ;;;;; nuanced colored backgrounds 1681 `(modus-themes-nuanced-red ((,c :background ,bg-red-nuanced :extend t))) 1682 `(modus-themes-nuanced-green ((,c :background ,bg-green-nuanced :extend t))) 1683 `(modus-themes-nuanced-yellow ((,c :background ,bg-yellow-nuanced :extend t))) 1684 `(modus-themes-nuanced-blue ((,c :background ,bg-blue-nuanced :extend t))) 1685 `(modus-themes-nuanced-magenta ((,c :background ,bg-magenta-nuanced :extend t))) 1686 `(modus-themes-nuanced-cyan ((,c :background ,bg-cyan-nuanced :extend t))) 1687 ;;;;; subtle colored backgrounds 1688 `(modus-themes-subtle-red ((,c :background ,bg-red-subtle :foreground ,fg-main))) 1689 `(modus-themes-subtle-green ((,c :background ,bg-green-subtle :foreground ,fg-main))) 1690 `(modus-themes-subtle-yellow ((,c :background ,bg-yellow-subtle :foreground ,fg-main))) 1691 `(modus-themes-subtle-blue ((,c :background ,bg-blue-subtle :foreground ,fg-main))) 1692 `(modus-themes-subtle-magenta ((,c :background ,bg-magenta-subtle :foreground ,fg-main))) 1693 `(modus-themes-subtle-cyan ((,c :background ,bg-cyan-subtle :foreground ,fg-main))) 1694 ;;;;; intense colored backgrounds 1695 `(modus-themes-intense-red ((,c :background ,bg-red-intense :foreground ,fg-main))) 1696 `(modus-themes-intense-green ((,c :background ,bg-green-intense :foreground ,fg-main))) 1697 `(modus-themes-intense-yellow ((,c :background ,bg-yellow-intense :foreground ,fg-main))) 1698 `(modus-themes-intense-blue ((,c :background ,bg-blue-intense :foreground ,fg-main))) 1699 `(modus-themes-intense-magenta ((,c :background ,bg-magenta-intense :foreground ,fg-main))) 1700 `(modus-themes-intense-cyan ((,c :background ,bg-cyan-intense :foreground ,fg-main))) 1701 ;;;;; mark indicators 1702 ;; color combinations intended for Dired, Ibuffer, or equivalent 1703 `(modus-themes-mark-alt ((,c :inherit bold :background ,bg-mark-other :foreground ,fg-mark-other))) 1704 `(modus-themes-mark-del ((,c :inherit bold :background ,bg-mark-delete :foreground ,fg-mark-delete))) 1705 `(modus-themes-mark-sel ((,c :inherit bold :background ,bg-mark-select :foreground ,fg-mark-select))) 1706 ;;;;; heading levels 1707 ;; styles for regular headings used in Org, Markdown, Info, etc. 1708 `(modus-themes-heading-0 ((,c ,@(modus-themes--heading 0 fg-heading-0 bg-heading-0 overline-heading-0)))) 1709 `(modus-themes-heading-1 ((,c ,@(modus-themes--heading 1 fg-heading-1 bg-heading-1 overline-heading-1)))) 1710 `(modus-themes-heading-2 ((,c ,@(modus-themes--heading 2 fg-heading-2 bg-heading-2 overline-heading-2)))) 1711 `(modus-themes-heading-3 ((,c ,@(modus-themes--heading 3 fg-heading-3 bg-heading-3 overline-heading-3)))) 1712 `(modus-themes-heading-4 ((,c ,@(modus-themes--heading 4 fg-heading-4 bg-heading-4 overline-heading-4)))) 1713 `(modus-themes-heading-5 ((,c ,@(modus-themes--heading 5 fg-heading-5 bg-heading-5 overline-heading-5)))) 1714 `(modus-themes-heading-6 ((,c ,@(modus-themes--heading 6 fg-heading-6 bg-heading-6 overline-heading-6)))) 1715 `(modus-themes-heading-7 ((,c ,@(modus-themes--heading 7 fg-heading-7 bg-heading-7 overline-heading-7)))) 1716 `(modus-themes-heading-8 ((,c ,@(modus-themes--heading 8 fg-heading-8 bg-heading-8 overline-heading-8)))) 1717 ;;;;; language checkers 1718 `(modus-themes-lang-error ((,c :underline (:style wave :color ,underline-err)))) 1719 `(modus-themes-lang-note ((,c :underline (:style wave :color ,underline-note)))) 1720 `(modus-themes-lang-warning ((,c :underline (:style wave :color ,underline-warning)))) 1721 ;;;;; prominent semantic notes 1722 `(modus-themes-prominent-error ((,c :background ,bg-prominent-err :foreground ,fg-prominent-err))) 1723 `(modus-themes-prominent-note ((,c :background ,bg-prominent-note :foreground ,fg-prominent-note))) 1724 `(modus-themes-prominent-warning ((,c :background ,bg-prominent-warning :foreground ,fg-prominent-warning))) 1725 ;;;;; markup 1726 `(modus-themes-prose-code ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-code))) 1727 `(modus-themes-prose-macro ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-macro))) 1728 `(modus-themes-prose-verbatim ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-verbatim))) 1729 ;;;;; search 1730 `(modus-themes-search-current ((,c :background ,bg-yellow-intense :foreground ,fg-main))) 1731 `(modus-themes-search-lazy ((,c :background ,bg-cyan-intense :foreground ,fg-main))) 1732 ;;;;; completion frameworks 1733 `(modus-themes-completion-match-0 ((,c ,@(modus-themes--completion-match fg-completion-match-0 bg-completion-match-0)))) 1734 `(modus-themes-completion-match-1 ((,c ,@(modus-themes--completion-match fg-completion-match-1 bg-completion-match-1)))) 1735 `(modus-themes-completion-match-2 ((,c ,@(modus-themes--completion-match fg-completion-match-2 bg-completion-match-2)))) 1736 `(modus-themes-completion-match-3 ((,c ,@(modus-themes--completion-match fg-completion-match-3 bg-completion-match-3)))) 1737 `(modus-themes-completion-selected ((,c ,@(modus-themes--completion-line bg-completion)))) 1738 ;;;;; typography 1739 `(modus-themes-bold ((,c ,@(modus-themes--bold-weight)))) 1740 `(modus-themes-fixed-pitch ((,c ,@(modus-themes--fixed-pitch)))) 1741 `(modus-themes-slant ((,c ,@(modus-themes--slant)))) 1742 `(modus-themes-ui-variable-pitch ((,c ,@(modus-themes--variable-pitch-ui)))) 1743 ;;;;; other custom faces 1744 `(modus-themes-button ((,c :inherit variable-pitch 1745 :box (:line-width 1 :color ,border :style released-button) 1746 :background ,bg-button-active 1747 :foreground ,fg-button-active))) 1748 `(modus-themes-key-binding ((,c :inherit (bold modus-themes-fixed-pitch) :foreground ,keybind))) 1749 `(modus-themes-prompt ((,c ,@(modus-themes--prompt fg-prompt bg-prompt)))) 1750 `(modus-themes-reset-soft ((,c :background ,bg-main :foreground ,fg-main 1751 :weight normal :slant normal :strike-through nil 1752 :box nil :underline nil :overline nil :extend nil))) 1753 ;;;; standard faces 1754 ;;;;; absolute essentials 1755 `(default ((,c :background ,bg-main :foreground ,fg-main))) 1756 `(cursor ((,c :background ,cursor))) 1757 `(fringe ((,c :background ,fringe :foreground ,fg-main))) 1758 `(menu ((,c :background ,bg-dim :foreground ,fg-main))) 1759 `(scroll-bar ((,c :background ,bg-dim :foreground ,fg-dim))) 1760 `(tool-bar ((,c :background ,bg-dim :foreground ,fg-main))) 1761 `(vertical-border ((,c :foreground ,border))) 1762 ;;;;; basic and/or ungrouped styles 1763 `(appt-notification ((,c :inherit error))) 1764 `(blink-matching-paren-highlight-offscreen ((,c :background ,bg-paren-match))) 1765 `(bold ((,c :weight bold))) 1766 `(bold-italic ((,c :inherit (bold italic)))) 1767 `(underline ((,c :underline ,fg-dim))) 1768 `(buffer-menu-buffer ((,c :inherit bold))) 1769 `(child-frame-border ((,c :background ,border))) 1770 `(comint-highlight-input ((,c :inherit bold))) 1771 `(comint-highlight-prompt ((,c :inherit modus-themes-prompt))) 1772 `(confusingly-reordered ((,c :inherit modus-themes-lang-error))) 1773 `(edmacro-label ((,c :inherit bold :foreground ,accent-0))) 1774 `(elisp-shorthand-font-lock-face ((,c :inherit font-lock-variable-name-face))) 1775 `(error ((,c :inherit bold :foreground ,err))) 1776 `(escape-glyph ((,c :foreground ,err))) 1777 `(file-name-shadow ((,c :inherit shadow))) 1778 `(header-line ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-dim))) 1779 `(header-line-highlight ((,c :inherit highlight))) 1780 `(help-argument-name ((,c :inherit modus-themes-slant :foreground ,variable))) 1781 `(help-key-binding ((,c :inherit modus-themes-key-binding))) 1782 `(highlight ((,c :background ,bg-hover :foreground ,fg-main))) 1783 `(homoglyph ((,c :foreground ,warning))) 1784 `(ibuffer-locked-buffer ((,c :foreground ,warning))) 1785 `(icon-button ((,c :inherit modus-themes-button))) 1786 `(italic ((,c :slant italic))) 1787 `(nobreak-hyphen ((,c :foreground ,err))) 1788 `(nobreak-space ((,c :foreground ,err :underline t))) 1789 `(menu ((,c :inverse-video unspecified :background ,bg-active :foreground ,fg-main))) 1790 `(minibuffer-prompt ((,c :inherit modus-themes-prompt))) 1791 `(mm-command-output ((,c :foreground ,mail-part))) 1792 `(mm-uu-extract ((,c :foreground ,mail-part))) 1793 `(next-error ((,c :inherit modus-themes-prominent-error :extend t))) 1794 `(pgtk-im-0 ((,c :inherit modus-themes-prominent-note))) 1795 `(read-multiple-choice-face ((,c :inherit (bold modus-themes-mark-alt)))) 1796 `(rectangle-preview ((,c :inherit secondary-selection))) 1797 `(region ((,c :background ,bg-region :foreground ,fg-region))) 1798 `(secondary-selection ((,c :background ,bg-hover-secondary :foreground ,fg-main))) 1799 `(separator-line ((,c :underline ,bg-active))) 1800 `(shadow ((,c :foreground ,fg-dim))) 1801 `(success ((,c :inherit bold :foreground ,info))) 1802 `(trailing-whitespace ((,c :background ,bg-space-err))) 1803 `(warning ((,c :inherit bold :foreground ,warning))) 1804 ;;;;; buttons, links, widgets 1805 `(button ((,c :background ,bg-link :foreground ,fg-link :underline ,underline-link))) 1806 `(link ((,c :inherit button))) 1807 `(link-visited ((,c :background ,bg-link-visited :foreground ,fg-link-visited :underline ,underline-link-visited))) 1808 `(tooltip ((,c :background ,bg-active :foreground ,fg-main))) 1809 ;;;;; agda2-mode 1810 `(agda2-highlight-bound-variable-face ((,c :inherit font-lock-variable-name-face))) 1811 `(agda2-highlight-catchall-clause-face ((,c :background ,bg-inactive))) 1812 `(agda2-highlight-coinductive-constructor-face ((,c :inherit font-lock-type-face))) 1813 `(agda2-highlight-coverage-problem-face ((,c :inherit modus-themes-lang-error))) 1814 `(agda2-highlight-datatype-face ((,c :inherit font-lock-type-face))) 1815 `(agda2-highlight-deadcode-face ((,c :background ,bg-active))) 1816 `(agda2-highlight-dotted-face ((,c :inherit font-lock-variable-name-face))) 1817 `(agda2-highlight-error-face ((,c :inherit modus-themes-lang-error))) 1818 `(agda2-highlight-field-face ((,c :inherit font-lock-type-face))) 1819 `(agda2-highlight-function-face ((,c :inherit font-lock-function-name-face))) 1820 `(agda2-highlight-generalizable-variable-face ((,c :inherit font-lock-variable-name-face))) 1821 `(agda2-highlight-incomplete-pattern-face ((,c :inherit modus-themes-lang-warning))) 1822 `(agda2-highlight-inductive-constructor-face ((,c :inherit font-lock-type-face))) 1823 `(agda2-highlight-keyword-face ((,c :inherit font-lock-keyword-face))) 1824 `(agda2-highlight-macro-face ((,c :inherit font-lock-keyword-face))) 1825 `(agda2-highlight-module-face ((,c :inherit font-lock-variable-name-face))) 1826 `(agda2-highlight-number-face ((,c :inherit shadow))) 1827 `(agda2-highlight-operator-face ((,c :inherit font-lock-variable-name-face))) 1828 `(agda2-highlight-positivity-problem-face ((,c :inherit modus-themes-lang-warning))) 1829 `(agda2-highlight-postulate-face ((,c :inherit font-lock-type-face))) 1830 `(agda2-highlight-pragma-face ((,c :inherit font-lock-preprocessor-face))) 1831 `(agda2-highlight-primitive-face ((,c :inherit font-lock-type-face))) 1832 `(agda2-highlight-primitive-type-face ((,c :inherit font-lock-type-face))) 1833 `(agda2-highlight-record-face ((,c :inherit font-lock-type-face))) 1834 `(agda2-highlight-string-face ((,c :inherit font-lock-string-face))) 1835 `(agda2-highlight-symbol-face ((,c :inherit font-lock-constant-face))) 1836 `(agda2-highlight-termination-problem-face ((,c :inherit modus-themes-lang-warning))) 1837 `(agda2-highlight-typechecks-face ((,c :inherit font-lock-warning-face))) 1838 `(agda2-highlight-unsolved-constraint-face ((,c :inherit modus-themes-lang-warning))) 1839 `(agda2-highlight-unsolved-meta-face ((,c :inherit modus-themes-lang-warning))) 1840 ;;;;; all-the-icons 1841 `(all-the-icons-blue ((,c :foreground ,blue-cooler))) 1842 `(all-the-icons-blue-alt ((,c :foreground ,blue-warmer))) 1843 `(all-the-icons-cyan ((,c :foreground ,cyan))) 1844 `(all-the-icons-cyan-alt ((,c :foreground ,cyan-warmer))) 1845 `(all-the-icons-dblue ((,c :foreground ,blue-faint))) 1846 `(all-the-icons-dcyan ((,c :foreground ,cyan-faint))) 1847 `(all-the-icons-dgreen ((,c :foreground ,green-faint))) 1848 `(all-the-icons-dmaroon ((,c :foreground ,magenta-faint))) 1849 `(all-the-icons-dorange ((,c :foreground ,red-faint))) 1850 `(all-the-icons-dpink ((,c :foreground ,magenta-faint))) 1851 `(all-the-icons-dpurple ((,c :foreground ,magenta-cooler))) 1852 `(all-the-icons-dred ((,c :foreground ,red))) 1853 `(all-the-icons-dsilver ((,c :foreground ,cyan-faint))) 1854 `(all-the-icons-dyellow ((,c :foreground ,yellow-faint))) 1855 `(all-the-icons-green ((,c :foreground ,green))) 1856 `(all-the-icons-lblue ((,c :foreground ,blue-cooler))) 1857 `(all-the-icons-lcyan ((,c :foreground ,cyan))) 1858 `(all-the-icons-lgreen ((,c :foreground ,green-warmer))) 1859 `(all-the-icons-lmaroon ((,c :foreground ,magenta-warmer))) 1860 `(all-the-icons-lorange ((,c :foreground ,red-warmer))) 1861 `(all-the-icons-lpink ((,c :foreground ,magenta))) 1862 `(all-the-icons-lpurple ((,c :foreground ,magenta-faint))) 1863 `(all-the-icons-lred ((,c :foreground ,red-faint))) 1864 `(all-the-icons-lsilver ((,c :foreground "gray50"))) 1865 `(all-the-icons-lyellow ((,c :foreground ,yellow-warmer))) 1866 `(all-the-icons-maroon ((,c :foreground ,magenta))) 1867 `(all-the-icons-orange ((,c :foreground ,yellow-warmer))) 1868 `(all-the-icons-pink ((,c :foreground ,magenta-warmer))) 1869 `(all-the-icons-purple ((,c :foreground ,magenta-cooler))) 1870 `(all-the-icons-purple-alt ((,c :foreground ,blue-warmer))) 1871 `(all-the-icons-red ((,c :foreground ,red))) 1872 `(all-the-icons-red-alt ((,c :foreground ,red-cooler))) 1873 `(all-the-icons-silver ((,c :foreground "gray50"))) 1874 `(all-the-icons-yellow ((,c :foreground ,yellow))) 1875 ;;;;; all-the-icons-dired 1876 `(all-the-icons-dired-dir-face ((,c :foreground ,cyan-faint))) 1877 ;;;;; all-the-icons-ibuffer 1878 `(all-the-icons-ibuffer-dir-face ((,c :foreground ,cyan-faint))) 1879 `(all-the-icons-ibuffer-file-face ((,c :foreground ,blue-faint))) 1880 `(all-the-icons-ibuffer-mode-face ((,c :foreground ,cyan))) 1881 `(all-the-icons-ibuffer-size-face ((,c :foreground ,cyan-cooler))) 1882 ;;;;; annotate 1883 `(annotate-annotation ((,c :inherit modus-themes-subtle-blue))) 1884 `(annotate-annotation-secondary ((,c :inherit modus-themes-subtle-magenta))) 1885 `(annotate-highlight ((,c :background ,bg-blue-subtle :underline ,blue-intense))) 1886 `(annotate-highlight-secondary ((,c :background ,bg-magenta-subtle :underline ,magenta-intense))) 1887 ;;;;; ansi-color 1888 ;; Those are in Emacs28. 1889 `(ansi-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black))) 1890 `(ansi-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue))) 1891 `(ansi-color-bold ((,c :inherit bold))) 1892 `(ansi-color-bright-black ((,c :background ,bg-term-black-bright :foreground ,fg-term-black-bright))) 1893 `(ansi-color-bright-blue ((,c :background ,bg-term-blue-bright :foreground ,fg-term-blue-bright))) 1894 `(ansi-color-bright-cyan ((,c :background ,bg-term-cyan-bright :foreground ,fg-term-cyan-bright))) 1895 `(ansi-color-bright-green ((,c :background ,bg-term-green-bright :foreground ,fg-term-green-bright))) 1896 `(ansi-color-bright-magenta ((,c :background ,bg-term-magenta-bright :foreground ,fg-term-magenta-bright))) 1897 `(ansi-color-bright-red ((,c :background ,bg-term-red-bright :foreground ,fg-term-red-bright))) 1898 `(ansi-color-bright-white ((,c :background ,bg-term-white-bright :foreground ,fg-term-white-bright))) 1899 `(ansi-color-bright-yellow ((,c :background ,bg-term-yellow-bright :foreground ,fg-term-yellow-bright))) 1900 `(ansi-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan))) 1901 `(ansi-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green))) 1902 `(ansi-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta))) 1903 `(ansi-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red))) 1904 `(ansi-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white))) 1905 `(ansi-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow))) 1906 ;;;;; anzu 1907 `(anzu-match-1 ((,c :inherit modus-themes-subtle-cyan))) 1908 `(anzu-match-2 ((,c :inherit modus-themes-search-current))) 1909 `(anzu-match-3 ((,c :inherit modus-themes-subtle-yellow))) 1910 `(anzu-mode-line ((,c :inherit bold))) 1911 `(anzu-mode-line-no-match ((,c :inherit error))) 1912 `(anzu-replace-highlight ((,c :inherit modus-themes-prominent-error :underline t))) 1913 `(anzu-replace-to ((,c :inherit modus-themes-search-current))) 1914 ;;;;; auctex and Tex 1915 `(font-latex-bold-face ((,c :inherit bold))) 1916 `(font-latex-doctex-documentation-face ((,c :inherit font-lock-doc-face))) 1917 `(font-latex-doctex-preprocessor-face ((,c :inherit font-lock-preprocessor-face))) 1918 `(font-latex-italic-face ((,c :inherit italic))) 1919 `(font-latex-math-face ((,c :inherit font-lock-constant-face))) 1920 `(font-latex-script-char-face ((,c :inherit font-lock-builtin-face))) 1921 `(font-latex-sectioning-5-face ((,c :inherit (bold modus-themes-variable-pitch) :foreground ,fg-alt))) 1922 `(font-latex-sedate-face ((,c :inherit font-lock-keyword-face))) 1923 `(font-latex-slide-title-face ((,c :inherit modus-themes-heading-1))) 1924 `(font-latex-string-face ((,c :inherit font-lock-string-face))) 1925 `(font-latex-subscript-face ((,c :height 0.95))) 1926 `(font-latex-superscript-face ((,c :height 0.95))) 1927 `(font-latex-underline-face ((,c :inherit underline))) 1928 `(font-latex-verbatim-face ((,c :inherit modus-themes-prose-verbatim))) 1929 `(font-latex-warning-face ((,c :inherit font-lock-warning-face))) 1930 `(tex-verbatim ((,c :inherit modus-themes-prose-verbatim))) 1931 ;; `(texinfo-heading ((,c :foreground ,magenta))) 1932 `(TeX-error-description-error ((,c :inherit error))) 1933 `(TeX-error-description-help ((,c :inherit success))) 1934 `(TeX-error-description-tex-said ((,c :inherit success))) 1935 `(TeX-error-description-warning ((,c :inherit warning))) 1936 ;;;;; auto-dim-other-buffers 1937 `(auto-dim-other-buffers-face ((,c :background ,bg-inactive))) 1938 ;;;;; avy 1939 `(avy-background-face ((,c :background ,bg-dim :foreground ,fg-dim :extend t))) 1940 `(avy-goto-char-timer-face ((,c :inherit bold :background ,bg-active))) 1941 `(avy-lead-face ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-0))) 1942 `(avy-lead-face-0 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-1))) 1943 `(avy-lead-face-1 ((,c :inherit modus-themes-reset-soft :background ,bg-inactive))) 1944 `(avy-lead-face-2 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-2))) 1945 ;;;;; aw (ace-window) 1946 `(aw-background-face ((,c :foreground "gray50"))) 1947 `(aw-key-face ((,c :inherit modus-themes-key-binding))) 1948 `(aw-leading-char-face ((,c :inherit (bold modus-themes-reset-soft) :height 1.5 :foreground ,red-intense))) 1949 `(aw-minibuffer-leading-char-face ((,c :inherit modus-themes-key-binding))) 1950 `(aw-mode-line-face ((,c :inherit bold))) 1951 ;;;;; binder 1952 `(binder-sidebar-highlight ((,c :inherit modus-themes-hl-line))) 1953 `(binder-sidebar-marked ((,c :inherit modus-themes-mark-sel))) 1954 `(binder-sidebar-missing ((,c :inherit modus-themes-mark-del))) 1955 `(binder-sidebar-tags ((,c :foreground ,variable))) 1956 ;;;;; breadcrumb 1957 `(breadcrumb-face ((,c :foreground ,fg-alt))) 1958 `(breadcrumb-imenu-leaf-face ((,c :inherit bold :foreground ,modeline-info))) ; same as `which-func' 1959 `(breadcrumb-project-leaf-face ((,c :inherit bold))) 1960 ;;;;; bongo 1961 `(bongo-album-title (( ))) 1962 `(bongo-artist ((,c :foreground ,accent-0))) 1963 `(bongo-currently-playing-track ((,c :inherit bold))) 1964 `(bongo-elapsed-track-part ((,c :background ,bg-inactive :underline t))) 1965 `(bongo-filled-seek-bar ((,c :background ,bg-hover))) 1966 `(bongo-marked-track ((,c :inherit modus-themes-mark-alt))) 1967 `(bongo-marked-track-line ((,c :background ,bg-dim))) 1968 `(bongo-played-track ((,c :inherit shadow :strike-through t))) 1969 `(bongo-track-length ((,c :inherit shadow))) 1970 `(bongo-track-title ((,c :foreground ,accent-1))) 1971 `(bongo-unfilled-seek-bar ((,c :background ,bg-dim))) 1972 ;;;;; boon 1973 `(boon-modeline-cmd ((,c :inherit modus-themes-intense-blue))) 1974 `(boon-modeline-ins ((,c :inherit modus-themes-intense-red))) 1975 `(boon-modeline-off ((,c :inherit modus-themes-intense-yellow))) 1976 `(boon-modeline-spc ((,c :inherit modus-themes-intense-green))) 1977 ;;;;; bookmark 1978 `(bookmark-face ((,c :inherit success))) 1979 `(bookmark-menu-bookmark ((,c :inherit bold))) 1980 ;;;;; calendar and diary 1981 `(calendar-month-header ((,c :inherit bold))) 1982 `(calendar-today ((,c :inherit bold :underline t))) 1983 `(calendar-weekday-header ((,c :foreground ,date-weekday))) 1984 `(calendar-weekend-header ((,c :foreground ,date-weekend))) 1985 `(diary ((,c :foreground ,date-common))) 1986 `(diary-anniversary ((,c :foreground ,date-holiday))) 1987 `(diary-time ((,c :foreground ,date-common))) 1988 `(holiday ((,c :foreground ,date-holiday))) 1989 ;;;;; calibredb 1990 ;; NOTE 2022-12-27: Calibredb needs to be reviewed. I had to 1991 ;; change the applicable colors for the transition to 1992 ;; modus-themes version 4, but I cannot test this currently (it 1993 ;; depends on an external program). 1994 `(calibredb-archive-face ((,c :foreground ,accent-3))) 1995 `(calibredb-author-face ((,c :foreground ,name))) 1996 `(calibredb-comment-face ((,c :inherit shadow))) 1997 `(calibredb-date-face ((,c :foreground ,date-common))) 1998 `(calibredb-edit-annotation-header-title-face ((,c :inherit bold))) 1999 `(calibredb-favorite-face ((,c :foreground ,red-warmer))) 2000 `(calibredb-file-face (( ))) 2001 `(calibredb-format-face ((,c :foreground ,fg-alt))) 2002 `(calibredb-highlight-face ((,c :inherit success))) 2003 `(calibredb-id-face (( ))) 2004 `(calibredb-ids-face (( ))) 2005 `(calibredb-search-header-highlight-face ((,c :background ,bg-hl-line :extend t))) 2006 `(calibredb-search-header-library-name-face ((,c :foreground ,accent-2))) 2007 `(calibredb-search-header-library-path-face ((,c :inherit bold))) 2008 `(calibredb-search-header-sort-face ((,c :inherit bold :foreground ,accent-1))) 2009 `(calibredb-search-header-total-face ((,c :inherit bold :foreground ,accent-0))) 2010 `(calibredb-search-header-filter-face ((,c :inherit bold))) 2011 `(calibredb-mark-face ((,c :inherit modus-themes-mark-sel))) 2012 `(calibredb-size-face (( ))) 2013 `(calibredb-tag-face ((,c :foreground ,fg-alt))) 2014 ;;;;; centaur-tabs 2015 `(centaur-tabs-active-bar-face ((,c :background ,blue))) 2016 `(centaur-tabs-close-mouse-face ((,c :inherit bold :foreground ,red :underline t))) 2017 `(centaur-tabs-close-selected ((,c :inherit centaur-tabs-selected))) 2018 `(centaur-tabs-close-unselected ((,c :inherit centaur-tabs-unselected))) 2019 `(centaur-tabs-modified-marker-selected ((,c :inherit centaur-tabs-selected))) 2020 `(centaur-tabs-modified-marker-unselected ((,c :inherit centaur-tabs-unselected))) 2021 `(centaur-tabs-default ((,c :background ,bg-main))) 2022 `(centaur-tabs-selected ((,c :inherit bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) 2023 `(centaur-tabs-selected-modified ((,c :inherit (italic centaur-tabs-selected)))) 2024 `(centaur-tabs-unselected ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) 2025 `(centaur-tabs-unselected-modified ((,c :inherit (italic centaur-tabs-unselected)))) 2026 ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') 2027 `(change-log-acknowledgment ((,c :foreground ,identifier))) 2028 `(change-log-conditionals ((,c :inherit error))) 2029 `(change-log-date ((,c :foreground ,date-common))) 2030 `(change-log-email ((,c :foreground ,fg-alt))) 2031 `(change-log-file ((,c :inherit bold))) 2032 `(change-log-function ((,c :inherit warning))) 2033 `(change-log-list ((,c :inherit bold))) 2034 `(change-log-name ((,c :foreground ,name))) 2035 `(log-edit-header ((,c :inherit bold))) 2036 `(log-edit-headers-separator ((,c :height 1 :background ,border :extend t))) 2037 `(log-edit-summary ((,c :inherit success))) 2038 `(log-edit-unknown-header ((,c :inherit shadow))) 2039 `(log-view-commit-body (( ))) 2040 `(log-view-file ((,c :inherit bold))) 2041 `(log-view-message ((,c :foreground ,identifier))) 2042 ;;;;; cider 2043 `(cider-deprecated-face ((,c :inherit warning))) 2044 `(cider-enlightened-face ((,c :box ,warning))) 2045 `(cider-enlightened-local-face ((,c :inherit warning))) 2046 `(cider-error-highlight-face ((,c :inherit modus-themes-lang-error))) 2047 `(cider-fringe-good-face ((,c :foreground ,info))) 2048 `(cider-instrumented-face ((,c :box ,err))) 2049 `(cider-reader-conditional-face ((,c :inherit font-lock-type-face))) 2050 `(cider-repl-prompt-face ((,c :inherit minibuffer-prompt))) 2051 `(cider-repl-stderr-face ((,c :foreground ,err))) 2052 `(cider-repl-stdout-face (( ))) 2053 `(cider-warning-highlight-face ((,c :inherit modus-themes-lang-warning))) 2054 ;;;;; circe (and lui) 2055 `(circe-fool-face ((,c :inherit shadow))) 2056 `(circe-highlight-nick-face ((,c :inherit error))) 2057 `(circe-prompt-face ((,c :inherit modus-themes-prompt))) 2058 `(circe-server-face ((,c :inherit shadow))) 2059 `(lui-button-face ((,c :inherit button))) 2060 `(lui-highlight-face ((,c :inherit error))) 2061 `(lui-time-stamp-face ((,c :foreground ,date-common))) 2062 ;;;;; citar 2063 `(citar ((,c :inherit shadow))) 2064 `(citar-highlight (( ))) 2065 ;;;;; clojure-mode 2066 `(clojure-keyword-face ((,c :inherit font-lock-builtin-face))) 2067 ;;;;; column-enforce-mode 2068 `(column-enforce-face ((,c :inherit modus-themes-prominent-error))) 2069 ;;;;; company-mode 2070 `(company-echo-common ((,c :inherit modus-themes-completion-match-0))) 2071 `(company-preview ((,c :background ,bg-dim :foreground ,fg-dim))) 2072 `(company-preview-common ((,c :inherit company-echo-common))) 2073 `(company-preview-search ((,c :background ,bg-yellow-intense))) 2074 `(company-scrollbar-bg ((,c :background ,bg-active))) 2075 `(company-scrollbar-fg ((,c :background ,fg-main))) 2076 `(company-template-field ((,c :background ,bg-active))) 2077 `(company-tooltip ((,c :background ,bg-dim))) 2078 `(company-tooltip-annotation ((,c :inherit completions-annotations))) 2079 `(company-tooltip-common ((,c :inherit company-echo-common))) 2080 `(company-tooltip-deprecated ((,c :inherit company-tooltip :strike-through t))) 2081 `(company-tooltip-mouse ((,c :inherit highlight))) 2082 `(company-tooltip-scrollbar-thumb ((,c :background ,fg-alt))) 2083 `(company-tooltip-scrollbar-track ((,c :background ,bg-inactive))) 2084 `(company-tooltip-search ((,c :inherit secondary-selection))) 2085 `(company-tooltip-search-selection ((,c :inherit secondary-selection :underline t))) 2086 `(company-tooltip-selection ((,c :inherit modus-themes-completion-selected))) 2087 ;;;;; compilation 2088 `(compilation-column-number ((,c :inherit compilation-line-number))) 2089 `(compilation-error ((,c :inherit modus-themes-bold :foreground ,err))) 2090 `(compilation-info ((,c :inherit modus-themes-bold :foreground ,info))) 2091 `(compilation-line-number ((,c :inherit shadow))) 2092 `(compilation-mode-line-exit ((,c :inherit bold))) 2093 `(compilation-mode-line-fail ((,c :inherit bold :foreground ,modeline-err))) 2094 `(compilation-mode-line-run ((,c :inherit bold :foreground ,modeline-warning))) 2095 `(compilation-warning ((,c :inherit modus-themes-bold :foreground ,warning))) 2096 ;;;;; completions 2097 `(completions-annotations ((,c :inherit modus-themes-slant :foreground ,docstring))) 2098 `(completions-common-part ((,c :inherit modus-themes-completion-match-0))) 2099 `(completions-first-difference ((,c :inherit modus-themes-completion-match-1))) 2100 ;;;;; consult 2101 `(consult-async-split ((,c :inherit error))) 2102 `(consult-file ((,c :inherit modus-themes-bold :foreground ,info))) 2103 `(consult-key ((,c :inherit modus-themes-key-binding))) 2104 `(consult-imenu-prefix ((,c :inherit shadow))) 2105 `(consult-line-number ((,c :inherit shadow))) 2106 `(consult-line-number-prefix ((,c :inherit shadow))) 2107 ;;;;; corfu 2108 `(corfu-current ((,c :inherit modus-themes-completion-selected))) 2109 `(corfu-bar ((,c :background ,fg-dim))) 2110 `(corfu-border ((,c :background ,bg-active))) 2111 `(corfu-default ((,c :background ,bg-dim))) 2112 ;;;;; corfu-candidate-overlay 2113 `(corfu-candidate-overlay-face ((t :inherit shadow))) 2114 ;;;;; corfu-quick 2115 `(corfu-quick1 ((,c :inherit bold :background ,bg-char-0))) 2116 `(corfu-quick2 ((,c :inherit bold :background ,bg-char-1))) 2117 ;;;;; counsel 2118 `(counsel-active-mode ((,c :foreground ,keyword))) 2119 `(counsel-application-name ((,c :foreground ,name))) 2120 `(counsel-key-binding ((,c :inherit modus-themes-key-binding))) 2121 `(counsel-outline-default ((,c :foreground ,fg-main))) 2122 `(counsel-variable-documentation ((,c :inherit font-lock-doc-face))) 2123 ;;;;; cperl-mode 2124 `(cperl-nonoverridable-face ((,c :foreground unspecified))) 2125 `(cperl-array-face ((,c :inherit font-lock-keyword-face))) 2126 `(cperl-hash-face ((,c :inherit font-lock-variable-name-face))) 2127 ;;;;; crontab-mode 2128 `(crontab-minute ((,c :foreground ,string))) 2129 `(crontab-hour ((,c :foreground ,keyword))) 2130 `(crontab-month-day ((,c :foreground ,builtin))) 2131 `(crontab-month ((,c :foreground ,constant))) 2132 `(crontab-week-day ((,c :foreground ,variable))) 2133 `(crontab-predefined ((,c :foreground ,string))) 2134 ;;;;; csv-mode 2135 `(csv-separator-face ((,c :foreground ,red-intense))) 2136 ;;;;; ctrlf 2137 `(ctrlf-highlight-active ((,c :inherit modus-themes-search-current))) 2138 `(ctrlf-highlight-line ((,c :background ,bg-hl-line :extend t))) 2139 `(ctrlf-highlight-passive ((,c :inherit modus-themes-search-lazy))) 2140 ;;;;; custom (M-x customize) 2141 `(custom-button ((,c :inherit modus-themes-button))) 2142 `(custom-button-mouse ((,c :inherit (highlight custom-button)))) 2143 `(custom-button-pressed ((,c :inherit (secondary-selection custom-button)))) 2144 `(custom-changed ((,c :background ,bg-changed))) 2145 `(custom-comment ((,c :inherit shadow))) 2146 `(custom-comment-tag ((,c :inherit (bold shadow)))) 2147 `(custom-invalid ((,c :inherit error :strike-through t))) 2148 `(custom-modified ((,c :inherit custom-changed))) 2149 `(custom-rogue ((,c :inherit custom-invalid))) 2150 `(custom-set ((,c :inherit success))) 2151 `(custom-state ((,c :foreground ,warning))) 2152 `(custom-themed ((,c :inherit custom-changed))) 2153 `(custom-variable-obsolete ((,c :inherit shadow))) 2154 `(custom-face-tag ((,c :inherit bold :foreground ,type))) 2155 `(custom-group-tag ((,c :inherit bold :foreground ,builtin))) 2156 `(custom-group-tag-1 ((,c :inherit bold :foreground ,constant))) 2157 `(custom-variable-tag ((,c :inherit bold :foreground ,variable))) 2158 ;;;;; dashboard 2159 `(dashboard-heading ((,c :foreground ,name))) 2160 `(dashboard-items-face (( ))) ; use the underlying style of all-the-icons 2161 ;;;;; deadgrep 2162 `(deadgrep-filename-face ((,c :inherit bold :foreground ,name))) 2163 `(deadgrep-match-face ((,c :inherit match))) 2164 `(deadgrep-meta-face ((,c :inherit shadow))) 2165 `(deadgrep-regexp-metachar-face ((,c :inherit font-lock-regexp-grouping-construct))) 2166 `(deadgrep-search-term-face ((,c :inherit success))) 2167 ;;;;; deft 2168 `(deft-filter-string-face ((,c :inherit success))) 2169 `(deft-header-face ((,c :inherit shadow))) 2170 `(deft-separator-face ((,c :foreground "gray50"))) 2171 `(deft-summary-face ((,c :inherit (shadow modus-themes-slant)))) 2172 `(deft-time-face ((,c :foreground ,date-common))) 2173 `(deft-title-face ((,c :inherit bold))) 2174 ;;;;; devdocs 2175 `(devdocs-code-block ((,c :inherit modus-themes-fixed-pitch :background ,bg-dim :extend t))) 2176 ;;;;; dictionary 2177 `(dictionary-button-face ((,c :inherit bold))) 2178 `(dictionary-reference-face ((,c :inherit link))) 2179 `(dictionary-word-definition-face (( ))) 2180 `(dictionary-word-entry-face ((,c :inherit font-lock-comment-face))) 2181 ;;;;; diff-hl 2182 `(diff-hl-change ((,c :background ,bg-changed-fringe))) 2183 `(diff-hl-delete ((,c :background ,bg-removed-fringe))) 2184 `(diff-hl-insert ((,c :background ,bg-added-fringe))) 2185 `(diff-hl-reverted-hunk-highlight ((,c :background ,fg-main :foreground ,bg-main))) 2186 ;;;;; diff-mode 2187 `(diff-added ((,c :background ,bg-added :foreground ,fg-added))) 2188 `(diff-changed ((,c :background ,bg-changed :foreground ,fg-changed :extend t))) 2189 `(diff-changed-unspecified ((,c :inherit diff-changed))) 2190 `(diff-removed ((,c :background ,bg-removed :foreground ,fg-removed))) 2191 `(diff-refine-added ((,c :background ,bg-added-refine :foreground ,fg-added))) 2192 `(diff-refine-changed ((,c :background ,bg-changed-refine :foreground ,fg-changed))) 2193 `(diff-refine-removed ((,c :background ,bg-removed-refine :foreground ,fg-removed))) 2194 `(diff-indicator-added ((,c :inherit diff-added :foreground ,fg-added-intense))) 2195 `(diff-indicator-changed ((,c :inherit diff-changed :foreground ,fg-changed-intense))) 2196 `(diff-indicator-removed ((,c :inherit diff-removed :foreground ,fg-removed-intense))) 2197 `(diff-context (( ))) 2198 `(diff-error ((,c :inherit error))) 2199 `(diff-file-header ((,c :inherit bold))) 2200 `(diff-function ((,c :background ,bg-inactive))) 2201 `(diff-header (( ))) 2202 `(diff-hunk-header ((,c :inherit bold :background ,bg-inactive))) 2203 `(diff-index ((,c :inherit italic))) 2204 `(diff-nonexistent ((,c :inherit bold))) 2205 ;;;;; dim-autoload 2206 `(dim-autoload-cookie-line ((,c :inherit font-lock-comment-face))) 2207 ;;;;; dired 2208 `(dired-broken-symlink ((,c :inherit button :foreground ,err))) 2209 `(dired-directory ((,c :foreground ,accent-0))) 2210 `(dired-flagged ((,c :inherit modus-themes-mark-del))) 2211 `(dired-header ((,c :inherit bold))) 2212 `(dired-ignored ((,c :inherit shadow))) 2213 `(dired-mark ((,c :inherit bold))) 2214 `(dired-marked ((,c :inherit modus-themes-mark-sel))) 2215 `(dired-perm-write ((,c :inherit shadow))) 2216 `(dired-symlink ((,c :inherit button :background ,bg-link-symbolic :foreground ,fg-link-symbolic :underline ,underline-link-symbolic))) 2217 `(dired-warning ((,c :inherit warning))) 2218 ;;;;; dired-async 2219 `(dired-async-failures ((,c :inherit error))) 2220 `(dired-async-message ((,c :inherit bold))) 2221 `(dired-async-mode-message ((,c :inherit bold))) 2222 ;;;;; dired-git 2223 `(dired-git-branch-else ((,c :inherit bold :foreground ,accent-0))) 2224 `(dired-git-branch-master ((,c :inherit bold :foreground ,accent-1))) 2225 ;;;;; dired-git-info 2226 `(dgi-commit-message-face ((,c :foreground ,docstring))) 2227 ;;;;; dired-narrow 2228 `(dired-narrow-blink ((,c :inherit (modus-themes-prominent-warning bold)))) 2229 ;;;;; dired-subtree 2230 ;; remove backgrounds from dired-subtree faces, else they break 2231 ;; dired-{flagged,marked} and any other face that sets a background 2232 ;; such as hl-line. Also, denoting depth by varying shades of gray 2233 ;; is not good for accessibility. 2234 `(dired-subtree-depth-1-face (())) 2235 `(dired-subtree-depth-2-face (())) 2236 `(dired-subtree-depth-3-face (())) 2237 `(dired-subtree-depth-4-face (())) 2238 `(dired-subtree-depth-5-face (())) 2239 `(dired-subtree-depth-6-face (())) 2240 ;;;;; diredfl 2241 `(diredfl-autofile-name ((,c :background ,bg-inactive))) 2242 `(diredfl-compressed-file-name ((,c :foreground ,warning))) 2243 `(diredfl-compressed-file-suffix ((,c :foreground ,err))) 2244 `(diredfl-date-time ((,c :foreground ,date-common))) 2245 `(diredfl-deletion ((,c :inherit dired-flagged))) 2246 `(diredfl-deletion-file-name ((,c :inherit diredfl-deletion))) 2247 `(diredfl-dir-heading ((,c :inherit bold))) 2248 `(diredfl-dir-name ((,c :inherit dired-directory))) 2249 `(diredfl-dir-priv ((,c :inherit dired-directory))) 2250 `(diredfl-exec-priv ((,c :foreground ,accent-1))) 2251 `(diredfl-executable-tag ((,c :inherit diredfl-exec-priv))) 2252 `(diredfl-file-name ((,c :foreground ,fg-main))) 2253 `(diredfl-file-suffix ((,c :foreground ,variable))) 2254 `(diredfl-flag-mark ((,c :inherit dired-marked))) 2255 `(diredfl-flag-mark-line ((,c :inherit dired-marked))) 2256 `(diredfl-ignored-file-name ((,c :inherit shadow))) 2257 `(diredfl-link-priv ((,c :foreground ,fg-link))) 2258 `(diredfl-no-priv ((,c :inherit shadow))) 2259 `(diredfl-number ((,c :inherit shadow))) 2260 `(diredfl-other-priv ((,c :foreground ,accent-2))) 2261 `(diredfl-rare-priv ((,c :foreground ,accent-3))) 2262 `(diredfl-read-priv ((,c :foreground ,fg-main))) 2263 `(diredfl-symlink ((,c :inherit dired-symlink))) 2264 `(diredfl-tagged-autofile-name ((,c :inherit (diredfl-autofile-name dired-marked)))) 2265 `(diredfl-write-priv ((,c :foreground ,accent-0))) 2266 ;;;;; disk-usage 2267 `(disk-usage-inaccessible ((,c :inherit error))) 2268 `(disk-usage-percent ((,c :foreground ,accent-0))) 2269 `(disk-usage-size ((,c :foreground ,accent-1))) 2270 `(disk-usage-symlink ((,c :inherit dired-symlink))) 2271 `(disk-usage-symlink-directory ((,c :inherit dired-symlink))) 2272 ;;;;; display-fill-column-indicator-mode 2273 `(fill-column-indicator ((,c :height 1 :background ,bg-active :foreground ,bg-active))) 2274 ;;;;; doom-modeline 2275 `(doom-modeline-bar ((,c :background ,blue))) 2276 `(doom-modeline-bar-inactive ((,c :background ,border))) 2277 `(doom-modeline-battery-charging ((,c :foreground ,modeline-info))) 2278 `(doom-modeline-battery-critical ((,c :underline t :foreground ,modeline-err))) 2279 `(doom-modeline-battery-error ((,c :underline t :foreground ,modeline-err))) 2280 `(doom-modeline-battery-full (( ))) 2281 `(doom-modeline-battery-warning ((,c :inherit warning))) 2282 `(doom-modeline-buffer-file ((,c :inherit bold))) 2283 `(doom-modeline-buffer-major-mode (( ))) 2284 `(doom-modeline-buffer-minor-mode (( ))) 2285 `(doom-modeline-buffer-modified ((,c :foreground ,modeline-err))) 2286 `(doom-modeline-buffer-path (( ))) 2287 `(doom-modeline-evil-emacs-state ((,c :inherit italic))) 2288 `(doom-modeline-evil-insert-state ((,c :foreground ,modeline-info))) 2289 `(doom-modeline-evil-motion-state (( ))) 2290 `(doom-modeline-evil-normal-state (( ))) 2291 `(doom-modeline-evil-operator-state ((,c :inherit bold))) 2292 `(doom-modeline-evil-replace-state ((,c :inherit error))) 2293 `(doom-modeline-evil-visual-state ((,c :inherit warning))) 2294 `(doom-modeline-info ((,c :inherit success))) 2295 `(doom-modeline-input-method (( ))) 2296 `(doom-modeline-lsp-error ((,c :inherit bold-italic))) 2297 `(doom-modeline-lsp-running (( ))) 2298 `(doom-modeline-lsp-success ((,c :inherit success))) 2299 `(doom-modeline-lsp-warning ((,c :inherit warning))) 2300 `(doom-modeline-notification ((,c :inherit error))) 2301 `(doom-modeline-project-dir (( ))) 2302 `(doom-modeline-project-parent-dir (( ))) 2303 `(doom-modeline-project-root-dir (( ))) 2304 `(doom-modeline-repl-success ((,c :inherit success))) 2305 `(doom-modeline-repl-warning ((,c :inherit warning))) 2306 `(doom-modeline-time (( ))) 2307 `(doom-modeline-urgent ((,c :inherit bold-italic :foreground ,modeline-err))) 2308 `(doom-modeline-warning ((,c :inherit warning))) 2309 ;;;;; ediff 2310 `(ediff-current-diff-A ((,c :background ,bg-removed :foreground ,fg-removed))) 2311 `(ediff-current-diff-Ancestor ((,c :background ,bg-region))) 2312 `(ediff-current-diff-B ((,c :background ,bg-added :foreground ,fg-added))) 2313 `(ediff-current-diff-C ((,c :background ,bg-changed :foreground ,fg-changed))) 2314 `(ediff-even-diff-A ((,c :background ,bg-diff-context))) 2315 `(ediff-even-diff-Ancestor ((,c :background ,bg-diff-context))) 2316 `(ediff-even-diff-B ((,c :background ,bg-diff-context))) 2317 `(ediff-even-diff-C ((,c :background ,bg-diff-context))) 2318 `(ediff-fine-diff-A ((,c :background ,bg-removed-refine :foreground ,fg-removed))) 2319 `(ediff-fine-diff-Ancestor ((,c :inherit modus-themes-subtle-cyan))) 2320 `(ediff-fine-diff-B ((,c :background ,bg-added-refine :foreground ,fg-added))) 2321 `(ediff-fine-diff-C ((,c :background ,bg-changed-refine :foreground ,fg-changed))) 2322 `(ediff-odd-diff-A ((,c :inherit ediff-even-diff-A))) 2323 `(ediff-odd-diff-Ancestor ((,c :inherit ediff-even-diff-Ancestor))) 2324 `(ediff-odd-diff-B ((,c :inherit ediff-even-diff-B))) 2325 `(ediff-odd-diff-C ((,c :inherit ediff-even-diff-C))) 2326 ;;;;; ein (Emacs IPython Notebook) 2327 `(ein:basecell-input-area-face ((,c :background ,bg-dim :extend t))) 2328 `(ein:cell-output-area (( ))) 2329 `(ein:cell-output-area-error ((,c :background ,bg-removed :extend t))) 2330 `(ein:cell-output-stderr ((,c :background ,bg-removed :extend t))) 2331 `(ein:markdowncell-input-area-face (( ))) 2332 `(ein:notification-tab-normal ((,c :underline t))) 2333 ;;;;; eglot 2334 `(eglot-mode-line ((,c :inherit modus-themes-bold :foreground ,modeline-info))) 2335 `(eglot-diagnostic-tag-unnecessary-face ((,c :inherit modus-themes-lang-note))) 2336 ;;;;; el-search 2337 `(el-search-highlight-in-prompt-face ((,c :inherit italic))) 2338 `(el-search-match ((,c :inherit modus-themes-search-current))) 2339 `(el-search-other-match ((,c :inherit modus-themes-search-lazy))) 2340 `(el-search-occur-match ((,c :inherit match))) 2341 ;;;;; eldoc 2342 ;; NOTE: see https://github.com/purcell/package-lint/issues/187 2343 (list 'eldoc-highlight-function-argument `((,c :inherit modus-themes-mark-alt))) 2344 ;;;;; eldoc-box 2345 `(eldoc-box-body ((,c :background ,bg-dim :foreground ,fg-main))) 2346 `(eldoc-box-border ((,c :background ,border))) 2347 ;;;;; elfeed 2348 `(elfeed-log-date-face ((,c :inherit elfeed-search-date-face))) 2349 `(elfeed-log-debug-level-face ((,c :inherit elfeed-search-filter-face))) 2350 `(elfeed-log-error-level-face ((,c :inherit error))) 2351 `(elfeed-log-info-level-face ((,c :inherit success))) 2352 `(elfeed-log-warn-level-face ((,c :inherit warning))) 2353 `(elfeed-search-date-face ((,c :foreground ,date-common))) 2354 `(elfeed-search-feed-face ((,c :foreground ,accent-1))) 2355 `(elfeed-search-filter-face ((,c :inherit bold))) 2356 `(elfeed-search-last-update-face ((,c :inherit bold :foreground ,date-common))) 2357 `(elfeed-search-tag-face ((,c :foreground ,accent-0))) 2358 `(elfeed-search-title-face ((,c :foreground ,fg-dim))) 2359 `(elfeed-search-unread-count-face (( ))) 2360 `(elfeed-search-unread-title-face ((,c :inherit bold :foreground ,fg-main))) 2361 ;;;;; elfeed-score 2362 `(elfeed-score-date-face ((,c :foreground ,date-common))) 2363 `(elfeed-score-debug-level-face ((,c :inherit bold))) 2364 `(elfeed-score-error-level-face ((,c :inherit error))) 2365 `(elfeed-score-info-level-face ((,c :inherit success))) 2366 `(elfeed-score-warn-level-face ((,c :inherit warning))) 2367 ;;;;; elpher 2368 `(elpher-gemini-heading1 ((,c :inherit modus-themes-heading-1))) 2369 `(elpher-gemini-heading2 ((,c :inherit modus-themes-heading-2))) 2370 `(elpher-gemini-heading3 ((,c :inherit modus-themes-heading-3))) 2371 ;;;;; embark 2372 `(embark-keybinding ((,c :inherit modus-themes-key-binding))) 2373 `(embark-collect-marked ((,c :inherit modus-themes-mark-sel))) 2374 ;;;;; ement (ement.el) 2375 `(ement-room-fully-read-marker ((,c :inherit success))) 2376 `(ement-room-membership ((,c :inherit shadow))) 2377 `(ement-room-mention ((,c :inherit highlight))) 2378 `(ement-room-name ((,c :inherit bold))) 2379 `(ement-room-reactions ((,c :inherit shadow))) 2380 `(ement-room-read-receipt-marker ((,c :inherit match))) 2381 `(ement-room-self ((,c :inherit bold :foreground ,accent-1))) 2382 `(ement-room-self-message ((,c :foreground ,fg-alt))) 2383 `(ement-room-timestamp ((,c :inherit shadow))) 2384 `(ement-room-timestamp-header ((,c :inherit bold :foreground ,date-common))) 2385 `(ement-room-user ((,c :inherit bold :foreground ,accent-0))) 2386 ;;;;; emms 2387 `(emms-browser-album-face ((,c :foreground ,keyword))) 2388 `(emms-browser-artist-face ((,c :foreground ,variable))) 2389 `(emms-browser-composer-face ((,c :foreground ,builtin))) 2390 `(emms-browser-performer-face ((,c :inherit emms-browser-artist-face))) 2391 `(emms-browser-track-face ((,c :inherit emms-playlist-track-face))) 2392 `(emms-browser-year/genre-face ((,c :foreground ,type))) 2393 `(emms-playlist-track-face ((,c :foreground ,string))) 2394 `(emms-playlist-selected-face ((,c :inherit bold :foreground ,constant))) 2395 `(emms-metaplaylist-mode-current-face ((,c :inherit emms-playlist-selected-face))) 2396 `(emms-metaplaylist-mode-face ((,c :foreground ,variable))) 2397 ;;;;; enh-ruby-mode (enhanced-ruby-mode) 2398 `(enh-ruby-heredoc-delimiter-face ((,c :inherit font-lock-constant-face))) 2399 `(enh-ruby-op-face ((,c :foreground ,fg-main))) 2400 `(enh-ruby-regexp-delimiter-face ((,c :inherit font-lock-regexp-grouping-construct))) 2401 `(enh-ruby-regexp-face ((,c :inherit font-lock-string-face))) 2402 `(enh-ruby-string-delimiter-face ((,c :inherit font-lock-string-face))) 2403 `(erm-syn-errline ((,c :inherit modus-themes-lang-error))) 2404 `(erm-syn-warnline ((,c :inherit modus-themes-lang-warning))) 2405 ;;;;; epa 2406 `(epa-field-body (( ))) 2407 `(epa-field-name ((,c :inherit bold :foreground ,fg-dim))) 2408 `(epa-mark ((,c :inherit bold))) 2409 `(epa-string ((,c :foreground ,string))) 2410 `(epa-validity-disabled ((,c :foreground ,err))) 2411 `(epa-validity-high ((,c :inherit success))) 2412 `(epa-validity-low ((,c :inherit shadow))) 2413 `(epa-validity-medium ((,c :foreground ,info))) 2414 ;;;;; erc 2415 `(erc-action-face ((,c :foreground ,accent-2))) 2416 `(erc-bold-face ((,c :inherit bold))) 2417 `(erc-button ((,c :inherit button))) 2418 `(erc-command-indicator-face ((,c :inherit bold :foreground ,accent-3))) 2419 `(erc-current-nick-face ((,c :inherit match))) 2420 `(erc-dangerous-host-face ((,c :inherit error))) 2421 `(erc-direct-msg-face ((,c :inherit shadow))) 2422 `(erc-error-face ((,c :inherit error))) 2423 `(erc-fool-face ((,c :inherit shadow))) 2424 `(erc-input-face ((,c :foreground ,fnname))) 2425 `(erc-inverse-face ((,c :inherit erc-default-face :inverse-video t))) 2426 `(erc-keyword-face ((,c :inherit bold :foreground ,keyword))) 2427 `(erc-my-nick-face ((,c :inherit bold :foreground ,name))) 2428 `(erc-my-nick-prefix-face ((,c :inherit erc-my-nick-face))) 2429 `(erc-nick-default-face ((,c :inherit bold :foreground ,accent-0))) 2430 `(erc-nick-msg-face ((,c :inherit warning))) 2431 `(erc-nick-prefix-face ((,c :inherit erc-nick-default-face))) 2432 `(erc-notice-face ((,c :inherit font-lock-comment-face))) 2433 `(erc-pal-face ((,c :inherit bold :foreground ,accent-1))) 2434 `(erc-prompt-face ((,c :inherit modus-themes-prompt))) 2435 `(erc-timestamp-face ((,c :foreground ,date-common))) 2436 `(erc-underline-face ((,c :underline t))) 2437 ;;;;; ert 2438 `(ert-test-result-expected ((,c :inherit modus-themes-prominent-note))) 2439 `(ert-test-result-unexpected ((,c :inherit modus-themes-prominent-error))) 2440 ;;;;; erts-mode 2441 `(erts-mode-end-test ((,c :inherit error))) 2442 `(erts-mode-specification-name ((,c :inherit bold))) 2443 `(erts-mode-specification-value ((,c :foreground ,string))) 2444 `(erts-mode-start-test ((,c :inherit success))) 2445 ;;;;; eshell 2446 `(eshell-ls-archive ((,c :foreground ,accent-2))) 2447 `(eshell-ls-backup ((,c :inherit shadow))) 2448 `(eshell-ls-clutter ((,c :inherit shadow))) 2449 `(eshell-ls-directory ((,c :foreground ,accent-0))) 2450 `(eshell-ls-executable ((,c :foreground ,accent-1))) 2451 `(eshell-ls-missing ((,c :inherit error))) 2452 `(eshell-ls-product ((,c :inherit shadow))) 2453 `(eshell-ls-readonly ((,c :foreground ,warning))) 2454 `(eshell-ls-special ((,c :foreground ,accent-3))) 2455 `(eshell-ls-symlink ((,c :inherit link))) 2456 `(eshell-ls-unreadable ((,c :inherit shadow))) 2457 `(eshell-prompt ((,c :inherit modus-themes-prompt))) 2458 ;;;;; eshell-fringe-status 2459 `(eshell-fringe-status-failure ((,c :inherit error))) 2460 `(eshell-fringe-status-success ((,c :inherit success))) 2461 ;;;;; evil-mode 2462 `(evil-ex-commands ((,c :inherit font-lock-keyword-face))) 2463 `(evil-ex-info ((,c :inherit font-lock-type-face))) 2464 `(evil-ex-lazy-highlight ((,c :inherit modus-themes-search-lazy))) 2465 `(evil-ex-search ((,c :inherit modus-themes-search-current))) 2466 `(evil-ex-substitute-matches ((,c :inherit modus-themes-prominent-error :underline t))) 2467 `(evil-ex-substitute-replacement ((,c :inherit modus-themes-search-current))) 2468 ;;;;; eww 2469 `(eww-invalid-certificate ((,c :foreground ,err))) 2470 `(eww-valid-certificate ((,c :foreground ,info))) 2471 `(eww-form-checkbox ((,c :inherit eww-form-text))) 2472 `(eww-form-file ((,c :inherit eww-form-submit))) 2473 `(eww-form-select ((,c :inherit eww-form-submit))) 2474 `(eww-form-submit ((,c :inherit modus-themes-button))) 2475 `(eww-form-text ((,c :inherit widget-field))) 2476 `(eww-form-textarea ((,c :inherit eww-form-text))) 2477 ;;;;; eyebrowse 2478 `(eyebrowse-mode-line-active ((,c :inherit mode-line-emphasis))) 2479 ;;;;; flycheck 2480 `(flycheck-error ((,c :inherit modus-themes-lang-error))) 2481 `(flycheck-fringe-error ((,c :inherit modus-themes-prominent-error))) 2482 `(flycheck-fringe-info ((,c :inherit modus-themes-prominent-note))) 2483 `(flycheck-fringe-warning ((,c :inherit modus-themes-prominent-warning))) 2484 `(flycheck-info ((,c :inherit modus-themes-lang-note))) 2485 `(flycheck-warning ((,c :inherit modus-themes-lang-warning))) 2486 ;;;;; flycheck-color-mode-line 2487 `(flycheck-color-mode-line-error-face ((,c :inherit flycheck-fringe-error))) 2488 `(flycheck-color-mode-line-info-face ((,c :inherit flycheck-fringe-info))) 2489 `(flycheck-color-mode-line-running-face ((,c :inherit italic))) 2490 `(flycheck-color-mode-line-info-face ((,c :inherit flycheck-fringe-warning))) 2491 ;;;;; flycheck-indicator 2492 `(flycheck-indicator-disabled ((,c :inherit modus-themes-slant :foreground ,fg-dim))) 2493 `(flycheck-indicator-error ((,c :inherit error))) 2494 `(flycheck-indicator-info ((,c :inherit bold))) 2495 `(flycheck-indicator-running ((,c :inherit modus-themes-slant))) 2496 `(flycheck-indicator-success ((,c :inherit success))) 2497 `(flycheck-indicator-warning ((,c :inherit warning))) 2498 ;;;;; flymake 2499 `(flymake-end-of-line-diagnostics-face ((,c :inherit modus-themes-slant :height 0.85 :box ,border))) 2500 `(flymake-error ((,c :inherit modus-themes-lang-error))) 2501 `(flymake-error-echo ((,c :inherit error))) 2502 `(flymake-error-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,err))) 2503 `(flymake-note ((,c :inherit modus-themes-lang-note))) 2504 `(flymake-note-echo ((,c :inherit success))) 2505 `(flymake-note-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,info))) 2506 `(flymake-warning ((,c :inherit modus-themes-lang-warning))) 2507 `(flymake-warning-echo ((,c :inherit warning))) 2508 `(flymake-note-echo-at-eol ((,c :inherit flymake-end-of-line-diagnostics-face :foreground ,warning))) 2509 ;;;;; flyspell 2510 `(flyspell-duplicate ((,c :inherit modus-themes-lang-warning))) 2511 `(flyspell-incorrect ((,c :inherit modus-themes-lang-error))) 2512 ;;;;; flx 2513 `(flx-highlight-face ((,c :inherit modus-themes-completion-match-0))) 2514 ;;;;; focus 2515 `(focus-unfocused ((,c :foreground "gray50"))) 2516 ;;;;; fold-this 2517 `(fold-this-overlay ((,c :background ,bg-inactive))) 2518 ;;;;; font-lock 2519 `(font-lock-builtin-face ((,c :inherit modus-themes-bold :foreground ,builtin))) 2520 `(font-lock-comment-delimiter-face ((,c :inherit font-lock-comment-face))) 2521 `(font-lock-comment-face ((,c :inherit modus-themes-slant :foreground ,comment))) 2522 `(font-lock-constant-face ((,c :foreground ,constant))) 2523 `(font-lock-doc-face ((,c :inherit modus-themes-slant :foreground ,docstring))) 2524 `(font-lock-doc-markup-face ((,c :inherit modus-themes-slant :foreground ,docmarkup))) 2525 `(font-lock-function-name-face ((,c :foreground ,fnname))) 2526 `(font-lock-keyword-face ((,c :inherit modus-themes-bold :foreground ,keyword))) 2527 `(font-lock-negation-char-face ((,c :inherit error))) 2528 `(font-lock-preprocessor-face ((,c :foreground ,preprocessor))) 2529 `(font-lock-regexp-grouping-backslash ((,c :inherit modus-themes-bold :foreground ,rx-backslash))) 2530 `(font-lock-regexp-grouping-construct ((,c :inherit modus-themes-bold :foreground ,rx-construct))) 2531 `(font-lock-string-face ((,c :foreground ,string))) 2532 `(font-lock-type-face ((,c :inherit modus-themes-bold :foreground ,type))) 2533 `(font-lock-variable-name-face ((,c :foreground ,variable))) 2534 `(font-lock-warning-face ((,c :inherit modus-themes-bold :foreground ,warning))) 2535 ;;;;; geiser 2536 `(geiser-font-lock-autodoc-current-arg ((,c :inherit modus-themes-mark-alt))) 2537 `(geiser-font-lock-autodoc-identifier ((,c :foreground ,docstring))) 2538 `(geiser-font-lock-doc-button ((,c :inherit button))) 2539 `(geiser-font-lock-doc-link ((,c :inherit button))) 2540 `(geiser-font-lock-error-link ((,c :inherit button :foreground ,err))) 2541 `(geiser-font-lock-image-button ((,c :inherit button :foreground ,info))) 2542 `(geiser-font-lock-repl-input ((,c :inherit bold))) 2543 `(geiser-font-lock-repl-output ((,c :inherit font-lock-keyword-face))) 2544 `(geiser-font-lock-repl-prompt ((,c :inherit modus-themes-prompt))) 2545 `(geiser-font-lock-xref-header ((,c :inherit bold))) 2546 `(geiser-font-lock-xref-link ((,c :inherit button))) 2547 ;;;;; git-commit 2548 `(git-commit-comment-action ((,c :inherit font-lock-comment-face))) 2549 `(git-commit-comment-branch-local ((,c :inherit font-lock-comment-face :foreground ,accent-0))) 2550 `(git-commit-comment-branch-remote ((,c :inherit font-lock-comment-face :foreground ,accent-1))) 2551 `(git-commit-comment-heading ((,c :inherit (bold font-lock-comment-face)))) 2552 `(git-commit-comment-file ((,c :inherit font-lock-comment-face :foreground ,name))) 2553 `(git-commit-keyword ((,c :foreground ,keyword))) 2554 `(git-commit-nonempty-second-line ((,c :inherit error))) 2555 `(git-commit-overlong-summary ((,c :inherit warning))) 2556 `(git-commit-summary ((,c :inherit success))) 2557 ;;;;; git-gutter 2558 `(git-gutter:added ((,c :background ,bg-added-fringe))) 2559 `(git-gutter:deleted ((,c :background ,bg-removed-fringe))) 2560 `(git-gutter:modified ((,c :background ,bg-changed-fringe))) 2561 `(git-gutter:separator ((,c :inherit modus-themes-intense-cyan))) 2562 `(git-gutter:unchanged ((,c :inherit modus-themes-intense-magenta))) 2563 ;;;;; git-gutter-fr 2564 `(git-gutter-fr:added ((,c :background ,bg-added-fringe))) 2565 `(git-gutter-fr:deleted ((,c :background ,bg-removed-fringe))) 2566 `(git-gutter-fr:modified ((,c :background ,bg-changed-fringe))) 2567 ;;;;; git-rebase 2568 `(git-rebase-comment-hash ((,c :inherit (bold font-lock-comment-face) :foreground ,identifier))) 2569 `(git-rebase-comment-heading ((,c :inherit (bold font-lock-comment-face)))) 2570 `(git-rebase-description ((,c :foreground ,fg-main))) 2571 `(git-rebase-hash ((,c :foreground ,identifier))) 2572 ;;;;; git-timemachine 2573 `(git-timemachine-commit ((,c :inherit warning))) 2574 `(git-timemachine-minibuffer-author-face ((,c :foreground ,name))) 2575 `(git-timemachine-minibuffer-detail-face ((,c :foreground ,fg-main))) 2576 ;;;;; gnus 2577 `(gnus-button ((,c :inherit button))) 2578 `(gnus-cite-1 ((,c :inherit message-cited-text-1))) 2579 `(gnus-cite-2 ((,c :inherit message-cited-text-2))) 2580 `(gnus-cite-3 ((,c :inherit message-cited-text-3))) 2581 `(gnus-cite-4 ((,c :inherit message-cited-text-4))) 2582 `(gnus-cite-5 ((,c :inherit message-cited-text-1))) 2583 `(gnus-cite-6 ((,c :inherit message-cited-text-2))) 2584 `(gnus-cite-7 ((,c :inherit message-cited-text-3))) 2585 `(gnus-cite-8 ((,c :inherit message-cited-text-4))) 2586 `(gnus-cite-9 ((,c :inherit message-cited-text-1))) 2587 `(gnus-cite-10 ((,c :inherit message-cited-text-2))) 2588 `(gnus-cite-11 ((,c :inherit message-cited-text-3))) 2589 `(gnus-cite-attribution ((,c :inherit italic))) 2590 `(gnus-emphasis-bold ((,c :inherit bold))) 2591 `(gnus-emphasis-bold-italic ((,c :inherit bold-italic))) 2592 `(gnus-emphasis-highlight-words ((,c :inherit warning))) 2593 `(gnus-emphasis-italic ((,c :inherit italic))) 2594 `(gnus-emphasis-underline-bold ((,c :inherit gnus-emphasis-bold :underline t))) 2595 `(gnus-emphasis-underline-bold-italic ((,c :inherit gnus-emphasis-bold-italic :underline t))) 2596 `(gnus-emphasis-underline-italic ((,c :inherit gnus-emphasis-italic :underline t))) 2597 `(gnus-group-mail-1 ((,c :inherit (bold gnus-group-mail-1-empty)))) 2598 `(gnus-group-mail-1-empty ((,c :foreground ,magenta-warmer))) 2599 `(gnus-group-mail-2 ((,c :inherit (bold gnus-group-mail-2-empty)))) 2600 `(gnus-group-mail-2-empty ((,c :foreground ,magenta))) 2601 `(gnus-group-mail-3 ((,c :inherit (bold gnus-group-mail-3-empty)))) 2602 `(gnus-group-mail-3-empty ((,c :foreground ,magenta-cooler))) 2603 `(gnus-group-mail-low ((,c :inherit (bold gnus-group-mail-low-empty)))) 2604 `(gnus-group-mail-low-empty ((,c :foreground ,fg-dim))) 2605 `(gnus-group-news-1 ((,c :inherit (bold gnus-group-news-1-empty)))) 2606 `(gnus-group-news-1-empty ((,c :foreground ,green))) 2607 `(gnus-group-news-2 ((,c :inherit (bold gnus-group-news-2-empty)))) 2608 `(gnus-group-news-2-empty ((,c :foreground ,cyan))) 2609 `(gnus-group-news-3 ((,c :inherit (bold gnus-group-news-3-empty)))) 2610 `(gnus-group-news-3-empty ((,c :foreground ,yellow-faint))) 2611 `(gnus-group-news-4 ((,c :inherit (bold gnus-group-news-4-empty)))) 2612 `(gnus-group-news-4-empty ((,c :foreground ,magenta-faint))) 2613 `(gnus-group-news-5 ((,c :inherit (bold gnus-group-news-5-empty)))) 2614 `(gnus-group-news-5-empty ((,c :foreground ,fg-alt))) 2615 `(gnus-group-news-6 ((,c :inherit (bold gnus-group-news-6-empty)))) 2616 `(gnus-group-news-6-empty ((,c :foreground ,fg-dim))) 2617 `(gnus-group-news-low ((,c :inherit (bold gnus-group-news-low-empty)))) 2618 `(gnus-group-news-low-empty ((,c :foreground ,fg-dim))) 2619 `(gnus-header-content ((,c :inherit message-header-other))) 2620 `(gnus-header-from ((,c :inherit message-header-to :underline nil))) 2621 `(gnus-header-name ((,c :inherit message-header-name))) 2622 `(gnus-header-newsgroups ((,c :inherit message-header-newsgroups))) 2623 `(gnus-header-subject ((,c :inherit message-header-subject))) 2624 `(gnus-server-agent ((,c :inherit bold))) 2625 `(gnus-server-closed ((,c :inherit italic))) 2626 `(gnus-server-cloud ((,c :inherit bold :foreground ,fg-alt))) 2627 `(gnus-server-cloud-host ((,c :inherit bold :foreground ,fg-alt :underline t))) 2628 `(gnus-server-denied ((,c :inherit error))) 2629 `(gnus-server-offline ((,c :inherit shadow))) 2630 `(gnus-server-opened ((,c :inherit success))) 2631 `(gnus-summary-cancelled ((,c :inherit italic :foreground ,warning))) 2632 `(gnus-summary-high-ancient ((,c :inherit bold :foreground ,fg-alt))) 2633 `(gnus-summary-high-read ((,c :inherit bold :foreground ,fg-dim))) 2634 `(gnus-summary-high-ticked ((,c :inherit bold :foreground ,err))) 2635 `(gnus-summary-high-undownloaded ((,c :inherit bold-italic :foreground ,warning))) 2636 `(gnus-summary-high-unread ((,c :inherit bold))) 2637 `(gnus-summary-low-ancient ((,c :inherit italic))) 2638 `(gnus-summary-low-read ((,c :inherit (shadow italic)))) 2639 `(gnus-summary-low-ticked ((,c :inherit italic :foreground ,err))) 2640 `(gnus-summary-low-undownloaded ((,c :inherit italic :foreground ,warning))) 2641 `(gnus-summary-low-unread ((,c :inherit italic))) 2642 `(gnus-summary-normal-ancient (( ))) 2643 `(gnus-summary-normal-read ((,c :inherit shadow))) 2644 `(gnus-summary-normal-ticked ((,c :foreground ,err))) 2645 `(gnus-summary-normal-undownloaded ((,c :foreground ,warning))) 2646 `(gnus-summary-normal-unread (( ))) 2647 `(gnus-summary-selected ((,c :inherit highlight))) 2648 ;;;;; gotest 2649 `(go-test--ok-face ((,c :inherit success))) 2650 `(go-test--error-face ((,c :inherit error))) 2651 `(go-test--warning-face ((,c :inherit warning))) 2652 `(go-test--pointer-face ((,c :foreground ,accent-0))) 2653 `(go-test--standard-face (( ))) 2654 ;;;;; golden-ratio-scroll-screen 2655 `(golden-ratio-scroll-highlight-line-face ((,c :background ,bg-cyan-subtle :foreground ,fg-main))) 2656 ;;;;; helpful 2657 `(helpful-heading ((,c :inherit modus-themes-heading-1))) 2658 ;;;;; highlight region or ad-hoc regexp 2659 ;; HACK 2022-06-23: The :inverse-video prevents hl-line-mode from 2660 ;; overriding the background. Such an override really defeats the 2661 ;; purpose of setting those highlights. 2662 ;; 2663 ;; NOTE 2022-10-04: We do not use the ,c here but instead 2664 ;; hardcode color values. We have to do this as the themes lack 2665 ;; entries in their palette for such an edge case. Defining those 2666 ;; entries is not appropriate. 2667 `(hi-aquamarine ((((class color) (min-colors 88) (background light)) 2668 :background "white" :foreground "#227f9f" :inverse-video t) 2669 (((class color) (min-colors 88) (background dark)) 2670 :background "black" :foreground "#66cbdc" :inverse-video t))) 2671 `(hi-black-b ((,c :inverse-video t))) 2672 `(hi-black-hb ((,c :background ,bg-main :foreground ,fg-dim :inverse-video t))) 2673 `(hi-blue ((((class color) (min-colors 88) (background light)) 2674 :background "white" :foreground "#3366dd" :inverse-video t) 2675 (((class color) (min-colors 88) (background dark)) 2676 :background "black" :foreground "#aaccff" :inverse-video t))) 2677 `(hi-blue-b ((,c :inherit (bold hi-blue)))) 2678 `(hi-green ((((class color) (min-colors 88) (background light)) 2679 :background "white" :foreground "#008a00" :inverse-video t) 2680 (((class color) (min-colors 88) (background dark)) 2681 :background "black" :foreground "#66dd66" :inverse-video t))) 2682 `(hi-green-b ((,c :inherit (bold hi-green)))) 2683 `(hi-pink ((((class color) (min-colors 88) (background light)) 2684 :background "white" :foreground "#bd30aa" :inverse-video t) 2685 (((class color) (min-colors 88) (background dark)) 2686 :background "black" :foreground "#ff88ee" :inverse-video t))) 2687 `(hi-red-b ((((class color) (min-colors 88) (background light)) 2688 :background "white" :foreground "#dd0000" :inverse-video t) 2689 (((class color) (min-colors 88) (background dark)) 2690 :background "black" :foreground "#f06666" :inverse-video t))) 2691 `(hi-salmon ((((class color) (min-colors 88) (background light)) 2692 :background "white" :foreground "#bf555a" :inverse-video t) 2693 (((class color) (min-colors 88) (background dark)) 2694 :background "black" :foreground "#e08a50" :inverse-video t))) 2695 `(hi-yellow ((((class color) (min-colors 88) (background light)) 2696 :background "white" :foreground "#af6400" :inverse-video t) 2697 (((class color) (min-colors 88) (background dark)) 2698 :background "black" :foreground "#faea00" :inverse-video t))) 2699 `(highlight-changes ((,c :foreground ,warning :underline nil))) 2700 `(highlight-changes-delete ((,c :foreground ,err :underline t))) 2701 `(hl-line ((,c :background ,bg-hl-line :extend t))) 2702 ;;;;; highlight-numbers 2703 `(highlight-numbers-number ((,c :foreground ,constant))) 2704 ;;;;; highlight-thing 2705 `(highlight-thing ((,c :inherit match))) 2706 ;;;;; hl-fill-column 2707 `(hl-fill-column-face ((,c :background ,bg-active))) 2708 ;;;;; hl-todo 2709 `(hl-todo ((,c :inherit (bold font-lock-comment-face) :foreground ,err))) 2710 ;;;;; hydra 2711 `(hydra-face-amaranth ((,c :inherit bold :foreground ,yellow-warmer))) 2712 `(hydra-face-blue ((,c :inherit bold :foreground ,blue))) 2713 `(hydra-face-pink ((,c :inherit bold :foreground ,magenta))) 2714 `(hydra-face-red ((,c :inherit bold :foreground ,red-faint))) 2715 `(hydra-face-teal ((,c :inherit bold :foreground ,cyan-cooler))) 2716 ;;;;; icomplete 2717 `(icomplete-first-match ((,c :inherit modus-themes-completion-match-0))) 2718 `(icomplete-selected-match ((,c :inherit modus-themes-completion-selected))) 2719 ;;;;; ido-mode 2720 `(ido-first-match ((,c :inherit modus-themes-completion-match-0))) 2721 `(ido-incomplete-regexp ((,c :inherit error))) 2722 `(ido-indicator ((,c :inherit bold))) 2723 `(ido-only-match ((,c :inherit ido-first-match))) 2724 `(ido-subdir ((,c :foreground ,accent-0))) 2725 `(ido-virtual ((,c :foreground ,accent-1))) 2726 ;;;;; iedit 2727 `(iedit-occurrence ((,c :inherit modus-themes-search-lazy))) 2728 `(iedit-read-only-occurrence ((,c :inherit modus-themes-search-current))) 2729 ;;;;; iflipb 2730 `(iflipb-current-buffer-face ((,c :inherit bold :foreground ,name))) 2731 `(iflipb-other-buffer-face ((,c :inherit shadow))) 2732 ;;;;; image-dired 2733 `(image-dired-thumb-flagged ((,c :inherit modus-themes-mark-del :box (:line-width -3)))) 2734 `(image-dired-thumb-header-file-name ((,c :inherit bold))) 2735 `(image-dired-thumb-header-file-size ((,c :foreground ,constant))) 2736 `(image-dired-thumb-mark ((,c :inherit modus-themes-mark-sel :box (:line-width -3)))) 2737 ;;;;; imenu-list 2738 `(imenu-list-entry-face-0 ((,c :foreground ,fg-heading-0))) 2739 `(imenu-list-entry-face-1 ((,c :foreground ,fg-heading-1))) 2740 `(imenu-list-entry-face-2 ((,c :foreground ,fg-heading-2))) 2741 `(imenu-list-entry-face-3 ((,c :foreground ,fg-heading-3))) 2742 `(imenu-list-entry-subalist-face-0 ((,c :inherit bold :foreground ,fg-heading-4 :underline t))) 2743 `(imenu-list-entry-subalist-face-1 ((,c :inherit bold :foreground ,fg-heading-5 :underline t))) 2744 `(imenu-list-entry-subalist-face-2 ((,c :inherit bold :foreground ,fg-heading-6 :underline t))) 2745 `(imenu-list-entry-subalist-face-3 ((,c :inherit bold :foreground ,fg-heading-7 :underline t))) 2746 ;;;;; indium 2747 `(indium-breakpoint-face ((,c :foreground ,err))) 2748 `(indium-frame-url-face ((,c :inherit (shadow button)))) 2749 `(indium-keyword-face ((,c :inherit font-lock-keyword-face))) 2750 `(indium-litable-face ((,c :inherit modus-themes-slant))) 2751 `(indium-repl-error-face ((,c :inherit error))) 2752 `(indium-repl-prompt-face ((,c :inherit modus-themes-prompt))) 2753 `(indium-repl-stdout-face (( ))) 2754 ;;;;; info 2755 `(Info-quoted ((,c :inherit modus-themes-prose-verbatim))) ; the capitalization is canonical 2756 `(info-header-node ((,c :inherit (shadow bold)))) 2757 `(info-header-xref ((,c :foreground ,fg-link))) 2758 `(info-index-match ((,c :inherit match))) 2759 `(info-menu-header ((,c :inherit bold))) 2760 `(info-menu-star ((,c :inherit error))) 2761 `(info-node ((,c :inherit bold))) 2762 `(info-title-1 ((,c :inherit modus-themes-heading-1))) 2763 `(info-title-2 ((,c :inherit modus-themes-heading-2))) 2764 `(info-title-3 ((,c :inherit modus-themes-heading-3))) 2765 `(info-title-4 ((,c :inherit modus-themes-heading-4))) 2766 ;;;;; info+ (info-plus) 2767 `(info-command-ref-item ((,c :inherit font-lock-function-name-face))) 2768 `(info-constant-ref-item ((,c :inherit font-lock-constant-face))) 2769 `(info-custom-delimited ((,c :inherit modus-themes-prose-verbatim))) 2770 `(info-double-quoted-name ((,c :inherit font-lock-string-face))) 2771 `(info-file (( ))) 2772 `(info-function-ref-item ((,c :inherit font-lock-function-name-face))) 2773 `(info-glossary-word ((,c :inherit modus-themes-button))) 2774 `(info-indented-text (( ))) 2775 `(info-isolated-backquote (( ))) 2776 `(info-isolated-quote (( ))) 2777 `(info-macro-ref-item ((,c :inherit font-lock-keyword-face))) 2778 `(info-menu ((,c :inherit bold))) 2779 `(info-quoted-name ((,c :inherit modus-themes-prose-verbatim))) 2780 `(info-reference-item ((,c :inherit bold))) 2781 `(info-special-form-ref-item ((,c :inherit warning))) 2782 `(info-string ((,c :inherit font-lock-string-face))) 2783 `(info-syntax-class-item ((,c :inherit modus-themes-prose-code))) 2784 `(info-user-option-ref-item ((,c :inherit font-lock-variable-name-face))) 2785 `(info-variable-ref-item ((,c :inherit font-lock-variable-name-face))) 2786 ;;;;; info-colors 2787 `(info-colors-lisp-code-block ((,c :inherit modus-themes-fixed-pitch))) 2788 `(info-colors-ref-item-command ((,c :inherit font-lock-function-name-face))) 2789 `(info-colors-ref-item-constant ((,c :inherit font-lock-constant-face))) 2790 `(info-colors-ref-item-function ((,c :inherit font-lock-function-name-face))) 2791 `(info-colors-ref-item-macro ((,c :inherit font-lock-keyword-face))) 2792 `(info-colors-ref-item-other ((,c :inherit font-lock-doc-face))) 2793 `(info-colors-ref-item-special-form ((,c :inherit font-lock-keyword-face))) 2794 `(info-colors-ref-item-syntax-class ((,c :inherit font-lock-builtin-face))) 2795 `(info-colors-ref-item-type ((,c :inherit font-lock-type-face))) 2796 `(info-colors-ref-item-user-option ((,c :inherit font-lock-variable-name-face))) 2797 `(info-colors-ref-item-variable ((,c :inherit font-lock-variable-name-face))) 2798 ;;;;; ioccur 2799 `(ioccur-cursor ((,c :foreground ,fg-main))) 2800 `(ioccur-invalid-regexp ((,c :inherit error))) 2801 `(ioccur-match-face ((,c :inherit match))) 2802 `(ioccur-match-overlay-face ((,c :background ,bg-inactive :extend t))) 2803 `(ioccur-num-line-face ((,c :inherit shadow))) 2804 `(ioccur-overlay-face ((,c :background ,bg-hl-line :extend t))) 2805 `(ioccur-regexp-face ((,c :inherit (modus-themes-search-current bold)))) 2806 `(ioccur-title-face ((,c :inherit bold :foreground ,name))) 2807 ;;;;; isearch, occur, and the like 2808 `(isearch ((,c :inherit modus-themes-search-current))) 2809 `(isearch-fail ((,c :inherit modus-themes-prominent-error))) 2810 `(isearch-group-1 ((,c :inherit modus-themes-intense-blue))) 2811 `(isearch-group-2 ((,c :inherit modus-themes-intense-magenta))) 2812 `(lazy-highlight ((,c :inherit modus-themes-search-lazy))) 2813 `(match ((,c :background ,bg-magenta-subtle :foreground ,fg-main))) 2814 `(query-replace ((,c :inherit modus-themes-prominent-error))) 2815 ;;;;; ivy 2816 `(ivy-action ((,c :inherit modus-themes-key-binding))) 2817 `(ivy-confirm-face ((,c :inherit success))) 2818 `(ivy-current-match ((,c :inherit modus-themes-completion-selected))) 2819 `(ivy-match-required-face ((,c :inherit error))) 2820 `(ivy-minibuffer-match-face-1 (( ))) 2821 `(ivy-minibuffer-match-face-2 ((,c :inherit modus-themes-completion-match-0))) 2822 `(ivy-minibuffer-match-face-3 ((,c :inherit modus-themes-completion-match-1))) 2823 `(ivy-minibuffer-match-face-4 ((,c :inherit modus-themes-completion-match-2))) 2824 `(ivy-remote ((,c :inherit italic))) 2825 `(ivy-separator ((,c :inherit shadow))) 2826 `(ivy-subdir ((,c :foreground ,accent-0))) 2827 `(ivy-virtual ((,c :foreground ,accent-1))) 2828 ;;;;; ivy-posframe 2829 `(ivy-posframe-border ((,c :background ,border))) 2830 `(ivy-posframe-cursor ((,c :background ,fg-main :foreground ,bg-main))) 2831 ;;;;; japanese-holidays 2832 `(japanese-holiday-saturday ((,c :foreground ,date-holiday-other))) 2833 ;;;;; jira (org-jira) 2834 `(jiralib-comment-face ((,c :background ,bg-inactive))) 2835 `(jiralib-comment-header-face ((,c :inherit bold))) 2836 `(jiralib-issue-info-face ((,c :background ,bg-inactive))) 2837 `(jiralib-issue-info-header-face ((,c :inherit bold :background ,bg-inactive))) 2838 `(jiralib-issue-summary-face ((,c :inherit bold))) 2839 `(jiralib-link-filter-face ((,c :underline t))) 2840 `(jiralib-link-issue-face ((,c :underline t))) 2841 `(jiralib-link-project-face ((,c :underline t))) 2842 ;;;;; jit-spell 2843 `(jit-spell-misspelling ((,c :inherit modus-themes-lang-error))) 2844 ;;;;; jinx 2845 `(jinx-misspelled ((,c :inherit modus-themes-lang-warning))) 2846 ;;;;; journalctl-mode 2847 `(journalctl-error-face ((,c :inherit error))) 2848 `(journalctl-finished-face ((,c :inherit success))) 2849 `(journalctl-host-face ((,c :foreground ,name))) 2850 `(journalctl-process-face ((,c :foreground ,warning))) 2851 `(journalctl-starting-face ((,c :foreground ,info))) 2852 `(journalctl-timestamp-face ((,c :foreground ,date-common))) 2853 `(journalctl-warning-face ((,c :inherit warning))) 2854 ;;;;; js2-mode 2855 `(js2-error ((,c :inherit modus-themes-lang-error))) 2856 `(js2-external-variable ((,c :inherit font-lock-variable-name-face))) 2857 `(js2-function-call ((,c :inherit font-lock-function-name-face))) 2858 `(js2-function-param ((,c :inherit font-lock-constant-face))) 2859 `(js2-instance-member ((,c :inherit font-lock-keyword-face))) 2860 `(js2-jsdoc-html-tag-delimiter ((,c :foreground ,fg-main))) 2861 `(js2-jsdoc-html-tag-name ((,c :inherit font-lock-function-name-face))) 2862 `(js2-jsdoc-tag ((,c :inherit (font-lock-builtin-face font-lock-comment-face) :weight normal))) 2863 `(js2-jsdoc-type ((,c :inherit (font-lock-type-face font-lock-comment-face) :weight normal))) 2864 `(js2-jsdoc-value ((,c :inherit (font-lock-constant-face font-lock-comment-face) :weight normal))) 2865 `(js2-object-property ((,c :foreground ,fg-main))) 2866 `(js2-object-property-access ((,c :foreground ,fg-main))) 2867 `(js2-private-function-call ((,c :inherit font-lock-preprocessor-face))) 2868 `(js2-private-member ((,c :inherit font-lock-warning-face))) 2869 `(js2-warning ((,c :inherit modus-themes-lang-warning))) 2870 ;;;;; julia 2871 `(julia-macro-face ((,c :inherit font-lock-builtin-face))) 2872 `(julia-quoted-symbol-face ((,c :inherit font-lock-constant-face))) 2873 ;;;;; kaocha-runner 2874 `(kaocha-runner-error-face ((,c :inherit error))) 2875 `(kaocha-runner-success-face ((,c :inherit success))) 2876 `(kaocha-runner-warning-face ((,c :inherit warning))) 2877 ;;;;; keycast 2878 `(keycast-command ((,c :inherit bold))) 2879 `(keycast-key ((,c :background ,keybind :foreground ,bg-main))) 2880 ;;;;; ledger-mode 2881 `(ledger-font-auto-xact-face ((,c :inherit font-lock-builtin-face))) 2882 `(ledger-font-account-name-face ((,c :foreground ,name))) 2883 `(ledger-font-directive-face ((,c :inherit font-lock-keyword-face))) 2884 `(ledger-font-posting-date-face ((,c :inherit modus-themes-bold :foreground ,date-common))) 2885 `(ledger-font-periodic-xact-face ((,c :inherit font-lock-variable-name-face))) 2886 `(ledger-font-posting-amount-face ((,c :inherit font-lock-constant-face))) 2887 `(ledger-font-payee-cleared-face ((,c :inherit success))) 2888 `(ledger-font-payee-pending-face ((,c :inherit warning))) 2889 `(ledger-font-payee-uncleared-face ((,c :inherit error))) 2890 `(ledger-font-xact-highlight-face ((,c :background ,bg-hl-line :extend t))) 2891 ;;;;; leerzeichen 2892 `(leerzeichen ((,c :background ,bg-inactive))) 2893 ;;;;; line numbers (display-line-numbers-mode and global variant) 2894 ;; Here we cannot inherit `modus-themes-fixed-pitch'. We need to 2895 ;; fall back to `default' otherwise line numbers do not scale when 2896 ;; using `text-scale-adjust'. 2897 `(line-number ((,c :inherit ,(if modus-themes-mixed-fonts '(fixed-pitch default) 'default) :background ,bg-line-number-inactive :foreground ,fg-line-number-inactive))) 2898 `(line-number-current-line ((,c :inherit (bold line-number) :background ,bg-line-number-active :foreground ,fg-line-number-active))) 2899 `(line-number-major-tick ((,c :inherit line-number :foreground ,err))) 2900 `(line-number-minor-tick ((,c :inherit line-number :foreground ,fg-alt))) 2901 ;;;;; magit 2902 `(magit-bisect-bad ((,c :inherit error))) 2903 `(magit-bisect-good ((,c :inherit success))) 2904 `(magit-bisect-skip ((,c :inherit warning))) 2905 `(magit-blame-date (( ))) 2906 `(magit-blame-dimmed ((,c :inherit shadow))) 2907 `(magit-blame-hash (( ))) 2908 `(magit-blame-highlight ((,c :background ,bg-active :foreground ,fg-main))) 2909 `(magit-blame-name (( ))) 2910 `(magit-blame-summary (( ))) 2911 `(magit-branch-local ((,c :foreground ,accent-0))) 2912 `(magit-branch-remote ((,c :foreground ,accent-1))) 2913 `(magit-branch-upstream ((,c :inherit italic))) 2914 `(magit-branch-warning ((,c :inherit warning))) 2915 `(magit-cherry-equivalent ((,c :foreground ,magenta))) 2916 `(magit-cherry-unmatched ((,c :foreground ,cyan))) 2917 `(magit-diff-added ((,c :background ,bg-added-faint :foreground ,fg-added))) 2918 `(magit-diff-added-highlight ((,c :background ,bg-added :foreground ,fg-added))) 2919 `(magit-diff-base ((,c :background ,bg-changed-faint :foreground ,fg-changed))) 2920 `(magit-diff-base-highlight ((,c :background ,bg-changed :foreground ,fg-changed))) 2921 `(magit-diff-context ((,c :inherit shadow))) 2922 `(magit-diff-context-highlight ((,c :background ,bg-diff-context))) 2923 `(magit-diff-file-heading ((,c :inherit bold :foreground ,accent-0))) 2924 `(magit-diff-file-heading-highlight ((,c :inherit magit-diff-file-heading :background ,bg-inactive))) 2925 `(magit-diff-file-heading-selection ((,c :inherit bold :background ,bg-hover-secondary))) 2926 `(magit-diff-hunk-heading ((,c :background ,bg-inactive))) 2927 `(magit-diff-hunk-heading-highlight ((,c :inherit bold :background ,bg-active))) 2928 `(magit-diff-hunk-heading-selection ((,c :inherit bold :background ,bg-hover-secondary))) 2929 `(magit-diff-hunk-region ((,c :inherit bold))) 2930 `(magit-diff-lines-boundary ((,c :background ,fg-main))) 2931 `(magit-diff-lines-heading ((,c :background ,fg-dim :foreground ,bg-main))) 2932 `(magit-diff-removed ((,c :background ,bg-removed-faint :foreground ,fg-removed))) 2933 `(magit-diff-removed-highlight ((,c :background ,bg-removed :foreground ,fg-removed))) 2934 `(magit-diffstat-added ((,c :foreground ,fg-added-intense))) 2935 `(magit-diffstat-removed ((,c :foreground ,fg-removed-intense))) 2936 `(magit-dimmed ((,c :inherit shadow))) 2937 `(magit-filename ((,c :foreground ,accent-2))) 2938 `(magit-hash ((,c :foreground ,identifier))) 2939 `(magit-head ((,c :inherit magit-branch-local))) 2940 `(magit-header-line ((,c :inherit bold))) 2941 `(magit-header-line-key ((,c :inherit modus-themes-key-binding))) 2942 `(magit-header-line-log-select ((,c :inherit bold))) 2943 `(magit-keyword ((,c :foreground ,keyword))) 2944 `(magit-keyword-squash ((,c :inherit bold :foreground ,warning))) 2945 `(magit-log-author ((,c :foreground ,name))) 2946 `(magit-log-date ((,c :foreground ,date-common))) 2947 `(magit-log-graph ((,c :inherit shadow))) 2948 `(magit-mode-line-process ((,c :inherit bold :foreground ,modeline-info))) 2949 `(magit-mode-line-process-error ((,c :inherit bold :foreground ,modeline-err))) 2950 `(magit-process-ng ((,c :inherit error))) 2951 `(magit-process-ok ((,c :inherit success))) 2952 `(magit-reflog-amend ((,c :inherit warning))) 2953 `(magit-reflog-checkout ((,c :inherit bold :foreground ,blue))) 2954 `(magit-reflog-cherry-pick ((,c :inherit success))) 2955 `(magit-reflog-commit ((,c :inherit bold))) 2956 `(magit-reflog-merge ((,c :inherit success))) 2957 `(magit-reflog-other ((,c :inherit bold :foreground ,cyan))) 2958 `(magit-reflog-rebase ((,c :inherit bold :foreground ,magenta))) 2959 `(magit-reflog-remote ((,c :inherit (bold magit-branch-remote)))) 2960 `(magit-reflog-reset ((,c :inherit error))) 2961 `(magit-refname ((,c :inherit shadow))) 2962 `(magit-refname-pullreq ((,c :inherit shadow))) 2963 `(magit-refname-stash ((,c :inherit shadow))) 2964 `(magit-refname-wip ((,c :inherit shadow))) 2965 `(magit-section ((,c :background ,bg-dim :foreground ,fg-main))) 2966 `(magit-section-heading ((,c :inherit bold))) 2967 `(magit-section-heading-selection ((,c :inherit bold :background ,bg-hover-secondary))) 2968 `(magit-section-highlight ((,c :background ,bg-dim))) 2969 `(magit-sequence-done ((,c :inherit success))) 2970 `(magit-sequence-drop ((,c :inherit error))) 2971 `(magit-sequence-exec ((,c :inherit bold :foreground ,magenta))) 2972 `(magit-sequence-head ((,c :inherit bold :foreground ,cyan))) 2973 `(magit-sequence-onto ((,c :inherit (bold shadow)))) 2974 `(magit-sequence-part ((,c :inherit warning))) 2975 `(magit-sequence-pick ((,c :inherit bold))) 2976 `(magit-sequence-stop ((,c :inherit error))) 2977 `(magit-signature-bad ((,c :inherit error))) 2978 `(magit-signature-error ((,c :inherit error))) 2979 `(magit-signature-expired ((,c :inherit warning))) 2980 `(magit-signature-expired-key ((,c :foreground ,warning))) 2981 `(magit-signature-good ((,c :inherit success))) 2982 `(magit-signature-revoked ((,c :inherit bold :foreground ,warning))) 2983 `(magit-signature-untrusted ((,c :inherit (bold shadow)))) 2984 `(magit-tag ((,c :foreground ,accent-3))) ; compare with branches 2985 ;;;;; make-mode (makefiles) 2986 `(makefile-makepp-perl ((,c :background ,bg-dim))) 2987 `(makefile-space ((,c :background ,bg-inactive))) 2988 ;;;;; man 2989 `(Man-overstrike ((,c :inherit bold :foreground ,accent-0))) 2990 `(Man-underline ((,c :foreground ,accent-1 :underline t))) 2991 ;;;;; marginalia 2992 `(marginalia-archive ((,c :foreground ,accent-0))) 2993 `(marginalia-char ((,c :foreground ,accent-2))) 2994 `(marginalia-date ((,c :foreground ,date-common))) 2995 `(marginalia-documentation ((,c :inherit modus-themes-slant :foreground ,docstring))) 2996 `(marginalia-file-name (( ))) 2997 `(marginalia-file-owner ((,c :inherit shadow))) 2998 `(marginalia-file-priv-dir ((,c :foreground ,accent-0))) 2999 `(marginalia-file-priv-exec ((,c :foreground ,accent-1))) 3000 `(marginalia-file-priv-link ((,c :foreground ,fg-link))) 3001 `(marginalia-file-priv-no ((,c :inherit shadow))) 3002 `(marginalia-file-priv-other ((,c :foreground ,accent-2))) 3003 `(marginalia-file-priv-rare ((,c :foreground ,accent-3))) 3004 `(marginalia-file-priv-read ((,c :foreground ,fg-main))) 3005 `(marginalia-file-priv-write ((,c :foreground ,accent-0))) 3006 `(marginalia-function ((,c :foreground ,fnname))) 3007 `(marginalia-key ((,c :inherit modus-themes-key-binding))) 3008 `(marginalia-lighter ((,c :inherit shadow))) 3009 `(marginalia-liqst ((,c :inherit shadow))) 3010 `(marginalia-mode ((,c :foreground ,constant))) 3011 `(marginalia-modified ((,c :inherit warning))) 3012 `(marginalia-null ((,c :inherit shadow))) 3013 `(marginalia-number ((,c :foreground ,constant))) 3014 `(marginalia-size ((,c :foreground ,variable))) 3015 `(marginalia-string ((,c :foreground ,string))) 3016 `(marginalia-symbol ((,c :foreground ,builtin))) 3017 `(marginalia-true (( ))) 3018 `(marginalia-type ((,c :foreground ,type))) 3019 `(marginalia-value ((,c :inherit shadow))) 3020 `(marginalia-version ((,c :foreground ,date-common))) 3021 ;;;;; markdown-mode 3022 `(markdown-blockquote-face ((,c :inherit font-lock-doc-face))) 3023 `(markdown-bold-face ((,c :inherit bold))) 3024 `(markdown-code-face ((,c :inherit modus-themes-fixed-pitch :background ,bg-dim :extend t))) 3025 `(markdown-gfm-checkbox-face ((,c :foreground ,warning))) 3026 `(markdown-header-face (( ))) 3027 `(markdown-header-face-1 ((,c :inherit modus-themes-heading-1))) 3028 `(markdown-header-face-2 ((,c :inherit modus-themes-heading-2))) 3029 `(markdown-header-face-3 ((,c :inherit modus-themes-heading-3))) 3030 `(markdown-header-face-4 ((,c :inherit modus-themes-heading-4))) 3031 `(markdown-header-face-5 ((,c :inherit modus-themes-heading-5))) 3032 `(markdown-header-face-6 ((,c :inherit modus-themes-heading-6))) 3033 `(markdown-highlighting-face ((,c :inherit secondary-selection))) 3034 `(markdown-inline-code-face ((,c :inherit modus-themes-prose-code))) 3035 `(markdown-italic-face ((,c :inherit italic))) 3036 `(markdown-language-keyword-face ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-block))) 3037 `(markdown-line-break-face ((,c :inherit nobreak-space))) 3038 `(markdown-link-face ((,c :inherit link))) 3039 `(markdown-markup-face ((,c :inherit shadow))) 3040 `(markdown-metadata-key-face ((,c :inherit bold))) 3041 `(markdown-metadata-value-face ((,c :foreground ,string))) 3042 `(markdown-missing-link-face ((,c :inherit warning))) 3043 `(markdown-pre-face ((,c :inherit markdown-code-face))) 3044 `(markdown-table-face ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-table))) 3045 `(markdown-url-face ((,c :foreground ,fg-alt))) 3046 ;;;;; markup-faces (`adoc-mode') 3047 `(markup-attribute-face ((,c :inherit (modus-themes-slant markup-meta-face)))) 3048 `(markup-bold-face ((,c :inherit bold))) 3049 `(markup-code-face ((,c :foreground ,prose-code))) 3050 `(markup-comment-face ((,c :inherit font-lock-comment-face))) 3051 `(markup-complex-replacement-face ((,c :foreground ,prose-macro))) 3052 `(markup-emphasis-face ((,c :inherit markup-italic-face))) 3053 `(markup-error-face ((,c :inherit error))) 3054 `(markup-gen-face ((,c :foreground ,prose-verbatim))) 3055 `(markup-internal-reference-face ((,c :inherit (shadow modus-themes-slant)))) 3056 `(markup-italic-face ((,c :inherit italic))) 3057 `(markup-list-face ((,c :background ,bg-inactive))) 3058 `(markup-meta-face ((,c :inherit (modus-themes-fixed-pitch shadow)))) 3059 `(markup-meta-hide-face ((,c :foreground "gray50"))) 3060 `(markup-reference-face ((,c :inherit modus-themes-slant :foreground ,fg-alt))) 3061 `(markup-replacement-face ((,c :inherit modus-themes-fixed-pitch :foreground ,err))) 3062 `(markup-secondary-text-face ((,c :height 0.9 :foreground ,fg-alt))) 3063 `(markup-small-face ((,c :inherit markup-gen-face :height 0.9))) 3064 `(markup-strong-face ((,c :inherit markup-bold-face))) 3065 `(markup-subscript-face ((,c :height 0.9 :foreground ,fg-alt))) 3066 `(markup-superscript-face ((,c :height 0.9 :foreground ,fg-alt))) 3067 `(markup-table-cell-face (( ))) 3068 `(markup-table-face ((,c :foreground ,prose-table))) 3069 `(markup-table-row-face (( ))) 3070 `(markup-title-0-face ((,c :inherit modus-themes-heading-1))) 3071 `(markup-title-1-face ((,c :inherit modus-themes-heading-2))) 3072 `(markup-title-2-face ((,c :inherit modus-themes-heading-3))) 3073 `(markup-title-3-face ((,c :inherit modus-themes-heading-4))) 3074 `(markup-title-4-face ((,c :inherit modus-themes-heading-5))) 3075 `(markup-title-5-face ((,c :inherit modus-themes-heading-6))) 3076 `(markup-verbatim-face ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-verbatim))) 3077 ;;;;; messages 3078 `(message-cited-text-1 ((,c :foreground ,mail-cite-0))) 3079 `(message-cited-text-2 ((,c :foreground ,mail-cite-1))) 3080 `(message-cited-text-3 ((,c :foreground ,mail-cite-2))) 3081 `(message-cited-text-4 ((,c :foreground ,mail-cite-3))) 3082 `(message-header-name ((,c :inherit bold))) 3083 `(message-header-newsgroups ((,c :inherit message-header-other))) 3084 `(message-header-to ((,c :inherit bold :foreground ,mail-recipient))) 3085 `(message-header-cc ((,c :foreground ,mail-recipient))) 3086 `(message-header-subject ((,c :inherit bold :foreground ,mail-subject))) 3087 `(message-header-xheader ((,c :inherit message-header-other))) 3088 `(message-header-other ((,c :foreground ,mail-other))) 3089 `(message-mml ((,c :foreground ,mail-part))) 3090 `(message-separator ((,c :background ,bg-active))) 3091 ;;;;; minimap 3092 `(minimap-active-region-background ((,c :background ,bg-active))) 3093 `(minimap-current-line-face ((,c :background ,bg-cyan-intense :foreground ,fg-main))) 3094 ;;;;; mode-line 3095 `(mode-line ((,c :inherit modus-themes-ui-variable-pitch 3096 :box ,border-mode-line-active 3097 :background ,bg-mode-line-active 3098 :foreground ,fg-mode-line-active))) 3099 `(mode-line-active ((,c :inherit mode-line))) 3100 `(mode-line-buffer-id ((,c :inherit bold))) 3101 `(mode-line-emphasis ((,c :inherit bold :foreground ,modeline-info))) 3102 `(mode-line-highlight ((,c :background ,bg-hover :foreground ,fg-main :box ,fg-main))) 3103 `(mode-line-inactive ((,c :inherit modus-themes-ui-variable-pitch 3104 :box ,border-mode-line-inactive 3105 :background ,bg-mode-line-inactive 3106 :foreground ,fg-mode-line-inactive))) 3107 ;;;;; mood-line 3108 `(mood-line-modified ((,c :inherit italic))) 3109 `(mood-line-status-error ((,c :inherit error))) 3110 `(mood-line-status-info ((,c :foreground ,info))) 3111 `(mood-line-status-neutral (( ))) 3112 `(mood-line-status-success ((,c :inherit success))) 3113 `(mood-line-status-warning ((,c :inherit warning))) 3114 `(mood-line-unimportant ((,c :inherit shadow))) 3115 ;;;;; mpdel 3116 `(mpdel-browser-directory-face ((,c :foreground ,accent-0))) 3117 `(mpdel-playlist-current-song-face ((,c :inherit bold :foreground ,accent-0))) 3118 ;;;;; mu4e 3119 `(mu4e-attach-number-face ((,c :inherit bold :foreground ,fg-dim))) 3120 `(mu4e-cited-1-face ((,c :inherit message-cited-text-1))) 3121 `(mu4e-cited-2-face ((,c :inherit message-cited-text-2))) 3122 `(mu4e-cited-3-face ((,c :inherit message-cited-text-3))) 3123 `(mu4e-cited-4-face ((,c :inherit message-cited-text-4))) 3124 `(mu4e-cited-5-face ((,c :inherit message-cited-text-1))) 3125 `(mu4e-cited-6-face ((,c :inherit message-cited-text-2))) 3126 `(mu4e-cited-7-face ((,c :inherit message-cited-text-3))) 3127 `(mu4e-compose-header-face ((,c :inherit mu4e-compose-separator-face))) 3128 `(mu4e-compose-separator-face ((,c :inherit message-separator))) 3129 `(mu4e-contact-face ((,c :inherit message-header-to))) 3130 `(mu4e-context-face ((,c :inherit bold))) 3131 `(mu4e-draft-face ((,c :foreground ,warning))) 3132 `(mu4e-flagged-face ((,c :foreground ,err))) 3133 `(mu4e-footer-face ((,c :inherit italic :foreground ,fg-alt))) 3134 `(mu4e-forwarded-face ((,c :inherit italic :foreground ,info))) 3135 `(mu4e-header-face ((,c :inherit shadow))) 3136 `(mu4e-header-highlight-face ((,c :background ,bg-hl-line :extend t))) 3137 `(mu4e-header-key-face ((,c :inherit message-header-name))) 3138 `(mu4e-header-marks-face ((,c :inherit mu4e-special-header-value-face))) 3139 `(mu4e-header-title-face ((,c :foreground ,fg-alt))) 3140 `(mu4e-header-value-face ((,c :inherit message-header-other))) 3141 `(mu4e-highlight-face ((,c :inherit modus-themes-key-binding))) 3142 `(mu4e-link-face ((,c :inherit link))) 3143 `(mu4e-modeline-face (( ))) 3144 `(mu4e-moved-face ((,c :inherit italic :foreground ,warning))) 3145 `(mu4e-ok-face ((,c :inherit success))) 3146 `(mu4e-region-code ((,c :foreground ,builtin))) 3147 `(mu4e-related-face ((,c :inherit (italic shadow)))) 3148 `(mu4e-replied-face ((,c :foreground ,info))) 3149 `(mu4e-special-header-value-face ((,c :inherit message-header-subject))) 3150 `(mu4e-system-face ((,c :inherit italic))) 3151 `(mu4e-title-face (( ))) 3152 `(mu4e-trashed-face ((,c :foreground ,err))) 3153 `(mu4e-unread-face ((,c :inherit bold))) 3154 `(mu4e-url-number-face ((,c :inherit shadow))) 3155 `(mu4e-view-body-face (( ))) 3156 `(mu4e-warning-face ((,c :inherit warning))) 3157 ;;;;; multiple-cursors 3158 `(mc/cursor-bar-face ((,c :height 1 :foreground ,fg-main :background ,bg-main))) 3159 `(mc/cursor-face ((,c :inverse-video t))) 3160 `(mc/region-face ((,c :inherit region))) 3161 ;;;;; nerd-icons 3162 `(nerd-icons-blue ((,c :foreground ,blue-cooler))) 3163 `(nerd-icons-blue-alt ((,c :foreground ,blue-warmer))) 3164 `(nerd-icons-cyan ((,c :foreground ,cyan))) 3165 `(nerd-icons-cyan-alt ((,c :foreground ,cyan-warmer))) 3166 `(nerd-icons-dblue ((,c :foreground ,blue-faint))) 3167 `(nerd-icons-dcyan ((,c :foreground ,cyan-faint))) 3168 `(nerd-icons-dgreen ((,c :foreground ,green-faint))) 3169 `(nerd-icons-dmaroon ((,c :foreground ,magenta-faint))) 3170 `(nerd-icons-dorange ((,c :foreground ,red-faint))) 3171 `(nerd-icons-dpink ((,c :foreground ,magenta-faint))) 3172 `(nerd-icons-dpurple ((,c :foreground ,magenta-cooler))) 3173 `(nerd-icons-dred ((,c :foreground ,red))) 3174 `(nerd-icons-dsilver ((,c :foreground ,cyan-faint))) 3175 `(nerd-icons-dyellow ((,c :foreground ,yellow-faint))) 3176 `(nerd-icons-green ((,c :foreground ,green))) 3177 `(nerd-icons-lblue ((,c :foreground ,blue-cooler))) 3178 `(nerd-icons-lcyan ((,c :foreground ,cyan))) 3179 `(nerd-icons-lgreen ((,c :foreground ,green-warmer))) 3180 `(nerd-icons-lmaroon ((,c :foreground ,magenta-warmer))) 3181 `(nerd-icons-lorange ((,c :foreground ,red-warmer))) 3182 `(nerd-icons-lpink ((,c :foreground ,magenta))) 3183 `(nerd-icons-lpurple ((,c :foreground ,magenta-faint))) 3184 `(nerd-icons-lred ((,c :foreground ,red-faint))) 3185 `(nerd-icons-lsilver ((,c :foreground "gray50"))) 3186 `(nerd-icons-lyellow ((,c :foreground ,yellow-warmer))) 3187 `(nerd-icons-maroon ((,c :foreground ,magenta))) 3188 `(nerd-icons-orange ((,c :foreground ,yellow-warmer))) 3189 `(nerd-icons-pink ((,c :foreground ,magenta-warmer))) 3190 `(nerd-icons-purple ((,c :foreground ,magenta-cooler))) 3191 `(nerd-icons-purple-alt ((,c :foreground ,blue-warmer))) 3192 `(nerd-icons-red ((,c :foreground ,red))) 3193 `(nerd-icons-red-alt ((,c :foreground ,red-cooler))) 3194 `(nerd-icons-silver ((,c :foreground "gray50"))) 3195 `(nerd-icons-yellow ((,c :foreground ,yellow))) 3196 ;;;;; nerd-icons-completion 3197 `(nerd-icons-completion-dir-face ((,c :foreground ,cyan-faint))) 3198 ;;;;; nerd-icons-dired 3199 `(nerd-icons-dired-dir-face ((,c :foreground ,cyan-faint))) 3200 ;;;;; nerd-icons-ibuffer 3201 `(nerd-icons-ibuffer-dir-face ((,c :foreground ,cyan-faint))) 3202 `(nerd-icons-ibuffer-file-face ((,c :foreground ,blue-faint))) 3203 `(nerd-icons-ibuffer-mode-face ((,c :foreground ,cyan))) 3204 `(nerd-icons-ibuffer-size-face ((,c :foreground ,cyan-cooler))) 3205 ;;;;; neotree 3206 `(neo-banner-face ((,c :foreground ,accent-0))) 3207 `(neo-button-face ((,c :inherit button))) 3208 `(neo-dir-link-face (( ))) 3209 `(neo-expand-btn-face (( ))) 3210 `(neo-file-link-face (( ))) 3211 `(neo-header-face ((,c :inherit bold))) 3212 `(neo-root-dir-face ((,c :inherit bold :foreground ,accent-0))) 3213 `(neo-vc-added-face ((,c :inherit success))) 3214 `(neo-vc-conflict-face ((,c :inherit error))) 3215 `(neo-vc-default-face (( ))) 3216 `(neo-vc-edited-face ((,c :inherit italic))) 3217 `(neo-vc-ignored-face ((,c :inherit shadow))) 3218 `(neo-vc-missing-face ((,c :inherit error))) 3219 `(neo-vc-needs-merge-face ((,c :inherit italic))) 3220 `(neo-vc-needs-update-face ((,c :underline t))) 3221 `(neo-vc-removed-face ((,c :strike-through t))) 3222 `(neo-vc-unlocked-changes-face ((,c :inherit success))) 3223 `(neo-vc-up-to-date-face (( ))) 3224 `(neo-vc-user-face ((,c :inherit warning))) 3225 ;;;;; notmuch 3226 `(notmuch-crypto-decryption ((,c :inherit bold))) 3227 `(notmuch-crypto-part-header ((,c :foreground ,mail-part))) ; like `message-mml' 3228 `(notmuch-crypto-signature-bad ((,c :inherit error))) 3229 `(notmuch-crypto-signature-good ((,c :inherit success))) 3230 `(notmuch-crypto-signature-good-key ((,c :inherit success))) 3231 `(notmuch-crypto-signature-unknown ((,c :inherit warning))) 3232 `(notmuch-jump-key ((,c :inherit modus-themes-key-binding))) 3233 `(notmuch-message-summary-face ((,c :inherit bold :background ,bg-inactive))) 3234 `(notmuch-search-count ((,c :foreground ,fg-dim))) 3235 `(notmuch-search-date ((,c :foreground ,date-common))) 3236 `(notmuch-search-flagged-face ((,c :foreground ,err))) 3237 `(notmuch-search-matching-authors ((,c :foreground ,mail-recipient))) 3238 `(notmuch-search-non-matching-authors ((,c :inherit shadow))) 3239 `(notmuch-search-subject ((,c :foreground ,fg-main))) 3240 `(notmuch-search-unread-face ((,c :inherit bold))) 3241 `(notmuch-tag-added ((,c :underline ,info))) 3242 `(notmuch-tag-deleted ((,c :strike-through ,err))) 3243 `(notmuch-tag-face ((,c :foreground ,accent-0))) 3244 `(notmuch-tag-flagged ((,c :foreground ,err))) 3245 `(notmuch-tag-unread ((,c :foreground ,accent-1))) 3246 `(notmuch-tree-match-author-face ((,c :inherit notmuch-search-matching-authors))) 3247 `(notmuch-tree-match-date-face ((,c :inherit notmuch-search-date))) 3248 `(notmuch-tree-match-face ((,c :foreground ,fg-main))) 3249 `(notmuch-tree-match-tag-face ((,c :inherit notmuch-tag-face))) 3250 `(notmuch-tree-no-match-face ((,c :inherit shadow))) 3251 `(notmuch-tree-no-match-date-face ((,c :inherit shadow))) 3252 `(notmuch-wash-cited-text ((,c :inherit message-cited-text-1))) 3253 `(notmuch-wash-toggle-button ((,c :background ,bg-dim))) 3254 ;;;;; num3-mode 3255 `(num3-face-even ((,c :inherit bold :background ,bg-inactive))) 3256 ;;;;; nxml-mode 3257 `(nxml-attribute-colon ((,c :foreground ,fg-main))) 3258 `(nxml-attribute-local-name ((,c :inherit font-lock-variable-name-face))) 3259 `(nxml-attribute-prefix ((,c :inherit font-lock-type-face))) 3260 `(nxml-attribute-value ((,c :inherit font-lock-constant-face))) 3261 `(nxml-cdata-section-CDATA ((,c :inherit error))) 3262 `(nxml-cdata-section-delimiter ((,c :inherit error))) 3263 `(nxml-char-ref-delimiter ((,c :inherit shadow))) 3264 `(nxml-char-ref-number ((,c :inherit (shadow modus-themes-bold)))) 3265 `(nxml-delimited-data ((,c :inherit (shadow modus-themes-slant)))) 3266 `(nxml-delimiter ((,c :foreground ,fg-dim))) 3267 `(nxml-element-colon ((,c :foreground ,fg-main))) 3268 `(nxml-element-local-name ((,c :inherit font-lock-function-name-face))) 3269 `(nxml-element-prefix ((,c :inherit font-lock-builtin-face))) 3270 `(nxml-entity-ref-delimiter ((,c :inherit shadow))) 3271 `(nxml-entity-ref-name ((,c :inherit (shadow modus-themes-bold)))) 3272 `(nxml-glyph ((,c :background ,bg-active :foreground ,fg-main))) 3273 `(nxml-hash ((,c :inherit (bold font-lock-string-face)))) 3274 `(nxml-heading ((,c :inherit bold))) 3275 `(nxml-name ((,c :inherit font-lock-builtin-face))) 3276 `(nxml-namespace-attribute-colon ((,c :foreground ,fg-main))) 3277 `(nxml-namespace-attribute-prefix ((,c :inherit font-lock-variable-name-face))) 3278 `(nxml-processing-instruction-target ((,c :inherit font-lock-keyword-face))) 3279 `(nxml-prolog-keyword ((,c :inherit font-lock-keyword-face))) 3280 `(nxml-ref ((,c :inherit (shadow modus-themes-bold)))) 3281 `(rng-error ((,c :inherit error))) 3282 ;;;;; olivetti 3283 `(olivetti-fringe ((,c :background ,bg-main))) 3284 ;;;;; orderless 3285 `(orderless-match-face-0 ((,c :inherit modus-themes-completion-match-0))) 3286 `(orderless-match-face-1 ((,c :inherit modus-themes-completion-match-1))) 3287 `(orderless-match-face-2 ((,c :inherit modus-themes-completion-match-2))) 3288 `(orderless-match-face-3 ((,c :inherit modus-themes-completion-match-3))) 3289 ;;;;; org 3290 `(org-agenda-calendar-daterange ((,c :foreground ,date-range))) 3291 `(org-agenda-calendar-event ((,c :foreground ,date-event))) 3292 `(org-agenda-calendar-sexp ((,c :inherit (modus-themes-slant org-agenda-calendar-event)))) 3293 `(org-agenda-clocking ((,c :inherit modus-themes-mark-alt))) 3294 `(org-agenda-column-dateline ((,c :background ,bg-inactive))) 3295 `(org-agenda-current-time ((,c :foreground ,date-now))) 3296 `(org-agenda-date ((,c ,@(modus-themes--heading 'agenda-date date-weekday)))) 3297 `(org-agenda-date-today ((,c :inherit org-agenda-date :underline t))) 3298 `(org-agenda-date-weekend ((,c :inherit org-agenda-date :foreground ,date-weekend))) 3299 `(org-agenda-date-weekend-today ((,c :inherit org-agenda-date-today :foreground ,date-weekend))) 3300 `(org-agenda-diary ((,c :inherit org-agenda-calendar-sexp))) 3301 `(org-agenda-dimmed-todo-face ((,c :inherit shadow))) 3302 `(org-agenda-done ((,c :inherit org-done))) 3303 `(org-agenda-filter-category ((,c :inherit bold :foreground ,modeline-err))) 3304 `(org-agenda-filter-effort ((,c :inherit bold :foreground ,modeline-err))) 3305 `(org-agenda-filter-regexp ((,c :inherit bold :foreground ,modeline-err))) 3306 `(org-agenda-filter-tags ((,c :inherit bold :foreground ,modeline-err))) 3307 `(org-agenda-restriction-lock ((,c :background ,bg-dim :foreground ,fg-dim))) 3308 `(org-agenda-structure ((,c ,@(modus-themes--heading 'agenda-structure fg-alt)))) 3309 `(org-agenda-structure-filter ((,c :inherit org-agenda-structure :foreground ,warning))) 3310 `(org-agenda-structure-secondary ((,c :inherit font-lock-doc-face))) 3311 `(org-archived ((,c :background ,bg-inactive :foreground ,fg-main))) 3312 `(org-block ((,c ,@(modus-themes--org-block fg-main bg-dim)))) 3313 `(org-block-begin-line ((,c ,@(modus-themes--org-block prose-block bg-inactive)))) 3314 `(org-block-end-line ((,c :inherit org-block-begin-line))) 3315 `(org-checkbox ((,c :foreground ,warning))) 3316 `(org-checkbox-statistics-done ((,c :inherit org-done))) 3317 `(org-checkbox-statistics-todo ((,c :inherit org-todo))) 3318 `(org-clock-overlay ((,c :inherit secondary-selection))) 3319 `(org-code ((,c :inherit modus-themes-prose-code))) 3320 `(org-column ((,c :inherit default :background ,bg-dim))) 3321 `(org-column-title ((,c :inherit (bold default) :underline t :background ,bg-dim))) 3322 `(org-date ((,c :inherit modus-themes-fixed-pitch :foreground ,date-common))) 3323 `(org-date-selected ((,c :foreground ,date-common :inverse-video t))) 3324 `(org-document-info ((,c :foreground ,prose-metadata-value))) 3325 `(org-document-info-keyword ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata))) 3326 `(org-document-title ((,c :inherit modus-themes-heading-0))) 3327 `(org-done ((,c :foreground ,prose-done))) 3328 `(org-drawer ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata))) 3329 `(org-ellipsis (( ))) ; inherits from the heading's color 3330 `(org-footnote ((,c :inherit link))) 3331 `(org-formula ((,c :inherit modus-themes-fixed-pitch :foreground ,fnname))) 3332 `(org-headline-done ((,c :inherit org-done))) 3333 `(org-headline-todo ((,c :inherit org-todo))) 3334 `(org-hide ((,c :foreground ,bg-main))) 3335 `(org-indent ((,c :inherit (fixed-pitch org-hide)))) 3336 `(org-imminent-deadline ((,c :inherit modus-themes-bold :foreground ,date-deadline))) 3337 `(org-latex-and-related ((,c :foreground ,type))) 3338 `(org-level-1 ((,c :inherit modus-themes-heading-1))) 3339 `(org-level-2 ((,c :inherit modus-themes-heading-2))) 3340 `(org-level-3 ((,c :inherit modus-themes-heading-3))) 3341 `(org-level-4 ((,c :inherit modus-themes-heading-4))) 3342 `(org-level-5 ((,c :inherit modus-themes-heading-5))) 3343 `(org-level-6 ((,c :inherit modus-themes-heading-6))) 3344 `(org-level-7 ((,c :inherit modus-themes-heading-7))) 3345 `(org-level-8 ((,c :inherit modus-themes-heading-8))) 3346 `(org-link ((,c :inherit link))) 3347 `(org-list-dt ((,c :inherit bold))) 3348 `(org-macro ((,c :inherit modus-themes-prose-macro))) 3349 `(org-meta-line ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata))) 3350 `(org-mode-line-clock (( ))) 3351 `(org-mode-line-clock-overrun ((,c :inherit bold :foreground ,modeline-err))) 3352 `(org-priority ((,c :foreground ,prose-tag))) 3353 `(org-property-value ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata-value))) 3354 `(org-quote ((,c :inherit org-block))) 3355 `(org-scheduled ((,c :foreground ,date-scheduled))) 3356 `(org-scheduled-previously ((,c :inherit org-scheduled))) 3357 `(org-scheduled-today ((,c :inherit (modus-themes-bold org-scheduled)))) 3358 `(org-sexp-date ((,c :foreground ,date-common))) 3359 `(org-special-keyword ((,c :inherit org-drawer))) 3360 `(org-table ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-table))) 3361 `(org-table-header ((,c :inherit (bold org-table)))) 3362 `(org-tag ((,c :foreground ,prose-tag))) 3363 `(org-tag-group ((,c :inherit (bold org-tag)))) 3364 `(org-target ((,c :underline t))) 3365 `(org-time-grid ((,c :foreground ,fg-dim))) 3366 `(org-todo ((,c :foreground ,prose-todo))) 3367 `(org-upcoming-deadline ((,c :foreground ,date-deadline))) 3368 `(org-upcoming-distant-deadline ((,c :inherit org-upcoming-deadline))) 3369 `(org-verbatim ((,c :inherit modus-themes-prose-verbatim))) 3370 `(org-verse ((,c :inherit org-block))) 3371 `(org-warning ((,c :inherit warning))) 3372 ;;;;; org-habit 3373 `(org-habit-alert-face ((,c :background ,bg-graph-yellow-0 :foreground "black"))) ; fg is special case 3374 `(org-habit-alert-future-face ((,c :background ,bg-graph-yellow-1))) 3375 `(org-habit-clear-face ((,c :background ,bg-graph-blue-0 :foreground "black"))) ; fg is special case 3376 `(org-habit-clear-future-face ((,c :background ,bg-graph-blue-1))) 3377 `(org-habit-overdue-face ((,c :background ,bg-graph-red-0))) 3378 `(org-habit-overdue-future-face ((,c :background ,bg-graph-red-1))) 3379 `(org-habit-ready-face ((,c :background ,bg-graph-green-0 :foreground "black"))) ; fg is special case 3380 `(org-habit-ready-future-face ((,c :background ,bg-graph-green-1))) 3381 ;;;;; org-journal 3382 `(org-journal-calendar-entry-face ((,c :inherit modus-themes-slant :foreground ,date-common))) 3383 `(org-journal-calendar-scheduled-face ((,c :inherit (modus-themes-slant org-scheduled)))) 3384 `(org-journal-highlight ((,c :foreground ,err))) 3385 ;;;;; org-noter 3386 `(org-noter-no-notes-exist-face ((,c :inherit error))) 3387 `(org-noter-notes-exist-face ((,c :inherit success))) 3388 ;;;;; org-pomodoro 3389 `(org-pomodoro-mode-line ((,c :foreground ,err))) 3390 `(org-pomodoro-mode-line-break ((,c :foreground ,info))) 3391 `(org-pomodoro-mode-line-overtime ((,c :inherit error))) 3392 ;;;;; org-recur 3393 `(org-recur ((,c :foreground ,fg-alt))) 3394 ;;;;; org-roam 3395 `(org-roam-dim ((,c :foreground "gray50"))) 3396 `(org-roam-olp ((,c :inherit shadow))) 3397 `(org-roam-preview-heading ((,c :background ,bg-inactive))) 3398 `(org-roam-preview-heading-highlight ((,c :background ,bg-active :foreground ,fg-main))) 3399 `(org-roam-preview-region ((,c :inherit bold))) 3400 `(org-roam-title ((,c :inherit bold))) 3401 ;;;;; org-superstar 3402 `(org-superstar-item ((,c :foreground ,fg-main))) 3403 ;;;;; org-tree-slide 3404 `(org-tree-slide-header-overlay-face ((,c :inherit org-document-title))) 3405 ;;;;; origami 3406 `(origami-fold-header-face ((,c :background ,bg-dim :foreground ,fg-dim :box t))) 3407 `(origami-fold-replacement-face ((,c :background ,bg-inactive :foreground ,fg-dim))) 3408 ;;;;; outline-mode 3409 `(outline-1 ((,c :inherit modus-themes-heading-1))) 3410 `(outline-2 ((,c :inherit modus-themes-heading-2))) 3411 `(outline-3 ((,c :inherit modus-themes-heading-3))) 3412 `(outline-4 ((,c :inherit modus-themes-heading-4))) 3413 `(outline-5 ((,c :inherit modus-themes-heading-5))) 3414 `(outline-6 ((,c :inherit modus-themes-heading-6))) 3415 `(outline-7 ((,c :inherit modus-themes-heading-7))) 3416 `(outline-8 ((,c :inherit modus-themes-heading-8))) 3417 ;;;;; outline-minor-faces 3418 `(outline-minor-0 (())) 3419 ;;;;; package (M-x list-packages) 3420 `(package-description ((,c :foreground ,docstring))) 3421 `(package-help-section-name ((,c :inherit bold))) 3422 `(package-name ((,c :inherit link))) 3423 `(package-status-available ((,c :foreground ,date-common))) 3424 `(package-status-avail-obso ((,c :inherit error))) 3425 `(package-status-built-in ((,c :foreground ,builtin))) 3426 `(package-status-dependency ((,c :foreground ,warning))) 3427 `(package-status-disabled ((,c :inherit error :strike-through t))) 3428 `(package-status-from-source ((,c :foreground ,type))) 3429 `(package-status-held ((,c :foreground ,warning))) 3430 `(package-status-incompat ((,c :inherit warning))) 3431 `(package-status-installed ((,c :foreground ,fg-alt))) 3432 `(package-status-new ((,c :inherit success))) 3433 `(package-status-unsigned ((,c :inherit error))) 3434 ;;;;; page-break-lines 3435 `(page-break-lines ((,c :inherit default :foreground "gray50"))) 3436 ;;;;; pandoc-mode 3437 `(pandoc-citation-key-face ((,c :inherit font-lock-builtin-face))) 3438 `(pandoc-directive-@@-face ((,c :inherit font-lock-keyword-face))) 3439 `(pandoc-directive-braces-face ((,c :inherit font-lock-constant-face))) 3440 `(pandoc-directive-contents-face ((,c :inherit font-lock-string-face))) 3441 `(pandoc-directive-type-face ((,c :inherit font-lock-type-face))) 3442 ;;;;; paren-face 3443 `(parenthesis ((,c :inherit shadow))) 3444 ;;;;; pass 3445 `(pass-mode-directory-face ((,c :inherit bold :foreground ,accent-0))) 3446 `(pass-mode-entry-face ((,c :background ,bg-main :foreground ,fg-main))) 3447 `(pass-mode-header-face ((,c :inherit shadow))) 3448 ;;;;; pdf-tools 3449 `(pdf-links-read-link ((,c :background ,fg-main :foreground ,bg-magenta-intense :inherit bold))) ; Foreground is background and vice versa 3450 `(pdf-occur-document-face ((,c :inherit shadow))) 3451 `(pdf-occur-page-face ((,c :inherit shadow))) 3452 ;;;;; persp-mode 3453 `(persp-face-lighter-buffer-not-in-persp ((,c :inherit error))) 3454 `(persp-face-lighter-default ((,c :inherit bold :foreground ,name))) 3455 `(persp-face-lighter-nil-persp ((,c :inherit bold))) 3456 ;;;;; perspective 3457 `(persp-selected-face ((,c :inherit bold :foreground ,name))) 3458 ;;;;; proced 3459 `(proced-cpu ((,c :foreground ,keyword))) 3460 `(proced-emacs-pid ((,c :foreground ,identifier :underline t))) 3461 `(proced-executable ((,c :foreground ,name))) 3462 `(proced-interruptible-sleep-status-code ((,c :inherit shadow))) 3463 `(proced-mem ((,c :foreground ,type))) 3464 `(proced-memory-high-usage ((,c :foreground ,err))) 3465 `(proced-memory-low-usage ((,c :foreground ,info))) 3466 `(proced-memory-medium-usage ((,c :foreground ,warning))) 3467 `(proced-pgrp ((,c :inherit proced-pid))) 3468 `(proced-pid ((,c :foreground ,identifier))) 3469 `(proced-ppid ((,c :inherit proced-pid))) 3470 `(proced-run-status-code ((,c :inherit success))) 3471 `(proced-sess ((,c :inherit proced-pid))) 3472 `(proced-session-leader-pid ((,c :inherit bold :foreground ,identifier))) 3473 `(proced-time-colon (( ))) 3474 `(proced-uninterruptible-sleep-status-code ((,c :inherit error))) 3475 `(proced-user (( ))) 3476 ;;;;; popup 3477 `(popup-face ((,c :background ,bg-inactive :foreground ,fg-main))) 3478 `(popup-isearch-match ((,c :inherit modus-themes-search-current))) 3479 `(popup-menu-mouse-face ((,c :inherit highlight))) 3480 `(popup-menu-selection-face ((,c :inherit modus-themes-completion-selected))) 3481 `(popup-scroll-bar-background-face ((,c :background ,bg-active))) 3482 `(popup-scroll-bar-foreground-face (( ))) 3483 `(popup-summary-face ((,c :background ,bg-active :foreground ,fg-dim))) 3484 `(popup-tip-face ((,c :inherit modus-themes-intense-yellow))) 3485 ;;;;; powerline 3486 `(powerline-active0 ((,c :background ,fg-dim :foreground ,bg-main))) 3487 `(powerline-active1 ((,c :inherit mode-line))) 3488 `(powerline-active2 ((,c :inherit mode-line-inactive))) 3489 `(powerline-inactive0 ((,c :background ,bg-active :foreground ,fg-dim))) 3490 `(powerline-inactive1 ((,c :background ,bg-main :foreground ,fg-dim))) 3491 `(powerline-inactive2 ((,c :inherit mode-line-inactive))) 3492 ;;;;; powerline-evil 3493 `(powerline-evil-base-face ((,c :background ,fg-main :foreground ,bg-main))) 3494 `(powerline-evil-emacs-face ((,c :inherit bold :background ,bg-main))) 3495 `(powerline-evil-insert-face ((,c :inherit success :background ,bg-main))) 3496 `(powerline-evil-motion-face ((,c :inherit italic :background ,bg-main))) 3497 `(powerline-evil-normal-face ((,c :background ,bg-main :foreground ,fg-alt))) 3498 `(powerline-evil-operator-face ((,c :inherit warning :background ,bg-main))) 3499 `(powerline-evil-replace-face ((,c :inherit error :background ,bg-main))) 3500 `(powerline-evil-visual-face ((,c :inherit bold :background ,bg-main))) 3501 ;;;;; prescient 3502 `(prescient-primary-highlight ((,c :inherit modus-themes-completion-match-0))) 3503 `(prescient-secondary-highlight ((,c :inherit modus-themes-completion-match-1))) 3504 ;;;;; proced 3505 `(proced-mark ((,c :inherit bold))) 3506 `(proced-marked ((,c :inherit modus-themes-mark-alt))) 3507 `(proced-sort-header ((,c :inherit bold :underline t))) 3508 ;;;;; prodigy 3509 `(prodigy-green-face ((,c :inherit success))) 3510 `(prodigy-red-face ((,c :inherit error))) 3511 `(prodigy-yellow-face ((,c :inherit warning))) 3512 ;;;;; pulse 3513 `(pulse-highlight-start-face ((,c :background ,bg-blue-intense :extend t))) 3514 ;;;;; pyim 3515 `(pyim-page ((,c :background ,bg-active))) 3516 `(pyim-page-selection ((,c :inherit bold :background ,bg-active :foreground ,info))) 3517 `(pyim-page-subword ((,c :background ,bg-inactive))) 3518 ;;;;; quick-peek 3519 `(quick-peek-background-face ((,c :background ,bg-inactive))) 3520 `(quick-peek-border-face ((,c :background ,border :height 1))) 3521 `(quick-peek-padding-face ((,c :background ,bg-inactive :height 0.15))) 3522 ;;;;; rainbow-delimiters 3523 `(rainbow-delimiters-base-error-face ((,c :inherit modus-themes-prominent-error))) 3524 `(rainbow-delimiters-base-face ((,c :foreground ,fg-main))) 3525 `(rainbow-delimiters-depth-1-face ((,c :foreground ,rainbow-0))) 3526 `(rainbow-delimiters-depth-2-face ((,c :foreground ,rainbow-1))) 3527 `(rainbow-delimiters-depth-3-face ((,c :foreground ,rainbow-2))) 3528 `(rainbow-delimiters-depth-4-face ((,c :foreground ,rainbow-3))) 3529 `(rainbow-delimiters-depth-5-face ((,c :foreground ,rainbow-4))) 3530 `(rainbow-delimiters-depth-6-face ((,c :foreground ,rainbow-5))) 3531 `(rainbow-delimiters-depth-7-face ((,c :foreground ,rainbow-6))) 3532 `(rainbow-delimiters-depth-8-face ((,c :foreground ,rainbow-7))) 3533 `(rainbow-delimiters-depth-9-face ((,c :foreground ,rainbow-8))) 3534 `(rainbow-delimiters-mismatched-face ((,c :inherit (bold modus-themes-prominent-warning)))) 3535 `(rainbow-delimiters-unmatched-face ((,c :inherit (bold modus-themes-prominent-error)))) 3536 ;;;;; rcirc 3537 `(rcirc-bright-nick ((,c :inherit bold :foreground ,accent-2))) 3538 `(rcirc-dim-nick ((,c :inherit shadow))) 3539 `(rcirc-monospace-text ((,c :inherit fixed-pitch))) 3540 `(rcirc-my-nick ((,c :inherit bold :foreground ,accent-1))) 3541 `(rcirc-nick-in-message ((,c :inherit rcirc-my-nick))) 3542 `(rcirc-nick-in-message-full-line ((,c :inherit rcirc-my-nick))) 3543 `(rcirc-other-nick ((,c :inherit bold :foreground ,accent-0))) 3544 `(rcirc-prompt ((,c :inherit minibuffer-prompt))) 3545 `(rcirc-server ((,c :inherit font-lock-comment-face))) 3546 `(rcirc-timestamp ((,c :foreground ,date-common))) 3547 `(rcirc-track-keyword ((,c :inherit bold :foreground ,modeline-warning))) 3548 `(rcirc-track-nick ((,c :inherit rcirc-my-nick))) 3549 `(rcirc-url ((,c :inherit link))) 3550 ;;;;; recursion-indicator 3551 `(recursion-indicator-general ((,c :foreground ,modeline-err))) 3552 `(recursion-indicator-minibuffer ((,c :foreground ,modeline-info))) 3553 ;;;;; regexp-builder (re-builder) 3554 `(reb-match-0 ((,c :inherit modus-themes-intense-cyan))) 3555 `(reb-match-1 ((,c :inherit modus-themes-subtle-magenta))) 3556 `(reb-match-2 ((,c :inherit modus-themes-subtle-green))) 3557 `(reb-match-3 ((,c :inherit modus-themes-intense-yellow))) 3558 `(reb-regexp-grouping-backslash ((,c :inherit font-lock-regexp-grouping-backslash))) 3559 `(reb-regexp-grouping-construct ((,c :inherit font-lock-regexp-grouping-construct))) 3560 ;;;;; rg (rg.el) 3561 `(rg-column-number-face ((,c :inherit shadow))) 3562 `(rg-context-face ((,c :inherit shadow))) 3563 `(rg-error-face ((,c :inherit error))) 3564 `(rg-file-tag-face ((,c :inherit font-lock-builtin-face))) 3565 `(rg-filename-face ((,c :inherit bold :foreground ,name))) 3566 `(rg-line-number-face ((,c :inherit shadow))) 3567 `(rg-literal-face ((,c :inherit font-lock-constant-face))) 3568 `(rg-match-face ((,c :inherit match))) 3569 `(rg-regexp-face ((,c :foreground ,name))) 3570 `(rg-toggle-off-face ((,c :inherit (shadow bold)))) 3571 `(rg-toggle-on-face ((,c :inherit success))) 3572 `(rg-warning-face ((,c :inherit warning))) 3573 ;;;;; ripgrep 3574 `(ripgrep-context-face ((,c :inherit shadow))) 3575 `(ripgrep-error-face ((,c :inherit error))) 3576 `(ripgrep-hit-face ((,c :inherit success))) 3577 `(ripgrep-match-face ((,c :inherit match))) 3578 ;;;;; rmail 3579 `(rmail-header-name ((,c :inherit bold))) 3580 `(rmail-highlight ((,c :inherit bold :foreground ,mail-other))) 3581 ;;;;; rst-mode 3582 `(rst-level-1 ((,c :inherit modus-themes-heading-1))) 3583 `(rst-level-2 ((,c :inherit modus-themes-heading-2))) 3584 `(rst-level-3 ((,c :inherit modus-themes-heading-3))) 3585 `(rst-level-4 ((,c :inherit modus-themes-heading-4))) 3586 `(rst-level-5 ((,c :inherit modus-themes-heading-5))) 3587 `(rst-level-6 ((,c :inherit modus-themes-heading-6))) 3588 ;;;;; ruler-mode 3589 `(ruler-mode-column-number ((,c :inherit ruler-mode-default))) 3590 `(ruler-mode-comment-column ((,c :inherit ruler-mode-default :foreground ,red))) 3591 `(ruler-mode-current-column ((,c :inherit ruler-mode-default :background ,bg-active :foreground ,fg-main))) 3592 `(ruler-mode-default ((,c :inherit default :background ,bg-dim :foreground ,fg-dim))) 3593 `(ruler-mode-fill-column ((,c :inherit ruler-mode-default :foreground ,green))) 3594 `(ruler-mode-fringes ((,c :inherit ruler-mode-default :foreground ,cyan))) 3595 `(ruler-mode-goal-column ((,c :inherit ruler-mode-default :foreground ,blue))) 3596 `(ruler-mode-margins ((,c :inherit ruler-mode-default :foreground ,bg-main))) 3597 `(ruler-mode-pad ((,c :inherit ruler-mode-default :background ,bg-inactive :foreground ,fg-dim))) 3598 `(ruler-mode-tab-stop ((,c :inherit ruler-mode-default :foreground ,yellow))) 3599 ;;;;; sesman 3600 `(sesman-browser-button-face ((,c :inherit button))) 3601 `(sesman-browser-highligh-face ((,c :inherit highlight))) 3602 `(sesman-buffer-face ((,c :foreground ,accent-1))) 3603 `(sesman-directory-face ((,c :inherit bold :foreground ,accent-0))) 3604 `(sesman-project-face ((,c :inherit bold :foreground ,accent-2))) 3605 ;;;;; shell-script-mode 3606 `(sh-heredoc ((,c :inherit font-lock-string-face))) 3607 `(sh-quoted-exec ((,c :inherit font-lock-builtin-face))) 3608 ;;;;; shortdoc 3609 `(shortdoc-heading ((,c :inherit bold))) 3610 `(shortdoc-section (())) ; remove the default's variable-pitch style 3611 ;;;;; show-paren-mode 3612 `(show-paren-match ((,c :background ,bg-paren-match :foreground ,fg-main :underline ,underline-paren-match))) 3613 `(show-paren-match-expression ((,c :background ,bg-paren-expression))) 3614 `(show-paren-mismatch ((,c :inherit modus-themes-prominent-error))) 3615 ;;;;; shr 3616 `(shr-abbreviation ((,c :inherit modus-themes-lang-note))) 3617 `(shr-code ((,c :inherit modus-themes-prose-verbatim))) 3618 `(shr-h1 ((,c :inherit modus-themes-heading-1))) 3619 `(shr-h2 ((,c :inherit modus-themes-heading-2))) 3620 `(shr-h3 ((,c :inherit modus-themes-heading-3))) 3621 `(shr-h4 ((,c :inherit modus-themes-heading-4))) 3622 `(shr-h5 ((,c :inherit modus-themes-heading-5))) 3623 `(shr-h6 ((,c :inherit modus-themes-heading-6))) 3624 `(shr-selected-link ((,c :inherit modus-themes-mark-sel))) 3625 ;;;;; side-notes 3626 `(side-notes ((,c :background ,bg-dim :foreground ,fg-dim))) 3627 ;;;;; sieve-mode 3628 `(sieve-action-commands ((,c :inherit font-lock-builtin-face))) 3629 `(sieve-control-commands ((,c :inherit font-lock-keyword-face))) 3630 `(sieve-tagged-arguments ((,c :inherit font-lock-type-face))) 3631 `(sieve-test-commands ((,c :inherit font-lock-function-name-face))) 3632 ;;;;; skewer-mode 3633 `(skewer-error-face ((,c :inherit modus-themes-lang-error))) 3634 ;;;;; slime (sldb) 3635 `(sldb-condition-face ((,c :inherit font-lock-preprocessor-face))) 3636 `(sldb-restart-number-face ((,c :inherit bold))) 3637 `(sldb-restart-type-face ((,c :inherit font-lock-type-face))) 3638 `(sldb-restartable-frame-line-face ((,c :inherit success))) 3639 `(sldb-section-face ((,c :inherit bold))) 3640 `(slime-error-face ((,c :inherit modus-themes-lang-error))) 3641 `(slime-note-face ((,c :underline t))) 3642 `(slime-repl-input-face ((,c :inherit bold))) 3643 `(slime-repl-inputed-output-face ((,c :inherit font-lock-string-face))) 3644 `(slime-repl-output-mouseover-face ((,c :inherit highlight))) 3645 `(slime-repl-prompt-face ((,c :inherit modus-themes-prompt))) 3646 `(slime-style-warning-face ((,c :inherit modus-themes-lang-note))) 3647 `(slime-warning-face ((,c :inherit modus-themes-lang-warning))) 3648 ;;;;; sly 3649 `(sly-action-face ((,c :inherit font-lock-type-face))) 3650 `(sly-db-condition-face ((,c :inherit font-lock-preprocessor-face))) 3651 `(sly-db-restartable-frame-line-face ((,c :inherit success))) 3652 `(sly-error-face ((,c :inherit modus-themes-lang-error))) 3653 `(sly-mode-line ((,c :inherit mode-line-emphasis))) 3654 `(sly-mrepl-output-face ((,c :inherit font-lock-string-face))) 3655 `(sly-mrepl-output-face ((,c :inherit font-lock-string-face))) 3656 `(sly-mrepl-prompt-face ((,c :inherit modus-themes-prompt))) 3657 `(sly-note-face ((,c :inherit modus-themes-lang-note))) 3658 `(sly-stickers-placed-face ((,c :background ,bg-inactive))) 3659 `(sly-style-warning-face ((,c :inherit modus-themes-lang-note))) 3660 `(sly-warning-face ((,c :inherit modus-themes-lang-warning))) 3661 ;;;;; smart-mode-line 3662 `(sml/charging ((,c :foreground ,info))) 3663 `(sml/discharging ((,c :foreground ,err))) 3664 `(sml/filename ((,c :inherit bold :foreground ,name))) 3665 `(sml/folder (( ))) 3666 `(sml/git ((,c :inherit success))) 3667 `(sml/global (( ))) 3668 `(sml/line-number ((,c :inherit sml/global))) 3669 `(sml/minor-modes ((,c :inherit sml/global))) 3670 `(sml/modes ((,c :inherit bold))) 3671 `(sml/modified ((,c :inherit italic))) 3672 `(sml/mule-info ((,c :inherit sml/global))) 3673 `(sml/name-filling ((,c :inherit warning))) 3674 `(sml/not-modified ((,c :inherit sml/global))) 3675 `(sml/numbers-separator ((,c :inherit sml/global))) 3676 `(sml/outside-modified ((,c :inherit modus-themes-prominent-error))) 3677 `(sml/position-percentage ((,c :inherit sml/global))) 3678 `(sml/prefix ((,c :foreground ,fg-alt))) 3679 `(sml/process ((,c :inherit sml/prefix))) 3680 `(sml/projectile ((,c :inherit sml/git))) 3681 `(sml/read-only (( ))) 3682 `(sml/remote ((,c :inherit sml/global))) 3683 `(sml/sudo ((,c :inherit warning))) 3684 `(sml/time ((,c :inherit sml/global))) 3685 `(sml/vc ((,c :inherit sml/git))) 3686 `(sml/vc-edited ((,c :inherit italic))) 3687 ;;;;; smerge 3688 `(smerge-base ((,c :inherit diff-changed))) 3689 `(smerge-lower ((,c :inherit diff-added))) 3690 `(smerge-markers ((,c :inherit diff-header))) 3691 `(smerge-refined-added ((,c :inherit diff-refine-added))) 3692 `(smerge-refined-changed (())) 3693 `(smerge-refined-removed ((,c :inherit diff-refine-removed))) 3694 `(smerge-upper ((,c :inherit diff-removed))) 3695 ;;;;; speedbar 3696 `(speedbar-button-face ((,c :inherit button))) 3697 `(speedbar-directory-face ((,c :inherit bold :foreground ,accent-0))) 3698 `(speedbar-file-face ((,c :foreground ,fg-main))) 3699 `(speedbar-highlight-face ((,c :inherit highlight))) 3700 `(speedbar-selected-face ((,c :inherit modus-themes-mark-sel))) 3701 `(speedbar-separator-face ((,c :background ,bg-active :foreground ,fg-main))) 3702 `(speedbar-tag-face ((,c :foreground ,accent-1))) 3703 ;;;;; spell-fu 3704 `(spell-fu-incorrect-face ((,c :inherit modus-themes-lang-error))) 3705 ;;;;; stripes 3706 `(stripes ((,c :background ,bg-inactive))) 3707 ;;;;; suggest 3708 `(suggest-heading ((,c :inherit warning))) 3709 ;;;;; switch-window 3710 `(switch-window-background ((,c :background ,bg-inactive))) 3711 `(switch-window-label ((,c :height 3.0 :foreground ,red-intense))) 3712 ;;;;; swiper 3713 `(swiper-background-match-face-1 (( ))) 3714 `(swiper-background-match-face-2 ((,c :inherit modus-themes-completion-match-0))) 3715 `(swiper-background-match-face-3 ((,c :inherit modus-themes-completion-match-1))) 3716 `(swiper-background-match-face-4 ((,c :inherit modus-themes-completion-match-2))) 3717 `(swiper-line-face ((,c :background ,bg-hl-line :extend t))) 3718 `(swiper-match-face-1 (( ))) 3719 `(swiper-match-face-2 ((,c :inherit modus-themes-completion-match-0))) 3720 `(swiper-match-face-3 ((,c :inherit modus-themes-completion-match-1))) 3721 `(swiper-match-face-4 ((,c :inherit modus-themes-completion-match-2))) 3722 ;;;;; symbol-overlay 3723 `(symbol-overlay-default-face ((,c :background ,bg-inactive))) 3724 `(symbol-overlay-face-1 ((,c :inherit modus-themes-intense-blue))) 3725 `(symbol-overlay-face-2 ((,c :inherit modus-themes-intense-magenta))) 3726 `(symbol-overlay-face-3 ((,c :inherit modus-themes-intense-yellow))) 3727 `(symbol-overlay-face-4 ((,c :inherit modus-themes-intense-magenta))) 3728 `(symbol-overlay-face-5 ((,c :inherit modus-themes-intense-red))) 3729 `(symbol-overlay-face-6 ((,c :inherit modus-themes-intense-red))) 3730 `(symbol-overlay-face-7 ((,c :inherit modus-themes-intense-cyan))) 3731 `(symbol-overlay-face-8 ((,c :inherit modus-themes-intense-cyan))) 3732 ;;;;; syslog-mode 3733 `(syslog-debug ((,c :inherit italic))) 3734 `(syslog-error ((,c :inherit error))) 3735 `(syslog-file ((,c :inherit bold :foreground ,name))) 3736 `(syslog-hide ((,c :background ,bg-main :foreground ,fg-main))) 3737 `(syslog-hour ((,c :inherit bold :foreground ,date-common))) 3738 `(syslog-info ((,c :inherit success))) 3739 `(syslog-ip ((,c :inherit bold :foreground ,name :underline t))) 3740 `(syslog-su ((,c :inherit error :underline t))) 3741 `(syslog-warn ((,c :inherit warning))) 3742 ;;;;; tab-bar-mode 3743 `(tab-bar ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-tab-bar))) 3744 `(tab-bar-tab-group-current ((,c :inherit bold :background ,bg-tab-current :box (:line-width -2 :color ,bg-tab-current) :foreground ,fg-alt))) 3745 `(tab-bar-tab-group-inactive ((,c :background ,bg-tab-bar :box (:line-width -2 :color ,bg-tab-bar) :foreground ,fg-alt))) 3746 `(tab-bar-tab ((,c :inherit bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) 3747 `(tab-bar-tab-inactive ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) 3748 `(tab-bar-tab-ungrouped ((,c :inherit tab-bar-tab-inactive))) 3749 ;;;;; tab-line-mode 3750 `(tab-line ((,c :inherit modus-themes-ui-variable-pitch :background ,bg-tab-bar :height 0.95))) 3751 `(tab-line-close-highlight ((,c :foreground ,err))) 3752 `(tab-line-highlight ((,c :inherit highlight))) 3753 `(tab-line-tab (( ))) 3754 `(tab-line-tab-current ((,c :inherit bold :box (:line-width -2 :color ,bg-tab-current) :background ,bg-tab-current))) 3755 `(tab-line-tab-inactive ((,c :box (:line-width -2 :color ,bg-tab-other) :background ,bg-tab-other))) 3756 `(tab-line-tab-inactive-alternate ((,c :inherit tab-line-tab-inactive :foreground ,fg-alt))) 3757 `(tab-line-tab-modified ((,c :foreground ,warning))) 3758 ;;;;; table (built-in table.el) 3759 `(table-cell ((,c :background ,bg-dim))) 3760 ;;;;; telega 3761 `(telega-button ((,c :box t :foreground ,fg-link))) 3762 `(telega-button-active ((,c :box ,fg-link :background ,fg-link :foreground ,bg-main))) 3763 `(telega-button-highlight ((,c :inherit secondary-selection))) 3764 `(telega-chat-prompt ((,c :inherit modus-themes-prompt))) 3765 `(telega-entity-type-code ((,c :inherit modus-themes-prose-verbatim))) 3766 `(telega-entity-type-mention ((,c :foreground ,cyan))) 3767 `(telega-entity-type-pre ((,c :inherit modus-themes-prose-code))) 3768 `(telega-entity-type-spoiler ((,c :background ,fg-main :foreground ,fg-main))) 3769 `(telega-msg-heading ((,c :background ,bg-inactive))) 3770 `(telega-msg-self-title ((,c :inherit bold))) 3771 `(telega-root-heading ((,c :background ,bg-inactive))) 3772 `(telega-secret-title ((,c :foreground ,magenta-warmer))) 3773 `(telega-unmuted-count ((,c :foreground ,blue-cooler))) 3774 `(telega-user-online-status ((,c :foreground ,cyan))) 3775 `(telega-username ((,c :foreground ,cyan-cooler))) 3776 `(telega-webpage-chat-link ((,c :background ,bg-inactive))) 3777 `(telega-webpage-fixed ((,c :inherit modus-themes-fixed-pitch :height 0.85))) 3778 `(telega-webpage-header ((,c :inherit modus-themes-variable-pitch :height 1.3))) 3779 `(telega-webpage-preformatted ((,c :inherit modus-themes-fixed-pitch :background ,bg-inactive))) 3780 `(telega-webpage-subheader ((,c :inherit modus-themes-variable-pitch :height 1.15))) 3781 ;;;;; terraform-mode 3782 `(terraform--resource-name-face ((,c :foreground ,keyword))) 3783 `(terraform--resource-type-face ((,c :foreground ,type))) 3784 ;;;;; term 3785 ;; NOTE 2023-08-10: `term-color-black' and `term-color-white' use 3786 ;; the "bright" semantic color mappings to make sure they are 3787 ;; distinct from `term'. 3788 `(term ((,c :background ,bg-main :foreground ,fg-main))) 3789 `(term-bold ((,c :inherit bold))) 3790 `(term-color-black ((,c :background ,bg-term-black-bright :foreground ,fg-term-black-bright))) 3791 `(term-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue))) 3792 `(term-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan))) 3793 `(term-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green))) 3794 `(term-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta))) 3795 `(term-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red))) 3796 `(term-color-white ((,c :background ,bg-term-white-bright :foreground ,fg-term-white-bright))) 3797 `(term-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow))) 3798 `(term-underline ((,c :underline t))) 3799 ;;;;; textsec 3800 `(textsec-suspicious (( ))) 3801 ;;;;; transient 3802 `(transient-active-infix ((,c :inherit highlight))) 3803 `(transient-amaranth ((,c :inherit bold :foreground ,yellow-warmer))) 3804 ;; Placate the compiler for what is a spurious warning. We also 3805 ;; have to do this with `eldoc-highlight-function-argument'. 3806 (list 'transient-argument `((,c :inherit (bold modus-themes-mark-alt)))) 3807 `(transient-blue ((,c :inherit bold :foreground ,blue))) 3808 `(transient-disabled-suffix ((,c :inherit modus-themes-mark-del))) 3809 `(transient-enabled-suffix ((,c :inherit modus-themes-subtle-cyan))) 3810 `(transient-heading ((,c :inherit bold :foreground ,fg-main))) 3811 `(transient-inactive-argument ((,c :inherit shadow))) 3812 `(transient-inactive-value ((,c :inherit shadow))) 3813 `(transient-key ((,c :inherit modus-themes-key-binding))) 3814 `(transient-mismatched-key ((,c :underline t))) 3815 `(transient-nonstandard-key ((,c :underline t))) 3816 `(transient-pink ((,c :inherit bold :foreground ,magenta))) 3817 `(transient-purple ((,c :inherit bold :foreground ,magenta-cooler))) 3818 `(transient-red ((,c :inherit bold :foreground ,red-faint))) 3819 `(transient-teal ((,c :inherit bold :foreground ,cyan-cooler))) 3820 `(transient-unreachable ((,c :inherit shadow))) 3821 `(transient-unreachable-key ((,c :inherit shadow))) 3822 `(transient-value ((,c :inherit (bold modus-themes-mark-sel)))) 3823 ;;;;; trashed 3824 `(trashed-deleted ((,c :inherit modus-themes-mark-del))) 3825 `(trashed-directory ((,c :foreground ,accent-0))) 3826 `(trashed-mark ((,c :inherit bold))) 3827 `(trashed-marked ((,c :inherit modus-themes-mark-alt))) 3828 `(trashed-restored ((,c :inherit modus-themes-mark-sel))) 3829 ;;;;; tree-sitter 3830 `(tree-sitter-hl-face:attribute ((,c :inherit font-lock-variable-name-face))) 3831 `(tree-sitter-hl-face:constant.builtin ((,c :inherit tree-sitter-hl-face:constant))) 3832 `(tree-sitter-hl-face:escape ((,c :inherit font-lock-regexp-grouping-backslash))) 3833 `(tree-sitter-hl-face:function ((,c :inherit font-lock-function-name-face))) 3834 `(tree-sitter-hl-face:function.call ((,c :inherit tree-sitter-hl-face:function))) 3835 `(tree-sitter-hl-face:label (( ))) 3836 `(tree-sitter-hl-face:method.call (( ))) 3837 `(tree-sitter-hl-face:operator ((,c :inherit modus-themes-bold))) 3838 `(tree-sitter-hl-face:property (( ))) 3839 `(tree-sitter-hl-face:property.definition ((,c :inherit font-lock-variable-name-face))) 3840 `(tree-sitter-hl-face:punctuation (( ))) 3841 `(tree-sitter-hl-face:punctuation.bracket (( ))) 3842 `(tree-sitter-hl-face:punctuation.delimiter (( ))) 3843 `(tree-sitter-hl-face:punctuation.special ((,c :inherit font-lock-regexp-grouping-construct))) 3844 `(tree-sitter-hl-face:string.special ((,c :inherit tree-sitter-hl-face:string))) 3845 `(tree-sitter-hl-face:tag ((,c :inherit font-lock-function-name-face))) 3846 `(tree-sitter-hl-face:type.argument (( ))) 3847 ;;;;; tty-menu 3848 `(tty-menu-disabled-face ((,c :background ,bg-inactive :foreground ,fg-dim))) 3849 `(tty-menu-enabled-face ((,c :inherit bold :background ,bg-inactive :foreground ,fg-main))) 3850 `(tty-menu-selected-face ((,c :inherit modus-themes-intense-blue))) 3851 ;;;;; tuareg 3852 `(caml-types-def-face ((,c :inherit modus-themes-subtle-red))) 3853 `(caml-types-expr-face ((,c :inherit modus-themes-subtle-green))) 3854 `(caml-types-occ-face ((,c :inherit modus-themes-subtle-green))) 3855 `(caml-types-scope-face ((,c :inherit modus-themes-subtle-blue))) 3856 `(caml-types-typed-face ((,c :inherit modus-themes-subtle-magenta))) 3857 `(tuareg-font-double-semicolon-face ((,c :inherit font-lock-preprocessor-face))) 3858 `(tuareg-font-lock-attribute-face ((,c :inherit font-lock-function-name-face))) 3859 `(tuareg-font-lock-constructor-face ((,c :foreground ,fg-main))) 3860 `(tuareg-font-lock-error-face ((,c :inherit (modus-themes-intense-red bold)))) 3861 ;; `(tuareg-font-lock-extension-node-face ((,c :background ,bg-inactive :foreground ,magenta))) 3862 `(tuareg-font-lock-governing-face ((,c :inherit bold :foreground ,fg-main))) 3863 `(tuareg-font-lock-infix-extension-node-face ((,c :inherit font-lock-function-name-face))) 3864 `(tuareg-font-lock-interactive-directive-face ((,c :inherit font-lock-preprocessor-face))) 3865 `(tuareg-font-lock-interactive-error-face ((,c :inherit error))) 3866 `(tuareg-font-lock-interactive-output-face ((,c :inherit font-lock-constant-face))) 3867 `(tuareg-font-lock-label-face ((,c :inherit font-lock-type-face))) 3868 `(tuareg-font-lock-line-number-face ((,c :inherit shadow))) 3869 `(tuareg-font-lock-module-face ((,c :inherit font-lock-builtin-face))) 3870 ;; `(tuareg-font-lock-multistage-face ((,c :inherit bold :background ,bg-inactive :foreground ,blue))) 3871 `(tuareg-font-lock-operator-face ((,c :inherit font-lock-preprocessor-face))) 3872 `(tuareg-opam-error-face ((,c :inherit error))) 3873 `(tuareg-opam-pkg-variable-name-face ((,c :inherit font-lock-variable-name-face))) 3874 ;;;;; typescript 3875 `(typescript-jsdoc-tag ((,c :inherit (font-lock-builtin-face font-lock-comment-face) :weight normal))) 3876 `(typescript-jsdoc-type ((,c :inherit (font-lock-type-face font-lock-comment-face) :weight normal))) 3877 `(typescript-jsdoc-value ((,c :inherit (font-lock-constant-face font-lock-comment-face) :weight normal))) 3878 ;;;;; undo-tree 3879 `(undo-tree-visualizer-active-branch-face ((,c :inherit bold :foreground ,fg-main))) 3880 `(undo-tree-visualizer-current-face ((,c :foreground ,blue-intense))) 3881 `(undo-tree-visualizer-default-face ((,c :inherit shadow))) 3882 `(undo-tree-visualizer-register-face ((,c :foreground ,magenta-intense))) 3883 `(undo-tree-visualizer-unmodified-face ((,c :foreground ,green-intense))) 3884 ;;;;; vc (vc-dir.el, vc-hooks.el) 3885 `(vc-dir-directory (( ))) 3886 `(vc-dir-file ((,c :foreground ,name))) 3887 `(vc-dir-header ((,c :inherit bold))) 3888 `(vc-dir-header-value ((,c :foreground ,string))) 3889 `(vc-dir-mark-indicator (( ))) 3890 `(vc-dir-status-edited ((,c :inherit italic))) 3891 `(vc-dir-status-ignored ((,c :inherit shadow))) 3892 `(vc-dir-status-up-to-date ((,c :foreground ,info))) 3893 `(vc-dir-status-warning ((,c :inherit error))) 3894 `(vc-conflict-state ((,c :inherit error))) 3895 `(vc-edited-state ((,c :inherit italic))) 3896 `(vc-git-log-edit-summary-max-warning ((,c :inherit error))) 3897 `(vc-git-log-edit-summary-target-warning ((,c :inherit warning))) 3898 `(vc-locally-added-state ((,c :inherit italic))) 3899 `(vc-locked-state ((,c :inherit success))) 3900 `(vc-missing-state ((,c :inherit error))) 3901 `(vc-needs-update-state ((,c :inherit error))) 3902 `(vc-removed-state ((,c :inherit error))) 3903 `(vc-state-base (( ))) 3904 `(vc-up-to-date-state (( ))) 3905 ;;;;; vertico 3906 `(vertico-current ((,c :inherit modus-themes-completion-selected))) 3907 ;;;;; vertico-quick 3908 `(vertico-quick1 ((,c :inherit bold :background ,bg-char-0))) 3909 `(vertico-quick2 ((,c :inherit bold :background ,bg-char-1))) 3910 ;;;;; vimish-fold 3911 `(vimish-fold-fringe ((,c :foreground ,cyan))) 3912 `(vimish-fold-mouse-face ((,c :inherit modus-themes-intense-blue))) 3913 `(vimish-fold-overlay ((,c :background ,bg-inactive))) 3914 ;;;;; visible-mark 3915 `(visible-mark-active ((,c :background ,bg-blue-intense))) 3916 `(visible-mark-face1 ((,c :background ,bg-cyan-intense))) 3917 `(visible-mark-face2 ((,c :background ,bg-yellow-intense))) 3918 `(visible-mark-forward-face1 ((,c :background ,bg-magenta-intense))) 3919 `(visible-mark-forward-face2 ((,c :background ,bg-green-intense))) 3920 ;;;;; visual-regexp 3921 `(vr/group-0 ((,c :inherit modus-themes-intense-blue))) 3922 `(vr/group-1 ((,c :inherit modus-themes-intense-magenta))) 3923 `(vr/group-2 ((,c :inherit modus-themes-intense-green))) 3924 `(vr/match-0 ((,c :inherit modus-themes-intense-yellow))) 3925 `(vr/match-1 ((,c :inherit modus-themes-intense-yellow))) 3926 `(vr/match-separator-face ((,c :inherit bold :background ,bg-active))) 3927 ;;;;; vterm 3928 ;; NOTE 2023-08-10: `vterm-color-black' and `vterm-color-white' 3929 ;; use the "bright" semantic color mappings to make sure they are 3930 ;; distinct from `vterm-color-default'. 3931 `(vterm-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black))) 3932 `(vterm-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue))) 3933 `(vterm-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan))) 3934 `(vterm-color-default ((,c :background ,bg-main :foreground ,fg-main))) 3935 `(vterm-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green))) 3936 `(vterm-color-inverse-video ((,c :background ,bg-main :inverse-video t))) 3937 `(vterm-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta))) 3938 `(vterm-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red))) 3939 `(vterm-color-underline ((,c :underline t))) 3940 `(vterm-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white))) 3941 `(vterm-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow))) 3942 ;;;;; vundo 3943 `(vundo-default ((,c :inherit shadow))) 3944 `(vundo-highlight ((,c :inherit (bold vundo-node) :foreground ,red))) 3945 `(vundo-last-saved ((,c :inherit (bold vundo-node) :foreground ,blue))) 3946 `(vundo-saved ((,c :inherit vundo-node :foreground ,blue-intense))) 3947 ;;;;; wcheck-mode 3948 `(wcheck-default-face ((,c :foreground ,red :underline t))) 3949 ;;;;; web-mode 3950 `(web-mode-annotation-face ((,c :inherit web-mode-comment-face))) 3951 `(web-mode-annotation-html-face ((,c :inherit web-mode-comment-face))) 3952 `(web-mode-annotation-tag-face ((,c :inherit web-mode-comment-face :underline t))) 3953 `(web-mode-block-attr-name-face ((,c :inherit font-lock-constant-face))) 3954 `(web-mode-block-attr-value-face ((,c :inherit font-lock-type-face))) 3955 `(web-mode-block-comment-face ((,c :inherit web-mode-comment-face))) 3956 `(web-mode-block-control-face ((,c :inherit font-lock-builtin-face))) 3957 `(web-mode-block-delimiter-face ((,c :foreground ,fg-main))) 3958 `(web-mode-block-face ((,c :background ,bg-dim))) 3959 `(web-mode-block-string-face ((,c :inherit web-mode-string-face))) 3960 `(web-mode-bold-face ((,c :inherit bold))) 3961 `(web-mode-builtin-face ((,c :inherit font-lock-builtin-face))) 3962 `(web-mode-comment-face ((,c :inherit font-lock-comment-face))) 3963 `(web-mode-comment-keyword-face ((,c :inherit font-lock-warning-face))) 3964 `(web-mode-constant-face ((,c :inherit font-lock-constant-face))) 3965 `(web-mode-css-at-rule-face ((,c :inherit font-lock-constant-face))) 3966 `(web-mode-css-color-face ((,c :inherit font-lock-builtin-face))) 3967 `(web-mode-css-comment-face ((,c :inherit web-mode-comment-face))) 3968 `(web-mode-css-function-face ((,c :inherit font-lock-builtin-face))) 3969 `(web-mode-css-priority-face ((,c :inherit font-lock-warning-face))) 3970 `(web-mode-css-property-name-face ((,c :inherit font-lock-keyword-face))) 3971 `(web-mode-css-pseudo-class-face ((,c :inherit font-lock-doc-face))) 3972 `(web-mode-css-selector-face ((,c :inherit font-lock-keyword-face))) 3973 `(web-mode-css-string-face ((,c :inherit web-mode-string-face))) 3974 `(web-mode-css-variable-face ((,c :inherit font-lock-variable-name-face))) 3975 `(web-mode-current-column-highlight-face ((,c :background ,bg-inactive))) 3976 `(web-mode-current-element-highlight-face ((,c :inherit modus-themes-cyan-subtle))) 3977 `(web-mode-doctype-face ((,c :inherit font-lock-doc-face))) 3978 `(web-mode-error-face ((,c :inherit error))) 3979 `(web-mode-filter-face ((,c :inherit font-lock-function-name-face))) 3980 `(web-mode-folded-face ((,c :underline t))) 3981 `(web-mode-function-call-face ((,c :inherit font-lock-function-name-face))) 3982 `(web-mode-function-name-face ((,c :inherit font-lock-function-name-face))) 3983 `(web-mode-html-attr-custom-face ((,c :inherit font-lock-variable-name-face))) 3984 `(web-mode-html-attr-engine-face ((,c :foreground ,fg-main))) 3985 `(web-mode-html-attr-equal-face ((,c :foreground ,fg-main))) 3986 `(web-mode-html-attr-name-face ((,c :inherit font-lock-variable-name-face))) 3987 `(web-mode-html-attr-value-face ((,c :inherit font-lock-constant-face))) 3988 `(web-mode-html-entity-face ((,c :inherit font-lock-negation-char-face))) 3989 `(web-mode-html-tag-bracket-face ((,c :foreground ,fg-dim))) 3990 `(web-mode-html-tag-custom-face ((,c :inherit font-lock-function-name-face))) 3991 `(web-mode-html-tag-face ((,c :inherit font-lock-function-name-face))) 3992 `(web-mode-html-tag-namespaced-face ((,c :inherit font-lock-builtin-face))) 3993 `(web-mode-html-tag-unclosed-face ((,c :inherit error :underline t))) 3994 `(web-mode-inlay-face ((,c :background ,bg-inactive))) 3995 `(web-mode-italic-face ((,c :inherit italic))) 3996 `(web-mode-javascript-comment-face ((,c :inherit web-mode-comment-face))) 3997 `(web-mode-javascript-string-face ((,c :inherit web-mode-string-face))) 3998 `(web-mode-json-comment-face ((,c :inherit web-mode-comment-face))) 3999 `(web-mode-json-context-face ((,c :inherit font-lock-builtin-face))) 4000 `(web-mode-json-key-face ((,c :foreground ,blue-faint))) 4001 `(web-mode-json-string-face ((,c :inherit web-mode-string-face))) 4002 `(web-mode-keyword-face ((,c :inherit font-lock-keyword-face))) 4003 `(web-mode-param-name-face ((,c :inherit font-lock-function-name-face))) 4004 `(web-mode-part-comment-face ((,c :inherit web-mode-comment-face))) 4005 `(web-mode-part-face ((,c :inherit web-mode-block-face))) 4006 `(web-mode-part-string-face ((,c :inherit web-mode-string-face))) 4007 `(web-mode-preprocessor-face ((,c :inherit font-lock-preprocessor-face))) 4008 `(web-mode-script-face ((,c :inherit web-mode-part-face))) 4009 `(web-mode-sql-keyword-face ((,c :inherit font-lock-negation-char-face))) 4010 `(web-mode-string-face ((,c :inherit font-lock-string-face))) 4011 `(web-mode-style-face ((,c :inherit web-mode-part-face))) 4012 `(web-mode-symbol-face ((,c :inherit font-lock-constant-face))) 4013 `(web-mode-type-face ((,c :inherit font-lock-builtin-face))) 4014 `(web-mode-underline-face ((,c :underline t))) 4015 `(web-mode-variable-name-face ((,c :inherit font-lock-variable-name-face))) 4016 `(web-mode-warning-face ((,c :inherit warning))) 4017 `(web-mode-whitespace-face ((,c :background ,bg-inactive))) 4018 ;;;;; wgrep 4019 `(wgrep-delete-face ((,c :inherit warning))) 4020 `(wgrep-done-face ((,c :inherit success))) 4021 `(wgrep-face ((,c :inherit bold))) 4022 `(wgrep-file-face ((,c :foreground ,fg-alt))) 4023 `(wgrep-reject-face ((,c :inherit error))) 4024 ;;;;; which-function-mode 4025 `(which-func ((,c :inherit bold :foreground ,modeline-info))) ; same as `breadcrumb-imenu-leaf-face' 4026 ;;;;; which-key 4027 `(which-key-command-description-face ((,c :foreground ,fg-main))) 4028 `(which-key-group-description-face ((,c :foreground ,keyword))) 4029 `(which-key-highlighted-command-face ((,c :foreground ,warning :underline t))) 4030 `(which-key-key-face ((,c :inherit modus-themes-key-binding))) 4031 `(which-key-local-map-description-face ((,c :foreground ,fg-main))) 4032 `(which-key-note-face ((,c :inherit shadow))) 4033 `(which-key-separator-face ((,c :inherit shadow))) 4034 `(which-key-special-key-face ((,c :inherit error))) 4035 ;;;;; whitespace-mode 4036 `(whitespace-big-indent ((,c :background ,bg-space-err))) 4037 `(whitespace-empty ((,c :inherit modus-themes-intense-magenta))) 4038 `(whitespace-hspace ((,c :background ,bg-space :foreground ,fg-space))) 4039 `(whitespace-indentation ((,c :background ,bg-space :foreground ,fg-space))) 4040 `(whitespace-line ((,c :background ,bg-space :foreground ,warning))) 4041 `(whitespace-newline ((,c :background ,bg-space :foreground ,fg-space))) 4042 `(whitespace-space ((,c :background ,bg-space :foreground ,fg-space))) 4043 `(whitespace-space-after-tab ((,c :inherit modus-themes-subtle-magenta))) 4044 `(whitespace-space-before-tab ((,c :inherit modus-themes-subtle-cyan))) 4045 `(whitespace-tab ((,c :background ,bg-space :foreground ,fg-space))) 4046 `(whitespace-trailing ((,c :background ,bg-space-err))) 4047 ;;;;; window-divider-mode 4048 `(window-divider ((,c :foreground ,border))) 4049 `(window-divider-first-pixel ((,c :foreground ,bg-inactive))) 4050 `(window-divider-last-pixel ((,c :foreground ,bg-inactive))) 4051 ;;;;; widget 4052 `(widget-button ((,c :inherit bold :foreground ,fg-link))) 4053 `(widget-button-pressed ((,c :inherit widget-button :foreground ,fg-link-visited))) 4054 `(widget-documentation ((,c :inherit font-lock-doc-face))) 4055 `(widget-field ((,c :background ,bg-inactive :foreground ,fg-main :extend nil))) 4056 `(widget-inactive ((,c :background ,bg-button-inactive :foreground ,fg-button-inactive))) 4057 `(widget-single-line-field ((,c :inherit widget-field))) 4058 ;;;;; writegood-mode 4059 `(writegood-duplicates-face ((,c :inherit modus-themes-lang-error))) 4060 `(writegood-passive-voice-face ((,c :inherit modus-themes-lang-warning))) 4061 `(writegood-weasels-face ((,c :inherit modus-themes-lang-warning))) 4062 ;;;;; woman 4063 `(woman-addition ((,c :foreground ,accent-2))) 4064 `(woman-bold ((,c :inherit bold :foreground ,accent-0))) 4065 `(woman-italic ((,c :inherit italic :foreground ,accent-1))) 4066 `(woman-unknown ((,c :foreground ,accent-3))) 4067 ;;;;; xah-elisp-mode 4068 `(xah-elisp-at-symbol ((,c :inherit font-lock-warning-face))) 4069 `(xah-elisp-cap-variable ((,c :inherit font-lock-preprocessor-face))) 4070 `(xah-elisp-command-face ((,c :inherit font-lock-type-face))) 4071 `(xah-elisp-dollar-symbol ((,c :inherit font-lock-variable-name-face))) 4072 ;;;;; yaml-mode 4073 `(yaml-tab-face ((,c :background ,bg-space-err))) 4074 ;;;;; yasnippet 4075 `(yas-field-highlight-face ((,c :inherit highlight)))) 4076 "Face specs for use with `modus-themes-theme'.") 4077 4078 (defconst modus-themes-custom-variables 4079 '( 4080 ;;;; ansi-colors 4081 `(ansi-color-faces-vector [default bold shadow italic underline success warning error]) 4082 `(ansi-color-names-vector ["gray35" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"]) 4083 ;;;; chart 4084 `(chart-face-color-list 4085 '( ,bg-graph-red-0 ,bg-graph-green-0 ,bg-graph-yellow-0 ,bg-graph-blue-0 ,bg-graph-magenta-0 ,bg-graph-cyan-0 4086 ,bg-graph-red-1 ,bg-graph-green-1 ,bg-graph-yellow-1 ,bg-graph-blue-1 ,bg-graph-magenta-1 ,bg-graph-cyan-1)) 4087 ;;;; exwm 4088 `(exwm-floating-border-color ,border) 4089 ;;;; flymake fringe indicators 4090 `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-themes-prominent-error)) 4091 `(flymake-warning-bitmap '(exclamation-mark modus-themes-prominent-warning)) 4092 `(flymake-note-bitmap '(exclamation-mark modus-themes-prominent-note)) 4093 ;;;; highlight-changes 4094 `(highlight-changes-colors nil) 4095 `(highlight-changes-face-list '(success warning error bold bold-italic)) 4096 ;;;; ibuffer 4097 `(ibuffer-deletion-face 'modus-themes-mark-del) 4098 `(ibuffer-filter-group-name-face 'bold) 4099 `(ibuffer-marked-face 'modus-themes-mark-sel) 4100 `(ibuffer-title-face 'default) 4101 ;;;; hl-todo 4102 `(hl-todo-keyword-faces 4103 '(("HOLD" . ,warning) 4104 ("TODO" . ,err) 4105 ("NEXT" . ,fg-alt) 4106 ("THEM" . ,fg-alt) 4107 ("PROG" . ,info) 4108 ("OKAY" . ,info) 4109 ("DONT" . ,warning) 4110 ("FAIL" . ,err) 4111 ("BUG" . ,err) 4112 ("DONE" . ,info) 4113 ("NOTE" . ,warning) 4114 ("KLUDGE" . ,warning) 4115 ("HACK" . ,warning) 4116 ("TEMP" . ,warning) 4117 ("FIXME" . ,err) 4118 ("XXX+" . ,err) 4119 ("REVIEW" . ,info) 4120 ("DEPRECATED" . ,info))) 4121 ;;;; pdf-tools 4122 `(pdf-view-midnight-colors '(,fg-main . ,bg-dim)) 4123 ;;;; rcirc-color 4124 `(rcirc-colors 4125 '(modus-themes-fg-red 4126 modus-themes-fg-green 4127 modus-themes-fg-blue 4128 modus-themes-fg-yellow 4129 modus-themes-fg-magenta 4130 modus-themes-fg-cyan 4131 modus-themes-fg-red-warmer 4132 modus-themes-fg-green-warmer 4133 modus-themes-fg-blue-warmer 4134 modus-themes-fg-yellow-warmer 4135 modus-themes-fg-magenta-warmer 4136 modus-themes-fg-cyan-warmer 4137 modus-themes-fg-red-cooler 4138 modus-themes-fg-green-cooler 4139 modus-themes-fg-blue-cooler 4140 modus-themes-fg-yellow-cooler 4141 modus-themes-fg-magenta-cooler 4142 modus-themes-fg-cyan-cooler 4143 modus-themes-fg-red-faint 4144 modus-themes-fg-green-faint 4145 modus-themes-fg-blue-faint 4146 modus-themes-fg-yellow-faint 4147 modus-themes-fg-magenta-faint 4148 modus-themes-fg-cyan-faint 4149 modus-themes-fg-red-intense 4150 modus-themes-fg-green-intense 4151 modus-themes-fg-blue-intense 4152 modus-themes-fg-yellow-intense 4153 modus-themes-fg-magenta-intense 4154 modus-themes-fg-cyan-intense)) 4155 ;;;; org-src-block-faces 4156 (if (or (eq modus-themes-org-blocks 'tinted-background) 4157 (eq modus-themes-org-blocks 'rainbow)) 4158 `(org-src-block-faces 4159 `(("emacs-lisp" modus-themes-nuanced-magenta) 4160 ("elisp" modus-themes-nuanced-magenta) 4161 ("clojure" modus-themes-nuanced-magenta) 4162 ("clojurescript" modus-themes-nuanced-magenta) 4163 ("c" modus-themes-nuanced-blue) 4164 ("c++" modus-themes-nuanced-blue) 4165 ("sh" modus-themes-nuanced-green) 4166 ("shell" modus-themes-nuanced-green) 4167 ("html" modus-themes-nuanced-yellow) 4168 ("xml" modus-themes-nuanced-yellow) 4169 ("css" modus-themes-nuanced-red) 4170 ("scss" modus-themes-nuanced-red) 4171 ("python" modus-themes-nuanced-green) 4172 ("ipython" modus-themes-nuanced-magenta) 4173 ("r" modus-themes-nuanced-cyan) 4174 ("yaml" modus-themes-nuanced-cyan) 4175 ("conf" modus-themes-nuanced-cyan) 4176 ("docker" modus-themes-nuanced-cyan))) 4177 `(org-src-block-faces '()))) 4178 "Custom variables for `modus-themes-theme'.") 4179 4180 ;;; Theme macros 4181 4182 ;;;; Instantiate a Modus theme 4183 4184 ;;;###autoload 4185 (defmacro modus-themes-theme (name palette &optional overrides) 4186 "Bind NAME's color PALETTE around face specs and variables. 4187 Face specifications are passed to `custom-theme-set-faces'. 4188 While variables are handled by `custom-theme-set-variables'. 4189 Those are stored in `modus-themes-faces' and 4190 `modus-themes-custom-variables' respectively. 4191 4192 Optional OVERRIDES are appended to PALETTE, overriding 4193 corresponding entries." 4194 (declare (indent 0)) 4195 (let ((sym (gensym)) 4196 (colors (mapcar #'car (symbol-value palette)))) 4197 `(let* ((c '((class color) (min-colors 256))) 4198 (,sym (modus-themes--palette-value ',name ',overrides)) 4199 ,@(mapcar (lambda (color) 4200 (list color 4201 `(modus-themes--retrieve-palette-value ',color ,sym))) 4202 colors)) 4203 (ignore c ,@colors) ; Silence unused variable warnings 4204 (custom-theme-set-faces ',name ,@modus-themes-faces) 4205 (custom-theme-set-variables ',name ,@modus-themes-custom-variables)))) 4206 4207 ;;;; Use theme colors 4208 4209 (defmacro modus-themes-with-colors (&rest body) 4210 "Evaluate BODY with colors from current palette bound." 4211 (declare (indent 0)) 4212 (let* ((sym (gensym)) 4213 ;; NOTE 2022-08-23: We just give it a sample palette at this 4214 ;; stage. It only needs to collect each car. Then we 4215 ;; instantiate the actual theme's palette. We have to do this 4216 ;; otherwise the macro does not work properly when called from 4217 ;; inside a function. 4218 (colors (mapcar #'car (modus-themes--current-theme-palette)))) 4219 `(let* ((c '((class color) (min-colors 256))) 4220 (,sym (modus-themes--current-theme-palette :overrides)) 4221 ,@(mapcar (lambda (color) 4222 (list color 4223 `(modus-themes--retrieve-palette-value ',color ,sym))) 4224 colors)) 4225 (ignore c ,@colors) ; Silence unused variable warnings 4226 ,@body))) 4227 4228 ;;;; Add themes from package to path 4229 4230 ;;;###autoload 4231 (when load-file-name 4232 (let ((dir (file-name-directory load-file-name))) 4233 (unless (equal dir (expand-file-name "themes/" data-directory)) 4234 (add-to-list 'custom-theme-load-path dir)))) 4235 4236 (provide 'modus-themes) 4237 ;;; modus-themes.el ends here