diff options
| author | Protesilaos Stavrou | 2021-03-04 16:20:15 +0200 |
|---|---|---|
| committer | Basil L. Contovounesios | 2021-03-06 09:16:00 +0000 |
| commit | de602dd7cf76b001244964aa5bbef4d9e08ea62b (patch) | |
| tree | 13728319d6f017ea3f426ae9d9dd628ddf9dc59a | |
| parent | f2f233d867ac5a81504c62d5fdb45e8c1c04739b (diff) | |
| download | emacs-de602dd7cf76b001244964aa5bbef4d9e08ea62b.tar.gz emacs-de602dd7cf76b001244964aa5bbef4d9e08ea62b.zip | |
Update Modus themes to their version 1.2.0
* doc/misc/modus-themes.org: Add new version of the manual, with
changes to markup and references to the latest state of the project.
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-operandi-theme.el: Provide updated version of each
theme, which expands the contents of 'modus-themes.el' (bug#45068).
* etc/themes/modus-themes.el: Add new supportive file. This is where
theme data, functions, and face definitions are defined.
| -rw-r--r-- | doc/misc/modus-themes.org | 3267 | ||||
| -rw-r--r-- | etc/themes/modus-operandi-theme.el | 4670 | ||||
| -rw-r--r-- | etc/themes/modus-themes.el | 6436 | ||||
| -rw-r--r-- | etc/themes/modus-vivendi-theme.el | 4670 |
4 files changed, 8812 insertions, 10231 deletions
diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org index 4a6150cf9db..20d7767053f 100644 --- a/doc/misc/modus-themes.org +++ b/doc/misc/modus-themes.org | |||
| @@ -1,30 +1,52 @@ | |||
| 1 | #+TITLE: Modus themes for GNU Emacs | 1 | #+title: Modus themes for GNU Emacs |
| 2 | #+AUTHOR: Protesilaos Stavrou | 2 | #+author: Protesilaos Stavrou |
| 3 | #+EMAIL: info@protesilaos.com | 3 | #+email: info@protesilaos.com |
| 4 | #+TEXINFO_DIR_CATEGORY: Emacs misc features | 4 | #+language: en |
| 5 | #+TEXINFO_DIR_TITLE: Modus Themes: (modus-themes) | 5 | #+options: ':t toc:nil author:t email:t |
| 6 | #+TEXINFO_DIR_DESC: Highly accessible themes (WCAG AAA) | 6 | |
| 7 | #+OPTIONS: ':t toc:nil author:t email:t | 7 | #+macro: stable-version 1.2.0 |
| 8 | #+MACRO: version-tag 0.13.0 | 8 | #+macro: release-date 2021-03-04 |
| 9 | #+MACRO: release-date 2020-10-08 | 9 | #+macro: development-version 1.3.0-dev |
| 10 | #+macro: export-date (eval (format-time-string "%F %R %z" (current-time))) | ||
| 11 | #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ | ||
| 12 | #+macro: space @@texinfo:@: @@ | ||
| 13 | # The "kbd" macro turns KBD into @kbd{KBD}. Additionally, it | ||
| 14 | # encloses case-sensitive special keys (SPC, RET...) within @key{...}. | ||
| 15 | # I got this from the Org source code. | ||
| 16 | #+macro: kbd (eval (let ((case-fold-search nil) (regexp (regexp-opt '("SPC" "RET" "LFD" "TAB" "BS" "ESC" "DELETE" "SHIFT" "Ctrl" "Meta" "Alt" "Cmd" "Super" "UP" "LEFT" "RIGHT" "DOWN") 'words))) (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (replace-regexp-in-string regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t)))) | ||
| 17 | |||
| 18 | #+texinfo_filename: modus-themes.info | ||
| 19 | #+texinfo_dir_category: Emacs misc features | ||
| 20 | #+texinfo_dir_title: Modus Themes: (modus-themes) | ||
| 21 | #+texinfo_dir_desc: Highly accessible themes (WCAG AAA) | ||
| 22 | #+texinfo_header: @set MAINTAINERSITE @uref{https://protesilaos.com,maintainer webpage} | ||
| 23 | #+texinfo_header: @set MAINTAINER Protesilaos Stavrou | ||
| 24 | #+texinfo_header: @set MAINTAINEREMAIL @email{info@protesilaos.com} | ||
| 25 | #+texinfo_header: @set MAINTAINERCONTACT @uref{mailto:info@protesilaos.com,contact the maintainer} | ||
| 10 | 26 | ||
| 11 | #+texinfo: @insertcopying | 27 | #+texinfo: @insertcopying |
| 12 | 28 | ||
| 13 | This manual, written by Protesilaos Stavrou, describes the customization | 29 | This manual, written by Protesilaos Stavrou, describes the customization |
| 14 | options for the =modus-operandi= and =modus-vivendi= themes, and provides | 30 | options for the ~modus-operandi~ and ~modus-vivendi~ themes, and provides |
| 15 | every other piece of information pertinent to them. | 31 | every other piece of information pertinent to them. |
| 16 | 32 | ||
| 17 | The documentation furnished herein corresponds to version {{{version-tag}}}, | 33 | The documentation furnished herein corresponds to stable version |
| 18 | released on {{{release-date}}}. Any reference to a newer feature which does | 34 | {{{stable-version}}}, released on {{{release-date}}}. Any reference to a newer |
| 19 | not yet form part of the latest tagged commit, is explicitly marked as | 35 | feature which does not yet form part of the latest tagged commit, is |
| 20 | such. | 36 | explicitly marked as such. |
| 21 | 37 | ||
| 22 | * Copying | 38 | # Current development target is {{{development-version}}}. This manual was |
| 23 | :PROPERTIES: | 39 | # built on {{{export-date}}}. |
| 24 | :copying: t | ||
| 25 | :END: | ||
| 26 | 40 | ||
| 27 | Copyright (C) 2020--2021 Free Software Foundation, Inc. | 41 | #+toc: headlines 8 insert TOC here, with eight headline levels |
| 42 | |||
| 43 | * COPYING | ||
| 44 | :properties: | ||
| 45 | :copying: t | ||
| 46 | :custom_id: h:b14c3fcb-13dd-4144-9d92-2c58b3ed16d3 | ||
| 47 | :end: | ||
| 48 | |||
| 49 | Copyright (C) 2020-2021 Free Software Foundation, Inc. | ||
| 28 | 50 | ||
| 29 | #+begin_quote | 51 | #+begin_quote |
| 30 | Permission is granted to copy, distribute and/or modify this | 52 | Permission is granted to copy, distribute and/or modify this |
| @@ -34,12 +56,10 @@ Foundation; with no Invariant Sections, with no Front-Cover Texts, | |||
| 34 | and with no Back-Cover Texts. | 56 | and with no Back-Cover Texts. |
| 35 | #+end_quote | 57 | #+end_quote |
| 36 | 58 | ||
| 37 | #+TOC: headlines 8 insert TOC here, with eight headline levels | ||
| 38 | |||
| 39 | * Overview | 59 | * Overview |
| 40 | :PROPERTIES: | 60 | :properties: |
| 41 | :CUSTOM_ID: h:f0f3dbcb-602d-40cf-b918-8f929c441baf | 61 | :custom_id: h:f0f3dbcb-602d-40cf-b918-8f929c441baf |
| 42 | :END: | 62 | :end: |
| 43 | 63 | ||
| 44 | The Modus themes are designed for accessible readability. They conform | 64 | The Modus themes are designed for accessible readability. They conform |
| 45 | with the highest standard for color contrast between any given | 65 | with the highest standard for color contrast between any given |
| @@ -47,9 +67,9 @@ combination of background and foreground values. This corresponds to | |||
| 47 | the WCAG AAA standard, which specifies a minimum rate of distance in | 67 | the WCAG AAA standard, which specifies a minimum rate of distance in |
| 48 | relative luminance of 7:1. | 68 | relative luminance of 7:1. |
| 49 | 69 | ||
| 50 | Modus Operandi (=modus-operandi=) is a light theme, while Modus Vivendi | 70 | Modus Operandi (~modus-operandi~) is a light theme, while Modus Vivendi |
| 51 | (=modus-vivendi=) is dark. Each theme's color palette is designed to | 71 | (~modus-vivendi~) is dark. Each theme's color palette is designed to meet |
| 52 | meet the needs of the numerous interfaces that are possible in the Emacs | 72 | the needs of the numerous interfaces that are possible in the Emacs |
| 53 | computing environment. | 73 | computing environment. |
| 54 | 74 | ||
| 55 | The overarching objective of this project is to always offer accessible | 75 | The overarching objective of this project is to always offer accessible |
| @@ -59,15 +79,16 @@ and stylistic considerations, we will always opt for the former. | |||
| 59 | 79 | ||
| 60 | To ensure that users have a consistently accessible experience, the | 80 | To ensure that users have a consistently accessible experience, the |
| 61 | themes strive to achieve as close to full face coverage as possible | 81 | themes strive to achieve as close to full face coverage as possible |
| 62 | (see [[#h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19][Face coverage]]). | 82 | ([[#h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19][Face coverage]]). |
| 63 | 83 | ||
| 64 | Starting with version 0.12.0 and onwards, the themes are built into GNU | 84 | Starting with version 0.12.0 and onwards, the themes are built into GNU |
| 65 | Emacs (current version is {{{version-tag}}}). | 85 | Emacs. |
| 66 | 86 | ||
| 67 | ** How do the themes look like | 87 | ** How do the themes look like |
| 68 | :PROPERTIES: | 88 | :properties: |
| 69 | :CUSTOM_ID: h:69b92089-069c-4ba1-9d94-cc3415fc4f87 | 89 | :custom_id: h:69b92089-069c-4ba1-9d94-cc3415fc4f87 |
| 70 | :END: | 90 | :end: |
| 91 | #+cindex: Screenshots | ||
| 71 | 92 | ||
| 72 | Check the web page with [[https://protesilaos.com/modus-themes-pictures/][the screen shots]]. There are lots of scenarios | 93 | Check the web page with [[https://protesilaos.com/modus-themes-pictures/][the screen shots]]. There are lots of scenarios |
| 73 | on display that draw attention to details and important aspects in the | 94 | on display that draw attention to details and important aspects in the |
| @@ -77,596 +98,562 @@ options. | |||
| 77 | [[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization options]]. | 98 | [[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization options]]. |
| 78 | 99 | ||
| 79 | ** Learn about the latest changes | 100 | ** Learn about the latest changes |
| 80 | :PROPERTIES: | 101 | :properties: |
| 81 | :CUSTOM_ID: h:2cc37c36-6c1a-48b2-a010-1050b270ee18 | 102 | :custom_id: h:2cc37c36-6c1a-48b2-a010-1050b270ee18 |
| 82 | :END: | 103 | :end: |
| 104 | #+cindex: Changelog | ||
| 83 | 105 | ||
| 84 | Please refer to the [[https://protesilaos.com/modus-themes-changelog][web page with the change log]]. It is comprehensive | 106 | Please refer to the [[https://protesilaos.com/modus-themes-changelog][web page with the change log]]. It is comprehensive |
| 85 | and covers everything that goes into every tagged release of the themes. | 107 | and covers everything that goes into every tagged release of the themes. |
| 86 | 108 | ||
| 87 | * Installation | 109 | * Installation |
| 88 | :PROPERTIES: | 110 | :properties: |
| 89 | :CUSTOM_ID: h:1af85373-7f81-4c35-af25-afcef490c111 | 111 | :custom_id: h:1af85373-7f81-4c35-af25-afcef490c111 |
| 90 | :END: | 112 | :end: |
| 91 | 113 | ||
| 92 | The Modus themes are distributed with Emacs starting with version 28.1. | 114 | The Modus themes are distributed with Emacs starting with version 28.1. |
| 93 | On older versions of Emacs, they can be installed using Emacs' package | 115 | On older versions of Emacs, they can be installed using Emacs' package |
| 94 | manager or manually from their code repository. | 116 | manager or manually from their code repository. There also exist |
| 117 | packages for distributions of GNU/Linux. | ||
| 118 | |||
| 119 | ** Install manually from source | ||
| 120 | :properties: | ||
| 121 | :custom_id: h:da3414b7-1426-46b8-8e76-47b845b76fd0 | ||
| 122 | :end: | ||
| 123 | |||
| 124 | In the following example, we are assuming that your Emacs files are | ||
| 125 | stored in =~/.emacs.d= and that you want to place the Modus themes in | ||
| 126 | =~/.emacs.d/modus-themes=. | ||
| 127 | |||
| 128 | 1. Get the source and store it in the desired path by running the | ||
| 129 | following in the command line shell: | ||
| 130 | |||
| 131 | : $ git clone https://gitlab.com/protesilaos/modus-themes.git ~/.emacs.d/modus-themes | ||
| 132 | |||
| 133 | 2. Add that path to your known Elisp libraries' list, by placing this | ||
| 134 | snippet of Emacs Lisp in your init file (e.g. {{{file(init.el)}}}): | ||
| 135 | |||
| 136 | #+begin_src emacs-lisp | ||
| 137 | (add-to-list 'load-path "~/.emacs.d/modus-themes") | ||
| 138 | #+end_src | ||
| 95 | 139 | ||
| 96 | Modus Operandi (light theme) and Modus Vivendi (dark) are normally | 140 | The themes are now ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]. |
| 97 | distributed as standalone packages in Emacs-specific archives. There | ||
| 98 | also exist packages for GNU/Linux distributions. | ||
| 99 | 141 | ||
| 100 | ** Install from the archives | 142 | ** Install from the archives |
| 101 | :PROPERTIES: | 143 | :properties: |
| 102 | :CUSTOM_ID: h:c4b10085-149f-43e2-bd4d-347f33aee054 | 144 | :custom_id: h:c4b10085-149f-43e2-bd4d-347f33aee054 |
| 103 | :END: | 145 | :end: |
| 104 | 146 | ||
| 105 | =modus-operandi-theme= and =modus-vivendi-theme= are available from GNU the | 147 | The =modus-themes= package is available from the GNU ELPA archive, which |
| 106 | ELPA archive, which is configured by default. | 148 | is configured by default. |
| 107 | 149 | ||
| 108 | Prior to querying any package archive, make sure to have updated the | 150 | Prior to querying any package archive, make sure to have updated the |
| 109 | index, with =M-x package-refresh-contents=. Then all you need to do is | 151 | index, with {{{kbd(M-x package-refresh-contents)}}}. Then all you need to do |
| 110 | type =M-x package-install= and specify the theme of your choice. | 152 | is type {{{kbd(M-x package-install)}}} and specify the ~modus-themes~. |
| 153 | |||
| 154 | Note that older versions of the themes used to be distributed as | ||
| 155 | standalone packages. This practice has been discontinued starting with | ||
| 156 | version 1.0.0 of this project. | ||
| 157 | |||
| 158 | Once installed, the themes are ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]. | ||
| 111 | 159 | ||
| 112 | ** Install on GNU/Linux | 160 | ** Install on GNU/Linux |
| 113 | :PROPERTIES: | 161 | :properties: |
| 114 | :CUSTOM_ID: h:da640eb1-95dd-4e86-bb4e-1027b27885f0 | 162 | :custom_id: h:da640eb1-95dd-4e86-bb4e-1027b27885f0 |
| 115 | :END: | 163 | :end: |
| 116 | 164 | ||
| 117 | The themes are also available from the archives of some GNU/Linux | 165 | The themes are also available from the archives of some distributions of |
| 118 | distributions. These should correspond to a tagged release rather than | 166 | GNU/Linux. These should correspond to a tagged release rather than |
| 119 | building directly from the latest Git commit. It all depends on the | 167 | building directly from the latest Git commit. It all depends on the |
| 120 | distro's packaging policies. | 168 | distro's packaging policies. |
| 121 | 169 | ||
| 122 | *** Debian 11 Bullseye | 170 | *** Debian 11 Bullseye |
| 123 | :PROPERTIES: | 171 | :properties: |
| 124 | :CUSTOM_ID: h:7e570360-9ee6-4bc5-8c04-9dc11418a3e4 | 172 | :custom_id: h:7e570360-9ee6-4bc5-8c04-9dc11418a3e4 |
| 125 | :END: | 173 | :end: |
| 126 | |||
| 127 | The two themes are distributed as a single package for Debian and its | ||
| 128 | derivatives. Currently in the unstable and testing suites and should be | ||
| 129 | available in time for Debian 11 Bullseye (next stable). | ||
| 130 | 174 | ||
| 131 | Get them with: | 175 | The themes are part of Debian 11 Bullseye. Get them with: |
| 132 | 176 | ||
| 133 | #+begin_src sh | 177 | #+begin_src sh |
| 134 | sudo apt install elpa-modus-themes | 178 | sudo apt install elpa-modus-themes |
| 135 | #+end_src | 179 | #+end_src |
| 136 | 180 | ||
| 181 | They are now ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]. | ||
| 182 | |||
| 137 | *** GNU Guix | 183 | *** GNU Guix |
| 138 | :PROPERTIES: | 184 | :properties: |
| 139 | :CUSTOM_ID: h:a4ca52cd-869f-46a5-9e16-4d9665f5b88e | 185 | :custom_id: h:a4ca52cd-869f-46a5-9e16-4d9665f5b88e |
| 140 | :END: | 186 | :end: |
| 141 | 187 | ||
| 142 | Users of either the Guix System (the distro) or just Guix (the package | 188 | Users of Guix can get the themes with this command: |
| 143 | manager) can get each theme as a standalone package. | ||
| 144 | 189 | ||
| 145 | #+begin_src sh | 190 | #+begin_src sh |
| 146 | guix package -i emacs-modus-operandi-theme | 191 | guix package -i emacs-modus-themes |
| 147 | #+end_src | 192 | #+end_src |
| 148 | 193 | ||
| 149 | And/or: | 194 | They are now ready to be used: [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]. |
| 150 | |||
| 151 | #+begin_src sh | ||
| 152 | guix package -i emacs-modus-vivendi-theme | ||
| 153 | #+end_src | ||
| 154 | 195 | ||
| 155 | * Enable and load | 196 | * Enable and load |
| 156 | :PROPERTIES: | 197 | :properties: |
| 157 | :CUSTOM_ID: h:3f3c3728-1b34-437d-9d0c-b110f5b161a9 | 198 | :custom_id: h:3f3c3728-1b34-437d-9d0c-b110f5b161a9 |
| 158 | :END: | 199 | :end: |
| 159 | 200 | #+findex: modus-themes-load-themes | |
| 160 | This section documents how to load the theme of your choice and how to | 201 | #+findex: modus-themes-toggle |
| 161 | further control its initialization. It also includes some sample code | 202 | #+findex: modus-themes-load-operandi |
| 162 | snippets that could help you in the task, especially if you intend to | 203 | #+findex: modus-themes-load-vivendi |
| 163 | use both Modus Operandi and Modus Vivendi. | 204 | #+cindex: Essential configuration |
| 205 | #+vindex: modus-themes-after-load-theme-hook | ||
| 206 | |||
| 207 | Users of the built-in themes can load and automatically enable the theme | ||
| 208 | of their preference by adding either form to their init file: | ||
| 164 | 209 | ||
| 165 | ** Load automatically | 210 | #+begin_src emacs-lisp |
| 166 | :PROPERTIES: | 211 | (load-theme 'modus-operandi) ; Light theme |
| 167 | :CUSTOM_ID: h:1777c247-1b56-46b7-a4ce-54e720b33d06 | 212 | (load-theme 'modus-vivendi) ; Dark theme |
| 168 | :END: | 213 | #+end_src |
| 169 | 214 | ||
| 170 | A simple way to load the theme from your Emacs initialization file is to | 215 | This is all one needs. |
| 171 | include either of the following expressions: | ||
| 172 | 216 | ||
| 173 | #+BEGIN_SRC emacs-lisp | 217 | Users of packaged variants of the themes must add a few more lines to |
| 174 | (load-theme 'modus-operandi t) ; Light theme | 218 | ensure that everything works as intended. First, one has to require the |
| 175 | (load-theme 'modus-vivendi t) ; Dark theme | 219 | main library before loading either theme: |
| 176 | #+END_SRC | ||
| 177 | 220 | ||
| 178 | Make sure to remove any other theme that is being loaded, otherwise you | 221 | #+begin_src emacs-lisp |
| 179 | might run into unexpected issues. | 222 | (require 'modus-themes) |
| 223 | #+end_src | ||
| 180 | 224 | ||
| 181 | Note that you can always =M-x disable-theme= and specify an item. The | 225 | Then it is recommended to load the individual theme files with the |
| 182 | command does exactly what its name suggests. To deactivate all enabled | 226 | helper function ~modus-themes-load-themes~: |
| 183 | themes at once, in case you have multiple of them enabled, you may | ||
| 184 | evaluate the expression: | ||
| 185 | 227 | ||
| 186 | #+begin_src emacs-lisp | 228 | #+begin_src emacs-lisp |
| 187 | (mapc #'disable-theme custom-enabled-themes) | 229 | ;; Load the theme files before enabling a theme (else you get an error). |
| 230 | (modus-themes-load-themes) | ||
| 188 | #+end_src | 231 | #+end_src |
| 189 | 232 | ||
| 190 | ** Load at a given time or at sunset/sunrise | 233 | Once the libraries that define the themes are enabled, one can activate |
| 191 | :PROPERTIES: | 234 | a theme with either of the following expressions: |
| 192 | :CUSTOM_ID: h:4e936e31-e9eb-4b50-8fdd-45d827a03cca | ||
| 193 | :END: | ||
| 194 | |||
| 195 | It is possible to schedule a time during the day at or after which a | ||
| 196 | given theme will be loaded.[fn:: Contributed on Reddit by user =b3n=, | ||
| 197 | https://www.reddit.com/r/emacs/comments/gdtqov/weekly_tipstricketc_thread/fq9186h/.] | ||
| 198 | 235 | ||
| 199 | #+begin_src emacs-lisp | 236 | #+begin_src emacs-lisp |
| 200 | ;; Light for the day | 237 | (modus-themes-load-operandi) ; Light theme |
| 201 | (load-theme 'modus-operandi t t) | 238 | ;; OR |
| 202 | (run-at-time "05:00" (* 60 60 24) | 239 | (modus-themes-load-vivendi) ; Dark theme |
| 203 | (lambda () | ||
| 204 | (enable-theme 'modus-operandi))) | ||
| 205 | |||
| 206 | ;; Dark for the night | ||
| 207 | (load-theme 'modus-vivendi t t) | ||
| 208 | (run-at-time "21:00" (* 60 60 24) | ||
| 209 | (lambda () | ||
| 210 | (enable-theme 'modus-vivendi))) | ||
| 211 | #+end_src | 240 | #+end_src |
| 212 | 241 | ||
| 213 | A modified version of the above technique is to use the sunrise and | 242 | Changes to the available customization options must always be evaluated |
| 214 | sunset as references, instead of specifying a fixed hour value.[fn:: | 243 | before loading a theme ([[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization Options]]). This is how a basic |
| 215 | Contributed directly by André Alexandre Gomes https://gitlab.com/aadcg.] | 244 | setup could look like: |
| 216 | If you set =calendar-latitude= and =calendar-longitude= (defined in the | ||
| 217 | built-in =solar.el= library---read it with =M-x find-library=), you can | ||
| 218 | automatically switch between both themes at the appropriate time-of-day. | ||
| 219 | Note that /those calendar variables need to be set before loading the | ||
| 220 | themes/. | ||
| 221 | 245 | ||
| 222 | #+begin_src emacs-lisp | 246 | #+begin_src emacs-lisp |
| 223 | ;; Define coordinates | 247 | (require 'modus-themes) |
| 224 | (setq calendar-latitude 35.17 | ||
| 225 | calendar-longitude 33.36) | ||
| 226 | 248 | ||
| 227 | ;; Light at sunrise | 249 | ;; Your customisations here. For example: |
| 228 | (load-theme 'modus-operandi t t) | 250 | (setq modus-themes-bold-constructs t |
| 229 | (run-at-time (nth 1 (split-string (sunrise-sunset))) | 251 | modus-themes-mode-line '3d) |
| 230 | (* 60 60 24) | ||
| 231 | (lambda () | ||
| 232 | (enable-theme 'modus-operandi))) | ||
| 233 | 252 | ||
| 234 | ;; Dark at sunset | 253 | ;; Load the theme files before enabling a theme (else you get an error). |
| 235 | (load-theme 'modus-vivendi t t) | 254 | (modus-themes-load-themes) |
| 236 | (run-at-time (nth 4 (split-string (sunrise-sunset))) | ||
| 237 | (* 60 60 24) | ||
| 238 | (lambda () | ||
| 239 | (enable-theme 'modus-vivendi))) | ||
| 240 | #+end_src | ||
| 241 | 255 | ||
| 242 | For the sake of completeness, the =load-theme= call in these snippets is | 256 | ;; Enable the theme of your preference: |
| 243 | slightly different than the one shown in [[#h:1777c247-1b56-46b7-a4ce-54e720b33d06][Load automatically]], because it | 257 | (modus-themes-load-operandi) |
| 244 | does not enable the theme directly: the subsequent =enable-theme= does | ||
| 245 | that when needed. | ||
| 246 | 258 | ||
| 247 | ** Toggle between the themes on demand | 259 | ;; Optionally add a key binding for the toggle between the themes: |
| 248 | :PROPERTIES: | 260 | (define-key global-map (kbd "<f5>") #'modus-themes-toggle) |
| 249 | :CUSTOM_ID: h:2a0895a6-3281-4e55-8aa1-8a737555821e | 261 | #+end_src |
| 250 | :END: | ||
| 251 | 262 | ||
| 252 | With both themes available, it is possible to design a simple command to | 263 | [[#h:e979734c-a9e1-4373-9365-0f2cd36107b8][Sample configuration for use-package]]. |
| 253 | switch between them on demand. | ||
| 254 | 264 | ||
| 255 | #+begin_src emacs-lisp | 265 | With those granted, bear in mind a couple of technical points on |
| 256 | (defun modus-themes-toggle () | 266 | ~modus-themes-load-operandi~ and ~modus-themes-load-vivendi~, as well as |
| 257 | "Toggle between `modus-operandi' and `modus-vivendi' themes." | 267 | ~modus-themes-toggle~ which relies on them: |
| 258 | (interactive) | ||
| 259 | (if (eq (car custom-enabled-themes) 'modus-operandi) | ||
| 260 | (progn | ||
| 261 | (disable-theme 'modus-operandi) | ||
| 262 | (load-theme 'modus-vivendi t)) | ||
| 263 | (disable-theme 'modus-vivendi) | ||
| 264 | (load-theme 'modus-operandi t))) | ||
| 265 | #+end_src | ||
| 266 | 268 | ||
| 267 | You could use =(mapc #'disable-theme custom-enabled-themes)= instead of | 269 | 1. Those functions call ~load-theme~. Some users prefer to opt for |
| 268 | disabling a single target, but you get the idea. | 270 | ~enable-theme~ instead ([[#h:e68560b3-7fb0-42bc-a151-e015948f8a35][Differences between loading and enabling]]). |
| 269 | 271 | ||
| 270 | ** Configure options prior to loading | 272 | 2. The functions will run the ~modus-themes-after-load-theme-hook~ as |
| 271 | :PROPERTIES: | 273 | their final step. This can be employed for bespoke configurations |
| 272 | :CUSTOM_ID: h:a897b302-8e10-4a26-beab-3caaee1e1193 | 274 | ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization (do-it-yourself)]]). Experienced users may not |
| 273 | :END: | 275 | wish to rely on such a hook and the functions that run it: they may |
| 276 | prefer a custom solution ([[#h:86f6906b-f090-46cc-9816-1fe8aeb38776][A theme-agnostic hook for theme loading]]). | ||
| 274 | 277 | ||
| 275 | If you plan to use both themes and wish to apply styles consistently | 278 | ** Sample configuration for use-package |
| 276 | (see [[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization Options]]), you could define wrapper functions around | 279 | :properties: |
| 277 | the standard =load-theme= command. These extend the simple function we | 280 | :custom_id: h:e979734c-a9e1-4373-9365-0f2cd36107b8 |
| 278 | presented in [[#h:2a0895a6-3281-4e55-8aa1-8a737555821e][Toggle between the themes on demand]]. | 281 | :end: |
| 282 | #+cindex: use-package configuration | ||
| 279 | 283 | ||
| 280 | Here is a comprehensive setup (the values assigned to the variables are | 284 | It is common for Emacs users to rely on ~use-package~ for declaring |
| 281 | just for the sake of this demonstration):[fn:: The =defmacro= and =dolist= | 285 | package configurations in their setup. We use this as an example: |
| 282 | method were contributed on Reddit by user =b3n= | ||
| 283 | https://www.reddit.com/r/emacs/comments/gqsz8u/weekly_tipstricketc_thread/fsfakhg/.] | ||
| 284 | 286 | ||
| 285 | #+begin_src emacs-lisp | 287 | #+begin_src emacs-lisp |
| 286 | (defmacro modus-themes-format-sexp (sexp &rest objects) | 288 | (use-package modus-themes |
| 287 | `(eval (read (format ,(format "%S" sexp) ,@objects)))) | 289 | :ensure ; omit this to use the built-in themes |
| 288 | 290 | :init | |
| 289 | (dolist (theme '("operandi" "vivendi")) | 291 | ;; Add all your customizations prior to loading the themes |
| 290 | (modus-themes-format-sexp | 292 | (setq modus-themes-slanted-constructs t |
| 291 | (defun modus-%1$s-theme-load () | 293 | modus-themes-bold-constructs nil) |
| 292 | (setq modus-%1$s-theme-slanted-constructs t | 294 | |
| 293 | modus-%1$s-theme-bold-constructs t | 295 | ;; Load the theme files before enabling a theme (else you get an error). |
| 294 | modus-%1$s-theme-fringes 'subtle ; {nil,'subtle,'intense} | 296 | (modus-themes-load-themes) |
| 295 | modus-%1$s-theme-mode-line '3d ; {nil,'3d,'moody} | 297 | :config |
| 296 | modus-%1$s-theme-syntax 'alt-syntax ; {nil,faint,'yellow-comments,'green-strings,'yellow-comments-green-strings,'alt-syntax,'alt-syntax-yellow-comments} | 298 | ;; Load the theme of your choice: |
| 297 | modus-%1$s-theme-intense-hl-line nil | 299 | (modus-themes-load-operandi) ;; OR (modus-themes-load-vivendi) |
| 298 | modus-%1$s-theme-intense-paren-match nil | 300 | :bind ("<f5>" . modus-themes-toggle)) |
| 299 | modus-%1$s-theme-links 'faint ; {nil,'faint,'neutral-underline,'faint-neutral-underline,'no-underline} | ||
| 300 | modus-%1$s-theme-no-mixed-fonts nil | ||
| 301 | modus-%1$s-theme-prompts nil ; {nil,'subtle,'intense} | ||
| 302 | modus-%1$s-theme-completions 'moderate ; {nil,'moderate,'opinionated} | ||
| 303 | modus-%1$s-theme-diffs nil ; {nil,'desaturated,'fg-only} | ||
| 304 | modus-%1$s-theme-org-blocks 'grayscale ; {nil,'grayscale,'rainbow} | ||
| 305 | modus-%1$s-theme-headings ; Read further below in the manual for this one | ||
| 306 | '((1 . section) | ||
| 307 | (2 . line) | ||
| 308 | (t . rainbow-line-no-bold)) | ||
| 309 | modus-%1$s-theme-variable-pitch-headings nil | ||
| 310 | modus-%1$s-theme-scale-headings t | ||
| 311 | modus-%1$s-theme-scale-1 1.1 | ||
| 312 | modus-%1$s-theme-scale-2 1.15 | ||
| 313 | modus-%1$s-theme-scale-3 1.21 | ||
| 314 | modus-%1$s-theme-scale-4 1.27 | ||
| 315 | modus-%1$s-theme-scale-5 1.33) | ||
| 316 | (load-theme 'modus-%1$s t)) | ||
| 317 | theme)) | ||
| 318 | |||
| 319 | (defun modus-themes-toggle () | ||
| 320 | "Toggle between `modus-operandi' and `modus-vivendi' themes." | ||
| 321 | (interactive) | ||
| 322 | (if (eq (car custom-enabled-themes) 'modus-operandi) | ||
| 323 | (progn | ||
| 324 | (disable-theme 'modus-operandi) | ||
| 325 | (modus-vivendi-theme-load)) | ||
| 326 | (disable-theme 'modus-vivendi) | ||
| 327 | (modus-operandi-theme-load))) | ||
| 328 | #+end_src | 301 | #+end_src |
| 329 | 302 | ||
| 330 | * Customization Options | 303 | [[#h:e68560b3-7fb0-42bc-a151-e015948f8a35][Differences between loading and enabling]]. |
| 331 | :PROPERTIES: | 304 | |
| 332 | :CUSTOM_ID: h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f | 305 | Note: make sure not to customize the variable ~custom-theme-load-path~ |
| 333 | :END: | 306 | or ~custom-theme-directory~ after the themes' package declaration. That |
| 334 | 307 | will lead to failures in loading the files. If either or both of those | |
| 335 | The Modus themes are highly configurable, though they should work well | 308 | variables need to be changed, their values should be defined before the |
| 336 | without any further tweaks. | 309 | package declaration of the themes. |
| 337 | 310 | ||
| 338 | By default, all customization options are set to =nil=. | 311 | ** Differences between loading and enabling |
| 339 | 312 | :properties: | |
| 340 | All customization options need to be evaluated before loading their | 313 | :custom_id: h:e68560b3-7fb0-42bc-a151-e015948f8a35 |
| 341 | theme (see [[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]). | 314 | :end: |
| 315 | #+cindex: load-theme VS enable-theme | ||
| 316 | |||
| 317 | The reason we recommend ~load-theme~ instead of the other option of | ||
| 318 | ~enable-theme~ is that the former does a kind of "reset" on the face | ||
| 319 | specs. It quite literally loads (or re-loads) the theme. Whereas the | ||
| 320 | latter simply puts an already loaded theme at the top of the list of | ||
| 321 | enabled items, re-using whatever state was last loaded. | ||
| 322 | |||
| 323 | As such, ~load-theme~ reads all customizations that may happen during | ||
| 324 | any given Emacs session: even after the initial setup of a theme. | ||
| 325 | Examples are calls to ~custom-set-faces~, as well as new values assigned | ||
| 326 | to the options the Modus themes provide ([[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization Options]]). | ||
| 327 | |||
| 328 | Our tests show that ~enable-theme~ does not read such variables anew, so | ||
| 329 | it might appear to the unsuspecting user that the themes are somehow | ||
| 330 | broken whenever they try to assign a new value to a customization option | ||
| 331 | or some face. | ||
| 332 | |||
| 333 | This "reset" that ~load-theme~ conducts does, however, come at the cost | ||
| 334 | of being somewhat slower than ~enable-theme~. Users who have a stable | ||
| 335 | setup and who seldom update their variables during a given Emacs | ||
| 336 | session, are better off using something like this: | ||
| 342 | 337 | ||
| 343 | ** Option for more bold constructs | 338 | #+begin_src emacs-lisp |
| 344 | :PROPERTIES: | 339 | (require 'modus-themes) |
| 345 | :ALT_TITLE: Bold constructs | 340 | (load-theme 'modus-operandi t t) |
| 346 | :DESCRIPTION: Toggle bold constructs in code | 341 | (load-theme 'modus-vivendi t t) |
| 347 | :CUSTOM_ID: h:b25714f6-0fbe-41f6-89b5-6912d304091e | ||
| 348 | :END: | ||
| 349 | |||
| 350 | Symbol names: | ||
| 351 | |||
| 352 | + =modus-operandi-theme-bold-constructs= | ||
| 353 | + =modus-vivendi-theme-bold-constructs= | ||
| 354 | 342 | ||
| 355 | Possible values: | 343 | (enable-theme 'modus-operandi) ;; OR (enable-theme 'modus-vivendi) |
| 344 | #+end_src | ||
| 356 | 345 | ||
| 357 | 1. =nil= (default) | 346 | [[#h:e979734c-a9e1-4373-9365-0f2cd36107b8][Sample configuration for use-package]]. |
| 358 | 2. =t= | ||
| 359 | 347 | ||
| 360 | Display several constructs in bold weight. This concerns keywords and | 348 | With the above granted, other sections of the manual discuss how to |
| 361 | other important aspects of code syntax. It also affects certain mode | 349 | configure custom faces, where ~load-theme~ is expected, though |
| 362 | line indicators and command-line prompts. | 350 | ~enable-theme~ could still apply in stable setups: |
| 363 | 351 | ||
| 364 | The default is to only use a bold weight when it is required. | 352 | [[#h:1487c631-f4fe-490d-8d58-d72ffa3bd474][Case-by-case face specs using the themes' palette]]. |
| 365 | 353 | ||
| 366 | Additionally, and while not necessary, to define the precise weight for | 354 | [[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]]. |
| 367 | bold constructs, you can change the typographic intensity of the =bold= | ||
| 368 | face. The standard is a bold weight. It requires no further | ||
| 369 | intervention. Assuming though that your typeface of choice supports a | ||
| 370 | "semibold" weight, adding the following snippet to your init file should | ||
| 371 | suffice. | ||
| 372 | 355 | ||
| 373 | #+begin_src emacs-lisp | 356 | * Customization Options |
| 374 | (set-face-attribute 'bold nil :weight 'semibold) | 357 | :properties: |
| 375 | #+end_src | 358 | :custom_id: h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f |
| 359 | :end: | ||
| 376 | 360 | ||
| 377 | Note that if you are switching themes, you need to re-evaluate this | 361 | The Modus themes are highly configurable, though they should work well |
| 378 | expression after the new theme is loaded. | 362 | without any further tweaks. By default, all customization options are |
| 363 | set to nil. | ||
| 379 | 364 | ||
| 380 | ** Option for more slanted constructs | 365 | Remember that all customization options must be evaluated before loading |
| 381 | :PROPERTIES: | 366 | a theme ([[#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9][Enable and load]]). |
| 382 | :ALT_TITLE: Slanted constructs | ||
| 383 | :DESCRIPTION: Toggle slanted constructs (italics) in code | ||
| 384 | :CUSTOM_ID: h:977c900d-0d6d-4dbb-82d9-c2aae69543d6 | ||
| 385 | :END: | ||
| 386 | 367 | ||
| 387 | Symbol names: | 368 | ** Option for more bold constructs |
| 369 | :properties: | ||
| 370 | :alt_title: Bold constructs | ||
| 371 | :description: Toggle bold constructs in code | ||
| 372 | :custom_id: h:b25714f6-0fbe-41f6-89b5-6912d304091e | ||
| 373 | :end: | ||
| 374 | #+vindex: modus-themes-bold-constructs | ||
| 388 | 375 | ||
| 389 | + =modus-operandi-theme-slanted-constructs= | 376 | Symbol: ~modus-themes-bold-constructs~ |
| 390 | + =modus-vivendi-theme-slanted-constructs= | ||
| 391 | 377 | ||
| 392 | Possible values: | 378 | Possible values: |
| 393 | 379 | ||
| 394 | 1. =nil= (default) | 380 | 1. =nil= (default) |
| 395 | 2. =t= | 381 | 2. =t= |
| 396 | 382 | ||
| 397 | Choose to render more faces in slanted text (italics). This typically | 383 | The default is to use a bold typographic weight only when it is |
| 398 | affects documentation strings and code comments. | 384 | required. |
| 399 | |||
| 400 | The default is to not use italics unless it is absolutely necessary. | ||
| 401 | 385 | ||
| 402 | ** Option for faint code syntax highlighting (deprecated for ~0.14.0~) | 386 | With a non-nil value (=t=) display several syntactic constructs in bold |
| 403 | :PROPERTIES: | 387 | weight. This concerns keywords and other important aspects of code |
| 404 | :ALT_TITLE: Faint syntax | 388 | syntax. It also affects certain mode line indicators and command-line |
| 405 | :DESCRIPTION: Toggle subtle coloration in code (deprecated for 0.14.0) | 389 | prompts. |
| 406 | :CUSTOM_ID: h:741379fe-7203-4dad-a7f8-ab71f61b43e6 | ||
| 407 | :END: | ||
| 408 | 390 | ||
| 409 | Symbol names: | 391 | ** Option for more slanted constructs |
| 392 | :properties: | ||
| 393 | :alt_title: Slanted constructs | ||
| 394 | :description: Toggle slanted constructs (italics) in code | ||
| 395 | :custom_id: h:977c900d-0d6d-4dbb-82d9-c2aae69543d6 | ||
| 396 | :end: | ||
| 397 | #+vindex: modus-themes-slanted-constructs | ||
| 410 | 398 | ||
| 411 | + =modus-operandi-theme-faint-syntax= | 399 | Symbol: ~modus-themes-slanted-constructs~ |
| 412 | + =modus-vivendi-theme-faint-syntax= | ||
| 413 | 400 | ||
| 414 | Possible values: | 401 | Possible values: |
| 415 | 402 | ||
| 416 | 1. =nil= (default) | 403 | 1. =nil= (default) |
| 417 | 2. =t= | 404 | 2. =t= |
| 418 | 405 | ||
| 419 | Use less saturated colors in programming modes for highlighting code | 406 | The default is to not use slanted text (italics) unless it is absolutely |
| 420 | syntax. The default is to use saturated colors. | 407 | necessary. |
| 421 | 408 | ||
| 422 | This option essentially affects the font-lock faces, so it may also have | 409 | With a non-nil value (=t=) choose to render more faces in slanted text. |
| 423 | implications in other places that are hard-wired to rely directly on | 410 | This typically affects documentation strings and code comments. |
| 424 | them instead of specifying their own faces (which could inherit from | ||
| 425 | font-lock if that is the intent). The author is aware of =vc-dir= as a | ||
| 426 | case in point. | ||
| 427 | 411 | ||
| 428 | ** Option for syntax highlighting | 412 | ** Option for syntax highlighting |
| 429 | :PROPERTIES: | 413 | :properties: |
| 430 | :ALT_TITLE: Syntax styles | 414 | :alt_title: Syntax styles |
| 431 | :DESCRIPTION: Choose the overall aesthetic of code syntax | 415 | :description: Choose the overall aesthetic of code syntax |
| 432 | :CUSTOM_ID: h:c119d7b2-fcd4-4e44-890e-5e25733d5e52 | 416 | :custom_id: h:c119d7b2-fcd4-4e44-890e-5e25733d5e52 |
| 433 | :END: | 417 | :end: |
| 434 | 418 | #+vindex: modus-themes-syntax | |
| 435 | This option supersedes the "faint syntax" one ahead of version =0.14.0= | ||
| 436 | ([[#h:741379fe-7203-4dad-a7f8-ab71f61b43e6][Option for faint code syntax highlighting]]). | ||
| 437 | 419 | ||
| 438 | Symbol names: | 420 | Symbol: ~modus-themes-syntax~ |
| 439 | |||
| 440 | + =modus-operandi-theme-syntax= | ||
| 441 | + =modus-vivendi-theme-syntax= | ||
| 442 | 421 | ||
| 443 | Possible values: | 422 | Possible values: |
| 444 | 423 | ||
| 445 | 1. =nil= (default) | 424 | 1. =nil= (default) |
| 446 | 2. =faint= | 425 | 2. ~faint~ |
| 447 | 3. =yellow-comments= | 426 | 3. ~yellow-comments~ |
| 448 | 4. =green-strings= | 427 | 4. ~green-strings~ |
| 449 | 5. =yellow-comments-green-strings= | 428 | 5. ~yellow-comments-green-strings~ |
| 450 | 6. =alt-syntax= | 429 | 6. ~alt-syntax~ |
| 451 | 7. =alt-syntax-yellow-comments= | 430 | 7. ~alt-syntax-yellow-comments~ |
| 431 | 8. ~faint-yellow-comments~ | ||
| 452 | 432 | ||
| 453 | The default style (nil) for code syntax highlighting is a balanced | 433 | The default style (nil) for code syntax highlighting is a balanced |
| 454 | combination of colors on the cyan-blue-magenta side of the spectrum. | 434 | combination of colors on the cyan-blue-magenta side of the spectrum. |
| 455 | There is little to no use of greens, yellows, or reds, except when it is | 435 | There is little to no use of greens, yellows, or reds, except when it is |
| 456 | necessary. | 436 | necessary. |
| 457 | 437 | ||
| 458 | Option =faint= is like the default in terms of the choice of palette but | 438 | Option ~faint~ is like the default in terms of the choice of palette but |
| 459 | applies desaturated color values. | 439 | applies desaturated color values. |
| 460 | 440 | ||
| 461 | Option =yellow-comments= applies a yellow tint to comments. The rest of | 441 | Option ~yellow-comments~ adds a yellow tint to comments. The rest of the |
| 462 | the syntax is the same as the default. | 442 | syntax is the same as the default. |
| 463 | 443 | ||
| 464 | Option =green-strings= replaces the blue/cyan/cold color variants in | 444 | Option ~green-strings~ replaces the blue/cyan/cold color variants in |
| 465 | strings with greener alternatives. The rest of the syntax remains the | 445 | strings with greener alternatives. The rest of the syntax remains the |
| 466 | same. | 446 | same. |
| 467 | 447 | ||
| 468 | Option =yellow-comments-green-strings= combines yellow comments with green | 448 | Option ~yellow-comments-green-strings~ combines yellow comments with green |
| 469 | strings and the rest of the default syntax highlighting style. | 449 | strings and the rest of the default syntax highlighting style. |
| 470 | 450 | ||
| 471 | Option =alt-syntax= expands the color palette and applies new color | 451 | Option ~alt-syntax~ expands the active spectrum by applying color |
| 472 | combinations. Strings are green. Doc strings are magenta tinted. | 452 | combinations with more contrasting hues between them. Expect to find |
| 473 | Comments are gray. | 453 | red and green variants in addition to cyan, blue, magenta. |
| 474 | 454 | ||
| 475 | Option =alt-syntax-yellow-comments= combines =alt-syntax= with | 455 | Option ~alt-syntax-yellow-comments~ combines ~alt-syntax~ with |
| 476 | =yellow-comments=. | 456 | ~yellow-comments~. |
| 477 | 457 | ||
| 478 | ** Option for no font mixing | 458 | Option ~faint-yellow-comments~ combines the ~faint~ style with |
| 479 | :PROPERTIES: | 459 | ~yellow-comments~. |
| 480 | :ALT_TITLE: No mixed fonts | ||
| 481 | :DESCRIPTION: Toggle mixing of font families | ||
| 482 | :CUSTOM_ID: h:115e6c23-ee35-4a16-8cef-e2fcbb08e28b | ||
| 483 | :END: | ||
| 484 | 460 | ||
| 485 | Symbol names: | 461 | ** Option for no font mixing |
| 462 | :properties: | ||
| 463 | :alt_title: No mixed fonts | ||
| 464 | :description: Toggle mixing of font families | ||
| 465 | :custom_id: h:115e6c23-ee35-4a16-8cef-e2fcbb08e28b | ||
| 466 | :end: | ||
| 467 | #+vindex: modus-themes-no-mixed-fonts | ||
| 486 | 468 | ||
| 487 | + =modus-operandi-theme-no-mixed-fonts= | 469 | Symbol: ~modus-themes-no-mixed-fonts~ |
| 488 | + =modus-vivendi-theme-no-mixed-fonts= | ||
| 489 | 470 | ||
| 490 | Possible values: | 471 | Possible values: |
| 491 | 472 | ||
| 492 | 1. =nil= (default) | 473 | 1. =nil= (default) |
| 493 | 2. =t= | 474 | 2. =t= |
| 494 | 475 | ||
| 495 | By default, the themes configure some spacing-sensitive faces, such as | 476 | By default, the themes configure some spacing-sensitive faces like Org |
| 496 | Org tables and code blocks, to always inherit from the =fixed-pitch= face. | 477 | tables and code blocks to always inherit from the ~fixed-pitch~ face. |
| 497 | This is to ensure that those constructs remain monospaced when users opt | 478 | This is to ensure that those constructs remain monospaced even when |
| 498 | for something like the built-in =M-x variable-pitch-mode=. Otherwise the | 479 | users opt for a mode that remaps typeface families, such as the built-in |
| 499 | layout would appear broken. To disable this behaviour, set the option | 480 | {{{kbd(M-x variable-pitch-mode)}}}. Otherwise the layout would appear |
| 500 | to =t=. | 481 | broken, due to how spacing is done. To disable this behaviour, set the |
| 482 | option to =t=. | ||
| 501 | 483 | ||
| 502 | Users may prefer to use another package for handling mixed typeface | 484 | Users may prefer to use another package for handling mixed typeface |
| 503 | configurations, rather than letting the theme do it, perhaps because a | 485 | configurations, rather than letting the theme do it, perhaps because a |
| 504 | purpose-specific package has extra functionality. Two possible options | 486 | purpose-specific package has extra functionality. Two possible options |
| 505 | are =org-variable-pitch= and =mixed-pitch=. | 487 | are ~org-variable-pitch~ and ~mixed-pitch~. |
| 506 | |||
| 507 | ** Option for no link underline (deprecated for ~0.14.0~) | ||
| 508 | :PROPERTIES: | ||
| 509 | :ALT_TITLE: Link underline | ||
| 510 | :DESCRIPTION: Toggle underlined text in links (deprecated for 0.14.0) | ||
| 511 | :CUSTOM_ID: h:a1a639e9-d247-414c-a0ad-08adadcbc6c1 | ||
| 512 | :END: | ||
| 513 | |||
| 514 | Note: deprecated ahead of version =0.14.0= ([[#h:c119d7b2-fcd4-4e44-890e-5e25733d5e52][Option for links]]). | ||
| 515 | |||
| 516 | Symbol names: | ||
| 517 | |||
| 518 | + =modus-operandi-theme-no-link-underline= | ||
| 519 | + =modus-vivendi-theme-no-link-underline= | ||
| 520 | |||
| 521 | Possible values: | ||
| 522 | |||
| 523 | 1. =nil= (default) | ||
| 524 | 2. =t= | ||
| 525 | 488 | ||
| 526 | Remove the underline effect from links, symbolic links, and buttons. | 489 | [[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org (and others)]]. |
| 527 | The default is to apply an underline. | ||
| 528 | 490 | ||
| 529 | ** Option for links | 491 | ** Option for links |
| 530 | :PROPERTIES: | 492 | :properties: |
| 531 | :ALT_TITLE: Link styles | 493 | :alt_title: Link styles |
| 532 | :DESCRIPTION: Choose color intensity or no underline for links | 494 | :description: Choose among several styles, with or without underline |
| 533 | :CUSTOM_ID: h:c119d7b2-fcd4-4e44-890e-5e25733d5e52 | 495 | :custom_id: h:c119d7b2-fcd4-4e44-890e-5e25733d5e52 |
| 534 | :END: | 496 | :end: |
| 535 | 497 | #+vindex: modus-themes-links | |
| 536 | This option supersedes the "no link underline" one ahead of version | ||
| 537 | =0.14.0= ([[#h:a1a639e9-d247-414c-a0ad-08adadcbc6c1][Option for no link underline]]). | ||
| 538 | |||
| 539 | Symbol names: | ||
| 540 | 498 | ||
| 541 | + =modus-operandi-theme-links= | 499 | Symbol: ~modus-themes-links~ |
| 542 | + =modus-vivendi-theme-links= | ||
| 543 | 500 | ||
| 544 | Possible values: | 501 | Possible values: |
| 545 | 502 | ||
| 546 | 1. =nil= (default) | 503 | 1. =nil= (default) |
| 547 | 2. =faint= | 504 | 2. ~faint~ |
| 548 | 3. =neutral-underline= | 505 | 3. ~neutral-underline~ |
| 549 | 4. =faint-neutral-underline= | 506 | 4. ~faint-neutral-underline~ |
| 550 | 5. =no-underline= | 507 | 5. ~no-underline~ |
| 508 | 6. ~underline-only~ | ||
| 509 | 7. ~neutral-underline-only~ | ||
| 551 | 510 | ||
| 552 | The default style (nil) for links is to apply an underline and a | 511 | The default style (nil) for links is to apply an underline and a |
| 553 | saturated color to the affected text. The color of the two is the | 512 | saturated color to the affected text. The color of the two is the same, |
| 554 | same, which makes the link fairly prominent. | 513 | which makes the link fairly prominent. |
| 555 | 514 | ||
| 556 | Option =faint= follows the same approach as the default, but uses less | 515 | Option ~faint~ follows the same approach as the default, but uses less |
| 557 | intense colors. | 516 | intense colors. |
| 558 | 517 | ||
| 559 | Option =neutral-underline= changes the underline's color to a subtle | 518 | Option ~neutral-underline~ changes the underline's color to a subtle gray, |
| 560 | gray, while retaining the default text color. | 519 | while retaining the default text color. |
| 561 | 520 | ||
| 562 | Option =faint-neutral-underline= combines a desaturated text color with a | 521 | Option ~faint-neutral-underline~ combines a desaturated text color with a |
| 563 | subtle gray underline. | 522 | subtle gray underline. |
| 564 | 523 | ||
| 565 | Option =no-underline= removes link underlines altogether, while keeping | 524 | Option ~no-underline~ removes link underlines altogether, while retaining |
| 566 | their text color the same as the default. | 525 | their original fairly vivid color. |
| 567 | 526 | ||
| 568 | ** Option for command prompt styles | 527 | Option ~underline-only~ applies a prominent underline while making the |
| 569 | :PROPERTIES: | 528 | affected text colorless (it uses the same foreground as the theme's |
| 570 | :ALT_TITLE: Command prompts | 529 | default). |
| 571 | :DESCRIPTION: Choose among plain, subtle, or intense prompts | 530 | |
| 572 | :CUSTOM_ID: h:db5a9a7c-2928-4a28-b0f0-6f2b9bd52ba1 | 531 | Option ~neutral-underline-only~ makes the text colorless while using a |
| 573 | :END: | 532 | subtle gray underline below it. |
| 574 | 533 | ||
| 575 | Symbol names: | 534 | NOTE: The placement of the underline, i.e. its proximity to the affected |
| 535 | text, is controlled by the built-in ~x-underline-at-descent-line~, | ||
| 536 | ~x-use-underline-position-properties~, ~underline-minimum-offset~. Please | ||
| 537 | refer to their documentation strings. | ||
| 576 | 538 | ||
| 577 | + =modus-operandi-theme-prompts= | 539 | ** Option for command prompt styles |
| 578 | + =modus-vivendi-theme-prompts= | 540 | :properties: |
| 541 | :alt_title: Command prompts | ||
| 542 | :description: Choose among plain, subtle, or intense prompts | ||
| 543 | :custom_id: h:db5a9a7c-2928-4a28-b0f0-6f2b9bd52ba1 | ||
| 544 | :end: | ||
| 545 | #+vindex: modus-themes-prompts | ||
| 546 | |||
| 547 | Symbol: ~modus-themes-prompts~ | ||
| 579 | 548 | ||
| 580 | Possible values: | 549 | Possible values: |
| 581 | 550 | ||
| 582 | 1. =nil= (default) | 551 | 1. =nil= (default) |
| 583 | 2. =subtle= | 552 | 2. ~subtle-accented~ (~subtle~ exists for backward compatibility) |
| 584 | 3. =intense= | 553 | 3. ~intense-accented~ (~intense~ exists for backward compatibility) |
| 554 | 4. ~subtle-gray~ | ||
| 555 | 5. ~intense-gray~ | ||
| 585 | 556 | ||
| 586 | The symbols "subtle" and "intense" will apply a combination of accented | 557 | The default does not use any background for minibuffer and command line |
| 587 | background and foreground to the minibuffer and other REPL prompts (like | 558 | prompts. It relies exclusively on an accented foreground color. |
| 588 | =M-x shell= and =M-x eshell=). The difference between the two is that the | ||
| 589 | latter has a more pronounced/noticeable effect than the former. | ||
| 590 | 559 | ||
| 591 | The default does not use any background for such prompts, while relying | 560 | Options ~subtle-accented~ and ~intense-accented~ will change both the |
| 592 | exclusively on an accented foreground color. | 561 | background and the foreground values to use accented color combinations |
| 562 | that follow the hue of the default styles' foreground (e.g. the default | ||
| 563 | minibuffer prompt is cyan text, so these combinations will involved a | ||
| 564 | cyan background and an appropriate cyan foreground). The difference | ||
| 565 | between the two is that the latter has a more pronounced/noticeable | ||
| 566 | effect than the former. | ||
| 593 | 567 | ||
| 594 | ** Option for mode line presentation | 568 | Options ~subtle-gray~, ~intense-gray~ are like their accented counterparts, |
| 595 | :PROPERTIES: | 569 | except they use grayscale values. |
| 596 | :ALT_TITLE: Mode line | ||
| 597 | :DESCRIPTION: Choose among plain, three-dimension, or moody-compliant styles | ||
| 598 | :CUSTOM_ID: h:27943af6-d950-42d0-bc23-106e43f50a24 | ||
| 599 | :END: | ||
| 600 | 570 | ||
| 601 | Symbol names: | 571 | ** Option for mode line presentation |
| 572 | :properties: | ||
| 573 | :alt_title: Mode line | ||
| 574 | :description: Choose among several styles, with or without borders | ||
| 575 | :custom_id: h:27943af6-d950-42d0-bc23-106e43f50a24 | ||
| 576 | :end: | ||
| 577 | #+vindex: modus-themes-mode-line | ||
| 602 | 578 | ||
| 603 | + =modus-operandi-theme-mode-line= | 579 | Symbol: ~modus-themes-mode-line~ |
| 604 | + =modus-vivendi-theme-mode-line= | ||
| 605 | 580 | ||
| 606 | Possible values: | 581 | Possible values: |
| 607 | 582 | ||
| 608 | 1. =nil= (default) | 583 | 1. =nil= (default) |
| 609 | 2. =3d= | 584 | 2. ~3d~ |
| 610 | 3. =moody= | 585 | 3. ~moody~ |
| 611 | 586 | 4. ~borderless~ | |
| 612 | The default value (=nil=) produces a two-dimensional effect both for the | 587 | 5. ~borderless-3d~ |
| 613 | active and inactive modelines. The differences between the two are | 588 | 6. ~borderless-moody~ |
| 614 | limited to distinct shades of grayscale values, with the active being | 589 | |
| 615 | more intense than the inactive. | 590 | The default produces a two-dimensional effect both for the active and |
| 616 | 591 | inactive modelines. The differences between the two are limited to | |
| 617 | A =3d= symbol will make the active modeline look like a three-dimensional | 592 | distinct shades of grayscale values, with the active being more intense |
| 593 | than the inactive. | ||
| 594 | |||
| 595 | Option ~3d~ will make the active modeline look like a three-dimensional | ||
| 618 | rectangle. Inactive modelines remain 2D, though they are slightly toned | 596 | rectangle. Inactive modelines remain 2D, though they are slightly toned |
| 619 | down relative to the default. This aesthetic is the same as what you | 597 | down relative to the default. This aesthetic is virtually the same as |
| 620 | get when you run Emacs without any customizations (=emacs -Q= on the | 598 | what you get when you run Emacs without any customizations (=emacs -Q= on |
| 621 | command line). | 599 | the command line). |
| 622 | 600 | ||
| 623 | While =moody= removes all box effects from the modelines and applies | 601 | While ~moody~ removes all box effects from the modelines and applies |
| 624 | underline and overline properties instead. It also tones down a bit the | 602 | underline and overline properties instead. It also tones down a bit the |
| 625 | inactive modelines. This is meant to optimize things for use with the | 603 | inactive modelines. This is meant to optimize things for use with the |
| 626 | [[https://github.com/tarsius/moody][moody package]] (hereinafter referred to as "Moody"), though it can work | 604 | [[https://github.com/tarsius/moody][moody package]] (hereinafter referred to as "Moody"), though it can work |
| 627 | fine even without it. | 605 | fine even without it. |
| 628 | 606 | ||
| 607 | The ~borderless~ option uses the same colors as the default (nil value), | ||
| 608 | but removes the border effect. This is done by making the box property | ||
| 609 | use the same color as the background, effectively blending the two and | ||
| 610 | creating some padding. | ||
| 611 | |||
| 612 | The ~borderless-3d~ and ~borderless-moody~ approximate the ~3d~ and ~moody~ | ||
| 613 | options respectively, while removing the borders. However, to ensure | ||
| 614 | that the inactive modelines remain visible, they apply a slightly more | ||
| 615 | prominent background to them than what their counterparts do (same | ||
| 616 | inactive background as with the default). | ||
| 617 | |||
| 629 | Note that Moody does not expose any faces that the themes could style | 618 | Note that Moody does not expose any faces that the themes could style |
| 630 | directly. Instead it re-purposes existing ones to render its tabs and | 619 | directly. Instead it re-purposes existing ones to render its tabs and |
| 631 | ribbons. As such, there may be cases where the contrast ratio falls | 620 | ribbons. As such, there may be cases where the contrast ratio falls |
| 632 | below the 7:1 target that the themes conform with (WCAG AAA). To hedge | 621 | below the 7:1 target that the themes conform with (WCAG AAA). To hedge |
| 633 | against this, we configure a fallback foreground for the =moody= option, | 622 | against this, we configure a fallback foreground for the ~moody~ option, |
| 634 | which will come into effect when the background of the modeline changes | 623 | which will come into effect when the background of the modeline changes |
| 635 | to something less accessible, such as Moody ribbons (read the doc string | 624 | to something less accessible, such as Moody ribbons (read the doc string |
| 636 | of =set-face-attribute=, specifically =:distant-foreground=). This fallback | 625 | of ~set-face-attribute~, specifically ~:distant-foreground~). This fallback |
| 637 | comes into effect when Emacs determines that the background and | 626 | is activated when Emacs determines that the background and foreground of |
| 638 | foreground of the given construct are too close to each other in terms | 627 | the given construct are too close to each other in terms of color |
| 639 | of color distance. In effect, users would need to experiment with the | 628 | distance. In effect, users would need to experiment with the variable |
| 640 | variable =face-near-same-color-threshold= to trigger the fallback color. | 629 | ~face-near-same-color-threshold~ to trigger the effect. We find that a |
| 641 | We find that a value of =45000= would suffice, contrary to the default | 630 | value of =45000= will suffice, contrary to the default =30000=. Do not set |
| 642 | =30000=. Do not set the value too high, because that would have the | 631 | the value too high, because that would have the adverse effect of always |
| 643 | adverse effect of always overriding the default color (which has been | 632 | overriding the default color (which has been carefully designed to be |
| 644 | carefully designed to be highly accessible). | 633 | highly accessible). |
| 645 | 634 | ||
| 646 | Furthermore, because Moody expects an underline and overline instead of | 635 | Furthermore, because Moody expects an underline and overline instead of |
| 647 | a box style, it is recommended you also include this in your setup: | 636 | a box style, it is advised you include this in your setup: |
| 648 | 637 | ||
| 649 | #+begin_src emacs-lisp | 638 | #+begin_src emacs-lisp |
| 650 | (setq x-underline-at-descent-line t) | 639 | (setq x-underline-at-descent-line t) |
| 651 | #+end_src | 640 | #+end_src |
| 652 | 641 | ||
| 653 | ** Option for completion framework aesthetics | 642 | ** Option for completion framework aesthetics |
| 654 | :PROPERTIES: | 643 | :properties: |
| 655 | :ALT_TITLE: Completion UIs | 644 | :alt_title: Completion UIs |
| 656 | :DESCRIPTION: Choose among standard, moderate, or opinionated looks | 645 | :description: Choose among standard, moderate, or opinionated looks |
| 657 | :CUSTOM_ID: h:f1c20c02-7b34-4c35-9c65-99170efb2882 | 646 | :custom_id: h:f1c20c02-7b34-4c35-9c65-99170efb2882 |
| 658 | :END: | 647 | :end: |
| 659 | 648 | #+vindex: modus-themes-completions | |
| 660 | Symbol names: | ||
| 661 | 649 | ||
| 662 | + =modus-operandi-theme-completions= | 650 | Symbol: ~modus-themes-completions~ |
| 663 | + =modus-vivendi-theme-completions= | ||
| 664 | 651 | ||
| 665 | Possible values: | 652 | Possible values: |
| 666 | 653 | ||
| 667 | 1. =nil= (default) | 654 | 1. =nil= (default) |
| 668 | 2. =moderate= | 655 | 2. ~moderate~ |
| 669 | 3. =opinionated= | 656 | 3. ~opinionated~ |
| 670 | 657 | ||
| 671 | This is a special option that has different effects depending on the | 658 | This is a special option that has different effects depending on the |
| 672 | completion UI. The interfaces can be grouped in two categories, based | 659 | completion UI. The interfaces can be grouped in two categories, based |
| @@ -679,512 +666,1008 @@ Ivy, and similar. | |||
| 679 | 666 | ||
| 680 | A value of =nil= will respect the metaphors of each completion framework. | 667 | A value of =nil= will respect the metaphors of each completion framework. |
| 681 | 668 | ||
| 682 | The symbol =moderate= will apply a combination of background and | 669 | Option ~moderate~ applies a combination of background and foreground that |
| 683 | foreground that is fairly subtle. For Icomplete and friends this | 670 | is fairly subtle. For Icomplete and friends this constitutes a |
| 684 | constitutes a departure from their default aesthetics, however the | 671 | departure from their default aesthetics, however the difference is |
| 685 | difference is small. While Helm et al will appear slightly different | 672 | small. While Helm, Ivy et al appear slightly different than their |
| 686 | than their original looks, as they are toned down a bit. | 673 | original looks, as they are toned down a bit. |
| 687 | 674 | ||
| 688 | The symbol =opinionated= will apply color combinations that refashion the | 675 | Option ~opinionated~ uses color combinations that refashion the completion |
| 689 | completion UI. For the Icomplete camp this means that intense | 676 | UI. For the Icomplete camp this means that intense background and |
| 690 | background and foreground combinations are used: in effect their looks | 677 | foreground combinations are used: in effect their looks emulate those of |
| 691 | emulate those of Ivy and co. in their original style. Whereas the other | 678 | Helm, Ivy and co. in their original style. Whereas the other group of |
| 692 | group of packages will revert to an even more nuanced aesthetic with | 679 | packages will revert to an even more nuanced aesthetic with some |
| 693 | some additional changes to the choice of hues. | 680 | additional changes to the choice of hues. |
| 694 | 681 | ||
| 695 | To appreciate the scope of this customization option, you should spend | 682 | To appreciate the scope of this customization option, you should spend |
| 696 | some time with every one of the =nil= (default), =moderate=, and =opinionated= | 683 | some time with every one of the =nil= (default), ~moderate~, and ~opinionated~ |
| 697 | possibilities. | 684 | possibilities. |
| 698 | 685 | ||
| 699 | ** Option for fringe visibility | 686 | ** Option for fringe visibility |
| 700 | :PROPERTIES: | 687 | :properties: |
| 701 | :ALT_TITLE: Fringes | 688 | :alt_title: Fringes |
| 702 | :DESCRIPTION: Choose among plain, subtle, or intense fringe visibility | 689 | :description: Choose among invisible, subtle, or intense fringe styles |
| 703 | :CUSTOM_ID: h:1983c3fc-74f6-44f3-b917-967c403bebae | 690 | :custom_id: h:1983c3fc-74f6-44f3-b917-967c403bebae |
| 704 | :END: | 691 | :end: |
| 692 | #+vindex: modus-themes-fringes | ||
| 705 | 693 | ||
| 706 | Symbol names: | 694 | Symbol: ~modus-themes-fringes~ |
| 707 | |||
| 708 | + =modus-operandi-theme-fringes= | ||
| 709 | + =modus-vivendi-theme-fringes= | ||
| 710 | 695 | ||
| 711 | Possible values: | 696 | Possible values: |
| 712 | 697 | ||
| 713 | 1. =nil= (default) | 698 | 1. =nil= (default) |
| 714 | 2. =subtle= | 699 | 2. ~subtle~ |
| 715 | 3. =intense= | 700 | 3. ~intense~ |
| 716 | |||
| 717 | The "subtle" symbol will apply a grayscale background that is visible, | ||
| 718 | yet close enough to the main background color. While the "intense" | ||
| 719 | symbol will use a more noticeable grayscale background. | ||
| 720 | 701 | ||
| 721 | The default is to use the same color as that of the main background, | 702 | The default is to use the same color as that of the main background, |
| 722 | meaning that the fringes are not obvious though they still occupy the | 703 | meaning that the fringes are not obvious though they still occupy the |
| 723 | space given to them by =fringe-mode=. | 704 | space given to them by ~fringe-mode~. |
| 724 | 705 | ||
| 725 | ** Option for line highlighting (hl-line-mode) | 706 | Options ~subtle~ and ~intense~ apply a gray background, making the fringes |
| 726 | :PROPERTIES: | 707 | visible. The difference between the two is one of degree, as their |
| 727 | :ALT_TITLE: Line highlighting | 708 | names imply. |
| 728 | :DESCRIPTION: Toggle intense style for current line highlighting | ||
| 729 | :CUSTOM_ID: h:1dba1cfe-d079-4c13-a810-f768e8789177 | ||
| 730 | :END: | ||
| 731 | 709 | ||
| 732 | Symbol names: | 710 | ** Option for language checkers |
| 711 | :properties: | ||
| 712 | :alt_title: Language checkers | ||
| 713 | :description: Control the style of language checkers/linters | ||
| 714 | :custom_id: h:4b13743a-8ebf-4d2c-a043-cceba10b1eb4 | ||
| 715 | :end: | ||
| 716 | #+vindex: modus-themes-lang-checkers | ||
| 733 | 717 | ||
| 734 | + =modus-operandi-theme-intense-hl-line= | 718 | Symbol: ~modus-themes-lang-checkers~ |
| 735 | + =modus-vivendi-theme-intense-hl-line= | 719 | |
| 720 | Possible values: | ||
| 721 | |||
| 722 | 1. =nil= (default) | ||
| 723 | 2. ~subtle-foreground~ | ||
| 724 | 3. ~intense-foreground~ | ||
| 725 | 4. ~straight-underline~ | ||
| 726 | 5. ~subtle-foreground-straight-underline~ | ||
| 727 | 6. ~intense-foreground-straight-underline~ | ||
| 728 | 7. ~colored-background~ | ||
| 729 | |||
| 730 | Nil (the default) applies a color-coded underline to the affected text, | ||
| 731 | while it leaves the original foreground in tact. If the display spec | ||
| 732 | where Emacs runs in has support for it (e.g. Emacs GUI), the underline's | ||
| 733 | style is that of a wave, otherwise it is a straight line. | ||
| 734 | |||
| 735 | Options ~subtle-foreground~ and ~intense-foreground~ follow the same | ||
| 736 | color-coding pattern and wavy underline of the default, while extending | ||
| 737 | it with a corresponding foreground value for the affected text. The | ||
| 738 | difference between the two options is one of degree, as their names | ||
| 739 | suggest. | ||
| 740 | |||
| 741 | Option ~straight-underline~ is like the default but always applies a | ||
| 742 | straight line under the affected text. Same principle for | ||
| 743 | ~subtle-foreground-straight-underline~ and its counterpart | ||
| 744 | ~intense-foreground-straight-underline~. | ||
| 745 | |||
| 746 | Option ~colored-background~ uses a straight underline, a tinted | ||
| 747 | background, and a suitable foreground. All are color-coded. This is | ||
| 748 | the most intense combination of face properties. | ||
| 749 | |||
| 750 | The present variable affects packages and/or face groups such as those | ||
| 751 | of =flyspell=, =flymake=, =flycheck=, ~artbollocks-mode~, and ~writegood-mode~. | ||
| 752 | |||
| 753 | NOTE: The placement of the straight underline, though not the wave | ||
| 754 | style, is controlled by the built-in ~x-underline-at-descent-line~, | ||
| 755 | ~x-use-underline-position-properties~, ~underline-minimum-offset~. Please | ||
| 756 | refer to their documentation strings. | ||
| 757 | |||
| 758 | ** Option for line highlighting (hl-line-mode) | ||
| 759 | :properties: | ||
| 760 | :alt_title: Line highlighting | ||
| 761 | :description: Toggle intense style for current line highlighting | ||
| 762 | :custom_id: h:1dba1cfe-d079-4c13-a810-f768e8789177 | ||
| 763 | :end: | ||
| 764 | #+vindex: modus-themes-intense-hl-line | ||
| 765 | |||
| 766 | Symbol: ~modus-themes-intense-hl-line~ | ||
| 736 | 767 | ||
| 737 | Possible values: | 768 | Possible values: |
| 738 | 769 | ||
| 739 | 1. =nil= (default) | 770 | 1. =nil= (default) |
| 740 | 2. =t= | 771 | 2. =t= |
| 741 | 772 | ||
| 742 | Draw the current line of =hl-line-mode= or its global equivalent in a more | 773 | The default is to use a subtle gray background for ~hl-line-mode~ and its |
| 743 | prominent background color. This would also affect several packages | 774 | global equivalent. |
| 744 | that enable =hl-line-mode=, such as =elfeed= and =mu4e=. | ||
| 745 | 775 | ||
| 746 | The default is to use a more subtle gray. | 776 | With a non-nil value (=t=) use a more prominent background color instead. |
| 777 | |||
| 778 | This affects several packages that enable ~hl-line-mode~, such as =elfeed= | ||
| 779 | and =mu4e=. | ||
| 780 | |||
| 781 | ** Option for line numbers (display-line-numbers-mode) | ||
| 782 | :properties: | ||
| 783 | :alt_title: Line numbers | ||
| 784 | :description: Toggle subtle style for line numbers | ||
| 785 | :custom_id: h:8c4a6230-2e43-4aa2-a631-3b7179392e09 | ||
| 786 | :end: | ||
| 787 | #+vindex: modus-themes-subtle-line-numbers | ||
| 788 | |||
| 789 | Symbol: ~modus-themes-subtle-line-numbers~ | ||
| 790 | |||
| 791 | Possible value: | ||
| 792 | |||
| 793 | 1. =nil= (default) | ||
| 794 | 2. =t= | ||
| 795 | |||
| 796 | The default style for ~display-line-numbers-mode~ and its global variant | ||
| 797 | is to apply a subtle gray background to the line numbers. The current | ||
| 798 | line has a more pronounced background and foreground combination to | ||
| 799 | bring more attention to itself. | ||
| 800 | |||
| 801 | Similarly, the faces for ~display-line-numbers-major-tick~ and its | ||
| 802 | counterpart ~display-line-numbers-minor-tick~ use appropriate styles that | ||
| 803 | involve a bespoke background and foreground combination. | ||
| 804 | |||
| 805 | With a non-nil value (=t=), line numbers have no background of their own. | ||
| 806 | Instead they retain the primary background of the theme, blending with | ||
| 807 | the rest of the buffer. Foreground values for all relevant faces are | ||
| 808 | updated to accommodate this aesthetic. | ||
| 747 | 809 | ||
| 748 | ** Option for parenthesis matching (show-paren-mode) | 810 | ** Option for parenthesis matching (show-paren-mode) |
| 749 | :PROPERTIES: | 811 | :properties: |
| 750 | :ALT_TITLE: Matching parentheses | 812 | :alt_title: Matching parentheses |
| 751 | :DESCRIPTION: Toggle intense style for matching delimiters/parentheses | 813 | :description: Choose between various styles for matching delimiters/parentheses |
| 752 | :CUSTOM_ID: h:e66a7e4d-a512-4bc7-9f86-fbbb5923bf37 | 814 | :custom_id: h:e66a7e4d-a512-4bc7-9f86-fbbb5923bf37 |
| 753 | :END: | 815 | :end: |
| 816 | #+vindex: modus-themes-paren-match | ||
| 817 | |||
| 818 | Symbol: ~modus-themes-paren-match~ | ||
| 819 | |||
| 820 | Possible values: | ||
| 821 | |||
| 822 | 1. =nil= (default) | ||
| 823 | 2. ~subtle-bold~ | ||
| 824 | 3. ~intense~ | ||
| 825 | 4. ~intense-bold~ | ||
| 754 | 826 | ||
| 755 | Symbol names: | 827 | Nil means to use a subtle tinted background color for the matching |
| 828 | delimiters. | ||
| 756 | 829 | ||
| 757 | + =modus-operandi-theme-intense-paren-match= | 830 | Option ~intense~ applies a saturated background color. |
| 758 | + =modus-vivendi-theme-intense-paren-match= | 831 | |
| 832 | Option ~subtle-bold~ is the same as the default, but also makes use of | ||
| 833 | bold typographic weight (inherits the ~bold~ face). | ||
| 834 | |||
| 835 | Option ~intense-bold~ is the same as ~intense~, while it also uses a bold | ||
| 836 | weight. | ||
| 837 | |||
| 838 | This customization variable affects tools such as the built-in | ||
| 839 | ~show-paren-mode~ and the =smartparens= package. | ||
| 840 | |||
| 841 | ** Option for active region | ||
| 842 | :properties: | ||
| 843 | :alt_title: Active region | ||
| 844 | :description: Choose between various styles for the active region | ||
| 845 | :custom_id: h:60798063-b4ad-45ea-b9a7-ff7b5c0ab74c | ||
| 846 | :end: | ||
| 847 | #+vindex: modus-themes-region | ||
| 848 | |||
| 849 | Symbol: ~modus-themes-region~ | ||
| 759 | 850 | ||
| 760 | Possible values: | 851 | Possible values: |
| 761 | 852 | ||
| 762 | 1. =nil= (default) | 853 | 1. =nil= (default) |
| 763 | 2. =t= | 854 | 2. ~no-extend~ |
| 855 | 3. ~bg-only~ | ||
| 856 | 4. ~bg-only-no-extend~ | ||
| 764 | 857 | ||
| 765 | Apply a more intense background to the matching parentheses (or | 858 | Nil means to only use a prominent gray background with a neutral |
| 766 | delimiters). This affects tools such as the built-in =show-paren-mode=. | 859 | foreground. The foreground overrides all syntax highlighting. The |
| 767 | The default is to use a subtle warm color for the background of those | 860 | region extends to the edge of the window. |
| 768 | overlays. | ||
| 769 | 861 | ||
| 770 | ** Option for diff buffer looks | 862 | Option ~no-extend~ preserves the default aesthetic but prevents the region |
| 771 | :PROPERTIES: | 863 | from extending to the edge of the window. |
| 772 | :ALT_TITLE: Diffs | 864 | |
| 773 | :DESCRIPTION: Choose among intense, desaturated, or text-only diffs | 865 | Option ~bg-only~ applies a faint tinted background that is distinct from |
| 774 | :CUSTOM_ID: h:ea7ac54f-5827-49bd-b09f-62424b3b6427 | 866 | all others used in the theme, while it does not override any existing |
| 775 | :END: | 867 | colors. It extends to the edge of the window. |
| 868 | |||
| 869 | Option ~bg-only-no-extend~ is a combination of the ~bg-only~ and ~no-extend~ | ||
| 870 | options. | ||
| 776 | 871 | ||
| 777 | Symbol names: | 872 | ** Option for diff buffer looks |
| 873 | :properties: | ||
| 874 | :alt_title: Diffs | ||
| 875 | :description: Choose among intense, desaturated, or text-only diffs | ||
| 876 | :custom_id: h:ea7ac54f-5827-49bd-b09f-62424b3b6427 | ||
| 877 | :end: | ||
| 878 | #+vindex: modus-themes-diffs | ||
| 778 | 879 | ||
| 779 | + =modus-operandi-theme-diffs= | 880 | Symbol: ~modus-themes-diffs~ |
| 780 | + =modus-vivendi-theme-diffs= | ||
| 781 | 881 | ||
| 782 | Possible values: | 882 | Possible values: |
| 783 | 883 | ||
| 784 | 1. =nil= (default) | 884 | 1. =nil= (default) |
| 785 | 2. =desaturated= | 885 | 2. ~desaturated~ |
| 786 | 2. =fg-only= | 886 | 3. ~fg-only~ |
| 787 | 887 | 4. ~bg-only~ | |
| 788 | By default the themes will apply richly colored backgrounds to the | 888 | 5. ~deuteranopia~ |
| 789 | output of diffs, such as those of =diff-mode=, =ediff=, =smerge-mode=, and | 889 | |
| 790 | =magit=. These are color combinations of an accented background and | 890 | By default the themes apply rich coloration to the output of diffs, such |
| 791 | foreground so that, for example, added lines have a pronounced green | 891 | as those of ~diff-mode~, ~ediff~, ~smerge-mode~, and Magit. These are |
| 792 | background with an appropriate shade of green for the affected text. | 892 | color combinations of an accented background and foreground so that, for |
| 793 | Word-wise or "refined" changes follow this pattern but use different | 893 | example, added lines have a pronounced green background with an |
| 794 | shades of those colors to remain distinct. | 894 | appropriate shade of green for the affected text. Word-wise or |
| 795 | 895 | "refined" changes follow this pattern but use different shades of those | |
| 796 | A =desaturated= value tones down all relevant color values. It still | 896 | colors to remain distinct. |
| 897 | |||
| 898 | Option ~desaturated~ tones down all relevant color values. It still | ||
| 797 | combines an accented background with an appropriate foreground, yet its | 899 | combines an accented background with an appropriate foreground, yet its |
| 798 | overall impression is very subtle. Refined changes are a bit more | 900 | overall impression is fairly subtle. Refined changes are a bit more |
| 799 | intense to fulfil their intended function, though still less saturated | 901 | intense to fulfil their intended function, though still less saturated |
| 800 | than default. | 902 | than default. |
| 801 | 903 | ||
| 802 | While =fg-only= will remove all accented backgrounds and instead rely on | 904 | Option ~fg-only~ will remove most accented backgrounds and instead rely |
| 803 | color-coded text to denote changes. For instance, added lines use an | 905 | on color-coded text to denote changes. For instance, added lines use a |
| 804 | intense green foreground, while their background is the same as the rest | 906 | green foreground, while their background is the same as the rest of the |
| 805 | of the buffer. Word-wise highlights still use a background value which | 907 | buffer. Word-wise highlights still use a background value which is, |
| 806 | is, nonetheless, more subtle than its default equivalent. | 908 | nonetheless, more subtle than its default equivalent. |
| 807 | 909 | ||
| 808 | Concerning =magit=, an extra set of tweaks are introduced for the effect | 910 | Option ~bg-only~ applies color-coded backgrounds but does not override |
| 809 | of highlighting the current diff hunk, so as to remain consistent with | 911 | any syntax highlighting that may be present. This makes it suitable for |
| 810 | the overall experience of that mode. Expect changes that are consistent | 912 | use with a non-nil value for ~diff-font-lock-syntax~ (which is the |
| 811 | with the overall intent of the aforementioned. | 913 | default for ~diff-mode~ buffers in Emacs 27 or higher). |
| 914 | |||
| 915 | Option ~deuteranopia~ optimizes for red-green color deficiency. It | ||
| 916 | replaces all instances of green with blue variants. This is to ensure | ||
| 917 | that indicators for "removed" and "added" states are not mistaken for | ||
| 918 | each other. | ||
| 919 | |||
| 920 | Concerning Magit, an extra set of tweaks are introduced for the effect | ||
| 921 | of highlighting the current diff hunk, so as to remain aligned with the | ||
| 922 | overall experience of that mode. Expect changes that are consistent | ||
| 923 | with the overall intent of the aforementioned. Note, however, that the | ||
| 924 | ~bg-only~ option will not deliver the intended results in Magit diffs | ||
| 925 | because no syntax highlighting is used there (last checked with Magit | ||
| 926 | version 20201116.1057, though upstream has a plan to eventually support | ||
| 927 | such a feature---this entry shall be updated accordingly). | ||
| 812 | 928 | ||
| 813 | ** Option for org-mode block styles | 929 | ** Option for org-mode block styles |
| 814 | :PROPERTIES: | 930 | :properties: |
| 815 | :ALT_TITLE: Org mode blocks | 931 | :alt_title: Org mode blocks |
| 816 | :DESCRIPTION: Choose among plain, grayscale, or rainbow styles | 932 | :description: Choose among plain, grayscale, or rainbow styles |
| 817 | :CUSTOM_ID: h:b7e328c0-3034-4db7-9cdf-d5ba12081ca2 | 933 | :custom_id: h:b7e328c0-3034-4db7-9cdf-d5ba12081ca2 |
| 818 | :END: | 934 | :end: |
| 819 | 935 | #+vindex: modus-themes-org-blocks | |
| 820 | Symbol names: | ||
| 821 | 936 | ||
| 822 | + =modus-operandi-theme-org-blocks= | 937 | Symbol: ~modus-themes-org-blocks~ |
| 823 | + =modus-vivendi-theme-org-blocks= | ||
| 824 | 938 | ||
| 825 | Possible values: | 939 | Possible values: |
| 826 | 940 | ||
| 827 | 1. =nil= (default) | 941 | 1. =nil= (default) |
| 828 | 2. =grayscale= | 942 | 2. ~grayscale~ |
| 829 | 3. =rainbow= | 943 | 3. ~rainbow~ |
| 830 | 944 | ||
| 831 | The default is to use the same background as the rest of the buffer for | 945 | The default is to use the same background as the rest of the buffer for |
| 832 | the contents of the block. | 946 | the contents of the block. |
| 833 | 947 | ||
| 834 | A value of =grayscale= will apply a subtle neutral gray background to the | 948 | Option ~grayscale~ applies a subtle neutral gray background to the block's |
| 835 | block's contents. It will also extend to the edge of the window the | 949 | contents. It will also extend to the edge of the window the background |
| 836 | background of the "begin" and "end" block delimiter lines (only relevant | 950 | of the "begin" and "end" block delimiter lines (only relevant for Emacs |
| 837 | for Emacs versions >= 27 where the 'extend' keyword is recognised by | 951 | versions >= 27 where the 'extend' keyword is part of the face |
| 838 | =set-face-attribute=). | 952 | specifications). |
| 839 | 953 | ||
| 840 | While =rainbow= will instead use an accented background for the contents | 954 | Option ~rainbow~ uses an accented background for the contents of the |
| 841 | of the block. The exact color will depend on the programming language | 955 | block. The exact color will depend on the programming language and is |
| 842 | and is controlled by the =org-src-block-faces= variable (refer to the | 956 | controlled by the ~org-src-block-faces~ variable. This is most suitable |
| 843 | theme's source code for the current association list). This is most | 957 | for users who work on literate programming documents that mix and match |
| 844 | suitable for users who work on literate programming documents that mix | 958 | several languages. |
| 845 | and match several languages. | ||
| 846 | 959 | ||
| 847 | Note that the "rainbow" blocks may require you to also reload the | 960 | Note that the "rainbow" blocks may require you to also reload the |
| 848 | major-mode so that the colors are applied properly: use =M-x org-mode= or | 961 | major-mode so that the colors are applied consistently throughout: use |
| 849 | =M-x org-mode-restart= to refresh the buffer. Or start typing in each | 962 | {{{kbd(M-x org-mode)}}} or {{{kbd(M-x org-mode-restart)}}} to refresh the buffer. |
| 850 | code block (inefficient at scale, but it still works). | 963 | Or start typing in each code block (inefficient at scale, but it still |
| 964 | works). | ||
| 851 | 965 | ||
| 852 | ** Option for headings' overall style | 966 | ** Option for org-habit graph styles |
| 853 | :PROPERTIES: | 967 | :properties: |
| 854 | :ALT_TITLE: Heading styles | 968 | :alt_title: Org agenda habits |
| 855 | :DESCRIPTION: Choose among several styles, also per heading level | 969 | :description: Choose among standard, simplified, or traffic light styles |
| 856 | :CUSTOM_ID: h:271eff19-97aa-4090-9415-a6463c2f9ae1 | 970 | :custom_id: h:b7e328c0-3034-4db7-9cdf-d5ba12081ca2 |
| 857 | :END: | 971 | :end: |
| 972 | #+vindex: modus-themes-org-habit | ||
| 973 | |||
| 974 | Symbol: ~modus-themes-org-habit~ | ||
| 975 | |||
| 976 | Possible values: | ||
| 977 | |||
| 978 | 1. =nil= (default) | ||
| 979 | 2. ~simplified~ | ||
| 980 | 3. ~traffic-light~ | ||
| 981 | |||
| 982 | The default is meant to conform with the original aesthetic of | ||
| 983 | =org-habit=. It employs all four color codes that correspond to the | ||
| 984 | org-habit states---clear, ready, alert, and overdue---while | ||
| 985 | distinguishing between their present and future variants. This results | ||
| 986 | in a total of eight colors in use: red, yellow, green, blue, in tinted | ||
| 987 | and shaded versions. They cover the full set of information provided by | ||
| 988 | the =org-habit= consistency graph. | ||
| 989 | |||
| 990 | Option ~simplified~ is like the default except that it removes the | ||
| 991 | dichotomy between current and future variants by applying uniform | ||
| 992 | color-coded values. It applies a total of four colors: red, yellow, | ||
| 993 | green, blue. They produce a simplified consistency graph that is more | ||
| 994 | legible (or less "busy") than the default. The intent is to shift focus | ||
| 995 | towards the distinction between the four states of a habit task, rather | ||
| 996 | than each state's present/future outlook. | ||
| 997 | |||
| 998 | Option ~traffic-light~ further reduces the available colors to red, | ||
| 999 | yellow, and green. As in ~simplified~, present and future variants appear | ||
| 1000 | uniformly, but differently from it, the 'clear' state is rendered in a | ||
| 1001 | green hue, instead of the original blue. This is meant to capture the | ||
| 1002 | use-case where a habit task being "too early" is less important than it | ||
| 1003 | being "too late". The difference between ready and clear states is | ||
| 1004 | attenuated by painting both of them using shades of green. This option | ||
| 1005 | thus highlights the alert and overdue states. | ||
| 1006 | |||
| 1007 | ** Option for the headings' overall style | ||
| 1008 | :properties: | ||
| 1009 | :alt_title: Heading styles | ||
| 1010 | :description: Choose among several styles, also per heading level | ||
| 1011 | :custom_id: h:271eff19-97aa-4090-9415-a6463c2f9ae1 | ||
| 1012 | :end: | ||
| 1013 | #+vindex: modus-themes-headings | ||
| 858 | 1014 | ||
| 859 | This is defined as an alist and, therefore, uses a different approach | 1015 | This is defined as an alist and, therefore, uses a different approach |
| 860 | than other customization options documented in this manual. | 1016 | than other customization options documented in this manual. |
| 861 | 1017 | ||
| 862 | Symbol names: | 1018 | Symbol: ~modus-themes-headings~ |
| 863 | |||
| 864 | + =modus-operandi-theme-headings= | ||
| 865 | + =modus-vivendi-theme-headings= | ||
| 866 | 1019 | ||
| 867 | Possible values, which can be specified for each heading level (examples | 1020 | Possible values, which can be specified for each heading level (examples |
| 868 | further below): | 1021 | further below): |
| 869 | 1022 | ||
| 870 | + nil (default fallback option---covers all heading levels) | 1023 | + nil (default fallback option---covers all heading levels) |
| 871 | + =t= (default style for a single heading, when the fallback differs) | 1024 | + =t= (default style for a single heading, when the fallback differs) |
| 872 | + =no-bold= | 1025 | + ~no-bold~ |
| 873 | + =line= | 1026 | + ~line~ |
| 874 | + =line-no-bold= | 1027 | + ~line-no-bold~ |
| 875 | + =rainbow= | 1028 | + ~rainbow~ |
| 876 | + =rainbow-line= | 1029 | + ~rainbow-line~ |
| 877 | + =rainbow-line-no-bold= | 1030 | + ~rainbow-line-no-bold~ |
| 878 | + =highlight= | 1031 | + ~highlight~ |
| 879 | + =highlight-no-bold= | 1032 | + ~highlight-no-bold~ |
| 880 | + =rainbow-highlight= | 1033 | + ~rainbow-highlight~ |
| 881 | + =rainbow-highlight-no-bold= | 1034 | + ~rainbow-highlight-no-bold~ |
| 882 | + =section= | 1035 | + ~section~ |
| 883 | + =section-no-bold= | 1036 | + ~section-no-bold~ |
| 884 | + =rainbow-section= | 1037 | + ~rainbow-section~ |
| 885 | + =rainbow-section-no-bold= | 1038 | + ~rainbow-section-no-bold~ |
| 886 | 1039 | + ~no-color~ | |
| 887 | To control faces per level from 1-8, use something like this (same for | 1040 | + ~no-color-no-bold~ |
| 888 | =modus-vivendi-theme-headings=): | 1041 | |
| 1042 | To control faces per level from 1-8, use something like this: | ||
| 889 | 1043 | ||
| 890 | #+begin_src emacs-lisp | 1044 | #+begin_src emacs-lisp |
| 891 | (setq modus-operandi-theme-headings | 1045 | (setq modus-themes-headings |
| 892 | '((1 . section) | 1046 | '((1 . section) |
| 893 | (2 . line) | 1047 | (2 . section-no-bold) |
| 894 | (3 . highlight) | 1048 | (3 . rainbow-line) |
| 895 | (t . rainbow-no-bold))) | 1049 | (t . rainbow-line-no-bold))) |
| 896 | #+end_src | 1050 | #+end_src |
| 897 | 1051 | ||
| 898 | The above uses the =section= value for heading levels 1, the =line= for | 1052 | The above uses the ~section~ value for heading levels 1, ~section-no-bold~ |
| 899 | headings 2, =highlight= for 3. All other levels fall back to | 1053 | for headings 2, ~rainbow-line~ for 3. All other levels fall back to |
| 900 | =rainbow-line-no-bold=. | 1054 | ~rainbow-line-no-bold~. |
| 901 | 1055 | ||
| 902 | To set a uniform value for all heading levels, use this pattern: | 1056 | To set a uniform value for all heading levels, use this pattern: |
| 903 | 1057 | ||
| 904 | #+begin_src emacs-lisp | 1058 | #+begin_src emacs-lisp |
| 905 | ;; A given style for every heading | 1059 | ;; A given style for every heading |
| 906 | (setq modus-operandi-theme-headings | 1060 | (setq modus-themes-headings |
| 907 | '((t . rainbow-line-no-bold))) | 1061 | '((t . section))) |
| 908 | 1062 | ||
| 909 | ;; Default aesthetic for every heading | 1063 | ;; Default aesthetic for every heading |
| 910 | (setq modus-operandi-theme-headings | 1064 | (setq modus-themes-headings |
| 911 | '((t . nil))) | 1065 | '()) |
| 912 | #+end_src | 1066 | #+end_src |
| 913 | 1067 | ||
| 914 | The default style for headings uses a fairly desaturated foreground | 1068 | The default style for headings uses a fairly desaturated foreground |
| 915 | value in combination with a bold typographic weight. To specify this | 1069 | value in combination with bold typographic weight. To specify this |
| 916 | style for a given level N (assuming you wish to have another fallback | 1070 | style for a given level N, assuming you wish to have another fallback |
| 917 | option), just specify the value =t= like this: | 1071 | option, just specify the value =t= like this: |
| 918 | 1072 | ||
| 919 | #+begin_src emacs-lisp | 1073 | #+begin_src emacs-lisp |
| 920 | (setq modus-operandi-theme-headings | 1074 | (setq modus-themes-headings |
| 921 | '((1 . t) | 1075 | '((1 . t) |
| 922 | (2 . line) | 1076 | (2 . line) |
| 923 | (t . rainbow-line-no-bold))) | 1077 | (t . rainbow-line-no-bold))) |
| 924 | #+end_src | 1078 | #+end_src |
| 925 | 1079 | ||
| 926 | A description of all other possible styles: | 1080 | A description of all other possible styles beyond the default: |
| 927 | 1081 | ||
| 928 | + =no-bold= retains the default text color while removing the typographic | 1082 | + ~no-bold~ retains the default text color while removing the bold |
| 929 | weight. | 1083 | typographic weight. |
| 930 | 1084 | ||
| 931 | + =line= is the same as the default plus an overline over the heading. | 1085 | + ~line~ is the same as the default plus an overline across the |
| 1086 | heading's length. | ||
| 932 | 1087 | ||
| 933 | + =line-no-bold= is the same as =line= without bold weight. | 1088 | + ~line-no-bold~ is the same as ~line~ without bold weight. |
| 934 | 1089 | ||
| 935 | + =rainbow= uses a more colorful foreground in combination with bold | 1090 | + ~rainbow~ uses a more colorful foreground in combination with bold |
| 936 | weight. | 1091 | typographic weight. |
| 937 | 1092 | ||
| 938 | + =rainbow-line= is the same as =rainbow= plus an overline. | 1093 | + ~rainbow-line~ is the same as ~rainbow~ plus an overline. |
| 939 | 1094 | ||
| 940 | + =rainbow-line-no-bold= is the same as =rainbow-line= without the bold | 1095 | + ~rainbow-line-no-bold~ is the same as ~rainbow-line~ without the bold |
| 941 | weight. | 1096 | weight. |
| 942 | 1097 | ||
| 943 | + =highlight= retains the default style of a fairly desaturated foreground | 1098 | + ~highlight~ retains the default style of a fairly desaturated |
| 944 | combined with a bold weight and adds to it a subtle accented | 1099 | foreground combined with a bold weight and adds to it a subtle |
| 945 | background. | 1100 | accented background. |
| 946 | 1101 | ||
| 947 | + =highlight-no-bold= is the same as =highlight= without a bold weight. | 1102 | + ~highlight-no-bold~ is the same as ~highlight~ without a bold weight. |
| 948 | 1103 | ||
| 949 | + =rainbow-highlight= is the same as =highlight= but with a more colorful | 1104 | + ~rainbow-highlight~ is the same as ~highlight~ but with a more |
| 950 | foreground. | 1105 | colorful foreground. |
| 951 | 1106 | ||
| 952 | + =rainbow-highlight-no-bold= is the same as =rainbow-highlight= without a | 1107 | + ~rainbow-highlight-no-bold~ is the same as ~rainbow-highlight~ without |
| 953 | bold weight. | 1108 | a bold weight. |
| 954 | 1109 | ||
| 955 | + =section= retains the default looks and adds to them both an overline | 1110 | + ~section~ retains the default looks and adds to them both an overline |
| 956 | and a slightly accented background. It is, in effect, a combination | 1111 | and a slightly accented background. It is, in effect, a combination |
| 957 | of the =line= and =highlight= values. | 1112 | of the ~line~ and ~highlight~ values. |
| 958 | 1113 | ||
| 959 | + =section-no-bold= is the same as =section= without a bold weight. | 1114 | + ~section-no-bold~ is the same as ~section~ without a bold weight. |
| 960 | 1115 | ||
| 961 | + =rainbow-section= is the same as =section= but with a more colorful | 1116 | + ~rainbow-section~ is the same as ~section~ but with a more colorful |
| 962 | foreground. | 1117 | foreground. |
| 963 | 1118 | ||
| 964 | + =rainbow-section-no-bold= is the same as =rainbow-section= without a bold | 1119 | + ~rainbow-section-no-bold~ is the same as ~rainbow-section~ without a |
| 965 | weight." | 1120 | bold weight. |
| 1121 | |||
| 1122 | + ~no-color~ does not apply any color to the heading, meaning that it | ||
| 1123 | uses the foreground of the ~default~ face. It still renders the text | ||
| 1124 | with a bold typographic weight. | ||
| 966 | 1125 | ||
| 967 | ** Option for scaled headings | 1126 | + ~no-color-no-bold~ is like ~no-color~ but without the bold weight. |
| 968 | :PROPERTIES: | ||
| 969 | :ALT_TITLE: Scaled headings | ||
| 970 | :DESCRIPTION: Toggle scaling of headings | ||
| 971 | :CUSTOM_ID: h:075eb022-37a6-41a4-a040-cc189f6bfa1f | ||
| 972 | :END: | ||
| 973 | 1127 | ||
| 974 | Symbol names: | 1128 | ** Option for scaled headings |
| 1129 | :properties: | ||
| 1130 | :alt_title: Scaled headings | ||
| 1131 | :description: Toggle scaling of headings | ||
| 1132 | :custom_id: h:075eb022-37a6-41a4-a040-cc189f6bfa1f | ||
| 1133 | :end: | ||
| 1134 | #+vindex: modus-themes-scale-headings | ||
| 975 | 1135 | ||
| 976 | + =modus-operandi-theme-scale-headings= | 1136 | Symbol: ~modus-themes-scale-headings~ |
| 977 | + =modus-vivendi-theme-scale-headings= | ||
| 978 | 1137 | ||
| 979 | Possible values: | 1138 | Possible values: |
| 980 | 1139 | ||
| 981 | 1. =nil= (default) | 1140 | 1. =nil= (default) |
| 982 | 2. =t= | 1141 | 2. =t= |
| 983 | 1142 | ||
| 984 | Make headings larger in height relative to the main text. This is | 1143 | The default is to use the same size for headings and paragraph text. |
| 985 | noticeable in modes like Org. The default is to use the same size for | 1144 | |
| 986 | headings and body copy. | 1145 | With a non-nil value (=t=) make headings larger in height relative to the |
| 1146 | main text. This is noticeable in modes like Org, Markdown, and Info. | ||
| 987 | 1147 | ||
| 988 | *** Control the scale of headings | 1148 | *** Control the scale of headings |
| 989 | :PROPERTIES: | 1149 | :properties: |
| 990 | :ALT_TITLE: Scaled heading sizes | 1150 | :alt_title: Scaled heading sizes |
| 991 | :DESCRIPTION: Specify rate of increase for scaled headings | 1151 | :description: Specify rate of increase for scaled headings |
| 992 | :CUSTOM_ID: h:6868baa1-beba-45ed-baa5-5fd68322ccb3 | 1152 | :custom_id: h:6868baa1-beba-45ed-baa5-5fd68322ccb3 |
| 993 | :END: | 1153 | :end: |
| 994 | 1154 | ||
| 995 | In addition to toggles for enabling scaled headings, users can also | 1155 | In addition to the toggle for enabling scaled headings, users can also |
| 996 | specify a number of their own. | 1156 | specify a number of their own. |
| 997 | 1157 | ||
| 998 | + If it is a floating point, say, =1.5=, it is interpreted as a multiple | 1158 | + If it is a floating point, say, =1.5=, it is interpreted as a multiple |
| 999 | of the base font size. This is the recommended method. | 1159 | of the base font size. This is the recommended method, because it |
| 1000 | 1160 | will always adapt to changes in the base font size, such as while | |
| 1001 | + If it is an integer, it is read as an absolute font height. The | 1161 | using the ~text-scale-adjust~ command. |
| 1002 | number is basically the point size multiplied by ten. So if you want | 1162 | |
| 1003 | it to be =18pt= you must pass =180=. Please understand that setting an | 1163 | + If it is an integer, it is read as an absolute font height that is |
| 1004 | absolute value is discouraged, as it will break the layout when you | 1164 | 1/10 of the typographic point size. Thus a value of =18pt= must be |
| 1005 | try to change font sizes with the built-in =text-scale-adjust= command | 1165 | expressed as =180=. Setting an absolute value is discouraged, as it |
| 1006 | (see [[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations]]). | 1166 | will break the layout in cases where the base font size must change, |
| 1167 | such as with the ~text-scale-adjust~ command ([[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations]]). | ||
| 1168 | While we discourage using absolute values, we still provide for this | ||
| 1169 | option for users who do not need to perform text-scaling operations or | ||
| 1170 | who are content with whatever discrepancies in height. | ||
| 1007 | 1171 | ||
| 1008 | Below are the variables in their default values, using the floating | 1172 | Below are the variables in their default values, using the floating |
| 1009 | point paradigm. The numbers are very conservative, but you are free to | 1173 | point paradigm. The numbers are very conservative, but one is free to |
| 1010 | change them to your liking, such as =1.2=, =1.4=, =1.6=, =1.8=, =2.0=---or use a | 1174 | change them to their liking, such as =1.2=, =1.4=, =1.6=, =1.8=, =2.0=---or use a |
| 1011 | resource for finding a consistent scale: | 1175 | resource for finding a consistent scale: |
| 1012 | 1176 | ||
| 1013 | #+begin_src emacs-lisp | 1177 | #+begin_src emacs-lisp |
| 1014 | (setq modus-operandi-theme-scale-1 1.05 | 1178 | (setq modus-themes-scale-1 1.05 |
| 1015 | modus-operandi-theme-scale-2 1.1 | 1179 | modus-themes-scale-2 1.1 |
| 1016 | modus-operandi-theme-scale-3 1.15 | 1180 | modus-themes-scale-3 1.15 |
| 1017 | modus-operandi-theme-scale-4 1.2 | 1181 | modus-themes-scale-4 1.2 |
| 1018 | modus-operandi-theme-scale-5 1.3) | 1182 | modus-themes-scale-5 1.3) |
| 1019 | |||
| 1020 | (setq modus-vivendi-theme-scale-1 1.05 | ||
| 1021 | modus-vivendi-theme-scale-2 1.1 | ||
| 1022 | modus-vivendi-theme-scale-3 1.15 | ||
| 1023 | modus-vivendi-theme-scale-4 1.2 | ||
| 1024 | modus-vivendi-theme-scale-5 1.3) | ||
| 1025 | #+end_src | 1183 | #+end_src |
| 1026 | 1184 | ||
| 1185 | As for the application of that scale, the variables that range from | ||
| 1186 | ~modus-themes-scale-1~ up to ~modus-themes-scale-4~ apply to regular | ||
| 1187 | headings within the context of the given major mode. The former is the | ||
| 1188 | smallest, while the latter is the largest. "Regular headings" are those | ||
| 1189 | that have a standard syntax for their scale, such as Org mode's eight | ||
| 1190 | levels of asterisks or Markdown's six columns. | ||
| 1191 | |||
| 1192 | Whereas ~modus-themes-scale-5~ is applied to special headings that do not | ||
| 1193 | conform with the aforementioned syntax, yet which are expected to be | ||
| 1194 | larger than the largest value on that implied scale. Put concretely, | ||
| 1195 | Org's =#+title= meta datum is not part of the eight levels of headings in | ||
| 1196 | an Org file, yet is supposed to signify the primary header. Similarly, | ||
| 1197 | the Org Agenda's structure headings are not part of a recognisable scale | ||
| 1198 | and so they also get ~modus-themes-scale-5~. | ||
| 1199 | |||
| 1200 | Users who wish to maintain scaled headings for the normal syntax while | ||
| 1201 | preventing special headings from standing out, can assign a value of =1.0= | ||
| 1202 | to ~modus-themes-scale-5~ to make it the same as body text (or whatever | ||
| 1203 | value would render it indistinguishable from the desired point of | ||
| 1204 | reference). | ||
| 1205 | |||
| 1027 | Note that in earlier versions of Org, scaling would only increase the | 1206 | Note that in earlier versions of Org, scaling would only increase the |
| 1028 | size of the heading, but not of keywords that were added to it, like | 1207 | size of the heading, but not of keywords that were added to it, like |
| 1029 | "TODO". The issue has been fixed upstream: | 1208 | "TODO". The issue has been fixed upstream: |
| 1030 | <https://protesilaos.com/codelog/2020-09-24-org-headings-adapt/>. | 1209 | <https://protesilaos.com/codelog/2020-09-24-org-headings-adapt/>. |
| 1031 | 1210 | ||
| 1032 | ** Option for variable-pitch font in headings | 1211 | ** Option for variable-pitch font in UI elements |
| 1033 | :PROPERTIES: | 1212 | :properties: |
| 1034 | :ALT_TITLE: Headings' font | 1213 | :alt_title: UI typeface |
| 1035 | :DESCRIPTION: Toggle proportionately spaced fonts in headings | 1214 | :description: Toggle the use of variable-pitch across the User Interface |
| 1036 | :CUSTOM_ID: h:97caca76-fa13-456c-aef1-a2aa165ea274 | 1215 | :custom_id: h:16cf666c-5e65-424c-a855-7ea8a4a1fcac |
| 1037 | :END: | 1216 | :end: |
| 1217 | #+vindex: modus-themes-variable-pitch-ui | ||
| 1218 | |||
| 1219 | Symbol: ~modus-themes-variable-pitch-ui~ | ||
| 1220 | |||
| 1221 | Possible values: | ||
| 1222 | |||
| 1223 | 1. =nil= (default) | ||
| 1224 | 2. =t= | ||
| 1225 | |||
| 1226 | This option concerns User Interface elements that are under the direct | ||
| 1227 | control of Emacs. In particular: the mode line, header line, tab bar, | ||
| 1228 | and tab line. | ||
| 1229 | |||
| 1230 | The default is to use the same font as the rest of Emacs, which usually | ||
| 1231 | is a monospaced family. | ||
| 1038 | 1232 | ||
| 1039 | Symbol names: | 1233 | With a non-nil value (=t=) apply a proportionately spaced typeface. This |
| 1234 | is done by assigning the ~variable-pitch~ face to the relevant items. | ||
| 1040 | 1235 | ||
| 1041 | + =modus-operandi-theme-variable-pitch-headings= | 1236 | [[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]]. |
| 1042 | + =modus-vivendi-theme-variable-pitch-headings= | 1237 | |
| 1238 | ** Option for variable-pitch font in headings | ||
| 1239 | :properties: | ||
| 1240 | :alt_title: Headings' typeface | ||
| 1241 | :description: Toggle the use of variable-pitch in headings | ||
| 1242 | :custom_id: h:97caca76-fa13-456c-aef1-a2aa165ea274 | ||
| 1243 | :end: | ||
| 1244 | #+vindex: modus-themes-variable-pitch-headings | ||
| 1245 | |||
| 1246 | Symbol: ~modus-themes-variable-pitch-headings~ | ||
| 1043 | 1247 | ||
| 1044 | Possible values: | 1248 | Possible values: |
| 1045 | 1249 | ||
| 1046 | 1. =nil= (default) | 1250 | 1. =nil= (default) |
| 1047 | 2. =t= | 1251 | 2. =t= |
| 1048 | 1252 | ||
| 1049 | Choose to apply a proportionately spaced, else "variable-pitch", | 1253 | The default is to use the main font family, which typically is |
| 1050 | typeface to headings (such as in Org mode). The default is to use the | 1254 | monospaced. |
| 1051 | main font family. | ||
| 1052 | 1255 | ||
| 1053 | [[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org (and others)]]. | 1256 | With a non-nil value (=t=) apply a proportionately spaced typeface, else |
| 1257 | "variable-pitch", to headings (such as in Org mode). | ||
| 1258 | |||
| 1259 | [[#h:defcf4fc-8fa8-4c29-b12e-7119582cc929][Font configurations for Org and others]]. | ||
| 1054 | 1260 | ||
| 1055 | * Advanced customization (do-it-yourself) | 1261 | * Advanced customization (do-it-yourself) |
| 1056 | :PROPERTIES: | 1262 | :properties: |
| 1057 | :INDEX: cp | 1263 | :custom_id: h:f4651d55-8c07-46aa-b52b-bed1e53463bb |
| 1058 | :CUSTOM_ID: h:f4651d55-8c07-46aa-b52b-bed1e53463bb | 1264 | :end: |
| 1059 | :END: | ||
| 1060 | 1265 | ||
| 1061 | Unlike the predefined customization options which follow a | 1266 | Unlike the predefined customization options which follow a clear pattern |
| 1062 | straightforward pattern of allowing the user to quickly specify their | 1267 | of allowing the user to quickly specify their preference, the themes |
| 1063 | preference, the themes also provide a more flexible, albeit difficult, | 1268 | also provide a more flexible, albeit difficult, mechanism to control |
| 1064 | mechanism to control things with precision (see [[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization Options]]). | 1269 | things with precision ([[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f][Customization Options]]). |
| 1065 | 1270 | ||
| 1066 | This section is of interest only to users who are prepared to maintain | 1271 | This section is of interest only to users who are prepared to maintain |
| 1067 | their own local tweaks and who are willing to deal with any possible | 1272 | their own local tweaks and who are willing to deal with any possible |
| 1068 | incompatibilities between versioned releases of the themes. As such, | 1273 | incompatibilities between versioned releases of the themes. As such, |
| 1069 | they are labelled as "do-it-yourself" or "DIY". | 1274 | they are labelled as "do-it-yourself" or "DIY". |
| 1070 | 1275 | ||
| 1071 | ** Full access to the themes' palette | 1276 | ** Per-theme customization settings (DIY) |
| 1072 | :PROPERTIES: | 1277 | :properties: |
| 1073 | :ALT_TITLE: Tweak colors (DIY) | 1278 | :custom_id: h:a897b302-8e10-4a26-beab-3caaee1e1193 |
| 1074 | :DESCRIPTION: Declare your own palette overrides | 1279 | :end: |
| 1075 | :CUSTOM_ID: h:1487c631-f4fe-490d-8d58-d72ffa3bd474 | 1280 | |
| 1076 | :END: | 1281 | If you prefer to maintain different customization options between the |
| 1282 | two themes, it is best you write your own functions that first set those | ||
| 1283 | options and then load the relevant theme. The following code does | ||
| 1284 | exactly that by simply differentiating the two themes on the choice of | ||
| 1285 | bold constructs in code syntax (enabled for one, disabled for the | ||
| 1286 | other). | ||
| 1287 | |||
| 1288 | #+begin_src emacs-lisp | ||
| 1289 | (defun my-demo-modus-operandi () | ||
| 1290 | (interactive) | ||
| 1291 | (setq modus-themes-bold-constructs t) ; ENABLE bold | ||
| 1292 | (modus-themes-load-operandi)) | ||
| 1293 | |||
| 1294 | (defun my-demo-modus-vivendi () | ||
| 1295 | (interactive) | ||
| 1296 | (setq modus-themes-bold-constructs nil) ; DISABLE bold | ||
| 1297 | (modus-themes-load-vivendi)) | ||
| 1298 | |||
| 1299 | (defun my-demo-modus-themes-toggle () | ||
| 1300 | (if (eq (car custom-enabled-themes) 'modus-operandi) | ||
| 1301 | (my-demo-modus-vivendi) | ||
| 1302 | (my-demo-modus-operandi))) | ||
| 1303 | #+end_src | ||
| 1304 | |||
| 1305 | Then assign ~my-demo-modus-themes-toggle~ to a key instead of the | ||
| 1306 | equivalent the themes provide. | ||
| 1307 | |||
| 1308 | For a more elaborate design, it is better to inspect the source code of | ||
| 1309 | ~modus-themes-toggle~ and relevant functions. | ||
| 1310 | |||
| 1311 | ** Case-by-case face specs using the themes' palette (DIY) | ||
| 1312 | :properties: | ||
| 1313 | :custom_id: h:1487c631-f4fe-490d-8d58-d72ffa3bd474 | ||
| 1314 | :end: | ||
| 1315 | #+findex: modus-themes-color | ||
| 1316 | #+findex: modus-themes-color-alts | ||
| 1317 | #+cindex: Extracting individual colors | ||
| 1318 | |||
| 1319 | This section is about tweaking individual faces. If you plan to do | ||
| 1320 | things at scale, consult the next section: [[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Set multiple faces]]. | ||
| 1321 | |||
| 1322 | We already covered in previous sections how to toggle between the themes | ||
| 1323 | and how to configure options prior to loading. We also explained that | ||
| 1324 | some of the functions made available to users will fire up a hook that | ||
| 1325 | can be used to pass tweaks in the post-theme-load phase. | ||
| 1326 | |||
| 1327 | Now assume you wish to change a single face, say, the ~cursor~. And you | ||
| 1328 | would like to get the standard "blue" color value of the active Modus | ||
| 1329 | theme, whether it is Modus Operandi or Modus Vivendi. To do that, you | ||
| 1330 | can use the ~modus-themes-color~ function. It accepts a symbol that is | ||
| 1331 | associated with a color in ~modus-themes-operandi-colors~ and | ||
| 1332 | ~modus-themes-vivendi-colors~. Like this: | ||
| 1333 | |||
| 1334 | #+begin_src emacs-lisp | ||
| 1335 | (modus-themes-color 'blue) | ||
| 1336 | #+end_src | ||
| 1337 | |||
| 1338 | The function always extracts the color value of the active Modus theme. | ||
| 1339 | |||
| 1340 | #+begin_src emacs-lisp | ||
| 1341 | (progn | ||
| 1342 | (load-theme 'modus-operandi t) | ||
| 1343 | (modus-themes-color 'blue)) ; "#0031a9" for `modus-operandi' | ||
| 1344 | |||
| 1345 | (progn | ||
| 1346 | (load-theme 'modus-vivendi t) | ||
| 1347 | (modus-themes-color 'blue)) ; "#2fafff" for `modus-vivendi' | ||
| 1348 | #+end_src | ||
| 1349 | |||
| 1350 | Do {{{kbd(C-h v)}}} on the aforementioned variables to check all the available | ||
| 1351 | symbols that can be passed to this function. | ||
| 1352 | |||
| 1353 | With that granted, let us expand the example to actually change the | ||
| 1354 | ~cursor~ face's background property. We employ the built-in function of | ||
| 1355 | ~set-face-attribute~: | ||
| 1356 | |||
| 1357 | #+begin_src emacs-lisp | ||
| 1358 | (set-face-attribute 'cursor nil :background (modus-themes-color 'blue)) | ||
| 1359 | #+end_src | ||
| 1360 | |||
| 1361 | If you evaluate this form, your cursor will become blue. But if you | ||
| 1362 | change themes, such as with ~modus-themes-toggle~, your edits will be | ||
| 1363 | lost, because the newly loaded theme will override the =:background= | ||
| 1364 | attribute you had assigned to that face. | ||
| 1077 | 1365 | ||
| 1078 | The variables are: | 1366 | For such changes to persist, we need to make them after loading the |
| 1367 | theme. So we rely on ~modus-themes-after-load-theme-hook~, which gets | ||
| 1368 | called from ~modus-themes-load-operandi~, ~modus-themes-load-vivendi~, as | ||
| 1369 | well as the command ~modus-themes-toggle~. Here is a sample function that | ||
| 1370 | tweaks two faces and then gets added to the hook: | ||
| 1079 | 1371 | ||
| 1080 | + =modus-operandi-theme-override-colors-alist= | 1372 | #+begin_src emacs-lisp |
| 1081 | + =modus-vivendi-theme-override-colors-alist= | 1373 | (defun my-modus-themes-custom-faces () |
| 1374 | (set-face-attribute 'cursor nil :background (modus-themes-color 'blue)) | ||
| 1375 | (set-face-attribute 'font-lock-type-face nil :foreground (modus-themes-color 'magenta-alt))) | ||
| 1376 | |||
| 1377 | (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces) | ||
| 1378 | #+end_src | ||
| 1082 | 1379 | ||
| 1083 | Users can specify an association list that maps the names of color | 1380 | [[#h:86f6906b-f090-46cc-9816-1fe8aeb38776][A theme-agnostic hook for theme loading]]. |
| 1084 | variables to hexadecimal RGB values (in the form of =#RRGGBB=). This | ||
| 1085 | means that it is possible to override the entire palette or subsets | ||
| 1086 | thereof (see the source code for the actual names and values). | ||
| 1087 | 1381 | ||
| 1088 | Example: | 1382 | Using this principle, it is possible to override the styles of faces |
| 1383 | without having to find color values for each case. | ||
| 1384 | |||
| 1385 | Another application is to control the precise weight for bold | ||
| 1386 | constructs. This is particularly useful if your typeface has several | ||
| 1387 | variants such as "heavy", "extrabold", "semibold". All you have to do | ||
| 1388 | is edit the ~bold~ face. For example: | ||
| 1089 | 1389 | ||
| 1090 | #+begin_src emacs-lisp | 1390 | #+begin_src emacs-lisp |
| 1091 | ;; Redefine the values of those three variables for the given theme | 1391 | (set-face-attribute 'bold nil :weight 'semibold) |
| 1092 | (setq modus-vivendi-theme-override-colors-alist | ||
| 1093 | '(("magenta" . "#ffaabb") | ||
| 1094 | ("magenta-alt" . "#ee88ff") | ||
| 1095 | ("magenta-alt-other" . "#bbaaff"))) | ||
| 1096 | #+end_src | 1392 | #+end_src |
| 1097 | 1393 | ||
| 1098 | If you want to be creative, you can define a minor mode that refashions | 1394 | Remember to use the custom function and hook combo we demonstrated |
| 1099 | the themes on demand. The following is a minor mode that gets activated | 1395 | above. Because the themes do not hard-wire a specific weight, this |
| 1100 | on demand. We combine it with the function to switch between Modus | 1396 | simple form is enough to change the weight of all bold constructs |
| 1101 | Operandi and Modus Vivendi (see [[#h:2a0895a6-3281-4e55-8aa1-8a737555821e][Toggle between the themes on demand]] for | 1397 | throughout the interface. |
| 1102 | a basic command, and/or [[*Configure options prior to loading][Configure options prior to loading]] for a more | 1398 | |
| 1103 | comprehensive setup). | 1399 | Finally, there are cases where you want to tweak colors though wish to |
| 1400 | apply different ones to each theme, say, a blue hue for Modus Operandi | ||
| 1401 | and a shade of red for Modus Vivendi. To this end, we provide | ||
| 1402 | ~modus-themes-color-alts~ as a convenience function to save you from the | ||
| 1403 | trouble of writing separate wrappers for each theme. It still returns a | ||
| 1404 | single value by querying either of ~modus-themes-operandi-colors~ and | ||
| 1405 | ~modus-themes-vivendi-colors~, only here you pass the two keys you want, | ||
| 1406 | first for ~modus-operandi~ then ~modus-vivendi~. | ||
| 1407 | |||
| 1408 | Take the previous example with the ~cursor~ face: | ||
| 1104 | 1409 | ||
| 1105 | #+begin_src emacs-lisp | 1410 | #+begin_src emacs-lisp |
| 1106 | (define-minor-mode modus-themes-alt-mode | 1411 | ;; Blue for `modus-operandi' and red for `modus-vivendi' |
| 1107 | "Override Modus themes' palette variables with custom values. | 1412 | (set-face-attribute 'cursor nil :background (modus-themes-color-alts 'blue 'red)) |
| 1413 | #+end_src | ||
| 1108 | 1414 | ||
| 1109 | This is intended as a proof-of-concept. It is, nonetheless, a | 1415 | ** Face specs at scale using the themes' palette (DIY) |
| 1110 | perfectly accessible alternative, conforming with the design | 1416 | :properties: |
| 1111 | principles of the Modus themes. It still is not as good as the | 1417 | :custom_id: h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae |
| 1112 | default colors." | 1418 | :end: |
| 1419 | #+findex: modus-themes-with-colors | ||
| 1420 | #+cindex: Extracting colors en masse | ||
| 1421 | |||
| 1422 | The examples here are for large scale operations. For simple, one-off | ||
| 1423 | tweaks, you may prefer the approach documented in the previous section | ||
| 1424 | ([[#h:1487c631-f4fe-490d-8d58-d72ffa3bd474][Case-by-case face specs using the themes' palette]]). | ||
| 1425 | |||
| 1426 | The ~modus-themes-with-colors~ macro lets you retrieve multiple color | ||
| 1427 | values by employing the backquote/backtick and comma notation. The | ||
| 1428 | values are stored in the alists ~modus-themes-operandi-colors~ and | ||
| 1429 | ~modus-themes-vivendi-colors~, while the macro always queries that of the | ||
| 1430 | active Modus theme. | ||
| 1431 | |||
| 1432 | Here is an abstract example that just returns a list of color values | ||
| 1433 | while ~modus-operandi~ is enabled: | ||
| 1434 | |||
| 1435 | #+begin_src emacs-lisp | ||
| 1436 | (modus-themes-with-colors | ||
| 1437 | (list fg-main | ||
| 1438 | blue-faint | ||
| 1439 | magenta | ||
| 1440 | magenta-alt-other | ||
| 1441 | cyan-alt-other | ||
| 1442 | fg-special-cold | ||
| 1443 | blue-alt | ||
| 1444 | magenta-faint | ||
| 1445 | cyan | ||
| 1446 | fg-main | ||
| 1447 | green-faint | ||
| 1448 | red-alt-faint | ||
| 1449 | blue-alt-faint | ||
| 1450 | fg-special-warm | ||
| 1451 | cyan-alt | ||
| 1452 | blue)) | ||
| 1453 | ;; => | ||
| 1454 | ;; ("#000000" "#002f88" "#721045" "#5317ac" | ||
| 1455 | ;; "#005a5f" "#093060" "#2544bb" "#752f50" | ||
| 1456 | ;; "#00538b" "#000000" "#104410" "#702f00" | ||
| 1457 | ;; "#003f78" "#5d3026" "#30517f" "#0031a9") | ||
| 1458 | #+end_src | ||
| 1459 | |||
| 1460 | Getting a list of colors may have its applications, though what you are | ||
| 1461 | most likely interested in is how to use those variables to configure | ||
| 1462 | several faces at once. To do so we can rely on the built-in | ||
| 1463 | ~custom-set-faces~ function, which sets face specifications for the | ||
| 1464 | special =user= theme. That "theme" gets applied on top of regular themes | ||
| 1465 | like ~modus-operandi~ and ~modus-vivendi~. | ||
| 1466 | |||
| 1467 | This is how it works: | ||
| 1468 | |||
| 1469 | #+begin_src emacs-lisp | ||
| 1470 | (modus-themes-with-colors | ||
| 1471 | (custom-set-faces | ||
| 1472 | `(cursor ((,class :background ,blue))) | ||
| 1473 | `(mode-line ((,class :background ,yellow-nuanced-bg | ||
| 1474 | :foreground ,yellow-nuanced-fg))) | ||
| 1475 | `(mode-line-inactive ((,class :background ,blue-nuanced-bg | ||
| 1476 | :foreground ,blue-nuanced-fg))))) | ||
| 1477 | #+end_src | ||
| 1478 | |||
| 1479 | The above snippet will immediately refashion the faces it names once it | ||
| 1480 | is evaluated. However, if you switch between the Modus themes, say, | ||
| 1481 | from ~modus-operandi~ to ~modus-vivendi~, the colors will not get updated to | ||
| 1482 | match those of the new theme. To make things work across the themes, we | ||
| 1483 | need to employ the same technique we discussed in the previous section, | ||
| 1484 | namely, to pass our changes at the post-theme-load phase via a hook. | ||
| 1485 | |||
| 1486 | The themes provide the ~modus-themes-after-load-theme-hook~, which gets | ||
| 1487 | called from ~modus-themes-load-operandi~, ~modus-themes-load-vivendi~, as | ||
| 1488 | well as the command ~modus-themes-toggle~. With this knowledge, you can | ||
| 1489 | wrap the macro in a function and then assign that function to the hook. | ||
| 1490 | Thus: | ||
| 1491 | |||
| 1492 | #+begin_src emacs-lisp | ||
| 1493 | (defun my-modus-themes-custom-faces () | ||
| 1494 | (modus-themes-with-colors | ||
| 1495 | (custom-set-faces | ||
| 1496 | `(cursor ((,class :background ,blue))) | ||
| 1497 | `(mode-line ((,class :background ,yellow-nuanced-bg | ||
| 1498 | :foreground ,yellow-nuanced-fg))) | ||
| 1499 | `(mode-line-inactive ((,class :background ,blue-nuanced-bg | ||
| 1500 | :foreground ,blue-nuanced-fg)))))) | ||
| 1501 | |||
| 1502 | (add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces) | ||
| 1503 | #+end_src | ||
| 1504 | |||
| 1505 | [[#h:86f6906b-f090-46cc-9816-1fe8aeb38776][A theme-agnostic hook for theme loading]]. | ||
| 1506 | |||
| 1507 | To discover the faces defined by all loaded libraries, you may do | ||
| 1508 | {{{kbd(M-x list-faces-display)}}}. Be warned that when you =:inherit= a face | ||
| 1509 | you are introducing an implicit dependency, so try to avoid doing so for | ||
| 1510 | libraries other than the built-in {{{file(faces.el)}}} (or at least understand | ||
| 1511 | that things may break if you inherit from a yet-to-be-loaded face). | ||
| 1512 | |||
| 1513 | Also bear in mind that these examples are meant to work with the Modus | ||
| 1514 | themes. If you are cycling between multiple themes you may encounter | ||
| 1515 | unforeseen issues, such as the colors of the Modus themes being applied | ||
| 1516 | to a non-Modus item. | ||
| 1517 | |||
| 1518 | Finally, note that you can still use other functions where those make | ||
| 1519 | sense. For example, the ~modus-themes-color-alts~ that was discussed in | ||
| 1520 | the previous section. Adapt the above example like this: | ||
| 1521 | |||
| 1522 | #+begin_src emacs-lisp | ||
| 1523 | ... | ||
| 1524 | (modus-themes-with-colors | ||
| 1525 | (custom-set-faces | ||
| 1526 | `(cursor ((,class :background ,(modus-themes-color-alts 'blue 'green)))) | ||
| 1527 | ...)) | ||
| 1528 | #+end_src | ||
| 1529 | |||
| 1530 | ** Override colors (DIY) | ||
| 1531 | :properties: | ||
| 1532 | :custom_id: h:307d95dd-8dbd-4ece-a543-10ae86f155a6 | ||
| 1533 | :end: | ||
| 1534 | #+vindex: modus-themes-operandi-color-overrides | ||
| 1535 | #+vindex: modus-themes-vivendi-color-overrides | ||
| 1536 | #+cindex: Change a theme's colors | ||
| 1537 | |||
| 1538 | The themes provide a mechanism for overriding their color values. This | ||
| 1539 | is controlled by the variables ~modus-themes-operandi-color-overrides~ and | ||
| 1540 | ~modus-themes-vivendi-color-overrides~, which are alists that should | ||
| 1541 | mirror a subset of the associations in ~modus-themes-operandi-colors~ and | ||
| 1542 | ~modus-themes-vivendi-colors~ respectively. As with all customisations, | ||
| 1543 | overriding must be done before loading the affected theme. | ||
| 1544 | |||
| 1545 | Let us approach the present topic one step at a time. Here is a | ||
| 1546 | simplified excerpt of the default palette for Modus Operandi with some | ||
| 1547 | basic background values that apply to buffers and the mode line | ||
| 1548 | (remember to inspect the actual value to find out all the associations | ||
| 1549 | that can be overridden): | ||
| 1550 | |||
| 1551 | #+begin_src emacs-lisp | ||
| 1552 | (defconst modus-themes-colors-operandi | ||
| 1553 | '((bg-main . "#ffffff") | ||
| 1554 | (bg-dim . "#f8f8f8") | ||
| 1555 | (bg-alt . "#f0f0f0") | ||
| 1556 | (bg-active . "#d7d7d7") | ||
| 1557 | (bg-inactive . "#efefef"))) | ||
| 1558 | #+end_src | ||
| 1559 | |||
| 1560 | As one can tell, we bind a key to a hexadecimal RGB color value. Now | ||
| 1561 | say we wish to override those specific values and have our changes | ||
| 1562 | propagate to all faces that use those keys. We could write something | ||
| 1563 | like this, which adds a subtle ochre tint: | ||
| 1564 | |||
| 1565 | #+begin_src emacs-lisp | ||
| 1566 | (setq modus-themes-operandi-color-overrides | ||
| 1567 | '((bg-main . "#fefcf4") | ||
| 1568 | (bg-dim . "#faf6ef") | ||
| 1569 | (bg-alt . "#f7efe5") | ||
| 1570 | (bg-active . "#e8dfd1") | ||
| 1571 | (bg-inactive . "#f6ece5"))) | ||
| 1572 | #+end_src | ||
| 1573 | |||
| 1574 | Once this is evaluated, any subsequent loading of ~modus-operandi~ will | ||
| 1575 | use those values instead of the defaults. No further intervention is | ||
| 1576 | required. | ||
| 1577 | |||
| 1578 | To reset the changes, we apply this and reload the theme: | ||
| 1579 | |||
| 1580 | #+begin_src emacs-lisp | ||
| 1581 | (setq modus-themes-operandi-color-overrides nil) | ||
| 1582 | #+end_src | ||
| 1583 | |||
| 1584 | Users who wish to leverage such a mechanism can opt to implement it | ||
| 1585 | on-demand by means of a global minor mode. The following snippet covers | ||
| 1586 | both themes and expands to some more assosiations in the palette: | ||
| 1587 | |||
| 1588 | #+begin_src emacs-lisp | ||
| 1589 | (define-minor-mode my-modus-themes-tinted | ||
| 1590 | "Tweak some Modus themes colors." | ||
| 1113 | :init-value nil | 1591 | :init-value nil |
| 1114 | :global t | 1592 | :global t |
| 1115 | (if modus-themes-alt-mode | 1593 | (if my-modus-themes-tinted |
| 1116 | (setq modus-operandi-theme-override-colors-alist | 1594 | (setq modus-themes-operandi-color-overrides |
| 1117 | '(("bg-main" . "#fefcf4") | 1595 | '((bg-main . "#fefcf4") |
| 1118 | ("bg-dim" . "#faf6ef") | 1596 | (bg-dim . "#faf6ef") |
| 1119 | ("bg-alt" . "#f7efe5") | 1597 | (bg-alt . "#f7efe5") |
| 1120 | ("bg-hl-line" . "#f4f0e3") | 1598 | (bg-hl-line . "#f4f0e3") |
| 1121 | ("bg-active" . "#e8dfd1") | 1599 | (bg-active . "#e8dfd1") |
| 1122 | ("bg-inactive" . "#f6ece5") | 1600 | (bg-inactive . "#f6ece5") |
| 1123 | ("bg-region" . "#c6bab1") | 1601 | (bg-region . "#c6bab1") |
| 1124 | ("bg-header" . "#ede3e0") | 1602 | (bg-header . "#ede3e0") |
| 1125 | ("bg-tab-bar" . "#dcd3d3") | 1603 | (bg-tab-bar . "#dcd3d3") |
| 1126 | ("bg-tab-active" . "#fdf6eb") | 1604 | (bg-tab-active . "#fdf6eb") |
| 1127 | ("bg-tab-inactive" . "#c8bab8") | 1605 | (bg-tab-inactive . "#c8bab8") |
| 1128 | ("fg-unfocused" . "#55556f")) | 1606 | (fg-unfocused . "#55556f")) |
| 1129 | modus-vivendi-theme-override-colors-alist | 1607 | modus-themes-vivendi-color-overrides |
| 1130 | '(("bg-main" . "#100b17") | 1608 | '((bg-main . "#100b17") |
| 1131 | ("bg-dim" . "#161129") | 1609 | (bg-dim . "#161129") |
| 1132 | ("bg-alt" . "#181732") | 1610 | (bg-alt . "#181732") |
| 1133 | ("bg-hl-line" . "#191628") | 1611 | (bg-hl-line . "#191628") |
| 1134 | ("bg-active" . "#282e46") | 1612 | (bg-active . "#282e46") |
| 1135 | ("bg-inactive" . "#1a1e39") | 1613 | (bg-inactive . "#1a1e39") |
| 1136 | ("bg-region" . "#393a53") | 1614 | (bg-region . "#393a53") |
| 1137 | ("bg-header" . "#202037") | 1615 | (bg-header . "#202037") |
| 1138 | ("bg-tab-bar" . "#262b41") | 1616 | (bg-tab-bar . "#262b41") |
| 1139 | ("bg-tab-active" . "#120f18") | 1617 | (bg-tab-active . "#120f18") |
| 1140 | ("bg-tab-inactive" . "#3a3a5a") | 1618 | (bg-tab-inactive . "#3a3a5a") |
| 1141 | ("fg-unfocused" . "#9a9aab"))) | 1619 | (fg-unfocused . "#9a9aab"))) |
| 1142 | (setq modus-operandi-theme-override-colors-alist nil | 1620 | (setq modus-themes-operandi-color-overrides nil |
| 1143 | modus-vivendi-theme-override-colors-alist nil))) | 1621 | modus-themes-vivendi-color-overrides nil))) |
| 1144 | |||
| 1145 | (defun modus-themes-toggle (&optional arg) | ||
| 1146 | "Toggle between `modus-operandi' and `modus-vivendi' themes. | ||
| 1147 | |||
| 1148 | With optional \\[universal-argument] prefix, enable | ||
| 1149 | `modus-themes-alt-mode' for the loaded theme." | ||
| 1150 | (interactive "P") | ||
| 1151 | (if arg | ||
| 1152 | (modus-themes-alt-mode 1) | ||
| 1153 | (modus-themes-alt-mode -1)) | ||
| 1154 | (if (eq (car custom-enabled-themes) 'modus-operandi) | ||
| 1155 | (progn | ||
| 1156 | (disable-theme 'modus-operandi) | ||
| 1157 | (load-theme 'modus-vivendi t)) | ||
| 1158 | (disable-theme 'modus-vivendi) | ||
| 1159 | (load-theme 'modus-operandi t))) | ||
| 1160 | #+end_src | 1622 | #+end_src |
| 1161 | 1623 | ||
| 1162 | ** Font configurations for Org (and others) | 1624 | With this in place, one can invoke {{{kbd(M-x my-modus-themes-tinted)}}} and |
| 1163 | :PROPERTIES: | 1625 | then load the Modus theme of their choice. The new palette subset will |
| 1164 | :ALT_TITLE: Font configs (DIY) | 1626 | come into effect: subtle ochre tints for Modus Operandi and night sky |
| 1165 | :DESCRIPTION: Optimise for mixed typeface buffers | 1627 | shades for Modus Vivendi. Switching between the two themes, such as |
| 1166 | :CUSTOM_ID: h:defcf4fc-8fa8-4c29-b12e-7119582cc929 | 1628 | with {{{kbd(M-x modus-themes-toggle)}}} will also use the overrides. |
| 1167 | :END: | 1629 | |
| 1630 | Given that this is a user-level customisation, one is free to implement | ||
| 1631 | whatever color values they desire, even if the possible combinations | ||
| 1632 | fall below the minimum 7:1 contrast ratio that governs the design of the | ||
| 1633 | themes (the WCAG AAA legibility standard). Preferences aside, it is | ||
| 1634 | advised to inspect the source code of ~modus-themes-operandi-colors~ and | ||
| 1635 | ~modus-themes-vivendi-colors~ to read the inline commentary: it explains | ||
| 1636 | what the intended use of each palette subset is. | ||
| 1168 | 1637 | ||
| 1169 | The themes are designed to cope well with mixed font settings ([[#h:115e6c23-ee35-4a16-8cef-e2fcbb08e28b][Option | 1638 | Furthermore, users may benefit from the ~modus-themes-contrast~ function |
| 1170 | for no font mixing]]). Currently this applies to =org-mode= and | 1639 | that we provide: [[#h:02e25930-e71a-493d-828a-8907fc80f874][test color combinations]]. It measures the contrast |
| 1171 | =markdown-mode=. | 1640 | ratio between two color values, so it can help in overriding the palette |
| 1641 | (or a subset thereof) without making the end result inaccessible. | ||
| 1642 | |||
| 1643 | ** Font configurations for Org and others (DIY) | ||
| 1644 | :properties: | ||
| 1645 | :custom_id: h:defcf4fc-8fa8-4c29-b12e-7119582cc929 | ||
| 1646 | :end: | ||
| 1647 | #+cindex: Font configurations | ||
| 1648 | |||
| 1649 | The themes are designed to cope well with mixed font configurations. | ||
| 1650 | |||
| 1651 | [[#h:115e6c23-ee35-4a16-8cef-e2fcbb08e28b][Option for no font mixing]]. | ||
| 1652 | |||
| 1653 | This mostly concerns ~org-mode~ and ~markdown-mode~, though expect to find | ||
| 1654 | it elsewhere like in ~Info-mode~. | ||
| 1172 | 1655 | ||
| 1173 | In practice it means that the user can safely opt for a more | 1656 | In practice it means that the user can safely opt for a more |
| 1174 | prose-friendly proportionately spaced typeface as their default, while | 1657 | prose-friendly proportionately spaced typeface as their default, while |
| 1175 | letting spacing-sensitive elements like tables and inline code always | 1658 | letting spacing-sensitive elements like tables and inline code always |
| 1176 | use a monospaced font, by inheriting from the =fixed-pitch= face. | 1659 | use a monospaced font, by inheriting from the ~fixed-pitch~ face. |
| 1177 | 1660 | ||
| 1178 | Users can try the built-in =M-x variable-pitch-mode= to see the effect in | 1661 | Users can try the built-in {{{kbd(M-x variable-pitch-mode)}}} to see the |
| 1179 | action. | 1662 | effect in action. |
| 1180 | 1663 | ||
| 1181 | To make everything use your desired font families, you need to configure | 1664 | To make everything use your desired font families, you need to configure |
| 1182 | the =variable-pitch= (proportional spacing) and =fixed-pitch= (monospaced) | 1665 | the ~variable-pitch~ (proportional spacing) and ~fixed-pitch~ (monospaced) |
| 1183 | faces respectively. It may also be convenient to set your main typeface | 1666 | faces respectively. It may also be convenient to set your main typeface |
| 1184 | by configuring the =default= face the same way. | 1667 | by configuring the ~default~ face the same way. |
| 1185 | 1668 | ||
| 1186 | Put something like this in your initialization file (make sure to read | 1669 | Put something like this in your initialization file (also consider |
| 1187 | the documentation of =set-face-attribute=, with =M-x describe-function=): | 1670 | reading the doc string of ~set-face-attribute~): |
| 1188 | 1671 | ||
| 1189 | #+begin_src emacs-lisp | 1672 | #+begin_src emacs-lisp |
| 1190 | ;; Main typeface | 1673 | ;; Main typeface |
| @@ -1199,50 +1682,35 @@ the documentation of =set-face-attribute=, with =M-x describe-function=): | |||
| 1199 | 1682 | ||
| 1200 | Note the differences in the =:height= property. The =default= face must | 1683 | Note the differences in the =:height= property. The =default= face must |
| 1201 | specify an absolute value, which is the point size × 10. So if you want | 1684 | specify an absolute value, which is the point size × 10. So if you want |
| 1202 | to use a font at point size =11=, you set the height at =110=.[fn:: =:height= | 1685 | to use a font at point size =11=, you set the height to =110=.[fn:: =:height= |
| 1203 | values do not need to be rounded to multiples of ten: the likes of =115= | 1686 | values do not need to be rounded to multiples of ten: the likes of =115= |
| 1204 | are perfectly valid—some typefaces will change to account for those | 1687 | are perfectly valid—some typefaces will change to account for those |
| 1205 | finer increments.] Whereas every other face must have a value that is | 1688 | finer increments.] Whereas every other face must have a value that is |
| 1206 | relative to the default, represented as a floating point (if you use an | 1689 | relative to the default, represented as a floating point (if you use an |
| 1207 | integer, say, =15= then that means an absolute height). This is of | 1690 | integer, then that means an absolute height). This is of paramount |
| 1208 | paramount importance: it ensures that all fonts can scale gracefully | 1691 | importance: it ensures that all fonts can scale gracefully when using |
| 1209 | when using something like the =text-scale-adjust= command which only | 1692 | something like the ~text-scale-adjust~ command which only operates on the |
| 1210 | operates on the base font size (i.e. the =default= face's absolute | 1693 | base font size (i.e. the ~default~ face's absolute height). |
| 1211 | height). | 1694 | |
| 1212 | 1695 | ** Custom Org user faces (DIY) | |
| 1213 | An alternative syntax for the =default= face, is to pass all typeface | 1696 | :properties: |
| 1214 | parameters directly to a =font= property.[fn:: Has the benefit of | 1697 | :custom_id: h:89f0678d-c5c3-4a57-a526-668b2bb2d7ad |
| 1215 | accepting =fontconfig= parameters (GNU/Linux), such as ="DejaVu Sans | 1698 | :end: |
| 1216 | Mono-11:hintstyle=hintslight:autohint=false"=. | 1699 | #+cindex: Org extra faces |
| 1217 | https://www.freedesktop.org/software/fontconfig/fontconfig-user.html] | 1700 | |
| 1218 | Note that here we use a standard point size: | 1701 | Users of ~org-mode~ have the option to configure various keywords and |
| 1219 | |||
| 1220 | #+begin_src emacs-lisp | ||
| 1221 | (set-face-attribute 'default nil :font "DejaVu Sans Mono-11") | ||
| 1222 | #+end_src | ||
| 1223 | |||
| 1224 | Again, remember to only ever specify an absolute height for the =default=. | ||
| 1225 | |||
| 1226 | ** Org user faces (DIY) | ||
| 1227 | :PROPERTIES: | ||
| 1228 | :DESCRIPTION: Extend styles for org-mode keywords and priorities | ||
| 1229 | :CUSTOM_ID: h:89f0678d-c5c3-4a57-a526-668b2bb2d7ad | ||
| 1230 | :END: | ||
| 1231 | |||
| 1232 | Users of =org-mode= have the option to configure various keywords and | ||
| 1233 | priority cookies to better match their workflow. User options are | 1702 | priority cookies to better match their workflow. User options are |
| 1234 | =org-todo-keyword-faces= and =org-priority-faces=. | 1703 | ~org-todo-keyword-faces~ and ~org-priority-faces~. |
| 1235 | 1704 | ||
| 1236 | As those are meant to be custom faces, it would be futile to have the | 1705 | As those are meant to be custom faces, it is futile to have the themes |
| 1237 | themes try to guess what each user would want to use, which keywords to | 1706 | guess what each user wants to use, which keywords to target, and so on. |
| 1238 | target, and so on. Instead, we can provide guidelines on how to | 1707 | Instead, we can provide guidelines on how to customize things to one's |
| 1239 | customize things to one's liking with the intent of retaining the | 1708 | liking with the intent of retaining the overall aesthetic of the themes. |
| 1240 | overall aesthetics of the theme. | ||
| 1241 | 1709 | ||
| 1242 | Please bear in mind that the end result of those is not controlled by | 1710 | Please bear in mind that the end result of those is not controlled by |
| 1243 | the active theme but by how Org maps faces to its constructs. Editing | 1711 | the active Modus theme but by how Org maps faces to its constructs. |
| 1244 | those while =org-mode= is active requires =M-x org-mode-restart= for changes | 1712 | Editing those while ~org-mode~ is active requires re-initialization of the |
| 1245 | to take effect. | 1713 | mode with {{{kbd(M-x org-mode-restart)}}} for changes to take effect. |
| 1246 | 1714 | ||
| 1247 | Let us assume you wish to visually differentiate your keywords. You | 1715 | Let us assume you wish to visually differentiate your keywords. You |
| 1248 | have something like this: | 1716 | have something like this: |
| @@ -1257,7 +1725,7 @@ have something like this: | |||
| 1257 | 1725 | ||
| 1258 | You could then use a variant of the following to inherit from a face | 1726 | You could then use a variant of the following to inherit from a face |
| 1259 | that uses the styles you want and also to preserve the properties | 1727 | that uses the styles you want and also to preserve the properties |
| 1260 | applied by the =org-todo= face: | 1728 | applied by the ~org-todo~ face: |
| 1261 | 1729 | ||
| 1262 | #+begin_src emacs-lisp | 1730 | #+begin_src emacs-lisp |
| 1263 | (setq org-todo-keyword-faces | 1731 | (setq org-todo-keyword-faces |
| @@ -1267,10 +1735,10 @@ applied by the =org-todo= face: | |||
| 1267 | #+end_src | 1735 | #+end_src |
| 1268 | 1736 | ||
| 1269 | This will refashion the keywords you specify, while letting the other | 1737 | This will refashion the keywords you specify, while letting the other |
| 1270 | items in =org-todo-keywords= use their original styles (which are defined | 1738 | items in ~org-todo-keywords~ use their original styles (which are defined |
| 1271 | in the =org-todo= and =org-done= faces). | 1739 | in the ~org-todo~ and ~org-done~ faces). |
| 1272 | 1740 | ||
| 1273 | If you want back the defaults, try specifying just the =org-todo= face: | 1741 | If you want back the defaults, try specifying just the ~org-todo~ face: |
| 1274 | 1742 | ||
| 1275 | #+begin_src emacs-lisp | 1743 | #+begin_src emacs-lisp |
| 1276 | (setq org-todo-keyword-faces | 1744 | (setq org-todo-keyword-faces |
| @@ -1282,7 +1750,7 @@ If you want back the defaults, try specifying just the =org-todo= face: | |||
| 1282 | When you inherit from multiple faces, you need to quote the list as | 1750 | When you inherit from multiple faces, you need to quote the list as |
| 1283 | shown further above. The order is important: the last item is applied | 1751 | shown further above. The order is important: the last item is applied |
| 1284 | over the previous ones. If you do not want to blend multiple faces, you | 1752 | over the previous ones. If you do not want to blend multiple faces, you |
| 1285 | do not need a quoted list. A pattern of =keyword . face= would suffice. | 1753 | do not need a quoted list. A pattern of =keyword . face= will suffice. |
| 1286 | 1754 | ||
| 1287 | Both approaches can be used simultaneously, as illustrated in this | 1755 | Both approaches can be used simultaneously, as illustrated in this |
| 1288 | configuration of the priority cookies: | 1756 | configuration of the priority cookies: |
| @@ -1295,29 +1763,182 @@ configuration of the priority cookies: | |||
| 1295 | #+end_src | 1763 | #+end_src |
| 1296 | 1764 | ||
| 1297 | To find all the faces that are loaded in your current Emacs session, use | 1765 | To find all the faces that are loaded in your current Emacs session, use |
| 1298 | =M-x list-faces-display=. Also try =M-x describe-variable= and then specify | 1766 | {{{kbd(M-x list-faces-display)}}}. Try {{{kbd(M-x describe-variable)}}} as well and |
| 1299 | the name of each of those Org variables demonstrated above. Their | 1767 | then specify the name of each of those Org variables demonstrated above. |
| 1300 | documentation strings will offer you further guidance. | 1768 | Their documentation strings will offer you further guidance. |
| 1769 | |||
| 1770 | Recall that the themes let you retrieve a color from their palette. Do | ||
| 1771 | it if you plan to control face attributes. | ||
| 1772 | |||
| 1773 | [[#h:1487c631-f4fe-490d-8d58-d72ffa3bd474][Custom face specs using the themes' palette]]. | ||
| 1774 | |||
| 1775 | [[#h:02e25930-e71a-493d-828a-8907fc80f874][Check color combinations]]. | ||
| 1776 | |||
| 1777 | ** Measure color contrast (DIY) | ||
| 1778 | :properties: | ||
| 1779 | :custom_id: h:02e25930-e71a-493d-828a-8907fc80f874 | ||
| 1780 | :end: | ||
| 1781 | #+findex: modus-themes-contrast | ||
| 1782 | #+findex: modus-themes-wcag-formula | ||
| 1783 | #+cindex: Color contrast | ||
| 1784 | |||
| 1785 | The themes provide the functions ~modus-themes-wcag-formula~ and | ||
| 1786 | ~modus-themes-contrast~. The former is a direct implementation of the | ||
| 1787 | WCAG formula: <https://www.w3.org/TR/WCAG20-TECHS/G18.html>. It | ||
| 1788 | calculates the relative luminance of a color value that is expressed in | ||
| 1789 | hexadecimal RGB notation. While the latter function is just a | ||
| 1790 | convenient wrapper for comparing the relative luminance between two | ||
| 1791 | colors. | ||
| 1792 | |||
| 1793 | In practice, one needs to work only with ~modus-themes-contrast~. It | ||
| 1794 | accepts two color values and returns their contrast ratio. Values range | ||
| 1795 | from 1 to 21 (lowest to highest). The themes are designed to always be | ||
| 1796 | equal or higher than 7 for each combination of background and foreground | ||
| 1797 | that they use (this is the WCAG AAA standard---the most demanding of its | ||
| 1798 | kind). | ||
| 1799 | |||
| 1800 | A couple of examples (rounded numbers): | ||
| 1301 | 1801 | ||
| 1302 | Furthermore, consider reading the "Notes for aspiring Emacs theme | 1802 | #+begin_src emacs-lisp |
| 1303 | developers", published on 2020-08-28 by me (Protesilaos Stavrou): | 1803 | ;; Pure white with pure green |
| 1304 | https://protesilaos.com/codelog/2020-08-28-notes-emacs-theme-devs/. | 1804 | (modus-themes-contrast "#ffffff" "#00ff00") |
| 1805 | ;; => 1.37 | ||
| 1806 | ;; That is an outright inaccessible combo | ||
| 1807 | |||
| 1808 | ;; Pure black with pure green | ||
| 1809 | (modus-themes-contrast "#000000" "#00ff00") | ||
| 1810 | ;; => 15.3 | ||
| 1811 | ;; That is is a highly accessible combo | ||
| 1812 | #+end_src | ||
| 1813 | |||
| 1814 | It does not matter which color value comes first. The ratio is always | ||
| 1815 | the same. | ||
| 1816 | |||
| 1817 | If one does not wish to read all the decimal points, it is possible to | ||
| 1818 | try something like this: | ||
| 1819 | |||
| 1820 | #+begin_src emacs-lisp | ||
| 1821 | (format "%0.2f" (modus-themes-contrast "#000000" "#00ff00")) | ||
| 1822 | #+end_src | ||
| 1823 | |||
| 1824 | While it is fine to perform such calculations on a case-by-case basis, | ||
| 1825 | it is preferable to implement formulas and tables for more demanding | ||
| 1826 | tasks. Such instruments are provided by ~org-mode~ or ~orgtbl-mode~, both | ||
| 1827 | of which are built into Emacs. Below is such a table that derives the | ||
| 1828 | contrast ratio of all colors in the first column (pure red, green, blue) | ||
| 1829 | relative to the color specified in the first row of the second column | ||
| 1830 | (pure white) and rounds the results: | ||
| 1831 | |||
| 1832 | #+begin_example | ||
| 1833 | | | #ffffff | | ||
| 1834 | |---------+---------| | ||
| 1835 | | #ff0000 | 4.00 | | ||
| 1836 | | #00ff00 | 1.37 | | ||
| 1837 | | #0000ff | 8.59 | | ||
| 1838 | #+tblfm: $2='(modus-themes-contrast $1 @1$2);%0.2f | ||
| 1839 | #+end_example | ||
| 1840 | |||
| 1841 | To measure color contrast one needs to start from a known value. This | ||
| 1842 | typically is the background. The Modus themes define an expanded | ||
| 1843 | palette in large part because certain colors are only meant to be used | ||
| 1844 | in combination with some others. Consult the source code for the | ||
| 1845 | minutia and relevant commentary. | ||
| 1846 | |||
| 1847 | Such knowledge may prove valuable while attempting to override some of | ||
| 1848 | the themes' colors: [[#h:307d95dd-8dbd-4ece-a543-10ae86f155a6][Override colors]]. | ||
| 1849 | |||
| 1850 | ** Load theme depending on time of day | ||
| 1851 | :properties: | ||
| 1852 | :custom_id: h:1d1ef4b4-8600-4a09-993c-6de3af0ddd26 | ||
| 1853 | :end: | ||
| 1854 | |||
| 1855 | While we do provide ~modus-themes-toggle~ to manually switch between the | ||
| 1856 | themes, users may also set up their system to perform such a task | ||
| 1857 | automatically at sunrise and sunset. | ||
| 1858 | |||
| 1859 | This can be accomplished by specifying the coordinates of one's location | ||
| 1860 | using the built-in {{{file(solar.el)}}} and then configuring the =circadian= | ||
| 1861 | package: | ||
| 1862 | |||
| 1863 | #+begin_src emacs-lisp | ||
| 1864 | (use-package solar ; built-in | ||
| 1865 | :config | ||
| 1866 | (setq calendar-latitude 35.17 | ||
| 1867 | calendar-longitude 33.36)) | ||
| 1868 | |||
| 1869 | (use-package circadian ; you need to install this | ||
| 1870 | :ensure | ||
| 1871 | :after solar | ||
| 1872 | (setq circadian-themes '((:sunrise . modus-operandi) | ||
| 1873 | (:sunset . modus-vivendi))) | ||
| 1874 | (circadian-setup)) | ||
| 1875 | #+end_src | ||
| 1876 | |||
| 1877 | ** A theme-agnostic hook for theme loading (DIY) | ||
| 1878 | :properties: | ||
| 1879 | :custom_id: h:86f6906b-f090-46cc-9816-1fe8aeb38776 | ||
| 1880 | :end: | ||
| 1881 | |||
| 1882 | The themes are designed with the intent to be useful to Emacs users of | ||
| 1883 | varying skill levels, from beginners to experts. This means that we try | ||
| 1884 | to make things easier by not expecting anyone reading this document to | ||
| 1885 | be proficient in Emacs Lisp or programming in general. | ||
| 1886 | |||
| 1887 | Such a case is with the use of the ~modus-themes-after-load-theme-hook~, | ||
| 1888 | which runs after ~modus-themes-toggle~, ~modus-themes-load-operandi~, or | ||
| 1889 | ~modus-themes-load-vivendi~ is evaluated. We recommend using that hook | ||
| 1890 | for advanced customizations, because (1) we know for sure that it is | ||
| 1891 | available once the themes are loaded, and (2) anyone consulting this | ||
| 1892 | manual, especially the sections on enabling and loading the themes, will | ||
| 1893 | be in a good position to benefit from that hook. | ||
| 1894 | |||
| 1895 | Advanced users who have a need to switch between the Modus themes and | ||
| 1896 | other items will find that such a hook does not meet their requirements: | ||
| 1897 | it only works with the Modus themes and only with the aforementioned | ||
| 1898 | functions. | ||
| 1899 | |||
| 1900 | A theme-agnostic setup can be configured thus: | ||
| 1901 | |||
| 1902 | #+begin_src emacs-lisp | ||
| 1903 | (defvar after-enable-theme-hook nil | ||
| 1904 | "Normal hook run after enabling a theme.") | ||
| 1905 | |||
| 1906 | (defun run-after-enable-theme-hook (&rest _args) | ||
| 1907 | "Run `after-enable-theme-hook'." | ||
| 1908 | (run-hooks 'after-enable-theme-hook)) | ||
| 1909 | |||
| 1910 | (advice-add 'enable-theme :after #'run-after-enable-theme-hook) | ||
| 1911 | #+end_src | ||
| 1912 | |||
| 1913 | This creates the ~after-enable-theme-hook~ and makes it run after each | ||
| 1914 | call to ~enable-theme~, which means that it will work for all themes and | ||
| 1915 | also has the benefit that it does not depend on functions such as | ||
| 1916 | ~modus-themes-toggle~ and the others mentioned above. ~enable-theme~ is | ||
| 1917 | called internally by ~load-theme~, so the hook works everywhere. | ||
| 1918 | |||
| 1919 | Now this specific piece of Elisp may be simple for experienced users, | ||
| 1920 | but it is not easy to read for newcomers, including the author of the | ||
| 1921 | Modus themes for the first several months of their time as an Emacs | ||
| 1922 | user. Hence our hesitation to recommend it as part of the standard | ||
| 1923 | setup of the Modus themes (it is generally a good idea to understand | ||
| 1924 | what the implications are of advising a function). | ||
| 1305 | 1925 | ||
| 1306 | * Face coverage | 1926 | * Face coverage |
| 1307 | :PROPERTIES: | 1927 | :properties: |
| 1308 | :CUSTOM_ID: h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19 | 1928 | :custom_id: h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19 |
| 1309 | :END: | 1929 | :end: |
| 1310 | 1930 | ||
| 1311 | Modus Operandi and Modus Vivendi try to provide as close to full face | 1931 | The Modus themes try to provide as close to full face coverage as |
| 1312 | coverage as possible. This is necessary to ensure a consistently | 1932 | possible. This is necessary to ensure a consistently accessible reading |
| 1313 | accessible reading experience across all possible interfaces. | 1933 | experience across all available interfaces. |
| 1314 | 1934 | ||
| 1315 | ** Full support for packages or face groups | 1935 | ** Full support for packages or face groups |
| 1316 | :PROPERTIES: | 1936 | :properties: |
| 1317 | :ALT_TITLE: Supported packages | 1937 | :alt_title: Supported packages |
| 1318 | :DESCRIPTION: Full list of covered face groups | 1938 | :description: Full list of covered face groups |
| 1319 | :CUSTOM_ID: h:60ed4275-60d6-49f8-9287-9a64e54bea0e | 1939 | :custom_id: h:60ed4275-60d6-49f8-9287-9a64e54bea0e |
| 1320 | :END: | 1940 | :end: |
| 1941 | #+cindex: Explicitly supported packages | ||
| 1321 | 1942 | ||
| 1322 | This list will always be updated to reflect the current state of the | 1943 | This list will always be updated to reflect the current state of the |
| 1323 | project. The idea is to offer an overview of the known status of all | 1944 | project. The idea is to offer an overview of the known status of all |
| @@ -1337,16 +1958,18 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1337 | + auto-dim-other-buffers | 1958 | + auto-dim-other-buffers |
| 1338 | + avy | 1959 | + avy |
| 1339 | + awesome-tray | 1960 | + awesome-tray |
| 1961 | + bbdb | ||
| 1340 | + binder | 1962 | + binder |
| 1341 | + bm | 1963 | + bm |
| 1342 | + bongo | 1964 | + bongo |
| 1343 | + boon | 1965 | + boon |
| 1344 | + breakpoint (provided by the built-in =gdb-mi.el= library) | 1966 | + breakpoint (provided by the built-in {{{file(gdb-mi.el)}}} library) |
| 1345 | + buffer-expose | 1967 | + buffer-expose |
| 1346 | + calendar and diary | 1968 | + calendar and diary |
| 1347 | + calfw | 1969 | + calfw |
| 1348 | + centaur-tabs | 1970 | + centaur-tabs |
| 1349 | + change-log and log-view (such as =vc-print-log= and =vc-print-root-log=) | 1971 | + cfrs |
| 1972 | + change-log and log-view (such as ~vc-print-log~, ~vc-print-root-log~) | ||
| 1350 | + cider | 1973 | + cider |
| 1351 | + circe | 1974 | + circe |
| 1352 | + color-rg | 1975 | + color-rg |
| @@ -1355,6 +1978,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1355 | + company-posframe | 1978 | + company-posframe |
| 1356 | + compilation-mode | 1979 | + compilation-mode |
| 1357 | + completions | 1980 | + completions |
| 1981 | + consult | ||
| 1358 | + counsel* | 1982 | + counsel* |
| 1359 | + counsel-css | 1983 | + counsel-css |
| 1360 | + counsel-notmuch | 1984 | + counsel-notmuch |
| @@ -1363,7 +1987,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1363 | + cperl-mode | 1987 | + cperl-mode |
| 1364 | + csv-mode | 1988 | + csv-mode |
| 1365 | + ctrlf | 1989 | + ctrlf |
| 1366 | + custom (=M-x customize=) | 1990 | + custom (what you get with {{{kbd(M-x customize)}}}) |
| 1367 | + dap-mode | 1991 | + dap-mode |
| 1368 | + dashboard (emacs-dashboard) | 1992 | + dashboard (emacs-dashboard) |
| 1369 | + deadgrep | 1993 | + deadgrep |
| @@ -1381,8 +2005,11 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1381 | + dired-git-info | 2005 | + dired-git-info |
| 1382 | + dired-narrow | 2006 | + dired-narrow |
| 1383 | + dired-subtree | 2007 | + dired-subtree |
| 2008 | + diredc | ||
| 1384 | + diredfl | 2009 | + diredfl |
| 2010 | + diredp (dired+) | ||
| 1385 | + disk-usage | 2011 | + disk-usage |
| 2012 | + display-fill-column-indicator-mode | ||
| 1386 | + doom-modeline | 2013 | + doom-modeline |
| 1387 | + dynamic-ruler | 2014 | + dynamic-ruler |
| 1388 | + easy-jekyll | 2015 | + easy-jekyll |
| @@ -1408,8 +2035,10 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1408 | + eshell-syntax-highlighting | 2035 | + eshell-syntax-highlighting |
| 1409 | + evil* (evil-mode) | 2036 | + evil* (evil-mode) |
| 1410 | + evil-goggles | 2037 | + evil-goggles |
| 2038 | + evil-snipe | ||
| 1411 | + evil-visual-mark-mode | 2039 | + evil-visual-mark-mode |
| 1412 | + eww | 2040 | + eww |
| 2041 | + exwm | ||
| 1413 | + eyebrowse | 2042 | + eyebrowse |
| 1414 | + fancy-dabbrev | 2043 | + fancy-dabbrev |
| 1415 | + flycheck | 2044 | + flycheck |
| @@ -1443,7 +2072,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1443 | + helpful | 2072 | + helpful |
| 1444 | + highlight-blocks | 2073 | + highlight-blocks |
| 1445 | + highlight-defined | 2074 | + highlight-defined |
| 1446 | + highlight-escape-sequences (=hes-mode=) | 2075 | + highlight-escape-sequences (~hes-mode~) |
| 1447 | + highlight-indentation | 2076 | + highlight-indentation |
| 1448 | + highlight-numbers | 2077 | + highlight-numbers |
| 1449 | + highlight-symbol | 2078 | + highlight-symbol |
| @@ -1468,6 +2097,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1468 | + interaction-log | 2097 | + interaction-log |
| 1469 | + ioccur | 2098 | + ioccur |
| 1470 | + isearch, occur, etc. | 2099 | + isearch, occur, etc. |
| 2100 | + isl (isearch-light) | ||
| 1471 | + ivy* | 2101 | + ivy* |
| 1472 | + ivy-posframe | 2102 | + ivy-posframe |
| 1473 | + jira (org-jira) | 2103 | + jira (org-jira) |
| @@ -1477,19 +2107,22 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1477 | + jupyter | 2107 | + jupyter |
| 1478 | + kaocha-runner | 2108 | + kaocha-runner |
| 1479 | + keycast | 2109 | + keycast |
| 1480 | + line numbers (=display-line-numbers-mode= and global variant) | 2110 | + line numbers (~display-line-numbers-mode~ and global variant) |
| 1481 | + lsp-mode | 2111 | + lsp-mode |
| 1482 | + lsp-ui | 2112 | + lsp-ui |
| 2113 | + macrostep | ||
| 1483 | + magit | 2114 | + magit |
| 1484 | + magit-imerge | 2115 | + magit-imerge |
| 1485 | + make-mode | 2116 | + make-mode |
| 1486 | + man | 2117 | + man |
| 2118 | + marginalia | ||
| 1487 | + markdown-mode | 2119 | + markdown-mode |
| 1488 | + markup-faces (=adoc-mode=) | 2120 | + markup-faces (~adoc-mode~) |
| 1489 | + mentor | 2121 | + mentor |
| 1490 | + messages | 2122 | + messages |
| 1491 | + minibuffer-line | 2123 | + minibuffer-line |
| 1492 | + minimap | 2124 | + minimap |
| 2125 | + mmm-mode | ||
| 1493 | + modeline | 2126 | + modeline |
| 1494 | + mood-line | 2127 | + mood-line |
| 1495 | + moody | 2128 | + moody |
| @@ -1512,11 +2145,12 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1512 | + org-roam | 2145 | + org-roam |
| 1513 | + org-superstar | 2146 | + org-superstar |
| 1514 | + org-table-sticky-header | 2147 | + org-table-sticky-header |
| 2148 | + org-tree-slide | ||
| 1515 | + org-treescope | 2149 | + org-treescope |
| 1516 | + origami | 2150 | + origami |
| 1517 | + outline-mode | 2151 | + outline-mode |
| 1518 | + outline-minor-faces | 2152 | + outline-minor-faces |
| 1519 | + package (=M-x list-packages=) | 2153 | + package (what you get with {{{kbd(M-x list-packages)}}}) |
| 1520 | + page-break-lines | 2154 | + page-break-lines |
| 1521 | + paradox | 2155 | + paradox |
| 1522 | + paren-face | 2156 | + paren-face |
| @@ -1532,23 +2166,28 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1532 | + popup | 2166 | + popup |
| 1533 | + powerline | 2167 | + powerline |
| 1534 | + powerline-evil | 2168 | + powerline-evil |
| 2169 | + prism ([[#h:a94272e0-99da-4149-9e80-11a7e67a2cf2][Note for prism.el]]) | ||
| 1535 | + proced | 2170 | + proced |
| 1536 | + prodigy | 2171 | + prodigy |
| 2172 | + quick-peek | ||
| 1537 | + racket-mode | 2173 | + racket-mode |
| 1538 | + rainbow-blocks | 2174 | + rainbow-blocks |
| 1539 | + rainbow-identifiers | 2175 | + rainbow-identifiers |
| 1540 | + rainbow-delimiters | 2176 | + rainbow-delimiters |
| 1541 | + rcirc | 2177 | + rcirc |
| 1542 | + regexp-builder (also known as =re-builder=) | 2178 | + recursion-indicator |
| 2179 | + regexp-builder (also known as ~re-builder~) | ||
| 1543 | + rg (rg.el) | 2180 | + rg (rg.el) |
| 1544 | + ripgrep | 2181 | + ripgrep |
| 1545 | + rmail | 2182 | + rmail |
| 1546 | + ruler-mode | 2183 | + ruler-mode |
| 1547 | + sallet | 2184 | + sallet |
| 1548 | + selectrum | 2185 | + selectrum |
| 2186 | + selectrum-prescient | ||
| 1549 | + semantic | 2187 | + semantic |
| 1550 | + sesman | 2188 | + sesman |
| 1551 | + shell-script-mode | 2189 | + shell-script-mode |
| 2190 | + shortdoc | ||
| 1552 | + show-paren-mode | 2191 | + show-paren-mode |
| 1553 | + shr | 2192 | + shr |
| 1554 | + side-notes | 2193 | + side-notes |
| @@ -1557,9 +2196,11 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1557 | + smart-mode-line | 2196 | + smart-mode-line |
| 1558 | + smartparens | 2197 | + smartparens |
| 1559 | + smerge | 2198 | + smerge |
| 2199 | + solaire | ||
| 1560 | + spaceline | 2200 | + spaceline |
| 1561 | + speedbar | 2201 | + speedbar |
| 1562 | + spell-fu | 2202 | + spell-fu |
| 2203 | + spray | ||
| 1563 | + stripes | 2204 | + stripes |
| 1564 | + suggest | 2205 | + suggest |
| 1565 | + switch-window | 2206 | + switch-window |
| @@ -1570,6 +2211,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1570 | + syslog-mode | 2211 | + syslog-mode |
| 1571 | + table (built-in table.el) | 2212 | + table (built-in table.el) |
| 1572 | + telephone-line | 2213 | + telephone-line |
| 2214 | + terraform-mode | ||
| 1573 | + term | 2215 | + term |
| 1574 | + tomatinho | 2216 | + tomatinho |
| 1575 | + transient (pop-up windows such as Magit's) | 2217 | + transient (pop-up windows such as Magit's) |
| @@ -1580,7 +2222,7 @@ have lots of extensions, so the "full support" may not be 100% true… | |||
| 1580 | + typescript | 2222 | + typescript |
| 1581 | + undo-tree | 2223 | + undo-tree |
| 1582 | + vc (built-in mode line status for version control) | 2224 | + vc (built-in mode line status for version control) |
| 1583 | + vc-annotate (=C-x v g=) | 2225 | + vc-annotate (the out put of {{{kbd(C-x v g)}}}) |
| 1584 | + vdiff | 2226 | + vdiff |
| 1585 | + vimish-fold | 2227 | + vimish-fold |
| 1586 | + visible-mark | 2228 | + visible-mark |
| @@ -1608,67 +2250,234 @@ Plus many other miscellaneous faces that are provided by the upstream | |||
| 1608 | GNU Emacs distribution. | 2250 | GNU Emacs distribution. |
| 1609 | 2251 | ||
| 1610 | ** Indirectly covered packages | 2252 | ** Indirectly covered packages |
| 1611 | :PROPERTIES: | 2253 | :properties: |
| 1612 | :CUSTOM_ID: h:2cb359c7-3a84-4262-bab3-dcdc1d0034d7 | 2254 | :custom_id: h:2cb359c7-3a84-4262-bab3-dcdc1d0034d7 |
| 1613 | :END: | 2255 | :end: |
| 2256 | #+cindex: Implicitly supported packages | ||
| 1614 | 2257 | ||
| 1615 | These do not require any extra styles because they are configured to | 2258 | These do not require any extra styles because they are configured to |
| 1616 | inherit from some basic faces. Please confirm. | 2259 | inherit from some basic faces. Please confirm. |
| 1617 | 2260 | ||
| 1618 | + edit-indirect | 2261 | + edit-indirect |
| 1619 | + evil-owl | 2262 | + evil-owl |
| 2263 | + fortran-mode | ||
| 2264 | + goggles | ||
| 1620 | + i3wm-config-mode | 2265 | + i3wm-config-mode |
| 1621 | + perl-mode | 2266 | + perl-mode |
| 1622 | + php-mode | 2267 | + php-mode |
| 1623 | + rjsx-mode | 2268 | + rjsx-mode |
| 1624 | + swift-mode | 2269 | + swift-mode |
| 1625 | 2270 | + tab-bar-echo-area | |
| 1626 | ** Will NOT be supported | ||
| 1627 | :PROPERTIES: | ||
| 1628 | :CUSTOM_ID: h:6c6e8d94-6782-47fc-9eef-ad78671e9eea | ||
| 1629 | :END: | ||
| 1630 | |||
| 1631 | I have thus far identified a single package that does fit into the | ||
| 1632 | overarching objective of this project: [[https://github.com/hlissner/emacs-solaire-mode][solaire]]. It basically tries to | ||
| 1633 | cast a less intense background on the main file-visiting buffers, so | ||
| 1634 | that secondary elements like sidebars can have the default (pure | ||
| 1635 | white/black) background. | ||
| 1636 | |||
| 1637 | I will only cover this package if it ever supports the inverse effect: | ||
| 1638 | less intense colors (but still accessible) for ancillary interfaces | ||
| 1639 | and the intended styles for the content you are actually working on. | ||
| 1640 | 2271 | ||
| 1641 | * Notes for individual packages | 2272 | * Notes for individual packages |
| 1642 | :PROPERTIES: | 2273 | :properties: |
| 1643 | :CUSTOM_ID: h:4c4d901a-84d7-4f20-bd99-0808c2b06eba | 2274 | :custom_id: h:4c4d901a-84d7-4f20-bd99-0808c2b06eba |
| 1644 | :END: | 2275 | :end: |
| 1645 | 2276 | ||
| 1646 | This section covers information that may be of interest to users of | 2277 | This section covers information that may be of interest to users of |
| 1647 | individual packages. | 2278 | individual packages. |
| 1648 | 2279 | ||
| 2280 | ** Note for display-fill-column-indicator-mode | ||
| 2281 | :properties: | ||
| 2282 | :custom_id: h:2a602816-bc1b-45bf-9675-4cbbd7bf6cab | ||
| 2283 | :end: | ||
| 2284 | |||
| 2285 | While designing the style for ~display-fill-column-indicator-mode~, we | ||
| 2286 | stayed close to the mode's defaults: to apply a subtle foreground color | ||
| 2287 | to the ~fill-column-indicator~ face, which blends well with the rest of | ||
| 2288 | theme and is consistent with the role of that mode. This is to not | ||
| 2289 | upset the expectations of users. | ||
| 2290 | |||
| 2291 | Nevertheless, ~display-fill-column-indicator-mode~ has some known | ||
| 2292 | limitations pertaining to its choice of using typographic characters to | ||
| 2293 | draw its indicator. What should be a continuous vertical line might | ||
| 2294 | appear as a series of dashes in certain contexts or under specific | ||
| 2295 | conditions: a non-default value for ~line-spacing~, scaled and/or | ||
| 2296 | variable-pitch headings have been observed to cause this effect. | ||
| 2297 | |||
| 2298 | Given that we cannot control such factors, it may be better for affected | ||
| 2299 | users to deviate from the default style of the ~fill-column-indicator~ | ||
| 2300 | face. Instead of setting a foreground color, one could use a background | ||
| 2301 | and have the foreground be indistinguishable from it. For example: | ||
| 2302 | |||
| 2303 | #+begin_src emacs-lisp | ||
| 2304 | (modus-themes-with-colors | ||
| 2305 | (custom-set-faces | ||
| 2306 | `(fill-column-indicator ((,class :background ,bg-inactive | ||
| 2307 | :foreground ,bg-inactive))))) | ||
| 2308 | #+end_src | ||
| 2309 | |||
| 2310 | [[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]]. | ||
| 2311 | |||
| 2312 | ** Note for mmm-mode.el background colors | ||
| 2313 | :properties: | ||
| 2314 | :custom_id: h:99cf0d6c-e478-4e26-9932-3bf3427d13f6 | ||
| 2315 | :end: | ||
| 2316 | |||
| 2317 | The faces used by {{{file(mmm-mode.el)}}} are expected to have a colorful | ||
| 2318 | background, while they should not touch any foreground value. The idea | ||
| 2319 | is that they must not interfere with existing fontification. Those | ||
| 2320 | background colors need to be distinct from each other, such as an | ||
| 2321 | unambiguous red juxtaposed with a clear blue. | ||
| 2322 | |||
| 2323 | While this design may be internally consistent with the raison d'être of | ||
| 2324 | that library, it inevitably produces inaccessible color combinations. | ||
| 2325 | |||
| 2326 | There are two competing goals at play: | ||
| 2327 | |||
| 2328 | 1. Legibility of the text, understood as the contrast ratio between the | ||
| 2329 | background and the foreground. | ||
| 2330 | |||
| 2331 | 2. Semantic precision of each face which entails faithfulness to | ||
| 2332 | color-coding of the underlying background. | ||
| 2333 | |||
| 2334 | As the Modus themes are designed with the express purpose of conforming | ||
| 2335 | with the first point, we have to forgo the apparent color-coding of the | ||
| 2336 | background elements. Instead we use subtle colors that do not undermine | ||
| 2337 | the legibility of the affected text while they still offer a sense of | ||
| 2338 | added context. | ||
| 2339 | |||
| 2340 | Users who might prefer to fall below the minimum 7:1 contrast ratio in | ||
| 2341 | relative luminance (the accessibility target we conform with), can opt | ||
| 2342 | to configure the relevant faces on their own. | ||
| 2343 | |||
| 2344 | [[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]]. | ||
| 2345 | |||
| 2346 | This example uses more vivid background colors, though it comes at the | ||
| 2347 | very high cost of degraded legibility. | ||
| 2348 | |||
| 2349 | #+begin_src emacs-lisp | ||
| 2350 | (modus-themes-with-colors | ||
| 2351 | (custom-set-faces | ||
| 2352 | `(mmm-cleanup-submode-face ((,class :background ,yellow-refine-bg))) | ||
| 2353 | `(mmm-code-submode-face ((,class :background ,bg-active))) | ||
| 2354 | `(mmm-comment-submode-face ((,class :background ,blue-refine-bg))) | ||
| 2355 | `(mmm-declaration-submode-face ((,class :background ,cyan-refine-bg))) | ||
| 2356 | `(mmm-default-submode-face ((,class :background ,bg-alt))) | ||
| 2357 | `(mmm-init-submode-face ((,class :background ,magenta-refine-bg))) | ||
| 2358 | `(mmm-output-submode-face ((,class :background ,red-refine-bg))) | ||
| 2359 | `(mmm-special-submode-face ((,class :background ,green-refine-bg))))) | ||
| 2360 | #+end_src | ||
| 2361 | |||
| 2362 | ** Note for prism.el | ||
| 2363 | :properties: | ||
| 2364 | :alt_title: Note for prism | ||
| 2365 | :custom_id: h:a94272e0-99da-4149-9e80-11a7e67a2cf2 | ||
| 2366 | :end: | ||
| 2367 | |||
| 2368 | This package by Adam Porter, aka "alphapapa" or "github-alphapapa", | ||
| 2369 | implements an alternative to the typical coloration of code. Instead of | ||
| 2370 | highlighting the syntactic constructs, it applies color to different | ||
| 2371 | levels of depth in the code structure. | ||
| 2372 | |||
| 2373 | As {{{file(prism.el)}}} offers a broad range of customisations, we cannot | ||
| 2374 | style it directly at the theme level: that would run contrary to the | ||
| 2375 | spirit of the package. Instead, we may offer preset color schemes. | ||
| 2376 | Those should offer a starting point for users to adapt to their needs. | ||
| 2377 | |||
| 2378 | In the following code snippets, we employ the ~modus-themes-with-colors~ | ||
| 2379 | macro: [[#h:51ba3547-b8c8-40d6-ba5a-4586477fd4ae][Face specs at scale using the themes' palette]]. | ||
| 2380 | |||
| 2381 | These are the minimum recommended settings with 16 colors: | ||
| 2382 | |||
| 2383 | #+begin_src emacs-lisp | ||
| 2384 | (setq prism-num-faces 16) | ||
| 2385 | |||
| 2386 | (prism-set-colors | ||
| 2387 | :desaturations '(0) ; do not change---may lower the contrast ratio | ||
| 2388 | :lightens '(0) ; same | ||
| 2389 | :colors (modus-themes-with-colors | ||
| 2390 | (list fg-main | ||
| 2391 | magenta | ||
| 2392 | cyan-alt-other | ||
| 2393 | magenta-alt-other | ||
| 2394 | blue | ||
| 2395 | magenta-alt | ||
| 2396 | cyan-alt | ||
| 2397 | red-alt-other | ||
| 2398 | green | ||
| 2399 | fg-main | ||
| 2400 | cyan | ||
| 2401 | yellow | ||
| 2402 | blue-alt | ||
| 2403 | red-alt | ||
| 2404 | green-alt-other | ||
| 2405 | fg-special-warm))) | ||
| 2406 | #+end_src | ||
| 2407 | |||
| 2408 | With 8 colors: | ||
| 2409 | |||
| 2410 | #+begin_src emacs-lisp | ||
| 2411 | (setq prism-num-faces 8) | ||
| 2412 | |||
| 2413 | (prism-set-colors | ||
| 2414 | :desaturations '(0) ; do not change---may lower the contrast ratio | ||
| 2415 | :lightens '(0) ; same | ||
| 2416 | :colors (modus-themes-with-colors | ||
| 2417 | (list fg-special-cold | ||
| 2418 | magenta | ||
| 2419 | magenta-alt-other | ||
| 2420 | cyan-alt-other | ||
| 2421 | fg-main | ||
| 2422 | blue-alt | ||
| 2423 | red-alt-other | ||
| 2424 | cyan))) | ||
| 2425 | #+end_src | ||
| 2426 | |||
| 2427 | And this is with 4 colors, which produces results that are the closest | ||
| 2428 | to the themes' default aesthetic: | ||
| 2429 | |||
| 2430 | #+begin_src emacs-lisp | ||
| 2431 | (setq prism-num-faces 4) | ||
| 2432 | |||
| 2433 | (prism-set-colors | ||
| 2434 | :desaturations '(0) ; do not change---may lower the contrast ratio | ||
| 2435 | :lightens '(0) ; same | ||
| 2436 | :colors (modus-themes-with-colors | ||
| 2437 | (list fg-main | ||
| 2438 | cyan-alt-other | ||
| 2439 | magenta-alt-other | ||
| 2440 | magenta))) | ||
| 2441 | #+end_src | ||
| 2442 | |||
| 2443 | If you need to apply desaturation and lightening, you can use what the | ||
| 2444 | {{{file(prism.el)}}} documentation recommends, like this (adapting to the | ||
| 2445 | examples with the 4, 8, 16 colors): | ||
| 2446 | |||
| 2447 | #+begin_src emacs-lisp | ||
| 2448 | (prism-set-colors | ||
| 2449 | :desaturations (cl-loop for i from 0 below 16 collect (* i 2.5)) | ||
| 2450 | :lightens (cl-loop for i from 0 below 16 collect (* i 2.5)) | ||
| 2451 | :colors (modus-themes-with-colors | ||
| 2452 | (list fg-main | ||
| 2453 | cyan-alt-other | ||
| 2454 | magenta-alt-other | ||
| 2455 | magenta))) | ||
| 2456 | #+end_src | ||
| 2457 | |||
| 1649 | ** Note on company-mode overlay pop-up | 2458 | ** Note on company-mode overlay pop-up |
| 1650 | :PROPERTIES: | 2459 | :properties: |
| 1651 | :CUSTOM_ID: h:20cef8c4-d11f-4053-8b2c-2872925780b1 | 2460 | :custom_id: h:20cef8c4-d11f-4053-8b2c-2872925780b1 |
| 1652 | :END: | 2461 | :end: |
| 1653 | 2462 | ||
| 1654 | By default, the =company-mode= pop-up that lists completion candidates is | 2463 | By default, the ~company-mode~ pop-up that lists completion candidates is |
| 1655 | drawn using an overlay. This creates alignment issues every time it is | 2464 | drawn using an overlay. This creates alignment issues every time it is |
| 1656 | placed above a piece of text that has a different height than the | 2465 | placed above a piece of text that has a different height than the |
| 1657 | default. | 2466 | default. |
| 1658 | 2467 | ||
| 1659 | The solution recommended by the project's maintainer is to use an | 2468 | The solution recommended by the project's maintainer is to use an |
| 1660 | alternative front-end for drawing the pop-up which uses child frames | 2469 | alternative front-end for drawing the pop-up which draws child frames |
| 1661 | instead of overlays.[fn:: | 2470 | instead of overlays.[fn:: |
| 1662 | https://github.com/company-mode/company-mode/issues/1010][fn:: | 2471 | https://github.com/company-mode/company-mode/issues/1010][fn:: |
| 1663 | https://github.com/tumashu/company-posframe/] | 2472 | https://github.com/tumashu/company-posframe/] |
| 1664 | 2473 | ||
| 1665 | ** Note for ERC escaped color sequences | 2474 | ** Note for ERC escaped color sequences |
| 1666 | :PROPERTIES: | 2475 | :properties: |
| 1667 | :CUSTOM_ID: h:98bdf319-1e32-4469-8a01-771200fba65c | 2476 | :custom_id: h:98bdf319-1e32-4469-8a01-771200fba65c |
| 1668 | :END: | 2477 | :end: |
| 1669 | 2478 | ||
| 1670 | The built-in IRC client =erc= has the ability to colorise any text using | 2479 | The built-in IRC client ~erc~ has the ability to colorise any text using |
| 1671 | escape sequences that start with =^C= (inserted with =C-q C-c=) and are | 2480 | escape sequences that start with =^C= (inserted with {{{kbd(C-q C-c)}}}) and are |
| 1672 | followed by a number for the foreground and background.[fn:: This page | 2481 | followed by a number for the foreground and background.[fn:: This page |
| 1673 | explains the basics, though it is not specific to Emacs: | 2482 | explains the basics, though it is not specific to Emacs: |
| 1674 | https://www.mirc.com/colors.html] Possible numbers are 0-15, with the | 2483 | https://www.mirc.com/colors.html] Possible numbers are 0-15, with the |
| @@ -1681,13 +2490,13 @@ separated by a comma. Like this =^C1,6=. The minimum setup is this: | |||
| 1681 | erc-interpret-mirc-color t) | 2490 | erc-interpret-mirc-color t) |
| 1682 | #+end_src | 2491 | #+end_src |
| 1683 | 2492 | ||
| 1684 | As this allows users to make arbitrary combinations, it is impossible to | 2493 | As this allows users the chance to make arbitrary combinations, it is |
| 1685 | guarantee a consistently high contrast ratio. All we can we do is | 2494 | impossible to guarantee a consistently high contrast ratio. All we can |
| 1686 | provide guidance on the combinations that satisfy the accessibility | 2495 | we do is provide guidance on the combinations that satisfy the |
| 1687 | standard of the themes: | 2496 | accessibility standard of the themes: |
| 1688 | 2497 | ||
| 1689 | + Modus Operandi :: Use foreground color 1 for all backgrounds from | 2498 | + Modus Operandi :: Use foreground color 1 for all backgrounds from |
| 1690 | 2-15. Like so: =C-q C-c1,N= where =N= is the background. | 2499 | 2-15. Like so: {{{kbd(C-q C-c1,N)}}} where =N= is the background. |
| 1691 | 2500 | ||
| 1692 | + Modus Vivendi :: Use foreground color 0 for all backgrounds from | 2501 | + Modus Vivendi :: Use foreground color 0 for all backgrounds from |
| 1693 | 2-13. Use foreground =1= for backgrounds 14, 15. | 2502 | 2-13. Use foreground =1= for backgrounds 14, 15. |
| @@ -1696,35 +2505,38 @@ Colors 0 and 1 are white and black respectively. So combine them | |||
| 1696 | together, if you must. | 2505 | together, if you must. |
| 1697 | 2506 | ||
| 1698 | ** Note for powerline or spaceline | 2507 | ** Note for powerline or spaceline |
| 1699 | :PROPERTIES: | 2508 | :properties: |
| 1700 | :CUSTOM_ID: h:9130a8ba-d8e3-41be-a58b-3cb1eb7b6d17 | 2509 | :custom_id: h:9130a8ba-d8e3-41be-a58b-3cb1eb7b6d17 |
| 1701 | :END: | 2510 | :end: |
| 1702 | 2511 | ||
| 1703 | Both Powerline and Spaceline package users will likely need to use the | 2512 | Both Powerline and Spaceline package users will likely need to use the |
| 1704 | command =powerline-reset= whenever they make changes to their themes | 2513 | command ~powerline-reset~ whenever they make changes to their themes |
| 1705 | and/or modeline setup. | 2514 | and/or modeline setup. |
| 1706 | 2515 | ||
| 1707 | ** Note on shr colors | 2516 | ** Note on SHR colors |
| 1708 | :PROPERTIES: | 2517 | :properties: |
| 1709 | :CUSTOM_ID: h:4cc767dc-ffef-4c5c-9f10-82eb7b8921bf | 2518 | :custom_id: h:4cc767dc-ffef-4c5c-9f10-82eb7b8921bf |
| 1710 | :END: | 2519 | :end: |
| 1711 | 2520 | ||
| 1712 | Emacs' HTML rendering mechanism (=shr=) may need explicit configuration to | 2521 | Emacs' HTML rendering library ({{{file(shr.el)}}}) may need explicit |
| 1713 | respect the theme's colors instead of whatever specifications the | 2522 | configuration to respect the theme's colors instead of whatever |
| 1714 | webpage provides. Consult =C-h v shr-use-colors=. | 2523 | specifications the webpage provides. |
| 2524 | |||
| 2525 | Consult {{{kbd(C-h v shr-use-colors)}}}. | ||
| 1715 | 2526 | ||
| 1716 | ** Note for Helm grep | 2527 | ** Note for Helm grep |
| 1717 | :PROPERTIES: | 2528 | :properties: |
| 1718 | :CUSTOM_ID: h:d28879a2-8e4b-4525-986e-14c0f873d229 | 2529 | :custom_id: h:d28879a2-8e4b-4525-986e-14c0f873d229 |
| 1719 | :END: | 2530 | :end: |
| 1720 | 2531 | ||
| 1721 | There is one face from the Helm package that is meant to highlight the | 2532 | There is one face from the Helm package that is meant to highlight the |
| 1722 | matches of a grep or grep-like command (=ag= or =ripgrep=). It is | 2533 | matches of a grep or grep-like command (=ag= or =ripgrep=). It is |
| 1723 | =helm-grep-match=. However, this face can only apply when the user does | 2534 | ~helm-grep-match~. However, this face can only apply when the user does |
| 1724 | not pass =--color=always= as a command-line option for their command. | 2535 | not pass =--color=always= as a command-line option for their command. |
| 1725 | 2536 | ||
| 1726 | Here is the docstring for that face, which is defined in the | 2537 | Here is the docstring for that face, which is defined in the |
| 1727 | =helm-grep.el= library (view a library with =M-x find-library=). | 2538 | {{{file(helm-grep.el)}}} library (you can always visit the source code with |
| 2539 | {{{kbd(M-x find-library)}}}). | ||
| 1728 | 2540 | ||
| 1729 | #+begin_quote | 2541 | #+begin_quote |
| 1730 | Face used to highlight grep matches. Have no effect when grep backend | 2542 | Face used to highlight grep matches. Have no effect when grep backend |
| @@ -1734,23 +2546,23 @@ use "--color=" | |||
| 1734 | The user must either remove =--color= from the flags passed to the grep | 2546 | The user must either remove =--color= from the flags passed to the grep |
| 1735 | function, or explicitly use =--color=never= (or equivalent). Helm | 2547 | function, or explicitly use =--color=never= (or equivalent). Helm |
| 1736 | provides user-facing customization options for controlling the grep | 2548 | provides user-facing customization options for controlling the grep |
| 1737 | function's parameters, such as =helm-grep-default-command= and | 2549 | function's parameters, such as ~helm-grep-default-command~ and |
| 1738 | =helm-grep-git-grep-command=. | 2550 | ~helm-grep-git-grep-command~. |
| 1739 | 2551 | ||
| 1740 | When =--color=always= is in effect, the grep output will use red text in | 2552 | When =--color=always= is in effect, the grep output will use red text in |
| 1741 | bold letter forms to present the matching part in the list of | 2553 | bold letter forms to present the matching part in the list of |
| 1742 | candidates. That style still meets the contrast ratio target of >= 7:1 | 2554 | candidates. That style still meets the contrast ratio target of >= 7:1 |
| 1743 | (accessibility standard WCAG AAA), because it draws the reference to | 2555 | (accessibility standard WCAG AAA), because it draws the reference to |
| 1744 | ANSI color number 1 (red) from the already-supported array of | 2556 | ANSI color number 1 (red) from the already-supported array of |
| 1745 | =ansi-color-names-vector=. | 2557 | ~ansi-color-names-vector~. |
| 1746 | 2558 | ||
| 1747 | ** Note on vc-annotate-background-mode | 2559 | ** Note on vc-annotate-background-mode |
| 1748 | :PROPERTIES: | 2560 | :properties: |
| 1749 | :CUSTOM_ID: h:5095cbd1-e17a-419c-93e8-951c186362a3 | 2561 | :custom_id: h:5095cbd1-e17a-419c-93e8-951c186362a3 |
| 1750 | :END: | 2562 | :end: |
| 1751 | 2563 | ||
| 1752 | Due to the unique way =vc-annotate= (=C-x v g=) applies colors, support for | 2564 | Due to the unique way ~vc-annotate~ ({{{kbd(C-x v g)}}}) applies colors, support |
| 1753 | its background mode (=vc-annotate-background-mode=) is disabled at the | 2565 | for its background mode (~vc-annotate-background-mode~) is disabled at the |
| 1754 | theme level. | 2566 | theme level. |
| 1755 | 2567 | ||
| 1756 | Normally, such a drastic measure should not belong in a theme: assuming | 2568 | Normally, such a drastic measure should not belong in a theme: assuming |
| @@ -1760,35 +2572,87 @@ while still supporting a useful built-in tool. | |||
| 1760 | 2572 | ||
| 1761 | If there actually is a way to avoid such a course of action, without | 2573 | If there actually is a way to avoid such a course of action, without |
| 1762 | prejudice to the accessibility standard of this project, then please | 2574 | prejudice to the accessibility standard of this project, then please |
| 1763 | report as much or send patches (see [[#h:9c3cd842-14b7-44d7-84b2-a5c8bc3fc3b1][Contributing]]). | 2575 | report as much or send patches ([[#h:9c3cd842-14b7-44d7-84b2-a5c8bc3fc3b1][Contributing]]). |
| 2576 | |||
| 2577 | ** Note on pdf-tools link hints | ||
| 2578 | :properties: | ||
| 2579 | :custom_id: h:2659d13e-b1a5-416c-9a89-7c3ce3a76574 | ||
| 2580 | :end: | ||
| 2581 | |||
| 2582 | Hints are drawn by [[https://imagemagick.org/][ImageMagick]], not Emacs, i.e., ImageMagick doesn't | ||
| 2583 | know about the hint face unless you tell ImageMagick about it. By | ||
| 2584 | default, only the foreground and background color attributes are | ||
| 2585 | passed. The below snippet adds to those the various font attributes. As | ||
| 2586 | it queries various faces, specifically ~pdf-links-read-link~ and the faces | ||
| 2587 | it inherits, it needs to be added to your initialization file after | ||
| 2588 | you've customized any faces. | ||
| 2589 | |||
| 2590 | #+begin_src emacs-lisp | ||
| 2591 | (use-package pdf-links | ||
| 2592 | :config | ||
| 2593 | (let ((spec | ||
| 2594 | (apply #'append | ||
| 2595 | (mapcar | ||
| 2596 | (lambda (name) | ||
| 2597 | (list name | ||
| 2598 | (face-attribute 'pdf-links-read-link | ||
| 2599 | name nil 'default))) | ||
| 2600 | '(:family :width :weight :slant))))) | ||
| 2601 | (setq pdf-links-read-link-convert-commands | ||
| 2602 | `("-density" "96" | ||
| 2603 | "-family" ,(plist-get spec :family) | ||
| 2604 | "-stretch" ,(let* ((width (plist-get spec :width)) | ||
| 2605 | (name (symbol-name width))) | ||
| 2606 | (replace-regexp-in-string "-" "" | ||
| 2607 | (capitalize name))) | ||
| 2608 | "-weight" ,(pcase (plist-get spec :weight) | ||
| 2609 | ('ultra-light "Thin") | ||
| 2610 | ('extra-light "ExtraLight") | ||
| 2611 | ('light "Light") | ||
| 2612 | ('semi-bold "SemiBold") | ||
| 2613 | ('bold "Bold") | ||
| 2614 | ('extra-bold "ExtraBold") | ||
| 2615 | ('ultra-bold "Black") | ||
| 2616 | (_weight "Normal")) | ||
| 2617 | "-style" ,(pcase (plist-get spec :slant) | ||
| 2618 | ('italic "Italic") | ||
| 2619 | ('oblique "Oblique") | ||
| 2620 | (_slant "Normal")) | ||
| 2621 | "-pointsize" "%P" | ||
| 2622 | "-undercolor" "%f" | ||
| 2623 | "-fill" "%b" | ||
| 2624 | "-draw" "text %X,%Y '%c'")))) | ||
| 2625 | #+end_src | ||
| 1764 | 2626 | ||
| 1765 | * Contributing | 2627 | * Contributing |
| 1766 | :PROPERTIES: | 2628 | :properties: |
| 1767 | :CUSTOM_ID: h:9c3cd842-14b7-44d7-84b2-a5c8bc3fc3b1 | 2629 | :custom_id: h:9c3cd842-14b7-44d7-84b2-a5c8bc3fc3b1 |
| 1768 | :END: | 2630 | :end: |
| 1769 | 2631 | ||
| 1770 | This section documents the canonical sources of the themes and the ways | 2632 | This section documents the canonical sources of the themes and the ways |
| 1771 | in which you can contribute to their ongoing development. | 2633 | in which you can contribute to their ongoing development. |
| 1772 | 2634 | ||
| 1773 | ** Sources of the themes | 2635 | ** Sources of the themes |
| 1774 | :PROPERTIES: | 2636 | :properties: |
| 1775 | :CUSTOM_ID: h:89504f1c-c9a1-4bd9-ab39-78fd0eddb47c | 2637 | :custom_id: h:89504f1c-c9a1-4bd9-ab39-78fd0eddb47c |
| 1776 | :END: | 2638 | :end: |
| 2639 | #+cindex: Sources of the themes | ||
| 1777 | 2640 | ||
| 1778 | The =modus-operandi= and =modus-vivendi= themes are built into Emacs. | 2641 | The ~modus-operandi~ and ~modus-vivendi~ themes are built into Emacs. |
| 1779 | Currently they are in the project's =master= branch, which is tracking the | 2642 | Currently they are in Emacs' git main branch (trunk), which is tracking |
| 1780 | next development release target. | 2643 | the next development release target. |
| 1781 | 2644 | ||
| 1782 | The source code of the themes is [[https://gitlab.com/protesilaos/modus-themes/][available on Gitlab]], for the time | 2645 | The source code of the themes is [[https://gitlab.com/protesilaos/modus-themes/][available on Gitlab]], for the time |
| 1783 | being. A [[https://github.com/protesilaos/modus-themes/][mirror on Github]] is also on offer. | 2646 | being. A [[https://github.com/protesilaos/modus-themes/][mirror on Github]] is also on offer. |
| 1784 | 2647 | ||
| 1785 | An HTML version of this manual is available as an extension to the | 2648 | An HTML version of this manual is provided as an extension of the |
| 1786 | [[https://protesilaos.com/modus-themes/][author's personal website]] (does not rely on any non-free code). | 2649 | [[https://protesilaos.com/modus-themes/][author's personal website]] (does not rely on any non-free code). |
| 1787 | 2650 | ||
| 1788 | ** Issues you can help with | 2651 | ** Issues you can help with |
| 1789 | :PROPERTIES: | 2652 | :properties: |
| 1790 | :CUSTOM_ID: h:6536c8d5-3f98-43ab-a787-b94120e735e8 | 2653 | :custom_id: h:6536c8d5-3f98-43ab-a787-b94120e735e8 |
| 1791 | :END: | 2654 | :end: |
| 2655 | #+cindex: Contributing | ||
| 1792 | 2656 | ||
| 1793 | A few tasks you can help with: | 2657 | A few tasks you can help with: |
| 1794 | 2658 | ||
| @@ -1802,8 +2666,8 @@ A few tasks you can help with: | |||
| 1802 | 2666 | ||
| 1803 | [[#h:111773e2-f26f-4b68-8c4f-9794ca6b9633][Patches require copyright assignment to the FSF]]. | 2667 | [[#h:111773e2-f26f-4b68-8c4f-9794ca6b9633][Patches require copyright assignment to the FSF]]. |
| 1804 | 2668 | ||
| 1805 | It would be great if your feedback also includes some screenshots, GIFs, | 2669 | It is preferable that your feedback includes some screenshots, GIFs, or |
| 1806 | or short videos, as well as further instructions to reproduce a given | 2670 | short videos, as well as further instructions to reproduce a given |
| 1807 | setup. Though this is not a requirement. | 2671 | setup. Though this is not a requirement. |
| 1808 | 2672 | ||
| 1809 | Whatever you do, bear in mind the overarching objective of the Modus | 2673 | Whatever you do, bear in mind the overarching objective of the Modus |
| @@ -1813,11 +2677,9 @@ between aesthetics and accessibility, it shall always be made in the | |||
| 1813 | interest of the latter. | 2677 | interest of the latter. |
| 1814 | 2678 | ||
| 1815 | ** Patches require copyright assignment to the FSF | 2679 | ** Patches require copyright assignment to the FSF |
| 1816 | :PROPERTIES: | 2680 | :properties: |
| 1817 | :ALT_TITLE: Merge requests | 2681 | :custom_id: h:111773e2-f26f-4b68-8c4f-9794ca6b9633 |
| 1818 | :DESCRIPTION: Legal considerations for code patches | 2682 | :end: |
| 1819 | :CUSTOM_ID: h:111773e2-f26f-4b68-8c4f-9794ca6b9633 | ||
| 1820 | :END: | ||
| 1821 | 2683 | ||
| 1822 | Code contributions are most welcome. For any major edit (more than 15 | 2684 | Code contributions are most welcome. For any major edit (more than 15 |
| 1823 | lines, or so, in aggregate per person), you need to make a copyright | 2685 | lines, or so, in aggregate per person), you need to make a copyright |
| @@ -1875,48 +2737,58 @@ your changes? Do you attend a school which might make such a claim?] | |||
| 1875 | [Which files have you changed so far, and which new files have you written | 2737 | [Which files have you changed so far, and which new files have you written |
| 1876 | so far?] | 2738 | so far?] |
| 1877 | 2739 | ||
| 1878 | Changed a couple of themes that are part of the Emacs source code: | ||
| 1879 | |||
| 1880 | ./etc/themes/modus-operandi-theme.el | ||
| 1881 | ./etc/themes/modus-vivendi-theme.el | ||
| 1882 | #+end_example | 2740 | #+end_example |
| 1883 | 2741 | ||
| 1884 | * Acknowledgements | 2742 | * Acknowledgements |
| 1885 | :PROPERTIES: | 2743 | :properties: |
| 1886 | :CUSTOM_ID: h:95c3da23-217f-404e-b5f3-56c75760ebcf | 2744 | :custom_id: h:95c3da23-217f-404e-b5f3-56c75760ebcf |
| 1887 | :END: | 2745 | :end: |
| 2746 | #+cindex: Contributors | ||
| 1888 | 2747 | ||
| 1889 | The Modus themes are a collective effort. Every contribution counts. | 2748 | The Modus themes are a collective effort. Every bit of work matters. |
| 1890 | 2749 | ||
| 1891 | + Author/maintainer :: Protesilaos Stavrou. | 2750 | + Author/maintainer :: Protesilaos Stavrou. |
| 1892 | 2751 | ||
| 1893 | + Contributions to code or documentation :: Anders Johansson, Basil | 2752 | + Contributions to code or documentation :: Anders Johansson, Basil |
| 1894 | L. Contovounesios, Eli Zaretskii, Madhavan Krishnan, Markus Beppler, | 2753 | L.{{{space()}}} Contovounesios, Carlo Zancanaro, Eli Zaretskii, Kostadin |
| 1895 | Matthew Stevenson, Shreyas Ragavan, Stefan Kangas, Vincent Murphy. | 2754 | Ninev, Madhavan Krishnan, Markus Beppler, Matthew Stevenson, Nicolas |
| 1896 | 2755 | De Jaeghere, Shreyas Ragavan, Stefan Kangas, Vincent Murphy, Xinglu | |
| 1897 | + Ideas and user feedback :: Aaron Jensen, Adam Spiers, Alex Griffin, | 2756 | Chen. |
| 1898 | Alex Peitsinis, Alexey Shmalko, Anders Johansson, André Alexandre | 2757 | |
| 1899 | Gomes, Arif Rezai, Basil L. Contovounesios, Damien Cassou, Dario | 2758 | + Ideas and user feedback :: Aaron Jensen, Adam Spiers, Adrian Manea, |
| 1900 | Gjorgjevski, David Edmondson, Davor Rotim, Divan Santana, Gerry | 2759 | Alex Griffin, Alex Peitsinis, Alexey Shmalko, Alok Singh, Anders |
| 1901 | Agbobada, Gianluca Recchia, Ilja Kocken, Iris Garcia, Len Trigg, | 2760 | Johansson, André Alexandre Gomes, Arif Rezai, Basil L.{{{space()}}} |
| 1902 | Manuel Uberti, Mark Burton, Markus Beppler, Michael Goldenberg, Murilo | 2761 | Contovounesios, Burgess Chang, Christian Tietze, Christopher Dimech, |
| 1903 | Pereira, Nicolas De Jaeghere, Paul Poloskov, Pierre Téchoueyres, Roman | 2762 | Damien Cassou, Daniel Mendler, Dario Gjorgjevski, David Edmondson, |
| 1904 | Rudakov, Ryan Phillips, Shreyas Ragavan, Simon Pugnet, Tassilo Horn, | 2763 | Davor Rotim, Divan Santana, Gerry Agbobada, Gianluca Recchia, Gustavo |
| 1905 | Thibaut Verron, Trey Merkley, Togan Muftuoglu, Uri Sharf, Utkarsh | 2764 | Barros, Hörmetjan Yiltiz, Ilja Kocken, Iris Garcia, Jeremy Friesen, |
| 1906 | Singh, Vincent Foley. As well as users: Ben, Eugene, Fourchaux, | 2765 | John Haman, Joshua O'Connor, Kevin Fleming, Kostadin Ninev, Len Trigg, |
| 1907 | Fredrik, Moesasji, Nick, TheBlob42, bepolymathe, dinko, doolio, | 2766 | Manuel Uberti, Mark Burton, Markus Beppler, Michael Goldenberg, Morgan |
| 1908 | jixiuf, okamsn, tycho garen. | 2767 | Smith, Murilo Pereira, Nicolas De Jaeghere, Paul Poloskov, Pete |
| 1909 | 2768 | Kazmier, Peter Wu, Philip K., Pierre Téchoueyres, Roman Rudakov, Ryan | |
| 1910 | + Packaging :: Dhavan Vaidya (Debian), Stefan Kangas (core Emacs), | 2769 | Phillips, Sam Kleinman, Shreyas Ragavan, Simon Pugnet, Tassilo Horn, |
| 1911 | Stefan Monnier (GNU Elpa). | 2770 | Thibaut Verron, Trey Merkley, Togan Muftuoglu, Toon Claes, Uri Sharf, |
| 2771 | Utkarsh Singh, Vincent Foley. As well as users: Ben, CsBigDataHub1, | ||
| 2772 | Emacs Contrib, Eugene, Fourchaux, Fredrik, Moesasji, Nick, TheBlob42, | ||
| 2773 | bepolymathe, doolio, fleimgruber, iSeeU, jixiuf, okamsn. | ||
| 2774 | |||
| 2775 | + Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii, Glenn | ||
| 2776 | Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core Emacs), | ||
| 2777 | Stefan Monnier (GNU Elpa), André Alexandre Gomes, Dimakakos Dimos, | ||
| 2778 | Morgan Smith, Nicolas Goaziou (Guix), Dhavan Vaidya (Debian). | ||
| 1912 | 2779 | ||
| 1913 | + Inspiration for certain features :: Bozhidar Batsov (zenburn-theme), | 2780 | + Inspiration for certain features :: Bozhidar Batsov (zenburn-theme), |
| 1914 | Fabrice Niessen (leuven-theme). | 2781 | Fabrice Niessen (leuven-theme). |
| 1915 | 2782 | ||
| 2783 | Special thanks, in no particular order, to Manuel Uberti and Omar | ||
| 2784 | AntolÃn Camarena for their long time contributions and insightful | ||
| 2785 | commentary. | ||
| 2786 | |||
| 1916 | * Meta | 2787 | * Meta |
| 1917 | :PROPERTIES: | 2788 | :properties: |
| 1918 | :CUSTOM_ID: h:13752581-4378-478c-af17-165b6e76bc1b | 2789 | :custom_id: h:13752581-4378-478c-af17-165b6e76bc1b |
| 1919 | :END: | 2790 | :end: |
| 2791 | #+cindex: Development notes | ||
| 1920 | 2792 | ||
| 1921 | If you are curious about the principles that govern the development of | 2793 | If you are curious about the principles that govern the development of |
| 1922 | this project read the essay [[https://protesilaos.com/codelog/2020-03-17-design-modus-themes-emacs/][On the design of the Modus themes]] | 2794 | this project read the essay [[https://protesilaos.com/codelog/2020-03-17-design-modus-themes-emacs/][On the design of the Modus themes]] |
| @@ -1931,32 +2803,501 @@ of this sort): | |||
| 1931 | + [[https://protesilaos.com/codelog/2020-07-04-modus-themes-faint-colours/][Modus themes: new "faint syntax" option]] (2020-07-04) | 2803 | + [[https://protesilaos.com/codelog/2020-07-04-modus-themes-faint-colours/][Modus themes: new "faint syntax" option]] (2020-07-04) |
| 1932 | + [[https://protesilaos.com/codelog/2020-07-08-modus-themes-nuanced-colours/][Modus themes: major review of "nuanced" colours]] (2020-07-08) | 2804 | + [[https://protesilaos.com/codelog/2020-07-08-modus-themes-nuanced-colours/][Modus themes: major review of "nuanced" colours]] (2020-07-08) |
| 1933 | + [[https://protesilaos.com/codelog/2020-09-14-modus-themes-review-blues/][Modus themes: review of blue colours]] (2020-09-14) | 2805 | + [[https://protesilaos.com/codelog/2020-09-14-modus-themes-review-blues/][Modus themes: review of blue colours]] (2020-09-14) |
| 2806 | + [[https://protesilaos.com/codelog/2020-12-27-modus-themes-review-rainbow-delimiters/][Modus themes: review rainbow-delimiters faces]] (2020-12-27) | ||
| 2807 | + [[https://protesilaos.com/codelog/2021-01-11-modus-themes-review-select-faint-colours/][Modus themes: review of select "faint" colours]] (2021-01-11) | ||
| 2808 | + [[https://protesilaos.com/codelog/2021-02-25-modus-themes-diffs-deuteranopia/][The Modus themes now cover deuteranopia in diffs]] (2021-02-25) | ||
| 1934 | 2809 | ||
| 1935 | And here are the canonical sources for this project's documentation: | 2810 | And here are the canonical sources of this project's documentation: |
| 1936 | 2811 | ||
| 1937 | + Manual :: <https://protesilaos.com/modus-themes> | 2812 | + Manual :: <https://protesilaos.com/modus-themes> |
| 1938 | + Change Log :: <https://protesilaos.com/modus-themes-changelog> | 2813 | + Change Log :: <https://protesilaos.com/modus-themes-changelog> |
| 1939 | + Screenshots :: <https://protesilaos.com/modus-themes-pictures> | 2814 | + Screenshots :: <https://protesilaos.com/modus-themes-pictures> |
| 1940 | 2815 | ||
| 1941 | * External projects (ports) | ||
| 1942 | :PROPERTIES: | ||
| 1943 | :CUSTOM_ID: h:21adb7c8-2208-41e8-803c-052e42e2c05d | ||
| 1944 | :END: | ||
| 1945 | |||
| 1946 | The present section documents projects that extend the scope of the | ||
| 1947 | Modus themes. The following list will be updated whenever relevant | ||
| 1948 | information is brought to my attention. If you already have or intend | ||
| 1949 | to produce such a port, feel welcome [[https://protesilaos.com/contact][to contact me]]. | ||
| 1950 | |||
| 1951 | + Modus exporter :: This is [[https://github.com/polaris64/modus-exporter][an Elisp library written by Simon Pugnet]]. | ||
| 1952 | Licensed under the terms of the GNU General Public License. It is | ||
| 1953 | meant to capture the color values of the active Modus theme (Operandi | ||
| 1954 | or Vivendi) and output it as a valid theme for some other application. | ||
| 1955 | |||
| 1956 | * GNU Free Documentation License | 2816 | * GNU Free Documentation License |
| 1957 | :PROPERTIES: | 2817 | :properties: |
| 1958 | :APPENDIX: t | 2818 | :appendix: t |
| 1959 | :CUSTOM_ID: h:3077c3d2-7f90-4228-8f0a-73124f4026f6 | 2819 | :custom_id: h:3077c3d2-7f90-4228-8f0a-73124f4026f6 |
| 1960 | :END: | 2820 | :end: |
| 1961 | 2821 | ||
| 1962 | #+texinfo: @include doclicense.texi | 2822 | #+texinfo: @include doclicense.texi |
| 2823 | |||
| 2824 | #+begin_export html | ||
| 2825 | |||
| 2826 | GNU Free Documentation License | ||
| 2827 | Version 1.3, 3 November 2008 | ||
| 2828 | |||
| 2829 | |||
| 2830 | Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. | ||
| 2831 | <https://fsf.org/> | ||
| 2832 | Everyone is permitted to copy and distribute verbatim copies | ||
| 2833 | of this license document, but changing it is not allowed. | ||
| 2834 | |||
| 2835 | 0. PREAMBLE | ||
| 2836 | |||
| 2837 | The purpose of this License is to make a manual, textbook, or other | ||
| 2838 | functional and useful document "free" in the sense of freedom: to | ||
| 2839 | assure everyone the effective freedom to copy and redistribute it, | ||
| 2840 | with or without modifying it, either commercially or noncommercially. | ||
| 2841 | Secondarily, this License preserves for the author and publisher a way | ||
| 2842 | to get credit for their work, while not being considered responsible | ||
| 2843 | for modifications made by others. | ||
| 2844 | |||
| 2845 | This License is a kind of "copyleft", which means that derivative | ||
| 2846 | works of the document must themselves be free in the same sense. It | ||
| 2847 | complements the GNU General Public License, which is a copyleft | ||
| 2848 | license designed for free software. | ||
| 2849 | |||
| 2850 | We have designed this License in order to use it for manuals for free | ||
| 2851 | software, because free software needs free documentation: a free | ||
| 2852 | program should come with manuals providing the same freedoms that the | ||
| 2853 | software does. But this License is not limited to software manuals; | ||
| 2854 | it can be used for any textual work, regardless of subject matter or | ||
| 2855 | whether it is published as a printed book. We recommend this License | ||
| 2856 | principally for works whose purpose is instruction or reference. | ||
| 2857 | |||
| 2858 | |||
| 2859 | 1. APPLICABILITY AND DEFINITIONS | ||
| 2860 | |||
| 2861 | This License applies to any manual or other work, in any medium, that | ||
| 2862 | contains a notice placed by the copyright holder saying it can be | ||
| 2863 | distributed under the terms of this License. Such a notice grants a | ||
| 2864 | world-wide, royalty-free license, unlimited in duration, to use that | ||
| 2865 | work under the conditions stated herein. The "Document", below, | ||
| 2866 | refers to any such manual or work. Any member of the public is a | ||
| 2867 | licensee, and is addressed as "you". You accept the license if you | ||
| 2868 | copy, modify or distribute the work in a way requiring permission | ||
| 2869 | under copyright law. | ||
| 2870 | |||
| 2871 | A "Modified Version" of the Document means any work containing the | ||
| 2872 | Document or a portion of it, either copied verbatim, or with | ||
| 2873 | modifications and/or translated into another language. | ||
| 2874 | |||
| 2875 | A "Secondary Section" is a named appendix or a front-matter section of | ||
| 2876 | the Document that deals exclusively with the relationship of the | ||
| 2877 | publishers or authors of the Document to the Document's overall | ||
| 2878 | subject (or to related matters) and contains nothing that could fall | ||
| 2879 | directly within that overall subject. (Thus, if the Document is in | ||
| 2880 | part a textbook of mathematics, a Secondary Section may not explain | ||
| 2881 | any mathematics.) The relationship could be a matter of historical | ||
| 2882 | connection with the subject or with related matters, or of legal, | ||
| 2883 | commercial, philosophical, ethical or political position regarding | ||
| 2884 | them. | ||
| 2885 | |||
| 2886 | The "Invariant Sections" are certain Secondary Sections whose titles | ||
| 2887 | are designated, as being those of Invariant Sections, in the notice | ||
| 2888 | that says that the Document is released under this License. If a | ||
| 2889 | section does not fit the above definition of Secondary then it is not | ||
| 2890 | allowed to be designated as Invariant. The Document may contain zero | ||
| 2891 | Invariant Sections. If the Document does not identify any Invariant | ||
| 2892 | Sections then there are none. | ||
| 2893 | |||
| 2894 | The "Cover Texts" are certain short passages of text that are listed, | ||
| 2895 | as Front-Cover Texts or Back-Cover Texts, in the notice that says that | ||
| 2896 | the Document is released under this License. A Front-Cover Text may | ||
| 2897 | be at most 5 words, and a Back-Cover Text may be at most 25 words. | ||
| 2898 | |||
| 2899 | A "Transparent" copy of the Document means a machine-readable copy, | ||
| 2900 | represented in a format whose specification is available to the | ||
| 2901 | general public, that is suitable for revising the document | ||
| 2902 | straightforwardly with generic text editors or (for images composed of | ||
| 2903 | pixels) generic paint programs or (for drawings) some widely available | ||
| 2904 | drawing editor, and that is suitable for input to text formatters or | ||
| 2905 | for automatic translation to a variety of formats suitable for input | ||
| 2906 | to text formatters. A copy made in an otherwise Transparent file | ||
| 2907 | format whose markup, or absence of markup, has been arranged to thwart | ||
| 2908 | or discourage subsequent modification by readers is not Transparent. | ||
| 2909 | An image format is not Transparent if used for any substantial amount | ||
| 2910 | of text. A copy that is not "Transparent" is called "Opaque". | ||
| 2911 | |||
| 2912 | Examples of suitable formats for Transparent copies include plain | ||
| 2913 | ASCII without markup, Texinfo input format, LaTeX input format, SGML | ||
| 2914 | or XML using a publicly available DTD, and standard-conforming simple | ||
| 2915 | HTML, PostScript or PDF designed for human modification. Examples of | ||
| 2916 | transparent image formats include PNG, XCF and JPG. Opaque formats | ||
| 2917 | include proprietary formats that can be read and edited only by | ||
| 2918 | proprietary word processors, SGML or XML for which the DTD and/or | ||
| 2919 | processing tools are not generally available, and the | ||
| 2920 | machine-generated HTML, PostScript or PDF produced by some word | ||
| 2921 | processors for output purposes only. | ||
| 2922 | |||
| 2923 | The "Title Page" means, for a printed book, the title page itself, | ||
| 2924 | plus such following pages as are needed to hold, legibly, the material | ||
| 2925 | this License requires to appear in the title page. For works in | ||
| 2926 | formats which do not have any title page as such, "Title Page" means | ||
| 2927 | the text near the most prominent appearance of the work's title, | ||
| 2928 | preceding the beginning of the body of the text. | ||
| 2929 | |||
| 2930 | The "publisher" means any person or entity that distributes copies of | ||
| 2931 | the Document to the public. | ||
| 2932 | |||
| 2933 | A section "Entitled XYZ" means a named subunit of the Document whose | ||
| 2934 | title either is precisely XYZ or contains XYZ in parentheses following | ||
| 2935 | text that translates XYZ in another language. (Here XYZ stands for a | ||
| 2936 | specific section name mentioned below, such as "Acknowledgements", | ||
| 2937 | "Dedications", "Endorsements", or "History".) To "Preserve the Title" | ||
| 2938 | of such a section when you modify the Document means that it remains a | ||
| 2939 | section "Entitled XYZ" according to this definition. | ||
| 2940 | |||
| 2941 | The Document may include Warranty Disclaimers next to the notice which | ||
| 2942 | states that this License applies to the Document. These Warranty | ||
| 2943 | Disclaimers are considered to be included by reference in this | ||
| 2944 | License, but only as regards disclaiming warranties: any other | ||
| 2945 | implication that these Warranty Disclaimers may have is void and has | ||
| 2946 | no effect on the meaning of this License. | ||
| 2947 | |||
| 2948 | 2. VERBATIM COPYING | ||
| 2949 | |||
| 2950 | You may copy and distribute the Document in any medium, either | ||
| 2951 | commercially or noncommercially, provided that this License, the | ||
| 2952 | copyright notices, and the license notice saying this License applies | ||
| 2953 | to the Document are reproduced in all copies, and that you add no | ||
| 2954 | other conditions whatsoever to those of this License. You may not use | ||
| 2955 | technical measures to obstruct or control the reading or further | ||
| 2956 | copying of the copies you make or distribute. However, you may accept | ||
| 2957 | compensation in exchange for copies. If you distribute a large enough | ||
| 2958 | number of copies you must also follow the conditions in section 3. | ||
| 2959 | |||
| 2960 | You may also lend copies, under the same conditions stated above, and | ||
| 2961 | you may publicly display copies. | ||
| 2962 | |||
| 2963 | |||
| 2964 | 3. COPYING IN QUANTITY | ||
| 2965 | |||
| 2966 | If you publish printed copies (or copies in media that commonly have | ||
| 2967 | printed covers) of the Document, numbering more than 100, and the | ||
| 2968 | Document's license notice requires Cover Texts, you must enclose the | ||
| 2969 | copies in covers that carry, clearly and legibly, all these Cover | ||
| 2970 | Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on | ||
| 2971 | the back cover. Both covers must also clearly and legibly identify | ||
| 2972 | you as the publisher of these copies. The front cover must present | ||
| 2973 | the full title with all words of the title equally prominent and | ||
| 2974 | visible. You may add other material on the covers in addition. | ||
| 2975 | Copying with changes limited to the covers, as long as they preserve | ||
| 2976 | the title of the Document and satisfy these conditions, can be treated | ||
| 2977 | as verbatim copying in other respects. | ||
| 2978 | |||
| 2979 | If the required texts for either cover are too voluminous to fit | ||
| 2980 | legibly, you should put the first ones listed (as many as fit | ||
| 2981 | reasonably) on the actual cover, and continue the rest onto adjacent | ||
| 2982 | pages. | ||
| 2983 | |||
| 2984 | If you publish or distribute Opaque copies of the Document numbering | ||
| 2985 | more than 100, you must either include a machine-readable Transparent | ||
| 2986 | copy along with each Opaque copy, or state in or with each Opaque copy | ||
| 2987 | a computer-network location from which the general network-using | ||
| 2988 | public has access to download using public-standard network protocols | ||
| 2989 | a complete Transparent copy of the Document, free of added material. | ||
| 2990 | If you use the latter option, you must take reasonably prudent steps, | ||
| 2991 | when you begin distribution of Opaque copies in quantity, to ensure | ||
| 2992 | that this Transparent copy will remain thus accessible at the stated | ||
| 2993 | location until at least one year after the last time you distribute an | ||
| 2994 | Opaque copy (directly or through your agents or retailers) of that | ||
| 2995 | edition to the public. | ||
| 2996 | |||
| 2997 | It is requested, but not required, that you contact the authors of the | ||
| 2998 | Document well before redistributing any large number of copies, to | ||
| 2999 | give them a chance to provide you with an updated version of the | ||
| 3000 | Document. | ||
| 3001 | |||
| 3002 | |||
| 3003 | 4. MODIFICATIONS | ||
| 3004 | |||
| 3005 | You may copy and distribute a Modified Version of the Document under | ||
| 3006 | the conditions of sections 2 and 3 above, provided that you release | ||
| 3007 | the Modified Version under precisely this License, with the Modified | ||
| 3008 | Version filling the role of the Document, thus licensing distribution | ||
| 3009 | and modification of the Modified Version to whoever possesses a copy | ||
| 3010 | of it. In addition, you must do these things in the Modified Version: | ||
| 3011 | |||
| 3012 | A. Use in the Title Page (and on the covers, if any) a title distinct | ||
| 3013 | from that of the Document, and from those of previous versions | ||
| 3014 | (which should, if there were any, be listed in the History section | ||
| 3015 | of the Document). You may use the same title as a previous version | ||
| 3016 | if the original publisher of that version gives permission. | ||
| 3017 | B. List on the Title Page, as authors, one or more persons or entities | ||
| 3018 | responsible for authorship of the modifications in the Modified | ||
| 3019 | Version, together with at least five of the principal authors of the | ||
| 3020 | Document (all of its principal authors, if it has fewer than five), | ||
| 3021 | unless they release you from this requirement. | ||
| 3022 | C. State on the Title page the name of the publisher of the | ||
| 3023 | Modified Version, as the publisher. | ||
| 3024 | D. Preserve all the copyright notices of the Document. | ||
| 3025 | E. Add an appropriate copyright notice for your modifications | ||
| 3026 | adjacent to the other copyright notices. | ||
| 3027 | F. Include, immediately after the copyright notices, a license notice | ||
| 3028 | giving the public permission to use the Modified Version under the | ||
| 3029 | terms of this License, in the form shown in the Addendum below. | ||
| 3030 | G. Preserve in that license notice the full lists of Invariant Sections | ||
| 3031 | and required Cover Texts given in the Document's license notice. | ||
| 3032 | H. Include an unaltered copy of this License. | ||
| 3033 | I. Preserve the section Entitled "History", Preserve its Title, and add | ||
| 3034 | to it an item stating at least the title, year, new authors, and | ||
| 3035 | publisher of the Modified Version as given on the Title Page. If | ||
| 3036 | there is no section Entitled "History" in the Document, create one | ||
| 3037 | stating the title, year, authors, and publisher of the Document as | ||
| 3038 | given on its Title Page, then add an item describing the Modified | ||
| 3039 | Version as stated in the previous sentence. | ||
| 3040 | J. Preserve the network location, if any, given in the Document for | ||
| 3041 | public access to a Transparent copy of the Document, and likewise | ||
| 3042 | the network locations given in the Document for previous versions | ||
| 3043 | it was based on. These may be placed in the "History" section. | ||
| 3044 | You may omit a network location for a work that was published at | ||
| 3045 | least four years before the Document itself, or if the original | ||
| 3046 | publisher of the version it refers to gives permission. | ||
| 3047 | K. For any section Entitled "Acknowledgements" or "Dedications", | ||
| 3048 | Preserve the Title of the section, and preserve in the section all | ||
| 3049 | the substance and tone of each of the contributor acknowledgements | ||
| 3050 | and/or dedications given therein. | ||
| 3051 | L. Preserve all the Invariant Sections of the Document, | ||
| 3052 | unaltered in their text and in their titles. Section numbers | ||
| 3053 | or the equivalent are not considered part of the section titles. | ||
| 3054 | M. Delete any section Entitled "Endorsements". Such a section | ||
| 3055 | may not be included in the Modified Version. | ||
| 3056 | N. Do not retitle any existing section to be Entitled "Endorsements" | ||
| 3057 | or to conflict in title with any Invariant Section. | ||
| 3058 | O. Preserve any Warranty Disclaimers. | ||
| 3059 | |||
| 3060 | If the Modified Version includes new front-matter sections or | ||
| 3061 | appendices that qualify as Secondary Sections and contain no material | ||
| 3062 | copied from the Document, you may at your option designate some or all | ||
| 3063 | of these sections as invariant. To do this, add their titles to the | ||
| 3064 | list of Invariant Sections in the Modified Version's license notice. | ||
| 3065 | These titles must be distinct from any other section titles. | ||
| 3066 | |||
| 3067 | You may add a section Entitled "Endorsements", provided it contains | ||
| 3068 | nothing but endorsements of your Modified Version by various | ||
| 3069 | parties--for example, statements of peer review or that the text has | ||
| 3070 | been approved by an organization as the authoritative definition of a | ||
| 3071 | standard. | ||
| 3072 | |||
| 3073 | You may add a passage of up to five words as a Front-Cover Text, and a | ||
| 3074 | passage of up to 25 words as a Back-Cover Text, to the end of the list | ||
| 3075 | of Cover Texts in the Modified Version. Only one passage of | ||
| 3076 | Front-Cover Text and one of Back-Cover Text may be added by (or | ||
| 3077 | through arrangements made by) any one entity. If the Document already | ||
| 3078 | includes a cover text for the same cover, previously added by you or | ||
| 3079 | by arrangement made by the same entity you are acting on behalf of, | ||
| 3080 | you may not add another; but you may replace the old one, on explicit | ||
| 3081 | permission from the previous publisher that added the old one. | ||
| 3082 | |||
| 3083 | The author(s) and publisher(s) of the Document do not by this License | ||
| 3084 | give permission to use their names for publicity for or to assert or | ||
| 3085 | imply endorsement of any Modified Version. | ||
| 3086 | |||
| 3087 | |||
| 3088 | 5. COMBINING DOCUMENTS | ||
| 3089 | |||
| 3090 | You may combine the Document with other documents released under this | ||
| 3091 | License, under the terms defined in section 4 above for modified | ||
| 3092 | versions, provided that you include in the combination all of the | ||
| 3093 | Invariant Sections of all of the original documents, unmodified, and | ||
| 3094 | list them all as Invariant Sections of your combined work in its | ||
| 3095 | license notice, and that you preserve all their Warranty Disclaimers. | ||
| 3096 | |||
| 3097 | The combined work need only contain one copy of this License, and | ||
| 3098 | multiple identical Invariant Sections may be replaced with a single | ||
| 3099 | copy. If there are multiple Invariant Sections with the same name but | ||
| 3100 | different contents, make the title of each such section unique by | ||
| 3101 | adding at the end of it, in parentheses, the name of the original | ||
| 3102 | author or publisher of that section if known, or else a unique number. | ||
| 3103 | Make the same adjustment to the section titles in the list of | ||
| 3104 | Invariant Sections in the license notice of the combined work. | ||
| 3105 | |||
| 3106 | In the combination, you must combine any sections Entitled "History" | ||
| 3107 | in the various original documents, forming one section Entitled | ||
| 3108 | "History"; likewise combine any sections Entitled "Acknowledgements", | ||
| 3109 | and any sections Entitled "Dedications". You must delete all sections | ||
| 3110 | Entitled "Endorsements". | ||
| 3111 | |||
| 3112 | |||
| 3113 | 6. COLLECTIONS OF DOCUMENTS | ||
| 3114 | |||
| 3115 | You may make a collection consisting of the Document and other | ||
| 3116 | documents released under this License, and replace the individual | ||
| 3117 | copies of this License in the various documents with a single copy | ||
| 3118 | that is included in the collection, provided that you follow the rules | ||
| 3119 | of this License for verbatim copying of each of the documents in all | ||
| 3120 | other respects. | ||
| 3121 | |||
| 3122 | You may extract a single document from such a collection, and | ||
| 3123 | distribute it individually under this License, provided you insert a | ||
| 3124 | copy of this License into the extracted document, and follow this | ||
| 3125 | License in all other respects regarding verbatim copying of that | ||
| 3126 | document. | ||
| 3127 | |||
| 3128 | |||
| 3129 | 7. AGGREGATION WITH INDEPENDENT WORKS | ||
| 3130 | |||
| 3131 | A compilation of the Document or its derivatives with other separate | ||
| 3132 | and independent documents or works, in or on a volume of a storage or | ||
| 3133 | distribution medium, is called an "aggregate" if the copyright | ||
| 3134 | resulting from the compilation is not used to limit the legal rights | ||
| 3135 | of the compilation's users beyond what the individual works permit. | ||
| 3136 | When the Document is included in an aggregate, this License does not | ||
| 3137 | apply to the other works in the aggregate which are not themselves | ||
| 3138 | derivative works of the Document. | ||
| 3139 | |||
| 3140 | If the Cover Text requirement of section 3 is applicable to these | ||
| 3141 | copies of the Document, then if the Document is less than one half of | ||
| 3142 | the entire aggregate, the Document's Cover Texts may be placed on | ||
| 3143 | covers that bracket the Document within the aggregate, or the | ||
| 3144 | electronic equivalent of covers if the Document is in electronic form. | ||
| 3145 | Otherwise they must appear on printed covers that bracket the whole | ||
| 3146 | aggregate. | ||
| 3147 | |||
| 3148 | |||
| 3149 | 8. TRANSLATION | ||
| 3150 | |||
| 3151 | Translation is considered a kind of modification, so you may | ||
| 3152 | distribute translations of the Document under the terms of section 4. | ||
| 3153 | Replacing Invariant Sections with translations requires special | ||
| 3154 | permission from their copyright holders, but you may include | ||
| 3155 | translations of some or all Invariant Sections in addition to the | ||
| 3156 | original versions of these Invariant Sections. You may include a | ||
| 3157 | translation of this License, and all the license notices in the | ||
| 3158 | Document, and any Warranty Disclaimers, provided that you also include | ||
| 3159 | the original English version of this License and the original versions | ||
| 3160 | of those notices and disclaimers. In case of a disagreement between | ||
| 3161 | the translation and the original version of this License or a notice | ||
| 3162 | or disclaimer, the original version will prevail. | ||
| 3163 | |||
| 3164 | If a section in the Document is Entitled "Acknowledgements", | ||
| 3165 | "Dedications", or "History", the requirement (section 4) to Preserve | ||
| 3166 | its Title (section 1) will typically require changing the actual | ||
| 3167 | title. | ||
| 3168 | |||
| 3169 | |||
| 3170 | 9. TERMINATION | ||
| 3171 | |||
| 3172 | You may not copy, modify, sublicense, or distribute the Document | ||
| 3173 | except as expressly provided under this License. Any attempt | ||
| 3174 | otherwise to copy, modify, sublicense, or distribute it is void, and | ||
| 3175 | will automatically terminate your rights under this License. | ||
| 3176 | |||
| 3177 | However, if you cease all violation of this License, then your license | ||
| 3178 | from a particular copyright holder is reinstated (a) provisionally, | ||
| 3179 | unless and until the copyright holder explicitly and finally | ||
| 3180 | terminates your license, and (b) permanently, if the copyright holder | ||
| 3181 | fails to notify you of the violation by some reasonable means prior to | ||
| 3182 | 60 days after the cessation. | ||
| 3183 | |||
| 3184 | Moreover, your license from a particular copyright holder is | ||
| 3185 | reinstated permanently if the copyright holder notifies you of the | ||
| 3186 | violation by some reasonable means, this is the first time you have | ||
| 3187 | received notice of violation of this License (for any work) from that | ||
| 3188 | copyright holder, and you cure the violation prior to 30 days after | ||
| 3189 | your receipt of the notice. | ||
| 3190 | |||
| 3191 | Termination of your rights under this section does not terminate the | ||
| 3192 | licenses of parties who have received copies or rights from you under | ||
| 3193 | this License. If your rights have been terminated and not permanently | ||
| 3194 | reinstated, receipt of a copy of some or all of the same material does | ||
| 3195 | not give you any rights to use it. | ||
| 3196 | |||
| 3197 | |||
| 3198 | 10. FUTURE REVISIONS OF THIS LICENSE | ||
| 3199 | |||
| 3200 | The Free Software Foundation may publish new, revised versions of the | ||
| 3201 | GNU Free Documentation License from time to time. Such new versions | ||
| 3202 | will be similar in spirit to the present version, but may differ in | ||
| 3203 | detail to address new problems or concerns. See | ||
| 3204 | https://www.gnu.org/licenses/. | ||
| 3205 | |||
| 3206 | Each version of the License is given a distinguishing version number. | ||
| 3207 | If the Document specifies that a particular numbered version of this | ||
| 3208 | License "or any later version" applies to it, you have the option of | ||
| 3209 | following the terms and conditions either of that specified version or | ||
| 3210 | of any later version that has been published (not as a draft) by the | ||
| 3211 | Free Software Foundation. If the Document does not specify a version | ||
| 3212 | number of this License, you may choose any version ever published (not | ||
| 3213 | as a draft) by the Free Software Foundation. If the Document | ||
| 3214 | specifies that a proxy can decide which future versions of this | ||
| 3215 | License can be used, that proxy's public statement of acceptance of a | ||
| 3216 | version permanently authorizes you to choose that version for the | ||
| 3217 | Document. | ||
| 3218 | |||
| 3219 | 11. RELICENSING | ||
| 3220 | |||
| 3221 | "Massive Multiauthor Collaboration Site" (or "MMC Site") means any | ||
| 3222 | World Wide Web server that publishes copyrightable works and also | ||
| 3223 | provides prominent facilities for anybody to edit those works. A | ||
| 3224 | public wiki that anybody can edit is an example of such a server. A | ||
| 3225 | "Massive Multiauthor Collaboration" (or "MMC") contained in the site | ||
| 3226 | means any set of copyrightable works thus published on the MMC site. | ||
| 3227 | |||
| 3228 | "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 | ||
| 3229 | license published by Creative Commons Corporation, a not-for-profit | ||
| 3230 | corporation with a principal place of business in San Francisco, | ||
| 3231 | California, as well as future copyleft versions of that license | ||
| 3232 | published by that same organization. | ||
| 3233 | |||
| 3234 | "Incorporate" means to publish or republish a Document, in whole or in | ||
| 3235 | part, as part of another Document. | ||
| 3236 | |||
| 3237 | An MMC is "eligible for relicensing" if it is licensed under this | ||
| 3238 | License, and if all works that were first published under this License | ||
| 3239 | somewhere other than this MMC, and subsequently incorporated in whole or | ||
| 3240 | in part into the MMC, (1) had no cover texts or invariant sections, and | ||
| 3241 | (2) were thus incorporated prior to November 1, 2008. | ||
| 3242 | |||
| 3243 | The operator of an MMC Site may republish an MMC contained in the site | ||
| 3244 | under CC-BY-SA on the same site at any time before August 1, 2009, | ||
| 3245 | provided the MMC is eligible for relicensing. | ||
| 3246 | |||
| 3247 | |||
| 3248 | ADDENDUM: How to use this License for your documents | ||
| 3249 | |||
| 3250 | To use this License in a document you have written, include a copy of | ||
| 3251 | the License in the document and put the following copyright and | ||
| 3252 | license notices just after the title page: | ||
| 3253 | |||
| 3254 | Copyright (c) YEAR YOUR NAME. | ||
| 3255 | Permission is granted to copy, distribute and/or modify this document | ||
| 3256 | under the terms of the GNU Free Documentation License, Version 1.3 | ||
| 3257 | or any later version published by the Free Software Foundation; | ||
| 3258 | with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. | ||
| 3259 | A copy of the license is included in the section entitled "GNU | ||
| 3260 | Free Documentation License". | ||
| 3261 | |||
| 3262 | If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, | ||
| 3263 | replace the "with...Texts." line with this: | ||
| 3264 | |||
| 3265 | with the Invariant Sections being LIST THEIR TITLES, with the | ||
| 3266 | Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. | ||
| 3267 | |||
| 3268 | If you have Invariant Sections without Cover Texts, or some other | ||
| 3269 | combination of the three, merge those two alternatives to suit the | ||
| 3270 | situation. | ||
| 3271 | |||
| 3272 | If your document contains nontrivial examples of program code, we | ||
| 3273 | recommend releasing these examples in parallel under your choice of | ||
| 3274 | free software license, such as the GNU General Public License, | ||
| 3275 | to permit their use in free software. | ||
| 3276 | #+end_export | ||
| 3277 | |||
| 3278 | #+html: <!-- | ||
| 3279 | |||
| 3280 | * Indices | ||
| 3281 | :properties: | ||
| 3282 | :custom_id: h:55104b26-8e94-46cf-9975-43ea00316489 | ||
| 3283 | :end: | ||
| 3284 | |||
| 3285 | ** Function index | ||
| 3286 | :properties: | ||
| 3287 | :index: fn | ||
| 3288 | :custom_id: h:6bec5005-529c-4521-ae05-3d990baffb5b | ||
| 3289 | :end: | ||
| 3290 | |||
| 3291 | ** Variable index | ||
| 3292 | :properties: | ||
| 3293 | :index: vr | ||
| 3294 | :custom_id: h:16ad8df6-b015-40a9-9259-03d4f7a23ee4 | ||
| 3295 | :end: | ||
| 3296 | |||
| 3297 | ** Concept index | ||
| 3298 | :properties: | ||
| 3299 | :index: cp | ||
| 3300 | :custom_id: h:6aa7a656-884b-4c39-b759-087e412eec13 | ||
| 3301 | :end: | ||
| 3302 | |||
| 3303 | #+html: --> | ||
diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el index 9d6e9ad50fd..ce2c75e9a89 100644 --- a/etc/themes/modus-operandi-theme.el +++ b/etc/themes/modus-operandi-theme.el | |||
| @@ -1,4663 +1,65 @@ | |||
| 1 | ;;; modus-operandi-theme.el --- Accessible light theme (WCAG AAA) -*- lexical-binding:t -*- | 1 | ;;; modus-operandi-theme.el --- Accessible light theme (WCAG AAA) -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; URL: https://gitlab.com/protesilaos/modus-themes | 6 | ;; URL: https://gitlab.com/protesilaos/modus-themes |
| 7 | ;; Version: 0.13.0 | 7 | ;; Version: 1.2.0 |
| 8 | ;; Package-Requires: ((emacs "26.1")) | 8 | ;; Package-Requires: ((emacs "26.1")) |
| 9 | ;; Keywords: faces, theme, accessibility | 9 | ;; Keywords: faces, theme, accessibility |
| 10 | 10 | ||
| 11 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| 12 | 12 | ||
| 13 | ;; GNU Emacs is free software: you can redistribute it and/or modify | 13 | ;; This program is free software; you can redistribute it and/or modify |
| 14 | ;; it under the terms of the GNU General Public License as published by | 14 | ;; it under the terms of the GNU General Public License as published by |
| 15 | ;; the Free Software Foundation, either version 3 of the License, or | 15 | ;; the Free Software Foundation, either version 3 of the License, or (at |
| 16 | ;; (at your option) any later version. | 16 | ;; your option) any later version. |
| 17 | 17 | ;; | |
| 18 | ;; GNU Emacs is distributed in the hope that it will be useful, | 18 | ;; This program is distributed in the hope that it will be useful, but |
| 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | 19 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of |
| 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 21 | ;; GNU General Public License for more details. | 21 | ;; General Public License for more details. |
| 22 | 22 | ;; | |
| 23 | ;; You should have received a copy of the GNU General Public License | 23 | ;; You should have received a copy of the GNU General Public License |
| 24 | ;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | 24 | ;; along with this program. If not, see <https://www.gnu.org/licenses/>. |
| 25 | 25 | ||
| 26 | ;;; Commentary: | 26 | ;;; Commentary: |
| 27 | ;; | 27 | ;; |
| 28 | ;; This theme is designed for colour-contrast accessibility. | 28 | ;; Modus Operandi is the light variant of the Modus themes (Modus |
| 29 | ;; | 29 | ;; Vivendi is the dark one). The themes are designed for color-contrast |
| 30 | ;; 1. Provide a consistent minimum contrast ratio between background and | 30 | ;; accessibility. More specifically: |
| 31 | ;; foreground values of 7:1 or higher. This meets the highest such | ||
| 32 | ;; accessibility criterion per the guidelines of the Worldwide Web | ||
| 33 | ;; Consortium's Working Group on Accessibility (WCAG AAA standard). | ||
| 34 | ;; | 31 | ;; |
| 35 | ;; 2. Offer as close to full face coverage as possible. The list is | 32 | ;; 1. Provide a consistent minimum contrast ratio between background |
| 36 | ;; already quite long (see further below), with more additions to follow | 33 | ;; and foreground values of 7:1 or higher. This meets the highest |
| 37 | ;; as part of the ongoing development process. | 34 | ;; such accessibility criterion per the guidelines of the Worldwide |
| 35 | ;; Web Consortium's Working Group on Accessibility (WCAG AAA | ||
| 36 | ;; standard). | ||
| 38 | ;; | 37 | ;; |
| 39 | ;; The theme provides the following customisation options, all of which | 38 | ;; 2. Offer as close to full face coverage as possible. The list is |
| 40 | ;; are disabled by default: | 39 | ;; already quite long, with more additions to follow as part of the |
| 40 | ;; ongoing development process. | ||
| 41 | ;; | 41 | ;; |
| 42 | ;; modus-operandi-theme-slanted-constructs (boolean) | 42 | ;; For a complete view of the project, also refer to the following files |
| 43 | ;; modus-operandi-theme-bold-constructs (boolean) | 43 | ;; (should be distributed in the same repository/directory as the |
| 44 | ;; modus-operandi-theme-variable-pitch-headings (boolean) | 44 | ;; current item): |
| 45 | ;; modus-operandi-theme-no-mixed-fonts (boolean) | ||
| 46 | ;; modus-operandi-theme-headings (alist) | ||
| 47 | ;; modus-operandi-theme-scale-headings (boolean) | ||
| 48 | ;; modus-operandi-theme-fringes (choice) | ||
| 49 | ;; modus-operandi-theme-org-blocks (choice) | ||
| 50 | ;; modus-operandi-theme-prompts (choice) | ||
| 51 | ;; modus-operandi-theme-mode-line (choice) | ||
| 52 | ;; modus-operandi-theme-diffs (choice) | ||
| 53 | ;; modus-operandi-theme-faint-syntax (boolean) | ||
| 54 | ;; modus-operandi-theme-intense-hl-line (boolean) | ||
| 55 | ;; modus-operandi-theme-intense-paren-match (boolean) | ||
| 56 | ;; modus-operandi-theme-no-link-underline (boolean) | ||
| 57 | ;; modus-operandi-theme-completions (choice) | ||
| 58 | ;; modus-operandi-theme-override-colors-alist (alist) | ||
| 59 | ;; | 45 | ;; |
| 60 | ;; The default scale is as follows (it can be customised as well): | 46 | ;; - modus-themes.el (Main code shared between the themes) |
| 61 | ;; | 47 | ;; - modus-vivendi-theme.el (Dark theme) |
| 62 | ;; modus-operandi-theme-scale-1 1.05 | ||
| 63 | ;; modus-operandi-theme-scale-2 1.1 | ||
| 64 | ;; modus-operandi-theme-scale-3 1.15 | ||
| 65 | ;; modus-operandi-theme-scale-4 1.2 | ||
| 66 | ;; modus-operandi-theme-scale-5 1.3 | ||
| 67 | ;; | ||
| 68 | ;; What follows is the list of explicitly supported packages or face | ||
| 69 | ;; groups (there are implicitly supported packages as well, which | ||
| 70 | ;; inherit from font-lock or some basic group). You are encouraged to | ||
| 71 | ;; notify me of any missing package or change you would like to see. | ||
| 72 | ;; | ||
| 73 | ;; ace-window | ||
| 74 | ;; ag | ||
| 75 | ;; alert | ||
| 76 | ;; all-the-icons | ||
| 77 | ;; annotate | ||
| 78 | ;; anzu | ||
| 79 | ;; apropos | ||
| 80 | ;; apt-sources-list | ||
| 81 | ;; artbollocks-mode | ||
| 82 | ;; auctex and TeX | ||
| 83 | ;; auto-dim-other-buffers | ||
| 84 | ;; avy | ||
| 85 | ;; awesome-tray | ||
| 86 | ;; binder | ||
| 87 | ;; bm | ||
| 88 | ;; bongo | ||
| 89 | ;; boon | ||
| 90 | ;; breakpoint (provided by built-in gdb-mi.el) | ||
| 91 | ;; buffer-expose | ||
| 92 | ;; calendar and diary | ||
| 93 | ;; calfw | ||
| 94 | ;; centaur-tabs | ||
| 95 | ;; change-log and log-view (`vc-print-log' and `vc-print-root-log') | ||
| 96 | ;; cider | ||
| 97 | ;; circe | ||
| 98 | ;; color-rg | ||
| 99 | ;; column-enforce-mode | ||
| 100 | ;; company-mode | ||
| 101 | ;; company-posframe | ||
| 102 | ;; compilation-mode | ||
| 103 | ;; completions | ||
| 104 | ;; counsel | ||
| 105 | ;; counsel-css | ||
| 106 | ;; counsel-notmuch | ||
| 107 | ;; counsel-org-capture-string | ||
| 108 | ;; cov | ||
| 109 | ;; cperl-mode | ||
| 110 | ;; csv-mode | ||
| 111 | ;; ctrlf | ||
| 112 | ;; custom (M-x customize) | ||
| 113 | ;; dap-mode | ||
| 114 | ;; dashboard (emacs-dashboard) | ||
| 115 | ;; deadgrep | ||
| 116 | ;; debbugs | ||
| 117 | ;; define-word | ||
| 118 | ;; deft | ||
| 119 | ;; dictionary | ||
| 120 | ;; diff-hl | ||
| 121 | ;; diff-mode | ||
| 122 | ;; dim-autoload | ||
| 123 | ;; dir-treeview | ||
| 124 | ;; dired | ||
| 125 | ;; dired-async | ||
| 126 | ;; dired-git | ||
| 127 | ;; dired-git-info | ||
| 128 | ;; dired-narrow | ||
| 129 | ;; dired-subtree | ||
| 130 | ;; diredfl | ||
| 131 | ;; disk-usage | ||
| 132 | ;; doom-modeline | ||
| 133 | ;; dynamic-ruler | ||
| 134 | ;; easy-jekyll | ||
| 135 | ;; easy-kill | ||
| 136 | ;; ebdb | ||
| 137 | ;; ediff | ||
| 138 | ;; eglot | ||
| 139 | ;; el-search | ||
| 140 | ;; eldoc | ||
| 141 | ;; eldoc-box | ||
| 142 | ;; elfeed | ||
| 143 | ;; elfeed-score | ||
| 144 | ;; emms | ||
| 145 | ;; enhanced-ruby-mode | ||
| 146 | ;; epa | ||
| 147 | ;; equake | ||
| 148 | ;; erc | ||
| 149 | ;; eros | ||
| 150 | ;; ert | ||
| 151 | ;; eshell | ||
| 152 | ;; eshell-fringe-status | ||
| 153 | ;; eshell-git-prompt | ||
| 154 | ;; eshell-prompt-extras (epe) | ||
| 155 | ;; eshell-syntax-highlighting | ||
| 156 | ;; evil (evil-mode) | ||
| 157 | ;; evil-goggles | ||
| 158 | ;; evil-visual-mark-mode | ||
| 159 | ;; eww | ||
| 160 | ;; eyebrowse | ||
| 161 | ;; fancy-dabbrev | ||
| 162 | ;; flycheck | ||
| 163 | ;; flycheck-color-mode-line | ||
| 164 | ;; flycheck-indicator | ||
| 165 | ;; flycheck-posframe | ||
| 166 | ;; flymake | ||
| 167 | ;; flyspell | ||
| 168 | ;; flyspell-correct | ||
| 169 | ;; flx | ||
| 170 | ;; freeze-it | ||
| 171 | ;; frog-menu | ||
| 172 | ;; focus | ||
| 173 | ;; fold-this | ||
| 174 | ;; font-lock (generic syntax highlighting) | ||
| 175 | ;; forge | ||
| 176 | ;; fountain (fountain-mode) | ||
| 177 | ;; geiser | ||
| 178 | ;; git-commit | ||
| 179 | ;; git-gutter (and variants) | ||
| 180 | ;; git-lens | ||
| 181 | ;; git-rebase | ||
| 182 | ;; git-timemachine | ||
| 183 | ;; git-walktree | ||
| 184 | ;; gnus | ||
| 185 | ;; golden-ratio-scroll-screen | ||
| 186 | ;; helm | ||
| 187 | ;; helm-ls-git | ||
| 188 | ;; helm-switch-shell | ||
| 189 | ;; helm-xref | ||
| 190 | ;; helpful | ||
| 191 | ;; highlight-blocks | ||
| 192 | ;; highlight-defined | ||
| 193 | ;; highlight-escape-sequences (`hes-mode') | ||
| 194 | ;; highlight-indentation | ||
| 195 | ;; highlight-numbers | ||
| 196 | ;; highlight-symbol | ||
| 197 | ;; highlight-tail | ||
| 198 | ;; highlight-thing | ||
| 199 | ;; hl-defined | ||
| 200 | ;; hl-fill-column | ||
| 201 | ;; hl-line-mode | ||
| 202 | ;; hl-todo | ||
| 203 | ;; hydra | ||
| 204 | ;; hyperlist | ||
| 205 | ;; ibuffer | ||
| 206 | ;; icomplete | ||
| 207 | ;; ido-mode | ||
| 208 | ;; iedit | ||
| 209 | ;; iflipb | ||
| 210 | ;; imenu-list | ||
| 211 | ;; indium | ||
| 212 | ;; info | ||
| 213 | ;; info-colors | ||
| 214 | ;; interaction-log | ||
| 215 | ;; ioccur | ||
| 216 | ;; isearch, occur, etc. | ||
| 217 | ;; ivy | ||
| 218 | ;; ivy-posframe | ||
| 219 | ;; jira (org-jira) | ||
| 220 | ;; journalctl-mode | ||
| 221 | ;; js2-mode | ||
| 222 | ;; julia | ||
| 223 | ;; jupyter | ||
| 224 | ;; kaocha-runner | ||
| 225 | ;; keycast | ||
| 226 | ;; line numbers (`display-line-numbers-mode' and global variant) | ||
| 227 | ;; lsp-mode | ||
| 228 | ;; lsp-ui | ||
| 229 | ;; magit | ||
| 230 | ;; magit-imerge | ||
| 231 | ;; man | ||
| 232 | ;; markdown-mode | ||
| 233 | ;; markup-faces (`adoc-mode') | ||
| 234 | ;; mentor | ||
| 235 | ;; messages | ||
| 236 | ;; minibuffer-line | ||
| 237 | ;; minimap | ||
| 238 | ;; modeline | ||
| 239 | ;; mood-line | ||
| 240 | ;; mpdel | ||
| 241 | ;; mu4e | ||
| 242 | ;; mu4e-conversation | ||
| 243 | ;; multiple-cursors | ||
| 244 | ;; neotree | ||
| 245 | ;; no-emoji | ||
| 246 | ;; notmuch | ||
| 247 | ;; num3-mode | ||
| 248 | ;; nxml-mode | ||
| 249 | ;; objed | ||
| 250 | ;; orderless | ||
| 251 | ;; org | ||
| 252 | ;; org-journal | ||
| 253 | ;; org-noter | ||
| 254 | ;; org-pomodoro | ||
| 255 | ;; org-recur | ||
| 256 | ;; org-roam | ||
| 257 | ;; org-superstar | ||
| 258 | ;; org-table-sticky-header | ||
| 259 | ;; org-treescope | ||
| 260 | ;; origami | ||
| 261 | ;; outline-mode | ||
| 262 | ;; outline-minor-faces | ||
| 263 | ;; package (M-x list-packages) | ||
| 264 | ;; page-break-lines | ||
| 265 | ;; paradox | ||
| 266 | ;; paren-face | ||
| 267 | ;; parrot | ||
| 268 | ;; pass | ||
| 269 | ;; persp-mode | ||
| 270 | ;; perspective | ||
| 271 | ;; phi-grep | ||
| 272 | ;; phi-search | ||
| 273 | ;; pkgbuild-mode | ||
| 274 | ;; pomidor | ||
| 275 | ;; powerline | ||
| 276 | ;; powerline-evil | ||
| 277 | ;; proced | ||
| 278 | ;; prodigy | ||
| 279 | ;; racket-mode | ||
| 280 | ;; rainbow-blocks | ||
| 281 | ;; rainbow-identifiers | ||
| 282 | ;; rainbow-delimiters | ||
| 283 | ;; rcirc | ||
| 284 | ;; regexp-builder (also known as `re-builder') | ||
| 285 | ;; rg | ||
| 286 | ;; ripgrep | ||
| 287 | ;; rmail | ||
| 288 | ;; ruler-mode | ||
| 289 | ;; sallet | ||
| 290 | ;; selectrum | ||
| 291 | ;; semantic | ||
| 292 | ;; sesman | ||
| 293 | ;; shell-script-mode | ||
| 294 | ;; show-paren-mode | ||
| 295 | ;; side-notes | ||
| 296 | ;; skewer-mode | ||
| 297 | ;; smart-mode-line | ||
| 298 | ;; smartparens | ||
| 299 | ;; smerge | ||
| 300 | ;; spaceline | ||
| 301 | ;; speedbar | ||
| 302 | ;; spell-fu | ||
| 303 | ;; stripes | ||
| 304 | ;; suggest | ||
| 305 | ;; switch-window | ||
| 306 | ;; swiper | ||
| 307 | ;; swoop | ||
| 308 | ;; sx | ||
| 309 | ;; symbol-overlay | ||
| 310 | ;; tab-bar-mode | ||
| 311 | ;; tab-line-mode | ||
| 312 | ;; syslog-mode | ||
| 313 | ;; table (built-in table.el) | ||
| 314 | ;; telephone-line | ||
| 315 | ;; term | ||
| 316 | ;; tomatinho | ||
| 317 | ;; transient (pop-up windows like Magit's) | ||
| 318 | ;; trashed | ||
| 319 | ;; treemacs | ||
| 320 | ;; tty-menu | ||
| 321 | ;; tuareg | ||
| 322 | ;; typescript | ||
| 323 | ;; undo-tree | ||
| 324 | ;; vc (built-in mode line status for version control) | ||
| 325 | ;; vc-annotate (C-x v g) | ||
| 326 | ;; vdiff | ||
| 327 | ;; vimish-fold | ||
| 328 | ;; visible-mark | ||
| 329 | ;; visual-regexp | ||
| 330 | ;; volatile-highlights | ||
| 331 | ;; vterm | ||
| 332 | ;; wcheck-mode | ||
| 333 | ;; web-mode | ||
| 334 | ;; wgrep | ||
| 335 | ;; which-function-mode | ||
| 336 | ;; which-key | ||
| 337 | ;; whitespace-mode | ||
| 338 | ;; window-divider-mode | ||
| 339 | ;; winum | ||
| 340 | ;; writegood-mode | ||
| 341 | ;; woman | ||
| 342 | ;; xah-elisp-mode | ||
| 343 | ;; xref | ||
| 344 | ;; xterm-color (and ansi-colors) | ||
| 345 | ;; yaml-mode | ||
| 346 | ;; yasnippet | ||
| 347 | ;; ztree | ||
| 348 | 48 | ||
| 349 | ;;; Code: | 49 | ;;; Code: |
| 350 | 50 | ||
| 351 | 51 | ||
| 352 | 52 | ||
| 353 | (deftheme modus-operandi | 53 | (require-theme 'modus-themes) |
| 354 | "Light theme that conforms with the highest accessibility | ||
| 355 | standard for colour contrast between background and | ||
| 356 | foreground elements (WCAG AAA).") | ||
| 357 | |||
| 358 | ;;; Custom faces | ||
| 359 | |||
| 360 | ;; These faces will be inherited by actual constructs. They are meant | ||
| 361 | ;; for those cases where a face needs to distinguish its output from | ||
| 362 | ;; the rest of the text, such as `isearch' and `occur'… We define | ||
| 363 | ;; these separately in order to combine each colour with its | ||
| 364 | ;; appropriate foreground value. This is to ensure a consistent | ||
| 365 | ;; contrast ratio of >= 7:1. | ||
| 366 | (defgroup modus-theme () | ||
| 367 | "Theme that ensures WCAG AAA accessibility (contrast ratio | ||
| 368 | between foreground and background is >= 7:1)." | ||
| 369 | :group 'faces | ||
| 370 | :prefix "modus-theme-" | ||
| 371 | :link '(url-link :tag "GitLab" "https://gitlab.com/protesilaos/modus-themes") | ||
| 372 | :tag "Modus Operandi") | ||
| 373 | |||
| 374 | (defface modus-theme-subtle-red nil nil) | ||
| 375 | (defface modus-theme-subtle-green nil nil) | ||
| 376 | (defface modus-theme-subtle-yellow nil nil) | ||
| 377 | (defface modus-theme-subtle-blue nil nil) | ||
| 378 | (defface modus-theme-subtle-magenta nil nil) | ||
| 379 | (defface modus-theme-subtle-cyan nil nil) | ||
| 380 | (defface modus-theme-subtle-neutral nil nil) | ||
| 381 | (defface modus-theme-intense-red nil nil) | ||
| 382 | (defface modus-theme-intense-green nil nil) | ||
| 383 | (defface modus-theme-intense-yellow nil nil) | ||
| 384 | (defface modus-theme-intense-blue nil nil) | ||
| 385 | (defface modus-theme-intense-magenta nil nil) | ||
| 386 | (defface modus-theme-intense-cyan nil nil) | ||
| 387 | (defface modus-theme-intense-neutral nil nil) | ||
| 388 | (defface modus-theme-refine-red nil nil) | ||
| 389 | (defface modus-theme-refine-green nil nil) | ||
| 390 | (defface modus-theme-refine-yellow nil nil) | ||
| 391 | (defface modus-theme-refine-blue nil nil) | ||
| 392 | (defface modus-theme-refine-magenta nil nil) | ||
| 393 | (defface modus-theme-refine-cyan nil nil) | ||
| 394 | (defface modus-theme-active-red nil nil) | ||
| 395 | (defface modus-theme-active-green nil nil) | ||
| 396 | (defface modus-theme-active-yellow nil nil) | ||
| 397 | (defface modus-theme-active-blue nil nil) | ||
| 398 | (defface modus-theme-active-magenta nil nil) | ||
| 399 | (defface modus-theme-active-cyan nil nil) | ||
| 400 | (defface modus-theme-fringe-red nil nil) | ||
| 401 | (defface modus-theme-fringe-green nil nil) | ||
| 402 | (defface modus-theme-fringe-yellow nil nil) | ||
| 403 | (defface modus-theme-fringe-blue nil nil) | ||
| 404 | (defface modus-theme-fringe-magenta nil nil) | ||
| 405 | (defface modus-theme-fringe-cyan nil nil) | ||
| 406 | (defface modus-theme-nuanced-red nil nil) | ||
| 407 | (defface modus-theme-nuanced-green nil nil) | ||
| 408 | (defface modus-theme-nuanced-yellow nil nil) | ||
| 409 | (defface modus-theme-nuanced-blue nil nil) | ||
| 410 | (defface modus-theme-nuanced-magenta nil nil) | ||
| 411 | (defface modus-theme-nuanced-cyan nil nil) | ||
| 412 | (defface modus-theme-special-cold nil nil) | ||
| 413 | (defface modus-theme-special-mild nil nil) | ||
| 414 | (defface modus-theme-special-warm nil nil) | ||
| 415 | (defface modus-theme-special-calm nil nil) | ||
| 416 | (defface modus-theme-diff-added nil nil) | ||
| 417 | (defface modus-theme-diff-changed nil nil) | ||
| 418 | (defface modus-theme-diff-removed nil nil) | ||
| 419 | (defface modus-theme-diff-refine-added nil nil) | ||
| 420 | (defface modus-theme-diff-refine-changed nil nil) | ||
| 421 | (defface modus-theme-diff-refine-removed nil nil) | ||
| 422 | (defface modus-theme-diff-focus-added nil nil) | ||
| 423 | (defface modus-theme-diff-focus-changed nil nil) | ||
| 424 | (defface modus-theme-diff-focus-removed nil nil) | ||
| 425 | (defface modus-theme-diff-heading nil nil) | ||
| 426 | (defface modus-theme-pseudo-header nil nil) | ||
| 427 | (defface modus-theme-mark-alt nil nil) | ||
| 428 | (defface modus-theme-mark-del nil nil) | ||
| 429 | (defface modus-theme-mark-sel nil nil) | ||
| 430 | (defface modus-theme-mark-symbol nil nil) | ||
| 431 | (defface modus-theme-heading-1 nil nil) | ||
| 432 | (defface modus-theme-heading-2 nil nil) | ||
| 433 | (defface modus-theme-heading-3 nil nil) | ||
| 434 | (defface modus-theme-heading-4 nil nil) | ||
| 435 | (defface modus-theme-heading-5 nil nil) | ||
| 436 | (defface modus-theme-heading-6 nil nil) | ||
| 437 | (defface modus-theme-heading-7 nil nil) | ||
| 438 | (defface modus-theme-heading-8 nil nil) | ||
| 439 | (defface modus-theme-hl-line nil nil) | ||
| 440 | |||
| 441 | ;;; Customisation options | ||
| 442 | |||
| 443 | ;; User-facing customisation options. They are all deactivated by | ||
| 444 | ;; default (users must opt in). | ||
| 445 | (defcustom modus-operandi-theme-slanted-constructs nil | ||
| 446 | "Use slanted text in more code constructs (italics or oblique)." | ||
| 447 | :type 'boolean) | ||
| 448 | |||
| 449 | (defcustom modus-operandi-theme-bold-constructs nil | ||
| 450 | "Use bold text in more code constructs." | ||
| 451 | :type 'boolean) | ||
| 452 | |||
| 453 | (define-obsolete-variable-alias 'modus-operandi-theme-proportional-fonts | ||
| 454 | 'modus-operandi-theme-variable-pitch-headings "`modus-operandi-theme' 0.11.0") | ||
| 455 | |||
| 456 | (defcustom modus-operandi-theme-proportional-fonts nil | ||
| 457 | "Use proportional fonts (variable-pitch) in headings." | ||
| 458 | :type 'boolean) | ||
| 459 | |||
| 460 | (defcustom modus-operandi-theme-variable-pitch-headings nil | ||
| 461 | "Use proportional fonts (variable-pitch) in headings." | ||
| 462 | :type 'boolean) | ||
| 463 | |||
| 464 | (defcustom modus-operandi-theme-no-mixed-fonts nil | ||
| 465 | "Disable inheritance from `fixed-pitch' in some faces. | ||
| 466 | |||
| 467 | This is done by default to allow spacing-sensitive constructs, | ||
| 468 | such as Org tables and code blocks, to remain monospaced when | ||
| 469 | users opt for something like the command `variable-pitch-mode'. | ||
| 470 | The downside with the default is that users need to explicitly | ||
| 471 | configure the font family of `fixed-pitch' in order to get a | ||
| 472 | consistent experience. That may be something they do not want to | ||
| 473 | do. Hence this option to disable any kind of technique for | ||
| 474 | mixing fonts." | ||
| 475 | :type 'boolean) | ||
| 476 | |||
| 477 | (make-obsolete 'modus-operandi-theme-rainbow-headings | ||
| 478 | 'modus-operandi-theme-headings | ||
| 479 | "`modus-operandi-theme' 0.13.0") | ||
| 480 | |||
| 481 | (defcustom modus-operandi-theme-rainbow-headings nil | ||
| 482 | "Use more saturated colours for headings." | ||
| 483 | :type 'boolean) | ||
| 484 | |||
| 485 | (make-obsolete 'modus-operandi-theme-section-headings | ||
| 486 | 'modus-operandi-theme-headings | ||
| 487 | "`modus-operandi-theme' 0.13.0") | ||
| 488 | |||
| 489 | (defcustom modus-operandi-theme-section-headings nil | ||
| 490 | "Use a background and an overline in headings." | ||
| 491 | :type 'boolean) | ||
| 492 | |||
| 493 | (defcustom modus-operandi-theme-headings | ||
| 494 | '((t . nil)) | ||
| 495 | "Alist of styles for headings, with optional value per level. | ||
| 496 | |||
| 497 | To control faces per level from 1-8, use something like this: | ||
| 498 | |||
| 499 | (setq modus-operandi-theme-headings | ||
| 500 | '((1 . highlight) | ||
| 501 | (2 . line) | ||
| 502 | (t . rainbow-line-no-bold))) | ||
| 503 | |||
| 504 | To set a uniform value for all heading levels, use this pattern: | ||
| 505 | |||
| 506 | (setq modus-operandi-theme-headings | ||
| 507 | '((t . rainbow-line-no-bold))) | ||
| 508 | |||
| 509 | The default uses a fairly desaturated foreground value in | ||
| 510 | combination with a bold typographic weight. To specify this | ||
| 511 | style for a given level N (assuming you wish to have another | ||
| 512 | fallback option), just specify the value t like this: | ||
| 513 | |||
| 514 | (setq modus-operandi-theme-headings | ||
| 515 | '((1 . t) | ||
| 516 | (2 . line) | ||
| 517 | (t . rainbow-line-no-bold))) | ||
| 518 | |||
| 519 | A description of all possible values: | ||
| 520 | |||
| 521 | + `no-bold' retains the default text colour while removing | ||
| 522 | the typographic weight. | ||
| 523 | |||
| 524 | + `line' is the same as the default plus an overline over the | ||
| 525 | heading. | ||
| 526 | |||
| 527 | + `line-no-bold' is the same as `line' without bold weight. | ||
| 528 | |||
| 529 | + `rainbow' uses a more colourful foreground in combination | ||
| 530 | with bold weight. | ||
| 531 | |||
| 532 | + `rainbow-line' is the same as `rainbow' plus an overline. | ||
| 533 | |||
| 534 | + `rainbow-line-no-bold' is the same as `rainbow-line' without | ||
| 535 | the bold weight. | ||
| 536 | |||
| 537 | + `highlight' retains the default style of a fairly desaturated | ||
| 538 | foreground combined with a bold weight and add to it a subtle | ||
| 539 | accented background. | ||
| 540 | |||
| 541 | + `highlight-no-bold' is the same as `highlight' without a bold | ||
| 542 | weight. | ||
| 543 | |||
| 544 | + `rainbow-highlight' is the same as `highlight' but with a more | ||
| 545 | colourful foreground. | ||
| 546 | |||
| 547 | + `rainbow-highlight-no-bold' is the same as `rainbow-highlight' | ||
| 548 | without a bold weight. | ||
| 549 | |||
| 550 | + `section' retains the default looks and adds to them both an | ||
| 551 | overline and a slightly accented background. It is, in effect, | ||
| 552 | a combination of the `line' and `highlight' values. | ||
| 553 | |||
| 554 | + `section-no-bold' is the same as `section' without a bold | ||
| 555 | weight. | ||
| 556 | |||
| 557 | + `rainbow-section' is the same as `section' but with a more | ||
| 558 | colourful foreground. | ||
| 559 | |||
| 560 | + `rainbow-section-no-bold' is the same as `rainbow-section' | ||
| 561 | without a bold weight." | ||
| 562 | :type | ||
| 563 | '(alist | ||
| 564 | :key-type symbol | ||
| 565 | :value-type | ||
| 566 | (choice (const :tag "Fairly desaturated foreground with bold weight (default)" t) | ||
| 567 | (const :tag "Like the default without bold weight" no-bold) | ||
| 568 | (const :tag "Like the default plus overline" line) | ||
| 569 | (const :tag "Like `line' without bold weight" line-no-bold) | ||
| 570 | (const :tag "Like the default but with more colourful foreground" rainbow) | ||
| 571 | (const :tag "Like `rainbow' plus overline" rainbow-line) | ||
| 572 | (const :tag "Like `rainbow' without bold weight" rainbow-no-bold) | ||
| 573 | (const :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold) | ||
| 574 | (const :tag "Like the default plus subtle background" highlight) | ||
| 575 | (const :tag "Like `highlight' without bold weight" highlight-no-bold) | ||
| 576 | (const :tag "Like `highlight' with more colourful foreground" rainbow-highlight) | ||
| 577 | (const :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold) | ||
| 578 | (const :tag "Like `highlight' plus overline" section) | ||
| 579 | (const :tag "Like `section' without bold weight" section-no-bold) | ||
| 580 | (const :tag "Like `section' with more colourful foreground" rainbow-section) | ||
| 581 | (const :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold)))) | ||
| 582 | |||
| 583 | (defcustom modus-operandi-theme-scale-headings nil | ||
| 584 | "Use font scaling for headings." | ||
| 585 | :type 'boolean) | ||
| 586 | |||
| 587 | (defcustom modus-operandi-theme-scale-1 1.05 | ||
| 588 | "Font size that is slightly larger than the base value. | ||
| 589 | The default is a floating point that is interpreted as a multiple | ||
| 590 | of the base font size. However, the variable also accepts an | ||
| 591 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 592 | the same as setting the font at 14 point size). | ||
| 593 | |||
| 594 | For more on the matter, read the documentation of | ||
| 595 | `set-face-attribute', specifically the ':height' section." | ||
| 596 | :type 'number) | ||
| 597 | |||
| 598 | (defcustom modus-operandi-theme-scale-2 1.1 | ||
| 599 | "Font size slightly larger than `modus-operandi-theme-scale-1'. | ||
| 600 | The default is a floating point that is interpreted as a multiple | ||
| 601 | of the base font size. However, the variable also accepts an | ||
| 602 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 603 | the same as setting the font at 14 point size). | ||
| 604 | |||
| 605 | For more on the matter, read the documentation of | ||
| 606 | `set-face-attribute', specifically the ':height' section." | ||
| 607 | :type 'number) | ||
| 608 | |||
| 609 | (defcustom modus-operandi-theme-scale-3 1.15 | ||
| 610 | "Font size slightly larger than `modus-operandi-theme-scale-2'. | ||
| 611 | The default is a floating point that is interpreted as a multiple | ||
| 612 | of the base font size. However, the variable also accepts an | ||
| 613 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 614 | the same as setting the font at 14 point size). | ||
| 615 | |||
| 616 | For more on the matter, read the documentation of | ||
| 617 | `set-face-attribute', specifically the ':height' section." | ||
| 618 | :type 'number) | ||
| 619 | |||
| 620 | (defcustom modus-operandi-theme-scale-4 1.2 | ||
| 621 | "Font size slightly larger than `modus-operandi-theme-scale-3'. | ||
| 622 | The default is a floating point that is interpreted as a multiple | ||
| 623 | of the base font size. However, the variable also accepts an | ||
| 624 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 625 | the same as setting the font at 14 point size). | ||
| 626 | |||
| 627 | For more on the matter, read the documentation of | ||
| 628 | `set-face-attribute', specifically the ':height' section." | ||
| 629 | :type 'number) | ||
| 630 | |||
| 631 | (defcustom modus-operandi-theme-scale-5 1.3 | ||
| 632 | "Font size slightly larger than `modus-operandi-theme-scale-4'. | ||
| 633 | The default is a floating point that is interpreted as a multiple | ||
| 634 | of the base font size. However, the variable also accepts an | ||
| 635 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 636 | the same as setting the font at 14 point size). | ||
| 637 | |||
| 638 | For more on the matter, read the documentation of | ||
| 639 | `set-face-attribute', specifically the ':height' section." | ||
| 640 | :type 'number) | ||
| 641 | |||
| 642 | (make-obsolete 'modus-operandi-theme-visible-fringes | ||
| 643 | 'modus-operandi-theme-fringes | ||
| 644 | "`modus-operandi-theme' 0.12.0") | ||
| 645 | |||
| 646 | (defcustom modus-operandi-theme-visible-fringes nil | ||
| 647 | "Use a visible style for fringes." | ||
| 648 | :type 'boolean) | ||
| 649 | |||
| 650 | (defcustom modus-operandi-theme-fringes nil | ||
| 651 | "Define the visibility of fringes. | ||
| 652 | |||
| 653 | Nil means the fringes have no background colour. Option `subtle' | ||
| 654 | will apply a greyscale value that is visible yet close to the | ||
| 655 | main buffer background colour. Option `intense' will use a more | ||
| 656 | pronounced greyscale value." | ||
| 657 | :type '(choice | ||
| 658 | (const :tag "No visible fringes (default)" nil) | ||
| 659 | (const :tag "Subtle greyscale background" subtle) | ||
| 660 | (const :tag "Intense greyscale background" intense))) | ||
| 661 | |||
| 662 | (make-obsolete 'modus-operandi-theme-distinct-org-blocks | ||
| 663 | 'modus-operandi-theme-org-blocks | ||
| 664 | "`modus-operandi-theme' 0.11.0") | ||
| 665 | |||
| 666 | (defcustom modus-operandi-theme-distinct-org-blocks nil | ||
| 667 | "Use a distinct neutral background for `org-mode' blocks." | ||
| 668 | :type 'boolean) | ||
| 669 | |||
| 670 | (make-obsolete 'modus-operandi-theme-rainbow-org-src-blocks | ||
| 671 | 'modus-operandi-theme-org-blocks | ||
| 672 | "`modus-operandi-theme' 0.11.0") | ||
| 673 | |||
| 674 | (defcustom modus-operandi-theme-rainbow-org-src-blocks nil | ||
| 675 | "Use colour-coded backgrounds for `org-mode' source blocks. | ||
| 676 | The colour in use depends on the language (send feedback to | ||
| 677 | include more languages)." | ||
| 678 | :type 'boolean) | ||
| 679 | |||
| 680 | (defcustom modus-operandi-theme-org-blocks nil | ||
| 681 | "Use a subtle grey or colour-coded background for Org blocks. | ||
| 682 | |||
| 683 | Nil means that the block will have no background of its own and | ||
| 684 | will use the default that applies to the rest of the buffer. | ||
| 685 | |||
| 686 | Option `greyscale' will apply a subtle neutral grey background to | ||
| 687 | the block's contents. It also affects the begin and end lines of | ||
| 688 | the block: their background will be extended to the edge of the | ||
| 689 | window for Emacs version >= 27 where the ':extend' keyword is | ||
| 690 | recognised by `set-face-attribute'. | ||
| 691 | |||
| 692 | Option `rainbow' will use an accented background for the contents | ||
| 693 | of the block. The exact colour will depend on the programming | ||
| 694 | language and is controlled by the `org-src-block-faces' | ||
| 695 | variable (refer to the theme's source code for the current | ||
| 696 | association list)." | ||
| 697 | :type '(choice | ||
| 698 | (const :tag "No Org block background (default)" nil) | ||
| 699 | (const :tag "Subtle grey block background" greyscale) | ||
| 700 | (const :tag "Colour-coded background per programming language" rainbow))) | ||
| 701 | |||
| 702 | (make-obsolete 'modus-operandi-theme-3d-modeline | ||
| 703 | 'modus-operandi-theme-mode-line | ||
| 704 | "`modus-operandi-theme' 0.13.0") | ||
| 705 | |||
| 706 | (defcustom modus-operandi-theme-3d-modeline nil | ||
| 707 | "Use a three-dimensional style for the active mode line." | ||
| 708 | :type 'boolean) | ||
| 709 | |||
| 710 | (defcustom modus-operandi-theme-mode-line nil | ||
| 711 | "Adjust the overall style of the mode line. | ||
| 712 | |||
| 713 | Nil is a two-dimensional rectangle with a border around it. The | ||
| 714 | active and the inactive modelines use different shades of | ||
| 715 | greyscale values for the background and foreground. | ||
| 716 | |||
| 717 | A `3d' value will apply a three-dimensional effect to the active | ||
| 718 | modeline. The inactive modelines remain two-dimensional and are | ||
| 719 | toned down a bit, relative to the nil value. | ||
| 720 | |||
| 721 | The `moody' option is meant to optimise the modeline for use with | ||
| 722 | the library of the same name. This practically means to remove | ||
| 723 | the box effect and rely on underline and overline properties | ||
| 724 | instead. It also tones down the inactive modelines. Despite its | ||
| 725 | intended purpose, this option can also be used without the | ||
| 726 | `moody' library." | ||
| 727 | :type '(choice | ||
| 728 | (const :tag "Two-dimensional box (default)" nil) | ||
| 729 | (const :tag "Three-dimensional style for the active mode line" 3d) | ||
| 730 | (const :tag "No box effects, which are optimal for use with the `moody' library" moody))) | ||
| 731 | |||
| 732 | (make-obsolete 'modus-operandi-theme-subtle-diffs | ||
| 733 | 'modus-operandi-theme-diffs | ||
| 734 | "`modus-operandi-theme' 0.13.0") | ||
| 735 | |||
| 736 | (defcustom modus-operandi-theme-subtle-diffs nil | ||
| 737 | "Use fewer/dim backgrounds in `diff-mode', `ediff',`magit'." | ||
| 738 | :type 'boolean) | ||
| 739 | 54 | ||
| 740 | (defcustom modus-operandi-theme-diffs nil | 55 | (deftheme modus-operandi |
| 741 | "Adjust the overall styles of diffs. | 56 | "Accessible and customizable light theme (WCAG AAA standard). |
| 742 | 57 | Conforms with the highest legibility standard for color contrast | |
| 743 | Nil means to use fairly intense colour combinations for diffs. | 58 | between background and foreground in any given piece of text, |
| 744 | For example, you get a rich green background with a green | 59 | which corresponds to a minimum contrast in relative luminance of |
| 745 | foreground for added lines. Word-wise or 'refined' diffs follow | 60 | 7:1.") |
| 746 | the same pattern but use different shades of those colours to | ||
| 747 | remain distinct. | ||
| 748 | |||
| 749 | A `desaturated' value follows the same principles as with the nil | ||
| 750 | option, while it tones down all relevant colours. | ||
| 751 | |||
| 752 | Option `fg-only' will remove all accented backgrounds, except | ||
| 753 | from word-wise changes. It instead uses colour-coded foreground | ||
| 754 | values to differentiate between added/removed/changed lines. If | ||
| 755 | a background is necessary, such as with `ediff', then a subtle | ||
| 756 | greyscale value is used." | ||
| 757 | :type '(choice | ||
| 758 | (const :tag "Intensely coloured backgrounds (default)" nil) | ||
| 759 | (const :tag "Slightly accented backgrounds with tinted text" desaturated) | ||
| 760 | (const :tag "No backgrounds, except for refined diffs" fg-only))) | ||
| 761 | |||
| 762 | (make-obsolete 'modus-operandi-theme-intense-standard-completions | ||
| 763 | 'modus-operandi-theme-completions | ||
| 764 | "`modus-operandi-theme' 0.12.0") | ||
| 765 | |||
| 766 | (defcustom modus-operandi-theme-intense-standard-completions nil | ||
| 767 | "Use prominent backgrounds for Icomplete, Ido, or similar." | ||
| 768 | :type 'boolean) | ||
| 769 | |||
| 770 | (defcustom modus-operandi-theme-completions nil | ||
| 771 | "Apply special styles to the UI of completion frameworks. | ||
| 772 | |||
| 773 | This concerns Icomplete, Ivy, Helm, Selectrum, Ido, as well as | ||
| 774 | any other tool meant to enhance their experience. The effect | ||
| 775 | will vary depending on the completion framework. | ||
| 776 | |||
| 777 | Nil means to remain faithful to the metaphors that each UI | ||
| 778 | establishes. For example, Icomplete and Ido only use foreground | ||
| 779 | colours to style their matches, whereas Ivy or Helm rely on an | ||
| 780 | aesthetic that combines coloured backgrounds with appropriate | ||
| 781 | text colour. | ||
| 782 | |||
| 783 | Option `moderate' will apply a combination of background and | ||
| 784 | foreground that is fairly subtle. For Icomplete and the like, | ||
| 785 | this constitutes a departure from their standard style. While | ||
| 786 | Ivy, Helm, and the others, will use less pronounced colours for | ||
| 787 | applicable contexts. | ||
| 788 | |||
| 789 | Option `opinionated' will apply colour combinations that | ||
| 790 | refashion the completion UI. So Icomplete et al will now use | ||
| 791 | styles that resemble the defaults of Ivy and co., while the | ||
| 792 | latter group will revert to an even more nuanced aesthetic." | ||
| 793 | :type '(choice | ||
| 794 | (const :tag "Respect the framework's established aesthetic (default)" nil) | ||
| 795 | (const :tag "Subtle backgrounds for various elements" moderate) | ||
| 796 | (const :tag "Radical alternative to the framework's looks" opinionated))) | ||
| 797 | |||
| 798 | (defcustom modus-operandi-theme-prompts nil | ||
| 799 | "Use subtle or intense styles for minibuffer and REPL prompts. | ||
| 800 | |||
| 801 | Nil means to only use an accented foreground colour. | ||
| 802 | |||
| 803 | Options `subtle' and `intense' will change both the background | ||
| 804 | and the foreground values. The latter has a more pronounced | ||
| 805 | effect than the former." | ||
| 806 | :type '(choice | ||
| 807 | (const :tag "No prompt background (default)" nil) | ||
| 808 | (const :tag "Subtle accented background for the prompt" subtle) | ||
| 809 | (const :tag "Intense background and foreground for the prompt" intense))) | ||
| 810 | |||
| 811 | (defcustom modus-operandi-theme-intense-hl-line nil | ||
| 812 | "Use more prominent background for command `hl-line-mode'." | ||
| 813 | :type 'boolean) | ||
| 814 | |||
| 815 | (defcustom modus-operandi-theme-intense-paren-match nil | ||
| 816 | "Use more prominent colour for parenthesis matching." | ||
| 817 | :type 'boolean) | ||
| 818 | |||
| 819 | (defcustom modus-operandi-theme-faint-syntax nil | ||
| 820 | "Use less saturated colours for code syntax highlighting." | ||
| 821 | :type 'boolean) | ||
| 822 | |||
| 823 | (defcustom modus-operandi-theme-no-link-underline nil | ||
| 824 | "Do not underline links." | ||
| 825 | :type 'boolean) | ||
| 826 | |||
| 827 | ;;; Internal functions | ||
| 828 | |||
| 829 | ;; Helper functions that are meant to ease the implementation of the | ||
| 830 | ;; above customisation options. | ||
| 831 | (defun modus-operandi-theme-bold-weight () | ||
| 832 | "Conditional use of a heavier text weight." | ||
| 833 | (when modus-operandi-theme-bold-constructs | ||
| 834 | (list :inherit 'bold))) | ||
| 835 | |||
| 836 | (defun modus-operandi-theme-mixed-fonts () | ||
| 837 | "Conditional application of `fixed-pitch' inheritance." | ||
| 838 | (unless modus-operandi-theme-no-mixed-fonts | ||
| 839 | (list :inherit 'fixed-pitch))) | ||
| 840 | |||
| 841 | (defun modus-operandi-theme-fringe (subtlebg intensebg) | ||
| 842 | "Conditional use of background colours for fringes. | ||
| 843 | SUBTLEBG should be a subtle greyscale value. INTENSEBG must be a | ||
| 844 | more pronounced greyscale colour." | ||
| 845 | (pcase modus-operandi-theme-fringes | ||
| 846 | ('intense (list :background intensebg)) | ||
| 847 | ('subtle (list :background subtlebg)) | ||
| 848 | (_ (list :background nil)))) | ||
| 849 | |||
| 850 | (defun modus-operandi-theme-prompt (mainfg subtlebg subtlefg intensebg intensefg) | ||
| 851 | "Conditional use of background colours for prompts. | ||
| 852 | MAINFG is the prompt's standard foreground. SUBTLEBG should be a | ||
| 853 | subtle accented background that works with SUBTLEFG. INTENSEBG | ||
| 854 | must be a more pronounced accented colour that should be | ||
| 855 | combinable with INTENSEFG." | ||
| 856 | (pcase modus-operandi-theme-prompts | ||
| 857 | ('intense (list :background intensebg :foreground intensefg)) | ||
| 858 | ('subtle (list :background subtlebg :foreground subtlefg)) | ||
| 859 | (_ (list :background nil :foreground mainfg)))) | ||
| 860 | |||
| 861 | (defun modus-operandi-theme-paren (normalbg intensebg) | ||
| 862 | "Conditional use of intense colours for matching parentheses. | ||
| 863 | NORMALBG should the special palette colour 'bg-paren-match' or | ||
| 864 | something similar. INTENSEBG must be easier to discern next to | ||
| 865 | other backgrounds, such as the special palette colour | ||
| 866 | 'bg-paren-match-intense'." | ||
| 867 | (if modus-operandi-theme-intense-paren-match | ||
| 868 | (list :background intensebg) | ||
| 869 | (list :background normalbg))) | ||
| 870 | |||
| 871 | (defun modus-operandi-theme-syntax-foreground (normal faint) | ||
| 872 | "Apply foreground value to code syntax. | ||
| 873 | NORMAL is the more saturated colour, which should be the default. | ||
| 874 | FAINT is the less saturated colour." | ||
| 875 | (if modus-operandi-theme-faint-syntax | ||
| 876 | (list :foreground faint) | ||
| 877 | (list :foreground normal))) | ||
| 878 | |||
| 879 | (defun modus-operandi-theme-heading-p (key) | ||
| 880 | "Query style of KEY in `modus-operandi-theme-headings'." | ||
| 881 | (cdr (assoc key modus-operandi-theme-headings))) | ||
| 882 | |||
| 883 | (defun modus-operandi-theme-heading (level fg fg-alt bg border) | ||
| 884 | "Conditional styles for `modus-operandi-theme-headings'. | ||
| 885 | |||
| 886 | LEVEL is the heading's position in their order. FG is the | ||
| 887 | default text colour. FG-ALT is an accented, more saturated value | ||
| 888 | than the default. BG is a nuanced, typically accented, | ||
| 889 | background that can work well with either of the foreground | ||
| 890 | values. BORDER is a colour value that combines well with the | ||
| 891 | background and alternative foreground." | ||
| 892 | (let* ((key (modus-operandi-theme-heading-p `,level)) | ||
| 893 | (style (or key (modus-operandi-theme-heading-p t))) | ||
| 894 | (var (if modus-operandi-theme-variable-pitch-headings | ||
| 895 | 'variable-pitch | ||
| 896 | 'default))) | ||
| 897 | (pcase style | ||
| 898 | ('no-bold | ||
| 899 | (list :inherit `,var :foreground fg)) | ||
| 900 | ('line | ||
| 901 | (list :inherit `(bold ,var) :foreground fg :overline border)) | ||
| 902 | ('line-no-bold | ||
| 903 | (list :inherit `,var :foreground fg :overline border)) | ||
| 904 | ('rainbow | ||
| 905 | (list :inherit `(bold ,var) :foreground fg-alt)) | ||
| 906 | ('rainbow-no-bold | ||
| 907 | (list :inherit `,var :foreground fg-alt)) | ||
| 908 | ('rainbow-line | ||
| 909 | (list :inherit `(bold ,var) :foreground fg-alt :overline border)) | ||
| 910 | ('rainbow-line-no-bold | ||
| 911 | (list :inherit `,var :foreground fg-alt :overline border)) | ||
| 912 | ('highlight | ||
| 913 | (list :inherit `(bold ,var) :background bg :foreground fg)) | ||
| 914 | ('highlight-no-bold | ||
| 915 | (list :inherit `,var :background bg :foreground fg)) | ||
| 916 | ('rainbow-highlight | ||
| 917 | (list :inherit `(bold ,var) :background bg :foreground fg-alt)) | ||
| 918 | ('rainbow-highlight-no-bold | ||
| 919 | (list :inherit `,var :background bg :foreground fg-alt)) | ||
| 920 | ('section | ||
| 921 | (append | ||
| 922 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 923 | (list :inherit `(bold ,var) :background bg :foreground fg :overline border))) | ||
| 924 | ('section-no-bold | ||
| 925 | (append | ||
| 926 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 927 | (list :inherit `,var :background bg :foreground fg :overline border))) | ||
| 928 | ('rainbow-section | ||
| 929 | (append | ||
| 930 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 931 | (list :inherit `(bold ,var) :background bg :foreground fg-alt :overline border))) | ||
| 932 | ('rainbow-section-no-bold | ||
| 933 | (append | ||
| 934 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 935 | (list :inherit `,var :background bg :foreground fg-alt :overline border))) | ||
| 936 | (_ | ||
| 937 | (list :inherit `(bold ,var) :foreground fg))))) | ||
| 938 | |||
| 939 | (defun modus-operandi-theme-org-block (bgblk) | ||
| 940 | "Conditionally set the background of Org blocks. | ||
| 941 | BGBLK applies to a distinct neutral background. Else blocks have | ||
| 942 | no background of their own (the default), so they look the same | ||
| 943 | as the rest of the buffer. | ||
| 944 | |||
| 945 | `modus-operandi-theme-org-blocks' also accepts a `rainbow' option | ||
| 946 | which is applied conditionally to `org-src-block-faces' (see the | ||
| 947 | theme's source code)." | ||
| 948 | (if (eq modus-operandi-theme-org-blocks 'greyscale) | ||
| 949 | (append | ||
| 950 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 951 | (list :background bgblk)) | ||
| 952 | (list :background nil))) | ||
| 953 | |||
| 954 | (defun modus-operandi-theme-org-block-delim (bgaccent fgaccent bg fg) | ||
| 955 | "Conditionally set the styles of Org block delimiters. | ||
| 956 | BG, FG, BGACCENT, FGACCENT apply a background and foreground | ||
| 957 | colour respectively. | ||
| 958 | |||
| 959 | The former pair is a greyscale combination that should be more | ||
| 960 | distinct than the background of the block. It is applied to the | ||
| 961 | default styles or when `modus-operandi-theme-org-blocks' is set | ||
| 962 | to `greyscale'. | ||
| 963 | |||
| 964 | The latter pair should be more subtle than the background of the | ||
| 965 | block, as it is used when `modus-operandi-theme-org-blocks' is | ||
| 966 | set to `rainbow'." | ||
| 967 | (pcase modus-operandi-theme-org-blocks | ||
| 968 | ('greyscale (append (and (>= emacs-major-version 27) '(:extend t)) | ||
| 969 | (list :background bg :foreground fg))) | ||
| 970 | ('rainbow (list :background bgaccent :foreground fgaccent)) | ||
| 971 | (_ (list :background bg :foreground fg)))) | ||
| 972 | |||
| 973 | (defun modus-operandi-theme-mode-line-attrs | ||
| 974 | (fg bg fg-alt bg-alt border border-3d &optional alt-style border-width fg-distant) | ||
| 975 | "Colour combinations for `modus-operandi-theme-mode-line'. | ||
| 976 | |||
| 977 | FG and BG are the default colours. FG-ALT and BG-ALT are meant | ||
| 978 | to accommodate the options for a 3D modeline or a `moody' | ||
| 979 | compliant one. BORDER applies to all permutations of the | ||
| 980 | modeline, except the three-dimensional effect, where BORDER-3D is | ||
| 981 | used instead. | ||
| 982 | |||
| 983 | Optional ALT-STYLE applies an appropriate style to the mode | ||
| 984 | line's box property. | ||
| 985 | |||
| 986 | Optional BORDER-WIDTH specifies an integer for the width of the | ||
| 987 | rectangle that produces the box effect. | ||
| 988 | |||
| 989 | Optional FG-DISTANT should be close to the main background | ||
| 990 | values. It is intended to be used as a distant-foreground | ||
| 991 | property." | ||
| 992 | (pcase modus-operandi-theme-mode-line | ||
| 993 | ('3d | ||
| 994 | `(:background ,bg-alt :foreground ,fg-alt | ||
| 995 | :box (:line-width ,(or border-width 1) | ||
| 996 | :color ,border-3d | ||
| 997 | :style ,(and alt-style 'released-button)))) | ||
| 998 | ('moody | ||
| 999 | `(:background ,bg-alt :foreground ,fg-alt :underline ,border :overline ,border | ||
| 1000 | :distant-foreground ,fg-distant)) | ||
| 1001 | (_ | ||
| 1002 | `(:foreground ,fg :background ,bg :box ,border)))) | ||
| 1003 | |||
| 1004 | (defun modus-operandi-theme-diff (fg-only-bg fg-only-fg mainbg mainfg altbg altfg) | ||
| 1005 | "Colour combinations for `modus-operandi-theme-diffs'. | ||
| 1006 | |||
| 1007 | FG-ONLY-BG should be similar or the same as the main background. | ||
| 1008 | FG-ONLY-FG should be a saturated accent value that can be | ||
| 1009 | combined with the former. | ||
| 1010 | |||
| 1011 | MAINBG must be one of the dedicated backgrounds for diffs while | ||
| 1012 | MAINFG must be the same for the foreground. | ||
| 1013 | |||
| 1014 | ALTBG needs to be a slightly accented background that is meant to | ||
| 1015 | be combined with ALTFG. Both must be less intense than MAINBG | ||
| 1016 | and MAINFG respectively." | ||
| 1017 | (pcase modus-operandi-theme-diffs | ||
| 1018 | ('fg-only (list :background fg-only-bg :foreground fg-only-fg)) | ||
| 1019 | ('desaturated (list :background altbg :foreground altfg)) | ||
| 1020 | (_ (list :background mainbg :foreground mainfg)))) | ||
| 1021 | |||
| 1022 | (defun modus-operandi-theme-standard-completions (mainfg subtlebg intensebg intensefg) | ||
| 1023 | "Combinations for `modus-operandi-theme-completions'. | ||
| 1024 | |||
| 1025 | MAINFG is an accented foreground value. SUBTLEBG is an accented | ||
| 1026 | background value that can be combined with MAINFG. INTENSEBG and | ||
| 1027 | INTENSEFG are accented colours that are designed to be used in | ||
| 1028 | tandem. | ||
| 1029 | |||
| 1030 | These are intended for Icomplete, Ido, and related." | ||
| 1031 | (pcase modus-operandi-theme-completions | ||
| 1032 | ('opinionated (list :background intensebg :foreground intensefg)) | ||
| 1033 | ('moderate (list :background subtlebg :foreground mainfg)) | ||
| 1034 | (_ (list :foreground mainfg)))) | ||
| 1035 | |||
| 1036 | (defun modus-operandi-theme-extra-completions (subtleface intenseface altface &optional altfg bold) | ||
| 1037 | "Combinations for `modus-operandi-theme-completions'. | ||
| 1038 | |||
| 1039 | SUBTLEFACE and INTENSEFACE are custom theme faces that combine a | ||
| 1040 | background and foreground value. The difference between the two | ||
| 1041 | is a matter of degree. | ||
| 1042 | |||
| 1043 | ALTFACE is a combination of colours that represents a departure | ||
| 1044 | from the UI's default aesthetics. Optional ALTFG is meant to be | ||
| 1045 | used in tandem with it. | ||
| 1046 | |||
| 1047 | Optional BOLD will apply a heavier weight to the text. | ||
| 1048 | |||
| 1049 | These are intended for Helm, Ivy, etc." | ||
| 1050 | (pcase modus-operandi-theme-completions | ||
| 1051 | ('opinionated (list :inherit (list altface bold) | ||
| 1052 | :foreground (or altfg 'unspecified))) | ||
| 1053 | ('moderate (list :inherit (list subtleface bold))) | ||
| 1054 | (_ (list :inherit (list intenseface bold))))) | ||
| 1055 | |||
| 1056 | (defun modus-operandi-theme-scale (amount) | ||
| 1057 | "Scale heading by AMOUNT. | ||
| 1058 | |||
| 1059 | AMOUNT is a customisation option." | ||
| 1060 | (when modus-operandi-theme-scale-headings | ||
| 1061 | (list :height amount))) | ||
| 1062 | |||
| 1063 | ;;; Colour palette | ||
| 1064 | |||
| 1065 | ;; Define colour palette. Each colour must have a >= 7:1 contrast | ||
| 1066 | ;; ratio relative to the foreground/background colour it is rendered | ||
| 1067 | ;; against. | ||
| 1068 | ;; | ||
| 1069 | ;; The design of the colour palette as a macro that maps it to faces is | ||
| 1070 | ;; adapted from zenbern-theme.el, last seen at commit 7dd7968: | ||
| 1071 | ;; https://github.com/bbatsov/zenburn-emacs | ||
| 1072 | (eval-and-compile | ||
| 1073 | (defconst modus-operandi-theme-default-colors-alist | ||
| 1074 | '(;; base values | ||
| 1075 | ("bg-main" . "#ffffff") ("fg-main" . "#000000") | ||
| 1076 | ("bg-alt" . "#f0f0f0") ("fg-alt" . "#505050") | ||
| 1077 | ("bg-dim" . "#f8f8f8") ("fg-dim" . "#282828") | ||
| 1078 | ;; specifically for on/off states (e.g. `mode-line') | ||
| 1079 | ;; | ||
| 1080 | ;; must be combined with themselves | ||
| 1081 | ("bg-active" . "#d7d7d7") ("fg-active" . "#0a0a0a") | ||
| 1082 | ("bg-inactive" . "#efefef") ("fg-inactive" . "#404148") | ||
| 1083 | ;; special base values, used only for cases where the above | ||
| 1084 | ;; fg-* or bg-* cannot or should not be used (to avoid confusion) | ||
| 1085 | ;; must be combined with: {fg,bg}-{main,alt,dim} | ||
| 1086 | ("bg-special-cold" . "#dde3f4") ("fg-special-cold" . "#093060") | ||
| 1087 | ("bg-special-mild" . "#c4ede0") ("fg-special-mild" . "#184034") | ||
| 1088 | ("bg-special-warm" . "#f0e0d4") ("fg-special-warm" . "#5d3026") | ||
| 1089 | ("bg-special-calm" . "#f8ddea") ("fg-special-calm" . "#61284f") | ||
| 1090 | ;; styles for the main constructs | ||
| 1091 | ;; | ||
| 1092 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' | ||
| 1093 | ("red" . "#a60000") ("green" . "#005e00") | ||
| 1094 | ("yellow" . "#813e00") ("blue" . "#0031a9") | ||
| 1095 | ("magenta" . "#721045") ("cyan" . "#00538b") | ||
| 1096 | ;; styles for common, but still specialised constructs | ||
| 1097 | ;; | ||
| 1098 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' | ||
| 1099 | ("red-alt" . "#972500") ("green-alt" . "#315b00") | ||
| 1100 | ("yellow-alt" . "#70480f") ("blue-alt" . "#2544bb") | ||
| 1101 | ("magenta-alt" . "#8f0075") ("cyan-alt" . "#30517f") | ||
| 1102 | ;; same purpose as above, just slight differences | ||
| 1103 | ;; | ||
| 1104 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' | ||
| 1105 | ("red-alt-other" . "#a0132f") ("green-alt-other" . "#145c33") | ||
| 1106 | ("yellow-alt-other" . "#863927") ("blue-alt-other" . "#0000c0") | ||
| 1107 | ("magenta-alt-other" . "#5317ac") ("cyan-alt-other" . "#005a5f") | ||
| 1108 | ;; styles for desaturated foreground text, intended for use with | ||
| 1109 | ;; the `modus-operandi-theme-faint-syntax' option | ||
| 1110 | ;; | ||
| 1111 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' | ||
| 1112 | ("red-faint" . "#7f1010") ("green-faint" . "#104410") | ||
| 1113 | ("yellow-faint" . "#5f4400") ("blue-faint" . "#002f88") | ||
| 1114 | ("magenta-faint" . "#752f50") ("cyan-faint" . "#12506f") | ||
| 1115 | |||
| 1116 | ("red-alt-faint" . "#702f00") ("green-alt-faint" . "#30440f") | ||
| 1117 | ("yellow-alt-faint" . "#5d5000") ("blue-alt-faint" . "#003f78") | ||
| 1118 | ("magenta-alt-faint" . "#702565") ("cyan-alt-faint" . "#354f6f") | ||
| 1119 | |||
| 1120 | ("red-alt-other-faint" . "#7f002f") ("green-alt-other-faint" . "#0f443f") | ||
| 1121 | ("yellow-alt-other-faint" . "#5e3a20") ("blue-alt-other-faint" . "#1f2f6f") | ||
| 1122 | ("magenta-alt-other-faint" . "#5f3f7f") ("cyan-alt-other-faint" . "#2e584f") | ||
| 1123 | ;; styles for elements that should be very subtle, yet accented | ||
| 1124 | ;; | ||
| 1125 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' or any of | ||
| 1126 | ;; the "nuanced" backgrounds | ||
| 1127 | ("red-nuanced" . "#5f0000") ("green-nuanced" . "#004000") | ||
| 1128 | ("yellow-nuanced" . "#3f3000") ("blue-nuanced" . "#201f55") | ||
| 1129 | ("magenta-nuanced" . "#541f4f") ("cyan-nuanced" . "#0f3360") | ||
| 1130 | ;; styles for slightly accented background | ||
| 1131 | ;; | ||
| 1132 | ;; must be combined with any of the above foreground values | ||
| 1133 | ("red-nuanced-bg" . "#fff1f0") ("green-nuanced-bg" . "#ecf7ed") | ||
| 1134 | ("yellow-nuanced-bg" . "#fff3da") ("blue-nuanced-bg" . "#f3f3ff") | ||
| 1135 | ("magenta-nuanced-bg" . "#fdf0ff") ("cyan-nuanced-bg" . "#ebf6fa") | ||
| 1136 | ;; styles for elements that should draw attention to themselves | ||
| 1137 | ;; | ||
| 1138 | ;; must be combined with: `bg-main' | ||
| 1139 | ("red-intense" . "#b60000") ("green-intense" . "#006800") | ||
| 1140 | ("yellow-intense" . "#904200") ("blue-intense" . "#1111ee") | ||
| 1141 | ("magenta-intense" . "#7000e0") ("cyan-intense" . "#205b93") | ||
| 1142 | ;; styles for background elements that should be visible yet | ||
| 1143 | ;; subtle | ||
| 1144 | ;; | ||
| 1145 | ;; must be combined with: `fg-dim' | ||
| 1146 | ("red-subtle-bg" . "#f2b0a2") ("green-subtle-bg" . "#aecf90") | ||
| 1147 | ("yellow-subtle-bg" . "#e4c340") ("blue-subtle-bg" . "#b5d0ff") | ||
| 1148 | ("magenta-subtle-bg" . "#f0d3ff") ("cyan-subtle-bg" . "#c0efff") | ||
| 1149 | ;; styles for background elements that should be visible and | ||
| 1150 | ;; distinguishable | ||
| 1151 | ;; | ||
| 1152 | ;; must be combined with: `fg-main' | ||
| 1153 | ("red-intense-bg" . "#ff8892") ("green-intense-bg" . "#5ada88") | ||
| 1154 | ("yellow-intense-bg" . "#f5df23") ("blue-intense-bg" . "#6aaeff") | ||
| 1155 | ("magenta-intense-bg" . "#d5baff") ("cyan-intense-bg" . "#42cbd4") | ||
| 1156 | ;; styles for refined contexts where both the foreground and the | ||
| 1157 | ;; background need to have the same/similar hue | ||
| 1158 | ;; | ||
| 1159 | ;; must be combined with themselves OR the foregrounds can be | ||
| 1160 | ;; combined with any of the base backgrounds | ||
| 1161 | ("red-refine-bg" . "#ffcccc") ("red-refine-fg" . "#780000") | ||
| 1162 | ("green-refine-bg" . "#aceaac") ("green-refine-fg" . "#004c00") | ||
| 1163 | ("yellow-refine-bg" . "#fff29a") ("yellow-refine-fg" . "#604000") | ||
| 1164 | ("blue-refine-bg" . "#8ac7ff") ("blue-refine-fg" . "#002288") | ||
| 1165 | ("magenta-refine-bg" . "#ffccff") ("magenta-refine-fg" . "#770077") | ||
| 1166 | ("cyan-refine-bg" . "#8eecf4") ("cyan-refine-fg" . "#004850") | ||
| 1167 | ;; styles that are meant exclusively for the mode line | ||
| 1168 | ;; | ||
| 1169 | ;; must be combined with: `bg-active', `bg-inactive' | ||
| 1170 | ("red-active" . "#8a0000") ("green-active" . "#004c2e") | ||
| 1171 | ("yellow-active" . "#702d1f") ("blue-active" . "#0030b4") | ||
| 1172 | ("magenta-active" . "#5c2092") ("cyan-active" . "#003f8a") | ||
| 1173 | ;; styles that are meant exclusively for the fringes | ||
| 1174 | ;; | ||
| 1175 | ;; must be combined with `fg-main' | ||
| 1176 | ("red-fringe-bg" . "#f08290") ("green-fringe-bg" . "#62c86a") | ||
| 1177 | ("yellow-fringe-bg" . "#dbba3f") ("blue-fringe-bg" . "#82afff") | ||
| 1178 | ("magenta-fringe-bg" . "#e0a3ff") ("cyan-fringe-bg" . "#2fcddf") | ||
| 1179 | ;; styles reserved for specific faces | ||
| 1180 | ;; | ||
| 1181 | ;; `bg-hl-line' is between `bg-dim' and `bg-alt', so it should | ||
| 1182 | ;; work with all accents that cover those two, plus `bg-main' | ||
| 1183 | ;; | ||
| 1184 | ;; `bg-hl-alt' and `bg-hl-alt-intense' should only be used when no | ||
| 1185 | ;; other greyscale or fairly neutral background is available to | ||
| 1186 | ;; properly draw attention to a given construct | ||
| 1187 | ;; | ||
| 1188 | ;; `bg-header' is between `bg-active' and `bg-inactive', so it | ||
| 1189 | ;; can be combined with any of the "active" values, plus the | ||
| 1190 | ;; "special" and base foreground colours | ||
| 1191 | ;; | ||
| 1192 | ;; `bg-paren-match', `bg-paren-match-intense', `bg-region' and | ||
| 1193 | ;; `bg-tab-active' must be combined with `fg-main', while | ||
| 1194 | ;; `bg-tab-inactive' should be combined with `fg-dim' | ||
| 1195 | ;; | ||
| 1196 | ;; `bg-tab-bar' is only intended for the bar that holds the tabs and | ||
| 1197 | ;; can only be combined with `fg-main' | ||
| 1198 | ;; | ||
| 1199 | ;; `fg-tab-active' is meant to be combined with `bg-tab-active', | ||
| 1200 | ;; though only for styling special elements, such as underlining | ||
| 1201 | ;; the current tab | ||
| 1202 | ;; | ||
| 1203 | ;; `fg-escape-char-construct' and `fg-escape-char-backslash' can | ||
| 1204 | ;; be combined `bg-main', `bg-dim', `bg-alt' | ||
| 1205 | ;; | ||
| 1206 | ;; `fg-lang-error', `fg-lang-warning', `fg-lang-note' can be | ||
| 1207 | ;; combined with `bg-main', `bg-dim', `bg-alt' | ||
| 1208 | ;; | ||
| 1209 | ;; `fg-mark-sel', `fg-mark-del', `fg-mark-alt' can be combined | ||
| 1210 | ;; with `bg-main', `bg-dim', `bg-alt', `bg-hl-line' | ||
| 1211 | ;; | ||
| 1212 | ;; `fg-unfocused' must be combined with `fg-main' | ||
| 1213 | ;; | ||
| 1214 | ;; the window divider colours apply to faces with just an fg value | ||
| 1215 | ;; | ||
| 1216 | ;; all pairs are combinable with themselves | ||
| 1217 | ("bg-hl-line" . "#f2eff3") | ||
| 1218 | ("bg-hl-line-intense" . "#e0e0e0") | ||
| 1219 | ("bg-hl-alt" . "#fbeee0") | ||
| 1220 | ("bg-hl-alt-intense" . "#e8dfd1") | ||
| 1221 | ("bg-paren-match" . "#e0af82") | ||
| 1222 | ("bg-paren-match-intense" . "#c488ff") | ||
| 1223 | ("bg-region" . "#bcbcbc") | ||
| 1224 | |||
| 1225 | ("bg-tab-bar" . "#d5d5d5") | ||
| 1226 | ("bg-tab-active" . "#f6f6f6") | ||
| 1227 | ("bg-tab-inactive" . "#bdbdbd") | ||
| 1228 | ("fg-tab-active" . "#30169e") | ||
| 1229 | |||
| 1230 | ("fg-escape-char-construct" . "#8b1030") | ||
| 1231 | ("fg-escape-char-backslash" . "#654d0f") | ||
| 1232 | |||
| 1233 | ("fg-lang-error" . "#9f004f") | ||
| 1234 | ("fg-lang-warning" . "#604f0f") | ||
| 1235 | ("fg-lang-note" . "#4040ae") | ||
| 1236 | |||
| 1237 | ("fg-window-divider-inner" . "#888888") | ||
| 1238 | ("fg-window-divider-outer" . "#585858") | ||
| 1239 | |||
| 1240 | ("fg-unfocused" . "#56576d") | ||
| 1241 | |||
| 1242 | ("bg-header" . "#e5e5e5") ("fg-header" . "#2a2a2a") | ||
| 1243 | |||
| 1244 | ("bg-whitespace" . "#fff8fc") ("fg-whitespace" . "#645060") | ||
| 1245 | |||
| 1246 | ("bg-diff-heading" . "#b7c2dd") ("fg-diff-heading" . "#043355") | ||
| 1247 | ("bg-diff-added" . "#d4fad4") ("fg-diff-added" . "#004500") | ||
| 1248 | ("bg-diff-changed" . "#fcefcf") ("fg-diff-changed" . "#524200") | ||
| 1249 | ("bg-diff-removed" . "#ffe8ef") ("fg-diff-removed" . "#691616") | ||
| 1250 | |||
| 1251 | ("bg-diff-refine-added" . "#94cf94") ("fg-diff-refine-added" . "#002a00") | ||
| 1252 | ("bg-diff-refine-changed" . "#cccf8f") ("fg-diff-refine-changed" . "#302010") | ||
| 1253 | ("bg-diff-refine-removed" . "#daa2b0") ("fg-diff-refine-removed" . "#400000") | ||
| 1254 | |||
| 1255 | ("bg-diff-focus-added" . "#bbeabb") ("fg-diff-focus-added" . "#002c00") | ||
| 1256 | ("bg-diff-focus-changed" . "#ecdfbf") ("fg-diff-focus-changed" . "#392900") | ||
| 1257 | ("bg-diff-focus-removed" . "#efcbcf") ("fg-diff-focus-removed" . "#4a0000") | ||
| 1258 | |||
| 1259 | ("bg-diff-neutral-0" . "#979797") ("fg-diff-neutral-0" . "#040404") | ||
| 1260 | ("bg-diff-neutral-1" . "#b0b0b0") ("fg-diff-neutral-1" . "#252525") | ||
| 1261 | ("bg-diff-neutral-2" . "#cccccc") ("fg-diff-neutral-2" . "#3a3a3a") | ||
| 1262 | |||
| 1263 | ("bg-mark-sel" . "#a0f0cf") ("fg-mark-sel" . "#005040") | ||
| 1264 | ("bg-mark-del" . "#ffccbb") ("fg-mark-del" . "#840040") | ||
| 1265 | ("bg-mark-alt" . "#f5d88f") ("fg-mark-alt" . "#782900")) | ||
| 1266 | "The entire palette of `modus-operandi-theme'. | ||
| 1267 | Each element has the form (NAME . HEX).") | ||
| 1268 | |||
| 1269 | (defcustom modus-operandi-theme-override-colors-alist '() | ||
| 1270 | "Association list of palette colour overrides. | ||
| 1271 | Values can be mapped to variables, using the same syntax as the | ||
| 1272 | one present in `modus-operandi-theme-default-colors-alist'. | ||
| 1273 | |||
| 1274 | This is only meant for do-it-yourself usage, with the | ||
| 1275 | understanding that the user is responsible for the resulting | ||
| 1276 | contrast ratio between new and existing colours." | ||
| 1277 | :type '(alist | ||
| 1278 | :key-type (string :tag "Name") | ||
| 1279 | :value-type (string :tag " Hex"))) | ||
| 1280 | |||
| 1281 | (defmacro modus-operandi-theme-with-color-variables (&rest body) | ||
| 1282 | "`let' bind all colours around BODY. | ||
| 1283 | Also bind `class' to ((class color) (min-colors 89))." | ||
| 1284 | (declare (indent 0)) | ||
| 1285 | `(let ((class '((class color) (min-colors 89))) | ||
| 1286 | ,@(mapcar (lambda (cons) | ||
| 1287 | (list (intern (car cons)) (cdr cons))) | ||
| 1288 | (append modus-operandi-theme-default-colors-alist | ||
| 1289 | modus-operandi-theme-override-colors-alist)) | ||
| 1290 | ;; simple conditional styles that evaluate user-facing | ||
| 1291 | ;; customisation options | ||
| 1292 | (modus-theme-slant | ||
| 1293 | (if modus-operandi-theme-slanted-constructs 'italic 'normal)) | ||
| 1294 | (modus-theme-variable-pitch | ||
| 1295 | (if modus-operandi-theme-variable-pitch-headings 'variable-pitch 'default))) | ||
| 1296 | ,@body))) | ||
| 1297 | |||
| 1298 | |||
| 1299 | |||
| 1300 | ;;; Faces | ||
| 1301 | |||
| 1302 | (modus-operandi-theme-with-color-variables | ||
| 1303 | (custom-theme-set-faces | ||
| 1304 | 'modus-operandi | ||
| 1305 | ;;;; custom faces | ||
| 1306 | ;; these bespoke faces are inherited by other constructs below | ||
| 1307 | ;;;;; subtle coloured backgrounds | ||
| 1308 | `(modus-theme-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim))) | ||
| 1309 | `(modus-theme-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim))) | ||
| 1310 | `(modus-theme-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim))) | ||
| 1311 | `(modus-theme-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) | ||
| 1312 | `(modus-theme-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim))) | ||
| 1313 | `(modus-theme-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim))) | ||
| 1314 | `(modus-theme-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 1315 | ;;;;; intense coloured backgrounds | ||
| 1316 | `(modus-theme-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main))) | ||
| 1317 | `(modus-theme-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main))) | ||
| 1318 | `(modus-theme-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main))) | ||
| 1319 | `(modus-theme-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main))) | ||
| 1320 | `(modus-theme-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main))) | ||
| 1321 | `(modus-theme-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main))) | ||
| 1322 | `(modus-theme-intense-neutral ((,class :background ,bg-active :foreground ,fg-main))) | ||
| 1323 | ;;;;; refined background and foreground combinations | ||
| 1324 | ;; general purpose styles that use an accented foreground against an | ||
| 1325 | ;; accented background | ||
| 1326 | `(modus-theme-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg))) | ||
| 1327 | `(modus-theme-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg))) | ||
| 1328 | `(modus-theme-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg))) | ||
| 1329 | `(modus-theme-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg))) | ||
| 1330 | `(modus-theme-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg))) | ||
| 1331 | `(modus-theme-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg))) | ||
| 1332 | ;;;;; "active" combinations, mostly for use on the mode line | ||
| 1333 | `(modus-theme-active-red ((,class :background ,red-active :foreground ,bg-active))) | ||
| 1334 | `(modus-theme-active-green ((,class :background ,green-active :foreground ,bg-active))) | ||
| 1335 | `(modus-theme-active-yellow ((,class :background ,yellow-active :foreground ,bg-active))) | ||
| 1336 | `(modus-theme-active-blue ((,class :background ,blue-active :foreground ,bg-active))) | ||
| 1337 | `(modus-theme-active-magenta ((,class :background ,magenta-active :foreground ,bg-active))) | ||
| 1338 | `(modus-theme-active-cyan ((,class :background ,cyan-active :foreground ,bg-active))) | ||
| 1339 | ;;;;; nuanced backgrounds | ||
| 1340 | ;; useful for adding an accented background that is suitable for all | ||
| 1341 | ;; main foreground colours (intended for use in Org source blocks) | ||
| 1342 | `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg | ||
| 1343 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1344 | `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg | ||
| 1345 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1346 | `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg | ||
| 1347 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1348 | `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg | ||
| 1349 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1350 | `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg | ||
| 1351 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1352 | `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg | ||
| 1353 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1354 | ;;;;; fringe-specific combinations | ||
| 1355 | `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main))) | ||
| 1356 | `(modus-theme-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main))) | ||
| 1357 | `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main))) | ||
| 1358 | `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main))) | ||
| 1359 | `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main))) | ||
| 1360 | `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main))) | ||
| 1361 | ;;;;; special base values | ||
| 1362 | ;; these are closer to the grayscale than the accents defined above | ||
| 1363 | ;; and should only be used when the next closest alternative would be | ||
| 1364 | ;; a greyscale value than an accented one | ||
| 1365 | `(modus-theme-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 1366 | `(modus-theme-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild))) | ||
| 1367 | `(modus-theme-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm))) | ||
| 1368 | `(modus-theme-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm))) | ||
| 1369 | ;;;;; diff-specific combinations | ||
| 1370 | ;; intended for `diff-mode' or equivalent | ||
| 1371 | `(modus-theme-diff-added | ||
| 1372 | ((,class ,@(modus-operandi-theme-diff | ||
| 1373 | bg-main green | ||
| 1374 | bg-diff-focus-added fg-diff-focus-added | ||
| 1375 | green-nuanced-bg fg-diff-added)))) | ||
| 1376 | `(modus-theme-diff-changed | ||
| 1377 | ((,class ,@(modus-operandi-theme-diff | ||
| 1378 | bg-main yellow | ||
| 1379 | bg-diff-focus-changed fg-diff-focus-changed | ||
| 1380 | yellow-nuanced-bg fg-diff-changed)))) | ||
| 1381 | `(modus-theme-diff-removed | ||
| 1382 | ((,class ,@(modus-operandi-theme-diff | ||
| 1383 | bg-main red | ||
| 1384 | bg-diff-focus-removed fg-diff-focus-removed | ||
| 1385 | red-nuanced-bg fg-diff-removed)))) | ||
| 1386 | `(modus-theme-diff-refine-added | ||
| 1387 | ((,class ,@(modus-operandi-theme-diff | ||
| 1388 | bg-diff-added fg-diff-added | ||
| 1389 | bg-diff-refine-added fg-diff-refine-added | ||
| 1390 | bg-diff-focus-added fg-diff-focus-added)))) | ||
| 1391 | `(modus-theme-diff-refine-changed | ||
| 1392 | ((,class ,@(modus-operandi-theme-diff | ||
| 1393 | bg-diff-changed fg-diff-changed | ||
| 1394 | bg-diff-refine-changed fg-diff-refine-changed | ||
| 1395 | bg-diff-focus-changed fg-diff-focus-changed)))) | ||
| 1396 | `(modus-theme-diff-refine-removed | ||
| 1397 | ((,class ,@(modus-operandi-theme-diff | ||
| 1398 | bg-diff-removed fg-diff-removed | ||
| 1399 | bg-diff-refine-removed fg-diff-refine-removed | ||
| 1400 | bg-diff-focus-removed fg-diff-focus-removed)))) | ||
| 1401 | `(modus-theme-diff-focus-added | ||
| 1402 | ((,class ,@(modus-operandi-theme-diff | ||
| 1403 | bg-dim green | ||
| 1404 | bg-diff-focus-added fg-diff-focus-added | ||
| 1405 | bg-diff-added fg-diff-added)))) | ||
| 1406 | `(modus-theme-diff-focus-changed | ||
| 1407 | ((,class ,@(modus-operandi-theme-diff | ||
| 1408 | bg-dim yellow | ||
| 1409 | bg-diff-focus-changed fg-diff-focus-changed | ||
| 1410 | bg-diff-changed fg-diff-changed)))) | ||
| 1411 | `(modus-theme-diff-focus-removed | ||
| 1412 | ((,class ,@(modus-operandi-theme-diff | ||
| 1413 | bg-dim red | ||
| 1414 | bg-diff-focus-removed fg-diff-focus-removed | ||
| 1415 | bg-diff-removed fg-diff-removed)))) | ||
| 1416 | `(modus-theme-diff-heading | ||
| 1417 | ((,class ,@(modus-operandi-theme-diff | ||
| 1418 | bg-alt blue-alt | ||
| 1419 | bg-diff-heading fg-diff-heading | ||
| 1420 | blue-nuanced-bg blue)))) | ||
| 1421 | ;;;;; mark indicators | ||
| 1422 | ;; colour combinations intended for Dired, Ibuffer, or equivalent | ||
| 1423 | `(modus-theme-pseudo-header ((,class :inherit bold :foreground ,fg-main))) | ||
| 1424 | `(modus-theme-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt))) | ||
| 1425 | `(modus-theme-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del))) | ||
| 1426 | `(modus-theme-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel))) | ||
| 1427 | `(modus-theme-mark-symbol ((,class :inherit bold :foreground ,blue-alt))) | ||
| 1428 | ;;;;; heading levels | ||
| 1429 | ;; styles for regular headings used in Org, Markdown, Info, etc. | ||
| 1430 | `(modus-theme-heading-1 | ||
| 1431 | ((,class ,@(modus-operandi-theme-heading | ||
| 1432 | 1 fg-main magenta-alt-other magenta-nuanced-bg bg-region) | ||
| 1433 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 1434 | `(modus-theme-heading-2 | ||
| 1435 | ((,class ,@(modus-operandi-theme-heading | ||
| 1436 | 2 fg-special-warm magenta-alt red-nuanced-bg bg-region) | ||
| 1437 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))) | ||
| 1438 | `(modus-theme-heading-3 | ||
| 1439 | ((,class ,@(modus-operandi-theme-heading | ||
| 1440 | 3 fg-special-cold blue blue-nuanced-bg bg-region) | ||
| 1441 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-2)))) | ||
| 1442 | `(modus-theme-heading-4 | ||
| 1443 | ((,class ,@(modus-operandi-theme-heading | ||
| 1444 | 4 fg-special-mild cyan cyan-nuanced-bg bg-region) | ||
| 1445 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-1)))) | ||
| 1446 | `(modus-theme-heading-5 | ||
| 1447 | ((,class ,@(modus-operandi-theme-heading | ||
| 1448 | 5 fg-special-calm green-alt-other green-nuanced-bg bg-region)))) | ||
| 1449 | `(modus-theme-heading-6 | ||
| 1450 | ((,class ,@(modus-operandi-theme-heading | ||
| 1451 | 6 yellow-nuanced yellow-alt-other yellow-nuanced-bg bg-region)))) | ||
| 1452 | `(modus-theme-heading-7 | ||
| 1453 | ((,class ,@(modus-operandi-theme-heading | ||
| 1454 | 7 red-nuanced red-alt red-nuanced-bg bg-region)))) | ||
| 1455 | `(modus-theme-heading-8 | ||
| 1456 | ((,class ,@(modus-operandi-theme-heading | ||
| 1457 | 8 fg-dim magenta bg-alt bg-region)))) | ||
| 1458 | ;;;;; other custom faces | ||
| 1459 | `(modus-theme-hl-line ((,class :background ,(if modus-operandi-theme-intense-hl-line | ||
| 1460 | bg-hl-line-intense bg-hl-line) | ||
| 1461 | (and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1462 | ;;;; standard faces | ||
| 1463 | ;;;;; absolute essentials | ||
| 1464 | `(default ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 1465 | `(cursor ((,class :background ,fg-main))) | ||
| 1466 | `(fringe ((,class ,@(modus-operandi-theme-fringe bg-inactive bg-active) | ||
| 1467 | :foreground ,fg-main))) | ||
| 1468 | `(vertical-border ((,class :foreground ,fg-window-divider-inner))) | ||
| 1469 | ;;;;; basic and/or ungrouped styles | ||
| 1470 | ;; Modify the `bold' face to change the weight of all "bold" elements | ||
| 1471 | ;; defined by the theme. You need a typeface that supports a | ||
| 1472 | ;; multitude of heavier weights than the regular one and then you | ||
| 1473 | ;; must specify the exact name of the one you wish to apply. Example | ||
| 1474 | ;; for your init.el: | ||
| 1475 | ;; | ||
| 1476 | ;; (set-face-attribute 'bold nil :weight 'semibold) | ||
| 1477 | `(bold ((,class :weight bold))) | ||
| 1478 | `(comint-highlight-input ((,class :inherit bold))) | ||
| 1479 | `(comint-highlight-prompt ((,class ,@(modus-operandi-theme-bold-weight) | ||
| 1480 | ,@(modus-operandi-theme-prompt | ||
| 1481 | cyan | ||
| 1482 | blue-nuanced-bg blue-alt | ||
| 1483 | blue-refine-bg fg-main)))) | ||
| 1484 | `(error ((,class :inherit bold :foreground ,red))) | ||
| 1485 | `(escape-glyph ((,class :foreground ,fg-escape-char-construct))) | ||
| 1486 | `(file-name-shadow ((,class :foreground ,fg-unfocused))) | ||
| 1487 | `(header-line ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 1488 | `(header-line-highlight ((,class :inherit modus-theme-active-blue))) | ||
| 1489 | `(help-argument-name ((,class :foreground ,cyan :slant ,modus-theme-slant))) | ||
| 1490 | `(homoglyph ((,class :foreground ,fg-escape-char-construct))) | ||
| 1491 | `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other))) | ||
| 1492 | `(italic ((,class :slant italic))) | ||
| 1493 | `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct))) | ||
| 1494 | `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t))) | ||
| 1495 | `(minibuffer-prompt ((,class ,@(modus-operandi-theme-prompt | ||
| 1496 | cyan-alt-other | ||
| 1497 | cyan-nuanced-bg cyan | ||
| 1498 | cyan-refine-bg fg-main)))) | ||
| 1499 | `(mm-command-output ((,class :foreground ,red-alt-other))) | ||
| 1500 | `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 1501 | `(next-error ((,class :inherit modus-theme-subtle-red))) | ||
| 1502 | `(rectangle-preview ((,class :inherit modus-theme-special-mild))) | ||
| 1503 | `(region ((,class :background ,bg-region :foreground ,fg-main))) | ||
| 1504 | `(secondary-selection ((,class :inherit modus-theme-special-cold))) | ||
| 1505 | `(shadow ((,class :foreground ,fg-alt))) | ||
| 1506 | `(success ((,class :inherit bold :foreground ,green))) | ||
| 1507 | `(trailing-whitespace ((,class :background ,red-intense-bg))) | ||
| 1508 | `(warning ((,class :inherit bold :foreground ,yellow))) | ||
| 1509 | ;;;;; buttons, links, widgets | ||
| 1510 | `(button ((,class :foreground ,blue-alt-other | ||
| 1511 | ,@(unless modus-operandi-theme-no-link-underline | ||
| 1512 | (list :underline t))))) | ||
| 1513 | `(link ((,class :inherit button))) | ||
| 1514 | `(link-visited ((,class :inherit link :foreground ,magenta-alt-other))) | ||
| 1515 | `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 1516 | `(widget-button ((,class :inherit button))) | ||
| 1517 | `(widget-button-pressed ((,class :inherit button :foreground ,magenta))) | ||
| 1518 | `(widget-documentation ((,class :foreground ,green))) | ||
| 1519 | `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim))) | ||
| 1520 | `(widget-inactive ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 1521 | `(widget-single-line-field ((,class :inherit widget-field))) | ||
| 1522 | ;;;;; ag | ||
| 1523 | `(ag-hit-face ((,class :foreground ,fg-special-cold))) | ||
| 1524 | `(ag-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 1525 | ;;;;; alert | ||
| 1526 | `(alert-high-face ((,class :inherit bold :foreground ,red-alt))) | ||
| 1527 | `(alert-low-face ((,class :foreground ,fg-special-mild))) | ||
| 1528 | `(alert-moderate-face ((,class :inherit bold :foreground ,yellow))) | ||
| 1529 | `(alert-trivial-face ((,class :foreground ,fg-special-calm))) | ||
| 1530 | `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense))) | ||
| 1531 | ;;;;; all-the-icons | ||
| 1532 | `(all-the-icons-blue ((,class :foreground ,blue))) | ||
| 1533 | `(all-the-icons-blue-alt ((,class :foreground ,blue-alt))) | ||
| 1534 | `(all-the-icons-cyan ((,class :foreground ,cyan))) | ||
| 1535 | `(all-the-icons-cyan-alt ((,class :foreground ,cyan-alt))) | ||
| 1536 | `(all-the-icons-dblue ((,class :foreground ,blue-alt-other))) | ||
| 1537 | `(all-the-icons-dcyan ((,class :foreground ,cyan-alt-other))) | ||
| 1538 | `(all-the-icons-dgreen ((,class :foreground ,green-alt-other))) | ||
| 1539 | `(all-the-icons-dired-dir-face ((,class :foreground ,blue))) | ||
| 1540 | `(all-the-icons-dmaroon ((,class :foreground ,magenta-alt-other))) | ||
| 1541 | `(all-the-icons-dorange ((,class :foreground ,red-alt-other))) | ||
| 1542 | `(all-the-icons-dpink ((,class :foreground ,magenta))) | ||
| 1543 | `(all-the-icons-dpurple ((,class :foreground ,magenta-alt))) | ||
| 1544 | `(all-the-icons-dred ((,class :foreground ,red))) | ||
| 1545 | `(all-the-icons-dsilver ((,class :foreground ,fg-special-cold))) | ||
| 1546 | `(all-the-icons-dyellow ((,class :foreground ,yellow))) | ||
| 1547 | `(all-the-icons-green ((,class :foreground ,green))) | ||
| 1548 | `(all-the-icons-lblue ((,class :foreground ,blue-refine-fg))) | ||
| 1549 | `(all-the-icons-lcyan ((,class :foreground ,cyan-refine-fg))) | ||
| 1550 | `(all-the-icons-lgreen ((,class :foreground ,green-refine-fg))) | ||
| 1551 | `(all-the-icons-lmaroon ((,class :foreground ,magenta-refine-fg))) | ||
| 1552 | `(all-the-icons-lorange ((,class :foreground ,red-refine-fg))) | ||
| 1553 | `(all-the-icons-lpink ((,class :foreground ,magenta-refine-fg))) | ||
| 1554 | `(all-the-icons-lpurple ((,class :foreground ,magenta-refine-fg))) | ||
| 1555 | `(all-the-icons-lred ((,class :foreground ,red-refine-fg))) | ||
| 1556 | `(all-the-icons-lsilver ((,class :foreground ,fg-special-cold))) | ||
| 1557 | `(all-the-icons-lyellow ((,class :foreground ,yellow-refine-fg))) | ||
| 1558 | `(all-the-icons-maroon ((,class :foreground ,magenta))) | ||
| 1559 | `(all-the-icons-orange ((,class :foreground ,red-alt))) | ||
| 1560 | `(all-the-icons-pink ((,class :foreground ,magenta))) | ||
| 1561 | `(all-the-icons-purple ((,class :foreground ,magenta-alt))) | ||
| 1562 | `(all-the-icons-purple-alt ((,class :foreground ,magenta-alt-other))) | ||
| 1563 | `(all-the-icons-red ((,class :foreground ,red))) | ||
| 1564 | `(all-the-icons-red-alt ((,class :foreground ,red-alt))) | ||
| 1565 | `(all-the-icons-silver ((,class :foreground ,fg-special-cold))) | ||
| 1566 | `(all-the-icons-yellow ((,class :foreground ,yellow))) | ||
| 1567 | ;;;;; annotate | ||
| 1568 | `(annotate-annotation ((,class :inherit modus-theme-subtle-blue))) | ||
| 1569 | `(annotate-annotation-secondary ((,class :inherit modus-theme-subtle-green))) | ||
| 1570 | `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense))) | ||
| 1571 | `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense))) | ||
| 1572 | ;;;;; anzu | ||
| 1573 | `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan))) | ||
| 1574 | `(anzu-match-2 ((,class :inherit modus-theme-subtle-green))) | ||
| 1575 | `(anzu-match-3 ((,class :inherit modus-theme-subtle-yellow))) | ||
| 1576 | `(anzu-mode-line ((,class :inherit bold :foreground ,green-active))) | ||
| 1577 | `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active))) | ||
| 1578 | `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow :underline t))) | ||
| 1579 | `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 1580 | ;;;;; apropos | ||
| 1581 | `(apropos-function-button ((,class :inherit button :foreground ,magenta-alt-other))) | ||
| 1582 | `(apropos-keybinding ((,class :inherit bold :foreground ,cyan))) | ||
| 1583 | `(apropos-misc-button ((,class :inherit button :foreground ,cyan-alt-other))) | ||
| 1584 | `(apropos-property ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-alt))) | ||
| 1585 | `(apropos-symbol ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,blue-alt-other))) | ||
| 1586 | `(apropos-user-option-button ((,class :inherit button :foreground ,green-alt-other))) | ||
| 1587 | `(apropos-variable-button ((,class :inherit button :foreground ,blue))) | ||
| 1588 | ;;;;; apt-sources-list | ||
| 1589 | `(apt-sources-list-components ((,class :foreground ,cyan))) | ||
| 1590 | `(apt-sources-list-options ((,class :foreground ,yellow))) | ||
| 1591 | `(apt-sources-list-suite ((,class :foreground ,green))) | ||
| 1592 | `(apt-sources-list-type ((,class :foreground ,magenta))) | ||
| 1593 | `(apt-sources-list-uri ((,class :foreground ,blue))) | ||
| 1594 | ;;;;; artbollocks-mode | ||
| 1595 | `(artbollocks-face ((,class :foreground ,cyan-nuanced :underline ,fg-lang-note))) | ||
| 1596 | `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) | ||
| 1597 | `(artbollocks-passive-voice-face ((,class :foreground ,yellow-nuanced :underline ,fg-lang-warning))) | ||
| 1598 | `(artbollocks-weasel-words-face ((,class :foreground ,red-nuanced :underline ,fg-lang-error))) | ||
| 1599 | ;;;;; auctex and Tex | ||
| 1600 | `(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm))) | ||
| 1601 | `(font-latex-doctex-documentation-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 1602 | `(font-latex-doctex-preprocessor-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,red-alt-other))) | ||
| 1603 | `(font-latex-italic-face ((,class :foreground ,fg-special-calm :slant italic))) | ||
| 1604 | `(font-latex-math-face ((,class :foreground ,cyan-alt-other))) | ||
| 1605 | `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other))) | ||
| 1606 | `(font-latex-sectioning-0-face ((,class :inherit ,modus-theme-variable-pitch :foreground ,blue-nuanced))) | ||
| 1607 | `(font-latex-sectioning-1-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced))) | ||
| 1608 | `(font-latex-sectioning-2-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced))) | ||
| 1609 | `(font-latex-sectioning-3-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced))) | ||
| 1610 | `(font-latex-sectioning-4-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced))) | ||
| 1611 | `(font-latex-sectioning-5-face ((,class :inherit ,modus-theme-variable-pitch :foreground ,blue-nuanced))) | ||
| 1612 | `(font-latex-sedate-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-alt-other))) | ||
| 1613 | `(font-latex-slide-title-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,cyan-nuanced | ||
| 1614 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 1615 | `(font-latex-string-face ((,class :foreground ,blue-alt))) | ||
| 1616 | `(font-latex-subscript-face ((,class :height 0.95))) | ||
| 1617 | `(font-latex-superscript-face ((,class :height 0.95))) | ||
| 1618 | `(font-latex-verbatim-face ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 1619 | `(font-latex-warning-face ((,class :foreground ,yellow-alt-other))) | ||
| 1620 | `(tex-match ((,class :foreground ,blue-alt-other))) | ||
| 1621 | `(tex-verbatim ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 1622 | `(texinfo-heading ((,class :foreground ,magenta))) | ||
| 1623 | `(TeX-error-description-error ((,class :inherit bold :foreground ,red))) | ||
| 1624 | `(TeX-error-description-help ((,class :foreground ,blue))) | ||
| 1625 | `(TeX-error-description-tex-said ((,class :foreground ,blue))) | ||
| 1626 | `(TeX-error-description-warning ((,class :inherit bold :foreground ,yellow))) | ||
| 1627 | ;;;;; auto-dim-other-buffers | ||
| 1628 | `(auto-dim-other-buffers-face ((,class :background ,bg-alt))) | ||
| 1629 | ;;;;; avy | ||
| 1630 | `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 1631 | `(avy-goto-char-timer-face ((,class :inherit (modus-theme-intense-yellow bold)))) | ||
| 1632 | `(avy-lead-face ((,class :inherit (modus-theme-intense-magenta bold)))) | ||
| 1633 | `(avy-lead-face-0 ((,class :inherit (modus-theme-intense-blue bold)))) | ||
| 1634 | `(avy-lead-face-1 ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 1635 | `(avy-lead-face-2 ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 1636 | ;;;;; aw (ace-window) | ||
| 1637 | `(aw-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 1638 | `(aw-key-face ((,class :inherit bold :foreground ,blue-intense))) | ||
| 1639 | `(aw-leading-char-face ((,class :inherit bold :height 1.5 :background ,bg-main :foreground ,red-intense))) | ||
| 1640 | `(aw-minibuffer-leading-char-face ((,class :foreground ,magenta-active))) | ||
| 1641 | `(aw-mode-line-face ((,class :inherit bold))) | ||
| 1642 | ;;;;; awesome-tray | ||
| 1643 | `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 1644 | `(awesome-tray-module-battery-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 1645 | `(awesome-tray-module-buffer-name-face ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 1646 | `(awesome-tray-module-circe-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 1647 | `(awesome-tray-module-date-face ((,class :inherit bold :foreground ,fg-dim))) | ||
| 1648 | `(awesome-tray-module-evil-face ((,class :inherit bold :foreground ,green-alt))) | ||
| 1649 | `(awesome-tray-module-git-face ((,class :inherit bold :foreground ,magenta))) | ||
| 1650 | `(awesome-tray-module-last-command-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 1651 | `(awesome-tray-module-location-face ((,class :inherit bold :foreground ,yellow))) | ||
| 1652 | `(awesome-tray-module-mode-name-face ((,class :inherit bold :foreground ,green))) | ||
| 1653 | `(awesome-tray-module-parent-dir-face ((,class :inherit bold :foreground ,cyan))) | ||
| 1654 | `(awesome-tray-module-rvm-face ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 1655 | ;;;;; binder | ||
| 1656 | `(binder-sidebar-highlight ((,class :inherit modus-theme-subtle-cyan))) | ||
| 1657 | `(binder-sidebar-marked ((,class :inherit modus-theme-mark-sel))) | ||
| 1658 | `(binder-sidebar-missing ((,class :inherit modus-theme-subtle-red))) | ||
| 1659 | `(binder-sidebar-tags ((,class :foreground ,cyan))) | ||
| 1660 | ;;;;; bm | ||
| 1661 | `(bm-face ((,class :inherit modus-theme-subtle-yellow | ||
| 1662 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1663 | `(bm-fringe-face ((,class :inherit modus-theme-fringe-yellow))) | ||
| 1664 | `(bm-fringe-persistent-face ((,class :inherit modus-theme-fringe-blue))) | ||
| 1665 | `(bm-persistent-face ((,class :inherit modus-theme-intense-blue | ||
| 1666 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1667 | ;;;;; bongo | ||
| 1668 | `(bongo-album-title ((,class :foreground ,cyan-active))) | ||
| 1669 | `(bongo-artist ((,class :foreground ,magenta-active))) | ||
| 1670 | `(bongo-currently-playing-track ((,class :inherit bold))) | ||
| 1671 | `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta :underline t))) | ||
| 1672 | `(bongo-filled-seek-bar ((,class :background ,blue-subtle-bg :foreground ,fg-main))) | ||
| 1673 | `(bongo-marked-track ((,class :foreground ,fg-mark-alt))) | ||
| 1674 | `(bongo-marked-track-line ((,class :background ,bg-mark-alt))) | ||
| 1675 | `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t))) | ||
| 1676 | `(bongo-track-length ((,class :foreground ,blue-alt-other))) | ||
| 1677 | `(bongo-track-title ((,class :foreground ,blue-active))) | ||
| 1678 | `(bongo-unfilled-seek-bar ((,class :background ,blue-nuanced-bg :foreground ,fg-main))) | ||
| 1679 | ;;;;; boon | ||
| 1680 | `(boon-modeline-cmd ((,class :inherit modus-theme-active-blue))) | ||
| 1681 | `(boon-modeline-ins ((,class :inherit modus-theme-active-red))) | ||
| 1682 | `(boon-modeline-off ((,class :inherit modus-theme-active-yellow))) | ||
| 1683 | `(boon-modeline-spc ((,class :inherit modus-theme-active-green))) | ||
| 1684 | ;;;;; breakpoint (built-in gdb-mi.el) | ||
| 1685 | `(breakpoint-disabled ((,class :foreground ,fg-alt))) | ||
| 1686 | `(breakpoint-enabled ((,class :inherit bold :foreground ,red))) | ||
| 1687 | ;;;;; buffer-expose | ||
| 1688 | `(buffer-expose-ace-char-face ((,class :inherit bold :foreground ,red-active))) | ||
| 1689 | `(buffer-expose-mode-line-face ((,class :foreground ,cyan-active))) | ||
| 1690 | `(buffer-expose-selected-face ((,class :inherit modus-theme-special-mild))) | ||
| 1691 | ;;;;; calendar and diary | ||
| 1692 | `(calendar-month-header ((,class :inherit bold :foreground ,fg-main))) | ||
| 1693 | `(calendar-today ((,class :underline t))) | ||
| 1694 | `(calendar-weekday-header ((,class :foreground ,fg-dim))) | ||
| 1695 | `(calendar-weekend-header ((,class :foreground ,fg-alt))) | ||
| 1696 | `(diary ((,class :foreground ,cyan-alt-other))) | ||
| 1697 | `(diary-anniversary ((,class :foreground ,red-alt-other))) | ||
| 1698 | `(diary-time ((,class :foreground ,blue-alt))) | ||
| 1699 | `(holiday ((,class :foreground ,magenta-alt))) | ||
| 1700 | ;;;;; calfw | ||
| 1701 | `(cfw:face-annotation ((,class :foreground ,fg-special-warm))) | ||
| 1702 | `(cfw:face-day-title ((,class :foreground ,fg-main))) | ||
| 1703 | `(cfw:face-default-content ((,class :foreground ,green-alt))) | ||
| 1704 | `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold)))) | ||
| 1705 | `(cfw:face-disable ((,class :foreground ,fg-unfocused))) | ||
| 1706 | `(cfw:face-grid ((,class :foreground ,fg-window-divider-outer))) | ||
| 1707 | `(cfw:face-header ((,class :inherit bold :foreground ,fg-main))) | ||
| 1708 | `(cfw:face-holiday ((,class :foreground ,magenta-alt-other))) | ||
| 1709 | `(cfw:face-periods ((,class :foreground ,cyan-alt-other))) | ||
| 1710 | `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 1711 | `(cfw:face-select ((,class :inherit modus-theme-intense-blue))) | ||
| 1712 | `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 1713 | `(cfw:face-title ((,class :inherit ,modus-theme-variable-pitch | ||
| 1714 | :foreground ,fg-special-cold | ||
| 1715 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-5)))) | ||
| 1716 | `(cfw:face-today ((,class :background ,bg-inactive))) | ||
| 1717 | `(cfw:face-today-title ((,class :background ,bg-active))) | ||
| 1718 | `(cfw:face-toolbar ((,class :background ,bg-alt :foreground ,bg-alt))) | ||
| 1719 | `(cfw:face-toolbar-button-off ((,class :foreground ,fg-alt))) | ||
| 1720 | `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg | ||
| 1721 | :foreground ,blue-alt))) | ||
| 1722 | ;;;;; centaur-tabs | ||
| 1723 | `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active))) | ||
| 1724 | `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) | ||
| 1725 | `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected))) | ||
| 1726 | `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected))) | ||
| 1727 | `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected))) | ||
| 1728 | `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected))) | ||
| 1729 | `(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main))) | ||
| 1730 | `(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active :foreground ,fg-main))) | ||
| 1731 | `(centaur-tabs-selected-modified ((,class :background ,bg-tab-active :foreground ,fg-main :slant italic))) | ||
| 1732 | `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground ,fg-dim))) | ||
| 1733 | `(centaur-tabs-unselected-modified ((,class :background ,bg-tab-inactive :foreground ,fg-dim :slant italic))) | ||
| 1734 | ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') | ||
| 1735 | `(change-log-acknowledgment ((,class :foreground ,fg-alt))) | ||
| 1736 | `(change-log-conditionals ((,class :foreground ,magenta-alt))) | ||
| 1737 | `(change-log-date ((,class :foreground ,cyan-alt-other))) | ||
| 1738 | `(change-log-email ((,class :foreground ,cyan))) | ||
| 1739 | `(change-log-file ((,class :foreground ,blue))) | ||
| 1740 | `(change-log-function ((,class :foreground ,green-alt-other))) | ||
| 1741 | `(change-log-list ((,class :foreground ,magenta-alt-other))) | ||
| 1742 | `(change-log-name ((,class :foreground ,cyan))) | ||
| 1743 | `(log-edit-header ((,class :foreground ,fg-special-warm))) | ||
| 1744 | `(log-edit-summary ((,class :inherit bold :foreground ,cyan))) | ||
| 1745 | `(log-edit-unknown-header ((,class :foreground ,fg-alt))) | ||
| 1746 | `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1747 | `(log-view-message ((,class :foreground ,fg-alt))) | ||
| 1748 | ;;;;; cider | ||
| 1749 | `(cider-debug-code-overlay-face ((,class :background ,bg-alt))) | ||
| 1750 | `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t))) | ||
| 1751 | `(cider-deprecated-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 1752 | `(cider-docview-emphasis-face ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 1753 | `(cider-docview-literal-face ((,class :foreground ,blue-alt))) | ||
| 1754 | `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1755 | `(cider-docview-table-border-face ((,class :foreground ,fg-alt))) | ||
| 1756 | `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim))) | ||
| 1757 | `(cider-enlightened-local-face ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 1758 | `(cider-error-highlight-face ((,class :foreground ,red :underline t))) | ||
| 1759 | `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,yellow))) | ||
| 1760 | `(cider-fringe-good-face ((,class :foreground ,green-active))) | ||
| 1761 | `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim))) | ||
| 1762 | `(cider-reader-conditional-face ((,class :foreground ,fg-special-warm :slant italic))) | ||
| 1763 | `(cider-repl-input-face ((,class :inherit bold))) | ||
| 1764 | `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other))) | ||
| 1765 | `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red))) | ||
| 1766 | `(cider-repl-stdout-face ((,class :foreground ,blue))) | ||
| 1767 | `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim))) | ||
| 1768 | `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground ,red))) | ||
| 1769 | `(cider-stacktrace-error-message-face ((,class :foreground ,red-alt-other :slant italic))) | ||
| 1770 | `(cider-stacktrace-face ((,class :foreground ,fg-main))) | ||
| 1771 | `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt :underline t))) | ||
| 1772 | `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt))) | ||
| 1773 | `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 1774 | `(cider-stacktrace-ns-face ((,class :foreground ,fg-alt :slant italic))) | ||
| 1775 | `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red))) | ||
| 1776 | `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button) | ||
| 1777 | :background ,bg-alt :foreground ,fg-alt))) | ||
| 1778 | `(cider-test-error-face ((,class :inherit modus-theme-subtle-red))) | ||
| 1779 | `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 1780 | `(cider-test-success-face ((,class :inherit modus-theme-intense-green))) | ||
| 1781 | `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim))) | ||
| 1782 | `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t))) | ||
| 1783 | ;;;;; circe (and lui) | ||
| 1784 | `(circe-fool-face ((,class :foreground ,fg-alt))) | ||
| 1785 | `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue))) | ||
| 1786 | `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 1787 | `(circe-server-face ((,class :foreground ,fg-unfocused))) | ||
| 1788 | `(lui-button-face ((,class :inherit button :foreground ,blue))) | ||
| 1789 | `(lui-highlight-face ((,class :foreground ,magenta-alt))) | ||
| 1790 | `(lui-time-stamp-face ((,class :foreground ,blue-nuanced))) | ||
| 1791 | ;;;;; color-rg | ||
| 1792 | `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other))) | ||
| 1793 | `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main))) | ||
| 1794 | `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1795 | `(color-rg-font-lock-flash ((,class :inherit modus-theme-intense-blue))) | ||
| 1796 | `(color-rg-font-lock-function-location ((,class :inherit modus-theme-special-calm))) | ||
| 1797 | `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active))) | ||
| 1798 | `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active))) | ||
| 1799 | `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active))) | ||
| 1800 | `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active))) | ||
| 1801 | `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm))) | ||
| 1802 | `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue))) | ||
| 1803 | `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red))) | ||
| 1804 | `(color-rg-font-lock-match ((,class :inherit modus-theme-special-calm))) | ||
| 1805 | `(color-rg-font-lock-position-splitter ((,class :foreground ,fg-alt))) | ||
| 1806 | ;;;;; column-enforce-mode | ||
| 1807 | `(column-enforce-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 1808 | ;;;;; company-mode | ||
| 1809 | `(company-echo-common ((,class :foreground ,magenta-alt-other))) | ||
| 1810 | `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 1811 | `(company-preview-common ((,class :foreground ,blue-alt))) | ||
| 1812 | `(company-preview-search ((,class :inherit modus-theme-special-calm))) | ||
| 1813 | `(company-scrollbar-bg ((,class :background ,bg-active))) | ||
| 1814 | `(company-scrollbar-fg ((,class :background ,fg-active))) | ||
| 1815 | `(company-template-field ((,class :inherit modus-theme-intense-magenta))) | ||
| 1816 | `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 1817 | `(company-tooltip-annotation ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 1818 | `(company-tooltip-annotation-selection ((,class :inherit bold :foreground ,fg-main))) | ||
| 1819 | `(company-tooltip-common ((,class :inherit bold :foreground ,blue-alt))) | ||
| 1820 | `(company-tooltip-common-selection ((,class :foreground ,fg-main))) | ||
| 1821 | `(company-tooltip-mouse ((,class :inherit modus-theme-intense-blue))) | ||
| 1822 | `(company-tooltip-search ((,class :inherit (modus-theme-refine-cyan bold)))) | ||
| 1823 | `(company-tooltip-search-selection ((,class :inherit (modus-theme-intense-green bold) :underline t))) | ||
| 1824 | `(company-tooltip-selection ((,class :inherit (modus-theme-subtle-cyan bold)))) | ||
| 1825 | ;;;;; company-posframe | ||
| 1826 | `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active))) | ||
| 1827 | `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 1828 | `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 1829 | ;;;;; compilation feedback | ||
| 1830 | `(compilation-column-number ((,class :foreground ,magenta-alt-other))) | ||
| 1831 | `(compilation-error ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,red))) | ||
| 1832 | `(compilation-info ((,class :foreground ,fg-special-cold))) | ||
| 1833 | `(compilation-line-number ((,class :foreground ,fg-special-warm))) | ||
| 1834 | `(compilation-mode-line-exit ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,blue-active))) | ||
| 1835 | `(compilation-mode-line-fail ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,red-active))) | ||
| 1836 | `(compilation-mode-line-run ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-active))) | ||
| 1837 | `(compilation-warning ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,yellow))) | ||
| 1838 | ;;;;; completions | ||
| 1839 | `(completions-annotations ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 1840 | `(completions-common-part ((,class ,@(modus-operandi-theme-standard-completions | ||
| 1841 | blue-alt blue-nuanced-bg | ||
| 1842 | cyan-refine-bg cyan-refine-fg)))) | ||
| 1843 | `(completions-first-difference ((,class :inherit bold | ||
| 1844 | ,@(modus-operandi-theme-standard-completions | ||
| 1845 | magenta-alt blue-nuanced-bg | ||
| 1846 | magenta-intense-bg fg-main)))) | ||
| 1847 | ;;;;; counsel | ||
| 1848 | `(counsel-active-mode ((,class :foreground ,magenta-alt-other))) | ||
| 1849 | `(counsel-application-name ((,class :foreground ,red-alt-other))) | ||
| 1850 | `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 1851 | `(counsel-outline-1 ((,class :inherit outline-1))) | ||
| 1852 | `(counsel-outline-2 ((,class :inherit outline-2))) | ||
| 1853 | `(counsel-outline-3 ((,class :inherit outline-3))) | ||
| 1854 | `(counsel-outline-4 ((,class :inherit outline-4))) | ||
| 1855 | `(counsel-outline-5 ((,class :inherit outline-5))) | ||
| 1856 | `(counsel-outline-6 ((,class :inherit outline-6))) | ||
| 1857 | `(counsel-outline-7 ((,class :inherit outline-7))) | ||
| 1858 | `(counsel-outline-8 ((,class :inherit outline-8))) | ||
| 1859 | `(counsel-outline-default ((,class :inherit bold :foreground ,green-alt-other))) | ||
| 1860 | `(counsel-variable-documentation ((,class :foreground ,yellow-alt-other :slant ,modus-theme-slant))) | ||
| 1861 | ;;;;; counsel-css | ||
| 1862 | `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue))) | ||
| 1863 | `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan))) | ||
| 1864 | `(counsel-css-selector-depth-face-3 ((,class :foreground ,green))) | ||
| 1865 | `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow))) | ||
| 1866 | `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta))) | ||
| 1867 | `(counsel-css-selector-depth-face-6 ((,class :foreground ,red))) | ||
| 1868 | ;;;;; counsel-notmuch | ||
| 1869 | `(counsel-notmuch-count-face ((,class :foreground ,cyan))) | ||
| 1870 | `(counsel-notmuch-date-face ((,class :foreground ,blue))) | ||
| 1871 | `(counsel-notmuch-people-face ((,class :foreground ,magenta))) | ||
| 1872 | `(counsel-notmuch-subject-face ((,class :foreground ,magenta-alt-other))) | ||
| 1873 | ;;;;; counsel-org-capture-string | ||
| 1874 | `(counsel-org-capture-string-template-body-face ((,class :foreground ,fg-special-cold))) | ||
| 1875 | ;;;;; cov | ||
| 1876 | `(cov-coverage-not-run-face ((,class :foreground ,red-intense))) | ||
| 1877 | `(cov-coverage-run-face ((,class :foreground ,green-intense))) | ||
| 1878 | `(cov-heavy-face ((,class :foreground ,magenta-intense))) | ||
| 1879 | `(cov-light-face ((,class :foreground ,blue-intense))) | ||
| 1880 | `(cov-med-face ((,class :foreground ,yellow-intense))) | ||
| 1881 | `(cov-none-face ((,class :foreground ,cyan-intense))) | ||
| 1882 | ;;;;; cperl-mode | ||
| 1883 | `(cperl-nonoverridable-face ((,class :foreground ,yellow-alt-other))) | ||
| 1884 | `(cperl-array-face ((,class :inherit bold :background ,bg-alt :foreground ,magenta-alt))) | ||
| 1885 | `(cperl-hash-face ((,class :inherit bold :background ,bg-alt :foreground ,red-alt :slant ,modus-theme-slant))) | ||
| 1886 | ;;;;; csv-mode | ||
| 1887 | `(csv-separator-face ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 1888 | ;;;;; ctrlf | ||
| 1889 | `(ctrlf-highlight-active ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 1890 | `(ctrlf-highlight-line ((,class :inherit modus-theme-hl-line))) | ||
| 1891 | `(ctrlf-highlight-passive ((,class :inherit modus-theme-refine-cyan))) | ||
| 1892 | ;;;;; custom (M-x customize) | ||
| 1893 | `(custom-button ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 1894 | :background ,bg-active :foreground ,fg-main))) | ||
| 1895 | `(custom-button-mouse ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 1896 | :background ,bg-active :foreground ,fg-active))) | ||
| 1897 | `(custom-button-pressed ((,class :box (:line-width 2 :color nil :style pressed-button) | ||
| 1898 | :background ,bg-active :foreground ,fg-main))) | ||
| 1899 | `(custom-changed ((,class :inherit modus-theme-subtle-cyan))) | ||
| 1900 | `(custom-comment ((,class :foreground ,fg-alt))) | ||
| 1901 | `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other))) | ||
| 1902 | `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense))) | ||
| 1903 | `(custom-group-tag ((,class :inherit bold :foreground ,green-intense))) | ||
| 1904 | `(custom-group-tag-1 ((,class :inherit modus-theme-special-warm))) | ||
| 1905 | `(custom-invalid ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 1906 | `(custom-modified ((,class :inherit modus-theme-subtle-cyan))) | ||
| 1907 | `(custom-rogue ((,class :inherit modus-theme-refine-magenta))) | ||
| 1908 | `(custom-set ((,class :foreground ,blue-alt))) | ||
| 1909 | `(custom-state ((,class :foreground ,cyan-alt-other))) | ||
| 1910 | `(custom-themed ((,class :inherit modus-theme-subtle-blue))) | ||
| 1911 | `(custom-variable-tag ((,class :inherit bold :foreground ,cyan))) | ||
| 1912 | ;;;;; dap-mode | ||
| 1913 | `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil) | ||
| 1914 | :background ,bg-active :foreground ,fg-main))) | ||
| 1915 | `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active :style nil) | ||
| 1916 | :background ,bg-active :foreground ,fg-main))) | ||
| 1917 | `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground ,green-active))) | ||
| 1918 | `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense))) | ||
| 1919 | `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t))) | ||
| 1920 | `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan))) | ||
| 1921 | `(dap-ui-locals-variable-leaf-face ((,class :foreground ,cyan-alt-other :slant italic))) | ||
| 1922 | `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 1923 | `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 1924 | `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt))) | ||
| 1925 | `(dap-ui-sessions-terminated-face ((,class :foreground ,fg-alt))) | ||
| 1926 | ;;;;; dashboard (emacs-dashboard) | ||
| 1927 | `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1928 | `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 1929 | `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 1930 | `(dashboard-navigator ((,class :foreground ,cyan-alt-other))) | ||
| 1931 | `(dashboard-text-banner ((,class :foreground ,fg-dim))) | ||
| 1932 | ;;;;; deadgrep | ||
| 1933 | `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1934 | `(deadgrep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 1935 | `(deadgrep-meta-face ((,class :foreground ,fg-alt))) | ||
| 1936 | `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense))) | ||
| 1937 | `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense))) | ||
| 1938 | ;;;;; debbugs | ||
| 1939 | `(debbugs-gnu-archived ((,class :inverse-video t))) | ||
| 1940 | `(debbugs-gnu-done ((,class :foreground ,fg-alt))) | ||
| 1941 | `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm))) | ||
| 1942 | `(debbugs-gnu-handled ((,class :foreground ,green))) | ||
| 1943 | `(debbugs-gnu-new ((,class :foreground ,red))) | ||
| 1944 | `(debbugs-gnu-pending ((,class :foreground ,cyan))) | ||
| 1945 | `(debbugs-gnu-stale-1 ((,class :foreground ,yellow-nuanced))) | ||
| 1946 | `(debbugs-gnu-stale-2 ((,class :foreground ,yellow))) | ||
| 1947 | `(debbugs-gnu-stale-3 ((,class :foreground ,yellow-alt))) | ||
| 1948 | `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other))) | ||
| 1949 | `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt))) | ||
| 1950 | `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt))) | ||
| 1951 | ;;;;; define-word | ||
| 1952 | `(define-word-face-1 ((,class :foreground ,yellow))) | ||
| 1953 | `(define-word-face-2 ((,class :foreground ,fg-main))) | ||
| 1954 | ;;;;; deft | ||
| 1955 | `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red))) | ||
| 1956 | `(deft-filter-string-face ((,class :foreground ,green-intense))) | ||
| 1957 | `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 1958 | `(deft-separator-face ((,class :foreground ,fg-alt))) | ||
| 1959 | `(deft-summary-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 1960 | `(deft-time-face ((,class :foreground ,fg-special-cold))) | ||
| 1961 | `(deft-title-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 1962 | ;;;;; dictionary | ||
| 1963 | `(dictionary-button-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1964 | `(dictionary-reference-face ((,class :inherit :foreground ,blue-alt-other))) | ||
| 1965 | `(dictionary-word-definition-face ((,class :foreground ,fg-main))) | ||
| 1966 | `(dictionary-word-entry-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 1967 | ;;;;; diff-hl | ||
| 1968 | `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow))) | ||
| 1969 | `(diff-hl-delete ((,class :inherit modus-theme-fringe-red))) | ||
| 1970 | `(diff-hl-dired-change ((,class :inherit diff-hl-change))) | ||
| 1971 | `(diff-hl-dired-delete ((,class :inherit diff-hl-delete))) | ||
| 1972 | `(diff-hl-dired-ignored ((,class :inherit dired-ignored))) | ||
| 1973 | `(diff-hl-dired-insert ((,class :inherit diff-hl-insert))) | ||
| 1974 | `(diff-hl-dired-unknown ((,class :inherit dired-ignored))) | ||
| 1975 | `(diff-hl-insert ((,class :inherit modus-theme-fringe-green))) | ||
| 1976 | `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-theme-active-magenta bold)))) | ||
| 1977 | ;;;;; diff-mode | ||
| 1978 | `(diff-added ((,class :inherit modus-theme-diff-added))) | ||
| 1979 | `(diff-changed ((,class :inherit modus-theme-diff-changed))) | ||
| 1980 | `(diff-context ((,class :foreground ,fg-unfocused))) | ||
| 1981 | `(diff-file-header ((,class :inherit bold :foreground ,blue))) | ||
| 1982 | `(diff-function ((,class :foreground ,fg-special-cold))) | ||
| 1983 | `(diff-header ((,class :foreground ,blue-nuanced))) | ||
| 1984 | `(diff-hunk-header ((,class :inherit modus-theme-diff-heading))) | ||
| 1985 | `(diff-index ((,class :inherit bold :foreground ,blue-alt))) | ||
| 1986 | `(diff-indicator-added ((,class :inherit diff-added))) | ||
| 1987 | `(diff-indicator-changed ((,class :inherit diff-changed))) | ||
| 1988 | `(diff-indicator-removed ((,class :inherit diff-removed))) | ||
| 1989 | `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold)))) | ||
| 1990 | `(diff-refine-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 1991 | `(diff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) | ||
| 1992 | `(diff-refine-removed ((,class :inherit modus-theme-diff-refine-removed))) | ||
| 1993 | `(diff-removed ((,class :inherit modus-theme-diff-removed))) | ||
| 1994 | ;;;;; dim-autoload | ||
| 1995 | `(dim-autoload-cookie-line ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 1996 | ;;;;; dir-treeview | ||
| 1997 | `(dir-treeview-archive-face ((,class :foreground ,fg-special-warm))) | ||
| 1998 | `(dir-treeview-archive-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,yellow))) | ||
| 1999 | `(dir-treeview-audio-face ((,class :foreground ,magenta))) | ||
| 2000 | `(dir-treeview-audio-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt))) | ||
| 2001 | `(dir-treeview-control-face ((,class :foreground ,fg-alt))) | ||
| 2002 | `(dir-treeview-control-mouse-face ((,class :inherit highlight))) | ||
| 2003 | `(dir-treeview-default-icon-face ((,class :inherit bold :family "Font Awesome" :foreground ,fg-alt))) | ||
| 2004 | `(dir-treeview-default-filename-face ((,class :foreground ,fg-main))) | ||
| 2005 | `(dir-treeview-directory-face ((,class :foreground ,blue))) | ||
| 2006 | `(dir-treeview-directory-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,blue-alt))) | ||
| 2007 | `(dir-treeview-executable-face ((,class :foreground ,red-alt))) | ||
| 2008 | `(dir-treeview-executable-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,red-alt-other))) | ||
| 2009 | `(dir-treeview-image-face ((,class :foreground ,green-alt-other))) | ||
| 2010 | `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt))) | ||
| 2011 | `(dir-treeview-indent-face ((,class :foreground ,fg-alt))) | ||
| 2012 | `(dir-treeview-label-mouse-face ((,class :inherit highlight))) | ||
| 2013 | `(dir-treeview-start-dir-face ((,class :inherit modus-theme-pseudo-header))) | ||
| 2014 | `(dir-treeview-symlink-face ((,class :inherit button :foreground ,cyan))) | ||
| 2015 | `(dir-treeview-video-face ((,class :foreground ,magenta-alt-other))) | ||
| 2016 | `(dir-treeview-video-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt-other))) | ||
| 2017 | ;;;;; dired | ||
| 2018 | `(dired-directory ((,class :foreground ,blue))) | ||
| 2019 | `(dired-flagged ((,class :inherit modus-theme-mark-del))) | ||
| 2020 | `(dired-header ((,class :inherit modus-theme-pseudo-header))) | ||
| 2021 | `(dired-ignored ((,class :foreground ,fg-alt))) | ||
| 2022 | `(dired-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 2023 | `(dired-marked ((,class :inherit modus-theme-mark-sel))) | ||
| 2024 | `(dired-perm-write ((,class :foreground ,fg-special-warm))) | ||
| 2025 | `(dired-symlink ((,class :inherit button :foreground ,cyan-alt))) | ||
| 2026 | `(dired-warning ((,class :inherit bold :foreground ,yellow))) | ||
| 2027 | ;;;;; dired-async | ||
| 2028 | `(dired-async-failures ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,red-active))) | ||
| 2029 | `(dired-async-message ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,green-active))) | ||
| 2030 | `(dired-async-mode-message ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,cyan-active))) | ||
| 2031 | ;;;;; dired-git | ||
| 2032 | `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2033 | `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 2034 | ;;;;; dired-git-info | ||
| 2035 | `(dgi-commit-message-face ((,class :foreground ,fg-special-mild))) | ||
| 2036 | ;;;;; dired-narrow | ||
| 2037 | `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold)))) | ||
| 2038 | ;;;;; dired-subtree | ||
| 2039 | ;; remove background from dired-subtree, else it breaks | ||
| 2040 | ;; dired-{flagged,marked} and any other face that sets a background | ||
| 2041 | ;; such as hl-line | ||
| 2042 | `(dired-subtree-depth-1-face ((,class :background nil))) | ||
| 2043 | `(dired-subtree-depth-2-face ((,class :background nil))) | ||
| 2044 | `(dired-subtree-depth-3-face ((,class :background nil))) | ||
| 2045 | `(dired-subtree-depth-4-face ((,class :background nil))) | ||
| 2046 | `(dired-subtree-depth-5-face ((,class :background nil))) | ||
| 2047 | `(dired-subtree-depth-6-face ((,class :background nil))) | ||
| 2048 | ;;;;; diredfl | ||
| 2049 | `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold))) | ||
| 2050 | `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm))) | ||
| 2051 | `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt))) | ||
| 2052 | `(diredfl-date-time ((,class :foreground ,cyan-alt-other))) | ||
| 2053 | `(diredfl-deletion ((,class :inherit modus-theme-mark-del))) | ||
| 2054 | `(diredfl-deletion-file-name ((,class :inherit modus-theme-mark-del))) | ||
| 2055 | `(diredfl-dir-heading ((,class :inherit modus-theme-pseudo-header))) | ||
| 2056 | `(diredfl-dir-name ((,class :inherit dired-directory))) | ||
| 2057 | `(diredfl-dir-priv ((,class :foreground ,blue-alt))) | ||
| 2058 | `(diredfl-exec-priv ((,class :foreground ,magenta))) | ||
| 2059 | `(diredfl-executable-tag ((,class :foreground ,magenta-alt))) | ||
| 2060 | `(diredfl-file-name ((,class :foreground ,fg-main))) | ||
| 2061 | `(diredfl-file-suffix ((,class :foreground ,cyan))) | ||
| 2062 | `(diredfl-flag-mark ((,class :inherit modus-theme-mark-sel))) | ||
| 2063 | `(diredfl-flag-mark-line ((,class :inherit modus-theme-mark-sel))) | ||
| 2064 | `(diredfl-ignored-file-name ((,class :foreground ,fg-alt))) | ||
| 2065 | `(diredfl-link-priv ((,class :foreground ,blue-alt-other))) | ||
| 2066 | `(diredfl-no-priv ((,class :foreground ,fg-alt))) | ||
| 2067 | `(diredfl-number ((,class :foreground ,cyan-alt))) | ||
| 2068 | `(diredfl-other-priv ((,class :foreground ,yellow))) | ||
| 2069 | `(diredfl-rare-priv ((,class :foreground ,red-alt))) | ||
| 2070 | `(diredfl-read-priv ((,class :foreground ,fg-main))) | ||
| 2071 | `(diredfl-symlink ((,class :inherit dired-symlink))) | ||
| 2072 | `(diredfl-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta))) | ||
| 2073 | `(diredfl-write-priv ((,class :foreground ,cyan))) | ||
| 2074 | ;;;;; disk-usage | ||
| 2075 | `(disk-usage-children ((,class :foreground ,yellow))) | ||
| 2076 | `(disk-usage-inaccessible ((,class :inherit bold :foreground ,red))) | ||
| 2077 | `(disk-usage-percent ((,class :foreground ,green))) | ||
| 2078 | `(disk-usage-size ((,class :foreground ,cyan))) | ||
| 2079 | `(disk-usage-symlink ((,class :inherit button :foreground ,blue))) | ||
| 2080 | `(disk-usage-symlink-directory ((,class :inherit bold :foreground ,blue-alt))) | ||
| 2081 | ;;;;; doom-modeline | ||
| 2082 | `(doom-modeline-bar ((,class :inherit modus-theme-active-blue))) | ||
| 2083 | `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main))) | ||
| 2084 | `(doom-modeline-battery-charging ((,class :foreground ,green-active))) | ||
| 2085 | `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active))) | ||
| 2086 | `(doom-modeline-battery-error ((,class :inherit bold :box (:line-width -2) | ||
| 2087 | :foreground ,red-active))) | ||
| 2088 | `(doom-modeline-battery-full ((,class :foreground ,blue-active))) | ||
| 2089 | `(doom-modeline-battery-normal ((,class :foreground ,fg-active))) | ||
| 2090 | `(doom-modeline-battery-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2091 | `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active))) | ||
| 2092 | `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground ,cyan-active))) | ||
| 2093 | `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive))) | ||
| 2094 | `(doom-modeline-buffer-modified ((,class :inherit bold :foreground ,magenta-active))) | ||
| 2095 | `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active))) | ||
| 2096 | `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2097 | `(doom-modeline-debug-visual ((,class :inherit bold :foreground ,red-active))) | ||
| 2098 | `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground ,magenta-active))) | ||
| 2099 | `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground ,green-active))) | ||
| 2100 | `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground ,fg-inactive))) | ||
| 2101 | `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground ,fg-active))) | ||
| 2102 | `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground ,blue-active))) | ||
| 2103 | `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground ,red-active))) | ||
| 2104 | `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground ,cyan-active))) | ||
| 2105 | `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active))) | ||
| 2106 | `(doom-modeline-host ((,class :slant italic))) | ||
| 2107 | `(doom-modeline-info ((,class :foreground ,green-active))) | ||
| 2108 | `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active))) | ||
| 2109 | `(doom-modeline-lsp-success ((,class :inherit bold :foreground ,green-active))) | ||
| 2110 | `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2111 | `(doom-modeline-panel ((,class :inherit modus-theme-active-blue))) | ||
| 2112 | `(doom-modeline-persp-buffer-not-in-persp ((,class :foreground ,yellow-active :slant italic))) | ||
| 2113 | `(doom-modeline-persp-name ((,class :foreground ,fg-active))) | ||
| 2114 | `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active))) | ||
| 2115 | `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active))) | ||
| 2116 | `(doom-modeline-project-root-dir ((,class :foreground ,fg-active))) | ||
| 2117 | `(doom-modeline-unread-number ((,class :foreground ,fg-active :slant italic))) | ||
| 2118 | `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active))) | ||
| 2119 | `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2120 | ;;;;; dynamic-ruler | ||
| 2121 | `(dynamic-ruler-negative-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 2122 | `(dynamic-ruler-positive-face ((,class :inherit modus-theme-intense-yellow))) | ||
| 2123 | ;;;;; easy-jekyll | ||
| 2124 | `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other))) | ||
| 2125 | ;;;;; easy-kill | ||
| 2126 | `(easy-kill-origin ((,class :inherit modus-theme-subtle-red))) | ||
| 2127 | `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow))) | ||
| 2128 | ;;;;; ebdb | ||
| 2129 | `(ebdb-address-default ((,class :foreground ,fg-main))) | ||
| 2130 | `(ebdb-db-char ((,class :foreground ,fg-special-cold))) | ||
| 2131 | `(ebdb-defunct ((,class :foreground ,fg-alt))) | ||
| 2132 | `(ebdb-field-hidden ((,class :foreground ,magenta))) | ||
| 2133 | `(ebdb-field-url ((,class :foreground ,blue))) | ||
| 2134 | `(ebdb-label ((,class :foreground ,cyan-alt-other))) | ||
| 2135 | `(ebdb-mail-default ((,class :foreground ,fg-main))) | ||
| 2136 | `(ebdb-mail-primary ((,class :foreground ,blue-alt))) | ||
| 2137 | `(ebdb-marked ((,class :background ,cyan-intense-bg))) | ||
| 2138 | `(ebdb-organization-name ((,class :foreground ,fg-special-calm))) | ||
| 2139 | `(ebdb-person-name ((,class :foreground ,magenta-alt-other))) | ||
| 2140 | `(ebdb-phone-default ((,class :foreground ,fg-special-warm))) | ||
| 2141 | `(ebdb-role-defunct ((,class :foreground ,fg-alt))) | ||
| 2142 | `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt))) | ||
| 2143 | ;;;;; ediff | ||
| 2144 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 2145 | ;; modus-theme-diff-* faces. | ||
| 2146 | `(ediff-current-diff-A ((,class ,@(modus-operandi-theme-diff | ||
| 2147 | bg-dim red | ||
| 2148 | bg-diff-removed fg-diff-removed | ||
| 2149 | red-nuanced-bg red-faint)))) | ||
| 2150 | `(ediff-current-diff-Ancestor ((,class ,@(modus-operandi-theme-diff | ||
| 2151 | bg-dim fg-special-cold | ||
| 2152 | bg-special-cold fg-special-cold | ||
| 2153 | blue-nuanced-bg blue)))) | ||
| 2154 | `(ediff-current-diff-B ((,class ,@(modus-operandi-theme-diff | ||
| 2155 | bg-dim green | ||
| 2156 | bg-diff-added fg-diff-added | ||
| 2157 | green-nuanced-bg green-faint)))) | ||
| 2158 | `(ediff-current-diff-C ((,class ,@(modus-operandi-theme-diff | ||
| 2159 | bg-dim yellow | ||
| 2160 | bg-diff-changed fg-diff-changed | ||
| 2161 | yellow-nuanced-bg yellow-faint)))) | ||
| 2162 | `(ediff-even-diff-A ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 2163 | `(ediff-even-diff-Ancestor ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1))) | ||
| 2164 | `(ediff-even-diff-B ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 2165 | `(ediff-even-diff-C ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 2166 | `(ediff-fine-diff-A ((,class :background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed))) | ||
| 2167 | `(ediff-fine-diff-Ancestor ((,class :inherit modus-theme-refine-cyan))) | ||
| 2168 | `(ediff-fine-diff-B ((,class :background ,bg-diff-focus-added :foreground ,fg-diff-focus-added))) | ||
| 2169 | `(ediff-fine-diff-C ((,class :background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed))) | ||
| 2170 | `(ediff-odd-diff-A ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 2171 | `(ediff-odd-diff-Ancestor ((,class :background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0))) | ||
| 2172 | `(ediff-odd-diff-B ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 2173 | `(ediff-odd-diff-C ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 2174 | ;;;;; eglot | ||
| 2175 | `(eglot-mode-line ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-active))) | ||
| 2176 | ;;;;; el-search | ||
| 2177 | `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2178 | `(el-search-match ((,class :inherit modus-theme-intense-green))) | ||
| 2179 | `(el-search-other-match ((,class :inherit modus-theme-special-mild))) | ||
| 2180 | `(el-search-occur-match ((,class :inherit modus-theme-special-calm))) | ||
| 2181 | ;;;;; eldoc | ||
| 2182 | ;; NOTE: see https://github.com/purcell/package-lint/issues/187 | ||
| 2183 | (list 'eldoc-highlight-function-argument `((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 2184 | ;;;;; eldoc-box | ||
| 2185 | `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 2186 | `(eldoc-box-border ((,class :background ,fg-alt))) | ||
| 2187 | ;;;;; elfeed | ||
| 2188 | `(elfeed-log-date-face ((,class :foreground ,cyan-alt))) | ||
| 2189 | `(elfeed-log-debug-level-face ((,class :foreground ,magenta))) | ||
| 2190 | `(elfeed-log-error-level-face ((,class :foreground ,red))) | ||
| 2191 | `(elfeed-log-info-level-face ((,class :foreground ,green))) | ||
| 2192 | `(elfeed-log-warn-level-face ((,class :foreground ,yellow))) | ||
| 2193 | `(elfeed-search-date-face ((,class :foreground ,blue-nuanced))) | ||
| 2194 | `(elfeed-search-feed-face ((,class :foreground ,cyan))) | ||
| 2195 | `(elfeed-search-filter-face ((,class :inherit bold :foreground ,magenta-active))) | ||
| 2196 | `(elfeed-search-last-update-face ((,class :foreground ,cyan-active))) | ||
| 2197 | `(elfeed-search-tag-face ((,class :foreground ,blue-nuanced))) | ||
| 2198 | `(elfeed-search-title-face ((,class :foreground ,fg-dim))) | ||
| 2199 | `(elfeed-search-unread-count-face ((,class :foreground ,green-active))) | ||
| 2200 | `(elfeed-search-unread-title-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 2201 | ;;;;; elfeed-score | ||
| 2202 | `(elfeed-score-date-face ((,class :foreground ,blue))) | ||
| 2203 | `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other))) | ||
| 2204 | `(elfeed-score-error-level-face ((,class :foreground ,red))) | ||
| 2205 | `(elfeed-score-info-level-face ((,class :foreground ,cyan))) | ||
| 2206 | `(elfeed-score-warn-level-face ((,class :foreground ,yellow))) | ||
| 2207 | ;;;;; emms | ||
| 2208 | `(emms-playlist-track-face ((,class :foreground ,blue))) | ||
| 2209 | `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta))) | ||
| 2210 | ;;;;; enhanced-ruby-mode | ||
| 2211 | `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other))) | ||
| 2212 | `(enh-ruby-op-face ((,class :foreground ,fg-main))) | ||
| 2213 | `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green))) | ||
| 2214 | `(enh-ruby-regexp-face ((,class :foreground ,magenta))) | ||
| 2215 | `(enh-ruby-string-delimiter-face ((,class :foreground ,blue-alt))) | ||
| 2216 | `(erm-syn-errline ((,class :foreground ,red :underline t))) | ||
| 2217 | `(erm-syn-warnline ((,class :foreground ,yellow :underline t))) | ||
| 2218 | ;;;;; epa | ||
| 2219 | `(epa-field-body ((,class :foreground ,fg-main))) | ||
| 2220 | `(epa-field-name ((,class :inherit bold :foreground ,fg-dim))) | ||
| 2221 | `(epa-mark ((,class :inherit bold :foreground ,magenta))) | ||
| 2222 | `(epa-string ((,class :foreground ,blue-alt))) | ||
| 2223 | `(epa-validity-disabled ((,class :inherit modus-theme-refine-red))) | ||
| 2224 | `(epa-validity-high ((,class :inherit bold :foreground ,green-alt-other))) | ||
| 2225 | `(epa-validity-low ((,class :foreground ,fg-alt))) | ||
| 2226 | `(epa-validity-medium ((,class :foreground ,green-alt))) | ||
| 2227 | ;;;;; equake | ||
| 2228 | `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 2229 | `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground ,green-active))) | ||
| 2230 | `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground ,red-active))) | ||
| 2231 | `(equake-shell-type-shell ((,class :background ,bg-inactive :foreground ,cyan-active))) | ||
| 2232 | `(equake-shell-type-term ((,class :background ,bg-inactive :foreground ,yellow-active))) | ||
| 2233 | `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground ,magenta-active))) | ||
| 2234 | `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt))) | ||
| 2235 | `(equake-tab-inactive ((,class :foreground ,fg-inactive))) | ||
| 2236 | ;;;;; erc | ||
| 2237 | `(erc-action-face ((,class :inherit bold :foreground ,cyan))) | ||
| 2238 | `(erc-bold-face ((,class :inherit bold))) | ||
| 2239 | `(erc-button ((,class :inherit button))) | ||
| 2240 | `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 2241 | `(erc-current-nick-face ((,class :foreground ,magenta-alt-other))) | ||
| 2242 | `(erc-dangerous-host-face ((,class :inherit modus-theme-intense-red))) | ||
| 2243 | `(erc-direct-msg-face ((,class :foreground ,magenta))) | ||
| 2244 | `(erc-error-face ((,class :inherit bold :foreground ,red))) | ||
| 2245 | `(erc-fool-face ((,class :foreground ,fg-inactive))) | ||
| 2246 | `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 2247 | `(erc-input-face ((,class :foreground ,fg-special-calm))) | ||
| 2248 | `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t))) | ||
| 2249 | `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2250 | `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta))) | ||
| 2251 | `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face))) | ||
| 2252 | `(erc-nick-default-face ((,class :inherit bold :foreground ,blue))) | ||
| 2253 | `(erc-nick-msg-face ((,class :inherit bold :foreground ,green))) | ||
| 2254 | `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face))) | ||
| 2255 | `(erc-notice-face ((,class :foreground ,fg-unfocused))) | ||
| 2256 | `(erc-pal-face ((,class :inherit bold :foreground ,red-alt))) | ||
| 2257 | `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 2258 | `(erc-timestamp-face ((,class :foreground ,blue-nuanced))) | ||
| 2259 | `(erc-underline-face ((,class :underline t))) | ||
| 2260 | `(bg:erc-color-face0 ((,class :background "white"))) | ||
| 2261 | `(bg:erc-color-face1 ((,class :background "black"))) | ||
| 2262 | `(bg:erc-color-face10 ((,class :background ,cyan-subtle-bg))) | ||
| 2263 | `(bg:erc-color-face11 ((,class :background ,cyan-intense-bg))) | ||
| 2264 | `(bg:erc-color-face12 ((,class :background ,blue-subtle-bg))) | ||
| 2265 | `(bg:erc-color-face13 ((,class :background ,magenta-subtle-bg))) | ||
| 2266 | `(bg:erc-color-face14 ((,class :background "gray60"))) | ||
| 2267 | `(bg:erc-color-face15 ((,class :background "gray80"))) | ||
| 2268 | `(bg:erc-color-face2 ((,class :background ,blue-intense-bg))) | ||
| 2269 | `(bg:erc-color-face3 ((,class :background ,green-intense-bg))) | ||
| 2270 | `(bg:erc-color-face4 ((,class :background ,red-subtle-bg))) | ||
| 2271 | `(bg:erc-color-face5 ((,class :background ,red-intense-bg))) | ||
| 2272 | `(bg:erc-color-face6 ((,class :background ,magenta-refine-bg))) | ||
| 2273 | `(bg:erc-color-face7 ((,class :background ,yellow-subtle-bg))) | ||
| 2274 | `(bg:erc-color-face8 ((,class :background ,yellow-refine-bg))) | ||
| 2275 | `(bg:erc-color-face9 ((,class :background ,green-subtle-bg))) | ||
| 2276 | `(fg:erc-color-face0 ((,class :foreground "white"))) | ||
| 2277 | `(fg:erc-color-face1 ((,class :foreground "black"))) | ||
| 2278 | `(fg:erc-color-face10 ((,class :foreground ,cyan))) | ||
| 2279 | `(fg:erc-color-face11 ((,class :foreground ,cyan-alt-other))) | ||
| 2280 | `(fg:erc-color-face12 ((,class :foreground ,blue))) | ||
| 2281 | `(fg:erc-color-face13 ((,class :foreground ,magenta-alt))) | ||
| 2282 | `(fg:erc-color-face14 ((,class :foreground "gray60"))) | ||
| 2283 | `(fg:erc-color-face15 ((,class :foreground "gray80"))) | ||
| 2284 | `(fg:erc-color-face2 ((,class :foreground ,blue-alt-other))) | ||
| 2285 | `(fg:erc-color-face3 ((,class :foreground ,green))) | ||
| 2286 | `(fg:erc-color-face4 ((,class :foreground ,red))) | ||
| 2287 | `(fg:erc-color-face5 ((,class :foreground ,red-alt))) | ||
| 2288 | `(fg:erc-color-face6 ((,class :foreground ,magenta-alt-other))) | ||
| 2289 | `(fg:erc-color-face7 ((,class :foreground ,yellow-alt-other))) | ||
| 2290 | `(fg:erc-color-face8 ((,class :foreground ,yellow-alt))) | ||
| 2291 | `(fg:erc-color-face9 ((,class :foreground ,green-alt-other))) | ||
| 2292 | ;;;;; eros | ||
| 2293 | `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue) | ||
| 2294 | :background ,bg-dim :foreground ,fg-dim))) | ||
| 2295 | ;;;;; ert | ||
| 2296 | `(ert-test-result-expected ((,class :inherit modus-theme-intense-green))) | ||
| 2297 | `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red))) | ||
| 2298 | ;;;;; eshell | ||
| 2299 | `(eshell-ls-archive ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 2300 | `(eshell-ls-backup ((,class :foreground ,yellow-alt))) | ||
| 2301 | `(eshell-ls-clutter ((,class :foreground ,red-alt))) | ||
| 2302 | `(eshell-ls-directory ((,class :inherit bold :foreground ,blue-alt))) | ||
| 2303 | `(eshell-ls-executable ((,class :foreground ,magenta-alt))) | ||
| 2304 | `(eshell-ls-missing ((,class :inherit modus-theme-intense-red))) | ||
| 2305 | `(eshell-ls-product ((,class :foreground ,fg-special-warm))) | ||
| 2306 | `(eshell-ls-readonly ((,class :foreground ,fg-special-cold))) | ||
| 2307 | `(eshell-ls-special ((,class :inherit bold :foreground ,magenta))) | ||
| 2308 | `(eshell-ls-symlink ((,class :inherit button :foreground ,cyan))) | ||
| 2309 | `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 2310 | `(eshell-prompt ((,class ,@(modus-operandi-theme-bold-weight) | ||
| 2311 | ,@(modus-operandi-theme-prompt | ||
| 2312 | green-alt-other | ||
| 2313 | green-nuanced-bg green-alt | ||
| 2314 | green-refine-bg fg-main)))) | ||
| 2315 | ;;;;; eshell-fringe-status | ||
| 2316 | `(eshell-fringe-status-failure ((,class :foreground ,red))) | ||
| 2317 | `(eshell-fringe-status-success ((,class :foreground ,green))) | ||
| 2318 | ;;;;; eshell-git-prompt | ||
| 2319 | `(eshell-git-prompt-add-face ((,class :foreground ,fg-alt))) | ||
| 2320 | `(eshell-git-prompt-branch-face ((,class :foreground ,fg-alt))) | ||
| 2321 | `(eshell-git-prompt-directory-face ((,class :foreground ,cyan))) | ||
| 2322 | `(eshell-git-prompt-exit-fail-face ((,class :foreground ,red))) | ||
| 2323 | `(eshell-git-prompt-exit-success-face ((,class :foreground ,green))) | ||
| 2324 | `(eshell-git-prompt-modified-face ((,class :foreground ,yellow))) | ||
| 2325 | `(eshell-git-prompt-powerline-clean-face ((,class :background ,green-refine-bg))) | ||
| 2326 | `(eshell-git-prompt-powerline-dir-face ((,class :background ,blue-refine-bg))) | ||
| 2327 | `(eshell-git-prompt-powerline-not-clean-face ((,class :background ,magenta-refine-bg))) | ||
| 2328 | `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,red))) | ||
| 2329 | `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow))) | ||
| 2330 | `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,blue))) | ||
| 2331 | ;;;;; eshell-prompt-extras (epe) | ||
| 2332 | `(epe-dir-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,blue))) | ||
| 2333 | `(epe-git-dir-face ((,class :foreground ,red-alt-other))) | ||
| 2334 | `(epe-git-face ((,class :foreground ,cyan-alt))) | ||
| 2335 | `(epe-pipeline-delimiter-face ((,class :foreground ,green-alt))) | ||
| 2336 | `(epe-pipeline-host-face ((,class :foreground ,blue))) | ||
| 2337 | `(epe-pipeline-time-face ((,class :foreground ,fg-special-warm))) | ||
| 2338 | `(epe-pipeline-user-face ((,class :foreground ,magenta))) | ||
| 2339 | `(epe-remote-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2340 | `(epe-status-face ((,class :foreground ,magenta-alt-other))) | ||
| 2341 | `(epe-venv-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2342 | ;;;;; eshell-syntax-highlighting | ||
| 2343 | `(eshell-syntax-highlighting-alias-face ((,class :foreground ,cyan))) | ||
| 2344 | `(eshell-syntax-highlighting-comment-face ((,class :foreground ,fg-alt))) | ||
| 2345 | `(eshell-syntax-highlighting-directory-face ((,class :foreground ,blue))) | ||
| 2346 | `(eshell-syntax-highlighting-envvar-face ((,class :foreground ,magenta-alt))) | ||
| 2347 | `(eshell-syntax-highlighting-invalid-face ((,class :foreground ,red))) | ||
| 2348 | `(eshell-syntax-highlighting-lisp-function-face ((,class :foreground ,magenta))) | ||
| 2349 | `(eshell-syntax-highlighting-shell-command-face ((,class :foreground ,cyan-alt-other))) | ||
| 2350 | `(eshell-syntax-highlighting-string-face ((,class :foreground ,blue-alt))) | ||
| 2351 | ;;;;; evil-mode | ||
| 2352 | `(evil-ex-commands ((,class :foreground ,magenta-alt-other))) | ||
| 2353 | `(evil-ex-info ((,class :foreground ,cyan-alt-other))) | ||
| 2354 | `(evil-ex-lazy-highlight ((,class :inherit modus-theme-refine-cyan))) | ||
| 2355 | `(evil-ex-search ((,class :inherit modus-theme-intense-green))) | ||
| 2356 | `(evil-ex-substitute-matches ((,class :inherit modus-theme-refine-yellow :underline t))) | ||
| 2357 | `(evil-ex-substitute-replacement ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 2358 | ;;;;; evil-goggles | ||
| 2359 | `(evil-goggles-change-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 2360 | `(evil-goggles-commentary-face ((,class :inherit modus-theme-subtle-neutral :slant ,modus-theme-slant))) | ||
| 2361 | `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral))) | ||
| 2362 | `(evil-goggles-delete-face ((,class :inherit modus-theme-refine-red))) | ||
| 2363 | `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face))) | ||
| 2364 | `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face))) | ||
| 2365 | `(evil-goggles-join-face ((,class :inherit modus-theme-subtle-green))) | ||
| 2366 | `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face))) | ||
| 2367 | `(evil-goggles-paste-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 2368 | `(evil-goggles-record-macro-face ((,class :inherit modus-theme-special-cold))) | ||
| 2369 | `(evil-goggles-replace-with-register-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 2370 | `(evil-goggles-set-marker-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 2371 | `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face))) | ||
| 2372 | `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face))) | ||
| 2373 | `(evil-goggles-yank-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 2374 | ;;;;; evil-visual-mark-mode | ||
| 2375 | `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 2376 | ;;;;; eww | ||
| 2377 | `(eww-invalid-certificate ((,class :foreground ,red-active))) | ||
| 2378 | `(eww-valid-certificate ((,class :foreground ,green-active))) | ||
| 2379 | `(eww-form-checkbox ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main))) | ||
| 2380 | `(eww-form-file ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main))) | ||
| 2381 | `(eww-form-select ((,class :inherit eww-form-checkbox))) | ||
| 2382 | `(eww-form-submit ((,class :inherit eww-form-file))) | ||
| 2383 | `(eww-form-text ((,class :box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active))) | ||
| 2384 | `(eww-form-textarea ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 2385 | ;;;;; eyebrowse | ||
| 2386 | `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active))) | ||
| 2387 | ;;;;; fancy-dabbrev | ||
| 2388 | `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 2389 | `(fancy-dabbrev-preview-face ((,class :foreground ,fg-alt :underline t))) | ||
| 2390 | `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan bold)))) | ||
| 2391 | ;;;;; flycheck | ||
| 2392 | `(flycheck-error | ||
| 2393 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2394 | :underline (:color ,fg-lang-error :style wave)) | ||
| 2395 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 2396 | `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active))) | ||
| 2397 | `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold))) | ||
| 2398 | `(flycheck-error-list-error ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,red))) | ||
| 2399 | `(flycheck-error-list-filename ((,class :foreground ,blue))) | ||
| 2400 | `(flycheck-error-list-highlight ((,class :inherit modus-theme-hl-line))) | ||
| 2401 | `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other))) | ||
| 2402 | `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t))) | ||
| 2403 | `(flycheck-error-list-info ((,class :foreground ,cyan))) | ||
| 2404 | `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm))) | ||
| 2405 | `(flycheck-error-list-warning ((,class :foreground ,yellow))) | ||
| 2406 | `(flycheck-fringe-error ((,class :inherit modus-theme-fringe-red))) | ||
| 2407 | `(flycheck-fringe-info ((,class :inherit modus-theme-fringe-cyan))) | ||
| 2408 | `(flycheck-fringe-warning ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2409 | `(flycheck-info | ||
| 2410 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2411 | :underline (:color ,fg-lang-note :style wave)) | ||
| 2412 | (,class :foreground ,fg-lang-note :underline t))) | ||
| 2413 | `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button)))) | ||
| 2414 | `(flycheck-warning | ||
| 2415 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2416 | :underline (:color ,fg-lang-warning :style wave)) | ||
| 2417 | (,class :foreground ,fg-lang-warning :underline t))) | ||
| 2418 | ;;;;; flycheck-color-mode-line | ||
| 2419 | `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error))) | ||
| 2420 | `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info))) | ||
| 2421 | `(flycheck-color-mode-line-running-face ((,class :foreground ,fg-inactive :slant italic))) | ||
| 2422 | `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning))) | ||
| 2423 | ;;;;; flycheck-indicator | ||
| 2424 | `(flycheck-indicator-disabled ((,class :foreground ,fg-inactive :slant ,modus-theme-slant))) | ||
| 2425 | `(flycheck-indicator-error ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,red-active))) | ||
| 2426 | `(flycheck-indicator-info ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,blue-active))) | ||
| 2427 | `(flycheck-indicator-running ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-active))) | ||
| 2428 | `(flycheck-indicator-success ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,green-active))) | ||
| 2429 | `(flycheck-indicator-warning ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,yellow-active))) | ||
| 2430 | ;;;;; flycheck-posframe | ||
| 2431 | `(flycheck-posframe-background-face ((,class :background ,bg-alt))) | ||
| 2432 | `(flycheck-posframe-border-face ((,class :foreground ,fg-alt))) | ||
| 2433 | `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red))) | ||
| 2434 | `(flycheck-posframe-face ((,class :foreground ,fg-main :slant ,modus-theme-slant))) | ||
| 2435 | `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan))) | ||
| 2436 | `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 2437 | ;;;;; flymake | ||
| 2438 | `(flymake-error | ||
| 2439 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2440 | :underline (:color ,fg-lang-error :style wave)) | ||
| 2441 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 2442 | `(flymake-note | ||
| 2443 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2444 | :underline (:color ,fg-lang-note :style wave)) | ||
| 2445 | (,class :foreground ,fg-lang-note :underline t))) | ||
| 2446 | `(flymake-warning | ||
| 2447 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2448 | :underline (:color ,fg-lang-warning :style wave)) | ||
| 2449 | (,class :foreground ,fg-lang-warning :underline t))) | ||
| 2450 | ;;;;; flyspell | ||
| 2451 | `(flyspell-duplicate | ||
| 2452 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2453 | :underline (:color ,fg-lang-warning :style wave)) | ||
| 2454 | (,class :foreground ,fg-lang-warning :underline t))) | ||
| 2455 | `(flyspell-incorrect | ||
| 2456 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2457 | :underline (:color ,fg-lang-error :style wave)) | ||
| 2458 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 2459 | ;;;;; flyspell-correct | ||
| 2460 | `(flyspell-correct-highlight-face ((,class :inherit modus-theme-refine-green))) | ||
| 2461 | ;;;;; flx | ||
| 2462 | `(flx-highlight-face ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2463 | 'modus-theme-subtle-magenta | ||
| 2464 | 'modus-theme-intense-magenta | ||
| 2465 | 'modus-theme-nuanced-magenta | ||
| 2466 | magenta-alt | ||
| 2467 | 'bold)))) | ||
| 2468 | ;;;;; freeze-it | ||
| 2469 | `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm))) | ||
| 2470 | ;;;;; frog-menu | ||
| 2471 | `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other))) | ||
| 2472 | `(frog-menu-actions-face ((,class :foreground ,magenta))) | ||
| 2473 | `(frog-menu-border ((,class :background ,bg-active))) | ||
| 2474 | `(frog-menu-candidates-face ((,class :foreground ,fg-main))) | ||
| 2475 | `(frog-menu-posframe-background-face ((,class :background ,bg-dim))) | ||
| 2476 | `(frog-menu-prompt-face ((,class :foreground ,cyan))) | ||
| 2477 | ;;;;; focus | ||
| 2478 | `(focus-unfocused ((,class :foreground ,fg-unfocused))) | ||
| 2479 | ;;;;; fold-this | ||
| 2480 | `(fold-this-overlay ((,class :inherit modus-theme-special-mild))) | ||
| 2481 | ;;;;; font-lock | ||
| 2482 | `(font-lock-builtin-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2483 | magenta-alt magenta-alt-faint) | ||
| 2484 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 2485 | `(font-lock-comment-delimiter-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2486 | `(font-lock-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2487 | `(font-lock-constant-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2488 | blue-alt-other blue-alt-other-faint)))) | ||
| 2489 | `(font-lock-doc-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2490 | fg-special-cold cyan-alt-other-faint) | ||
| 2491 | :slant ,modus-theme-slant))) | ||
| 2492 | `(font-lock-function-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2493 | magenta magenta-faint)))) | ||
| 2494 | `(font-lock-keyword-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2495 | magenta-alt-other magenta-alt-other-faint) | ||
| 2496 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 2497 | `(font-lock-negation-char-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2498 | yellow yellow-faint) | ||
| 2499 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 2500 | `(font-lock-preprocessor-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2501 | red-alt-other red-alt-other-faint)))) | ||
| 2502 | `(font-lock-regexp-grouping-backslash ((,class :inherit bold :foreground ,fg-escape-char-backslash))) | ||
| 2503 | `(font-lock-regexp-grouping-construct ((,class :inherit bold :foreground ,fg-escape-char-construct))) | ||
| 2504 | `(font-lock-string-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2505 | blue-alt blue-alt-faint)))) | ||
| 2506 | `(font-lock-type-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2507 | magenta-alt magenta-alt-faint)))) | ||
| 2508 | `(font-lock-variable-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2509 | cyan cyan-faint)))) | ||
| 2510 | `(font-lock-warning-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2511 | yellow-active yellow-alt-faint) | ||
| 2512 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 2513 | ;;;;; forge | ||
| 2514 | `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) | ||
| 2515 | `(forge-post-date ((,class :foreground ,fg-special-cold))) | ||
| 2516 | `(forge-topic-closed ((,class :foreground ,fg-alt))) | ||
| 2517 | `(forge-topic-merged ((,class :foreground ,fg-alt))) | ||
| 2518 | `(forge-topic-open ((,class :foreground ,fg-special-mild))) | ||
| 2519 | `(forge-topic-unmerged ((,class :foreground ,magenta :slant ,modus-theme-slant))) | ||
| 2520 | `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main))) | ||
| 2521 | ;;;;; fountain-mode | ||
| 2522 | `(fountain-character ((,class :foreground ,blue-alt-other))) | ||
| 2523 | `(fountain-comment ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2524 | `(fountain-dialog ((,class :foreground ,blue-alt))) | ||
| 2525 | `(fountain-metadata-key ((,class :foreground ,green-alt-other))) | ||
| 2526 | `(fountain-metadata-value ((,class :foreground ,blue))) | ||
| 2527 | `(fountain-non-printing ((,class :foreground ,fg-alt))) | ||
| 2528 | `(fountain-note ((,class :foreground ,yellow :slant ,modus-theme-slant))) | ||
| 2529 | `(fountain-page-break ((,class :inherit bold :foreground ,red-alt))) | ||
| 2530 | `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 2531 | `(fountain-paren ((,class :foreground ,cyan))) | ||
| 2532 | `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced))) | ||
| 2533 | `(fountain-section-heading ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-main | ||
| 2534 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 2535 | `(fountain-section-heading-1 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-main | ||
| 2536 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 2537 | `(fountain-section-heading-2 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-warm | ||
| 2538 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))) | ||
| 2539 | `(fountain-section-heading-3 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-mild | ||
| 2540 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-2)))) | ||
| 2541 | `(fountain-section-heading-4 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-calm | ||
| 2542 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-1)))) | ||
| 2543 | `(fountain-section-heading-5 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-calm))) | ||
| 2544 | `(fountain-synopsis ((,class :foreground ,cyan-alt))) | ||
| 2545 | `(fountain-trans ((,class :foreground ,yellow-alt-other))) | ||
| 2546 | ;;;;; geiser | ||
| 2547 | `(geiser-font-lock-autodoc-current-arg ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2548 | magenta magenta-faint)))) | ||
| 2549 | `(geiser-font-lock-autodoc-identifier ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2550 | blue blue-faint)))) | ||
| 2551 | `(geiser-font-lock-doc-button ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2552 | cyan-alt cyan-alt-faint) | ||
| 2553 | :underline t))) | ||
| 2554 | `(geiser-font-lock-doc-link ((,class :inherit link))) | ||
| 2555 | `(geiser-font-lock-error-link ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2556 | red-alt red-alt-faint) | ||
| 2557 | :underline t))) | ||
| 2558 | `(geiser-font-lock-image-button ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2559 | green-alt green-alt-faint) | ||
| 2560 | :underline t))) | ||
| 2561 | `(geiser-font-lock-repl-input ((,class :inherit bold))) | ||
| 2562 | `(geiser-font-lock-repl-output ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2563 | magenta-alt-other magenta-alt-other-faint)))) | ||
| 2564 | `(geiser-font-lock-repl-prompt ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 2565 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 2566 | `(geiser-font-lock-xref-header ((,class :inherit bold))) | ||
| 2567 | `(geiser-font-lock-xref-link ((,class :inherit link))) | ||
| 2568 | ;;;;; git-commit | ||
| 2569 | `(git-commit-comment-action ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2570 | `(git-commit-comment-branch-local ((,class :foreground ,blue-alt :slant ,modus-theme-slant))) | ||
| 2571 | `(git-commit-comment-branch-remote ((,class :foreground ,magenta-alt :slant ,modus-theme-slant))) | ||
| 2572 | `(git-commit-comment-detached ((,class :foreground ,cyan-alt :slant ,modus-theme-slant))) | ||
| 2573 | `(git-commit-comment-file ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 2574 | `(git-commit-comment-heading ((,class :inherit bold :foreground ,fg-dim :slant ,modus-theme-slant))) | ||
| 2575 | `(git-commit-keyword ((,class :foreground ,magenta))) | ||
| 2576 | `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other))) | ||
| 2577 | `(git-commit-nonempty-second-line ((,class :inherit modus-theme-refine-yellow))) | ||
| 2578 | `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow))) | ||
| 2579 | `(git-commit-pseudo-header ((,class :foreground ,blue))) | ||
| 2580 | `(git-commit-summary ((,class :inherit bold :foreground ,cyan))) | ||
| 2581 | ;;;;; git-gutter | ||
| 2582 | `(git-gutter:added ((,class :inherit modus-theme-fringe-green))) | ||
| 2583 | `(git-gutter:deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 2584 | `(git-gutter:modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2585 | `(git-gutter:separator ((,class :inherit modus-theme-fringe-cyan))) | ||
| 2586 | `(git-gutter:unchanged ((,class :inherit modus-theme-fringe-magenta))) | ||
| 2587 | ;;;;; git-gutter-fr | ||
| 2588 | `(git-gutter-fr:added ((,class :inherit modus-theme-fringe-green))) | ||
| 2589 | `(git-gutter-fr:deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 2590 | `(git-gutter-fr:modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2591 | ;;;;; git-{gutter,fringe}+ | ||
| 2592 | `(git-gutter+-added ((,class :inherit modus-theme-fringe-green))) | ||
| 2593 | `(git-gutter+-deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 2594 | `(git-gutter+-modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2595 | `(git-gutter+-separator ((,class :inherit modus-theme-fringe-cyan))) | ||
| 2596 | `(git-gutter+-unchanged ((,class :inherit modus-theme-fringe-magenta))) | ||
| 2597 | `(git-gutter-fr+-added ((,class :inherit modus-theme-fringe-green))) | ||
| 2598 | `(git-gutter-fr+-deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 2599 | `(git-gutter-fr+-modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2600 | ;;;;; git-lens | ||
| 2601 | `(git-lens-added ((,class :inherit bold :foreground ,green))) | ||
| 2602 | `(git-lens-deleted ((,class :inherit bold :foreground ,red))) | ||
| 2603 | `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan))) | ||
| 2604 | `(git-lens-modified ((,class :inherit bold :foreground ,yellow))) | ||
| 2605 | `(git-lens-renamed ((,class :inherit bold :foreground ,magenta))) | ||
| 2606 | ;;;;; git-rebase | ||
| 2607 | `(git-rebase-comment-hash ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 2608 | `(git-rebase-comment-heading ((,class :inherit bold :foreground ,fg-dim :slant ,modus-theme-slant))) | ||
| 2609 | `(git-rebase-description ((,class :foreground ,fg-main))) | ||
| 2610 | `(git-rebase-hash ((,class :foreground ,cyan-alt-other))) | ||
| 2611 | ;;;;; git-timemachine | ||
| 2612 | `(git-timemachine-commit ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2613 | `(git-timemachine-minibuffer-author-face ((,class :foreground ,fg-special-warm))) | ||
| 2614 | `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt))) | ||
| 2615 | ;;;;; git-walktree | ||
| 2616 | `(git-walktree-commit-face ((,class :foreground ,yellow))) | ||
| 2617 | `(git-walktree-symlink-face ((,class :inherit button :foreground ,cyan))) | ||
| 2618 | `(git-walktree-tree-face ((,class :foreground ,magenta))) | ||
| 2619 | ;;;;; gnus | ||
| 2620 | `(gnus-button ((,class :inherit button))) | ||
| 2621 | `(gnus-cite-1 ((,class :foreground ,blue-alt))) | ||
| 2622 | `(gnus-cite-10 ((,class :foreground ,magenta-alt-other))) | ||
| 2623 | `(gnus-cite-11 ((,class :foreground ,yellow-alt-other))) | ||
| 2624 | `(gnus-cite-2 ((,class :foreground ,red-alt))) | ||
| 2625 | `(gnus-cite-3 ((,class :foreground ,green-alt))) | ||
| 2626 | `(gnus-cite-4 ((,class :foreground ,magenta-alt))) | ||
| 2627 | `(gnus-cite-5 ((,class :foreground ,yellow-alt))) | ||
| 2628 | `(gnus-cite-6 ((,class :foreground ,cyan-alt))) | ||
| 2629 | `(gnus-cite-7 ((,class :foreground ,blue-alt-other))) | ||
| 2630 | `(gnus-cite-8 ((,class :foreground ,red-alt-other))) | ||
| 2631 | `(gnus-cite-9 ((,class :foreground ,green-alt-other))) | ||
| 2632 | `(gnus-cite-attribution ((,class :foreground ,fg-main :slant italic))) | ||
| 2633 | `(gnus-emphasis-highlight-words ((,class :inherit modus-theme-refine-yellow))) | ||
| 2634 | `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2635 | `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt))) | ||
| 2636 | `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta))) | ||
| 2637 | `(gnus-group-mail-2-empty ((,class :foreground ,magenta))) | ||
| 2638 | `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 2639 | `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other))) | ||
| 2640 | `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced))) | ||
| 2641 | `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced))) | ||
| 2642 | `(gnus-group-news-1 ((,class :inherit bold :foreground ,green))) | ||
| 2643 | `(gnus-group-news-1-empty ((,class :foreground ,green))) | ||
| 2644 | `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan))) | ||
| 2645 | `(gnus-group-news-2-empty ((,class :foreground ,cyan))) | ||
| 2646 | `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced))) | ||
| 2647 | `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced))) | ||
| 2648 | `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced))) | ||
| 2649 | `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced))) | ||
| 2650 | `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced))) | ||
| 2651 | `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced))) | ||
| 2652 | `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-alt))) | ||
| 2653 | `(gnus-group-news-6-empty ((,class :foreground ,fg-alt))) | ||
| 2654 | `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced))) | ||
| 2655 | `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced))) | ||
| 2656 | `(gnus-header-content ((,class :foreground ,cyan))) | ||
| 2657 | `(gnus-header-from ((,class :inherit bold :foreground ,cyan-alt-other :underline nil))) | ||
| 2658 | `(gnus-header-name ((,class :foreground ,green))) | ||
| 2659 | `(gnus-header-newsgroups ((,class :inherit bold :foreground ,blue-alt))) | ||
| 2660 | `(gnus-header-subject ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 2661 | `(gnus-server-agent ((,class :inherit bold :foreground ,cyan))) | ||
| 2662 | `(gnus-server-closed ((,class :inherit bold :foreground ,magenta))) | ||
| 2663 | `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 2664 | `(gnus-server-cloud-host ((,class :inherit modus-theme-refine-cyan))) | ||
| 2665 | `(gnus-server-denied ((,class :inherit bold :foreground ,red))) | ||
| 2666 | `(gnus-server-offline ((,class :inherit bold :foreground ,yellow))) | ||
| 2667 | `(gnus-server-opened ((,class :inherit bold :foreground ,green))) | ||
| 2668 | `(gnus-signature ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 2669 | `(gnus-splash ((,class :foreground ,fg-alt))) | ||
| 2670 | `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt))) | ||
| 2671 | `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt))) | ||
| 2672 | `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2673 | `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 2674 | `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground ,yellow))) | ||
| 2675 | `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main))) | ||
| 2676 | `(gnus-summary-low-ancient ((,class :foreground ,fg-alt :slant italic))) | ||
| 2677 | `(gnus-summary-low-read ((,class :foreground ,fg-alt :slant italic))) | ||
| 2678 | `(gnus-summary-low-ticked ((,class :foreground ,red-refine-fg :slant italic))) | ||
| 2679 | `(gnus-summary-low-undownloaded ((,class :foreground ,yellow-refine-fg :slant italic))) | ||
| 2680 | `(gnus-summary-low-unread ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2681 | `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm))) | ||
| 2682 | `(gnus-summary-normal-read ((,class :foreground ,fg-alt))) | ||
| 2683 | `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other))) | ||
| 2684 | `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow))) | ||
| 2685 | `(gnus-summary-normal-unread ((,class :foreground ,fg-main))) | ||
| 2686 | `(gnus-summary-selected ((,class :inherit modus-theme-subtle-blue))) | ||
| 2687 | ;;;;; golden-ratio-scroll-screen | ||
| 2688 | `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) | ||
| 2689 | ;;;;; helm | ||
| 2690 | `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 2691 | `(helm-action ((,class :underline t))) | ||
| 2692 | `(helm-bookmark-addressbook ((,class :foreground ,green-alt))) | ||
| 2693 | `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue))) | ||
| 2694 | `(helm-bookmark-file ((,class :foreground ,fg-main))) | ||
| 2695 | `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 2696 | `(helm-bookmark-gnus ((,class :foreground ,magenta))) | ||
| 2697 | `(helm-bookmark-info ((,class :foreground ,cyan-alt))) | ||
| 2698 | `(helm-bookmark-man ((,class :foreground ,yellow-alt))) | ||
| 2699 | `(helm-bookmark-w3m ((,class :foreground ,blue-alt))) | ||
| 2700 | `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan))) | ||
| 2701 | `(helm-buffer-directory ((,class :inherit bold :foreground ,blue))) | ||
| 2702 | `(helm-buffer-file ((,class :foreground ,fg-main))) | ||
| 2703 | `(helm-buffer-modified ((,class :foreground ,yellow-alt))) | ||
| 2704 | `(helm-buffer-not-saved ((,class :foreground ,red-alt))) | ||
| 2705 | `(helm-buffer-process ((,class :foreground ,magenta))) | ||
| 2706 | `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt :foreground ,red))) | ||
| 2707 | `(helm-buffer-size ((,class :foreground ,fg-alt))) | ||
| 2708 | `(helm-candidate-number ((,class :foreground ,cyan-active))) | ||
| 2709 | `(helm-candidate-number-suspended ((,class :foreground ,yellow-active))) | ||
| 2710 | `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active))) | ||
| 2711 | `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active))) | ||
| 2712 | `(helm-delete-async-message ((,class :inherit bold :foreground ,magenta-active))) | ||
| 2713 | `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 2714 | `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active))) | ||
| 2715 | `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active))) | ||
| 2716 | `(helm-etags-file ((,class :foreground ,fg-dim :underline t))) | ||
| 2717 | `(helm-ff-backup-file ((,class :foreground ,fg-alt))) | ||
| 2718 | `(helm-ff-denied ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2719 | 'modus-theme-subtle-red | ||
| 2720 | 'modus-theme-intense-red | ||
| 2721 | 'modus-theme-nuanced-red | ||
| 2722 | red)))) | ||
| 2723 | `(helm-ff-directory ((,class :inherit helm-buffer-directory))) | ||
| 2724 | `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 2725 | `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt :foreground ,fg-alt))) | ||
| 2726 | `(helm-ff-dotted-symlink-directory ((,class :inherit (button helm-ff-dotted-directory)))) | ||
| 2727 | `(helm-ff-executable ((,class :foreground ,magenta-alt))) | ||
| 2728 | `(helm-ff-file ((,class :foreground ,fg-main))) | ||
| 2729 | `(helm-ff-file-extension ((,class :foreground ,fg-special-warm))) | ||
| 2730 | `(helm-ff-invalid-symlink ((,class :inherit button :foreground ,red))) | ||
| 2731 | `(helm-ff-pipe ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2732 | 'modus-theme-refine-magenta | ||
| 2733 | 'modus-theme-subtle-magenta | ||
| 2734 | 'modus-theme-nuanced-magenta | ||
| 2735 | magenta)))) | ||
| 2736 | `(helm-ff-prefix ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2737 | 'modus-theme-refine-yellow | ||
| 2738 | 'modus-theme-subtle-yellow | ||
| 2739 | 'modus-theme-nuanced-yellow | ||
| 2740 | yellow-alt-other)))) | ||
| 2741 | `(helm-ff-socket ((,class :foreground ,red-alt-other))) | ||
| 2742 | `(helm-ff-suid ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2743 | 'modus-theme-subtle-red | ||
| 2744 | 'modus-theme-refine-red | ||
| 2745 | 'modus-theme-nuanced-yellow | ||
| 2746 | red-alt)))) | ||
| 2747 | `(helm-ff-symlink ((,class :inherit button :foreground ,cyan))) | ||
| 2748 | `(helm-ff-truename ((,class :foreground ,blue-alt-other))) | ||
| 2749 | `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other))) | ||
| 2750 | `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2751 | `(helm-grep-finish ((,class :foreground ,green-active))) | ||
| 2752 | `(helm-grep-lineno ((,class :foreground ,fg-special-warm))) | ||
| 2753 | `(helm-grep-match ((,class :inherit modus-theme-special-calm))) | ||
| 2754 | `(helm-header ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2755 | `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense))) | ||
| 2756 | `(helm-history-deleted ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2757 | 'modus-theme-subtle-red | ||
| 2758 | 'modus-theme-intense-red | ||
| 2759 | 'modus-theme-nuanced-red | ||
| 2760 | red | ||
| 2761 | 'bold)))) | ||
| 2762 | `(helm-history-remote ((,class :foreground ,red-alt-other))) | ||
| 2763 | `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm))) | ||
| 2764 | `(helm-lisp-show-completion ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2765 | 'modus-theme-subtle-yellow | ||
| 2766 | 'modus-theme-refine-yellow | ||
| 2767 | 'modus-theme-nuanced-yellow | ||
| 2768 | yellow | ||
| 2769 | 'bold)))) | ||
| 2770 | `(helm-locate-finish ((,class :foreground ,green-active))) | ||
| 2771 | `(helm-match ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2772 | 'modus-theme-subtle-cyan | ||
| 2773 | 'modus-theme-refine-cyan | ||
| 2774 | 'modus-theme-nuanced-cyan | ||
| 2775 | cyan | ||
| 2776 | 'bold)))) | ||
| 2777 | `(helm-match-item ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2778 | 'modus-theme-subtle-neutral | ||
| 2779 | 'modus-theme-subtle-cyan | ||
| 2780 | 'modus-theme-nuanced-cyan | ||
| 2781 | cyan-alt-other)))) | ||
| 2782 | `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt))) | ||
| 2783 | `(helm-moccur-buffer ((,class :inherit button :foreground ,cyan-alt-other))) | ||
| 2784 | `(helm-mode-prefix ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2785 | 'modus-theme-subtle-magenta | ||
| 2786 | 'modus-theme-intense-magenta | ||
| 2787 | 'modus-theme-nuanced-magenta | ||
| 2788 | magenta-alt | ||
| 2789 | 'bold)))) | ||
| 2790 | `(helm-non-file-buffer ((,class :foreground ,fg-alt))) | ||
| 2791 | `(helm-prefarg ((,class :foreground ,red-active))) | ||
| 2792 | `(helm-resume-need-update ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2793 | 'modus-theme-subtle-magenta | ||
| 2794 | 'modus-theme-refine-magenta | ||
| 2795 | 'modus-theme-nuanced-magenta | ||
| 2796 | magenta-alt-other)))) | ||
| 2797 | `(helm-selection ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2798 | 'modus-theme-subtle-blue | ||
| 2799 | 'modus-theme-refine-blue | ||
| 2800 | 'modus-theme-special-cold | ||
| 2801 | nil | ||
| 2802 | 'bold)))) | ||
| 2803 | `(helm-selection-line ((,class :inherit modus-theme-special-cold))) | ||
| 2804 | `(helm-separator ((,class :foreground ,fg-special-mild))) | ||
| 2805 | `(helm-time-zone-current ((,class :foreground ,green))) | ||
| 2806 | `(helm-time-zone-home ((,class :foreground ,magenta))) | ||
| 2807 | `(helm-source-header ((,class :inherit bold :foreground ,red-alt | ||
| 2808 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 2809 | `(helm-top-columns ((,class :inherit helm-header))) | ||
| 2810 | `(helm-ucs-char ((,class :foreground ,yellow-alt-other))) | ||
| 2811 | `(helm-visible-mark ((,class :inherit modus-theme-subtle-cyan))) | ||
| 2812 | ;;;;; helm-ls-git | ||
| 2813 | `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense))) | ||
| 2814 | `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense))) | ||
| 2815 | `(helm-ls-git-conflict-face ((,class :inherit bold :foreground ,red-intense))) | ||
| 2816 | `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced))) | ||
| 2817 | `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red))) | ||
| 2818 | `(helm-ls-git-modified-and-staged-face ((,class :foreground ,yellow-nuanced))) | ||
| 2819 | `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow))) | ||
| 2820 | `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta))) | ||
| 2821 | `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold))) | ||
| 2822 | ;;;;; helm-switch-shell | ||
| 2823 | `(helm-switch-shell-new-shell-face ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2824 | 'modus-theme-subtle-magenta | ||
| 2825 | 'modus-theme-refine-magenta | ||
| 2826 | 'modus-theme-nuanced-magenta | ||
| 2827 | magenta-alt-other | ||
| 2828 | 'bold)))) | ||
| 2829 | ;;;;; helm-xref | ||
| 2830 | `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2831 | `(helm-xref-file-name ((,class :foreground ,fg-special-warm))) | ||
| 2832 | ;;;;; helpful | ||
| 2833 | `(helpful-heading ((,class :inherit modus-theme-heading-1))) | ||
| 2834 | ;;;;; highlight region or ad-hoc regexp | ||
| 2835 | `(hi-black-b ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 2836 | `(hi-blue ((,class :background ,bg-alt :foreground ,blue :underline t))) | ||
| 2837 | `(hi-blue-b ((,class :inherit modus-theme-intense-blue))) | ||
| 2838 | `(hi-green ((,class :background ,bg-alt :foreground ,green :underline t))) | ||
| 2839 | `(hi-green-b ((,class :inherit modus-theme-intense-green))) | ||
| 2840 | `(hi-pink ((,class :background ,bg-alt :foreground ,magenta :underline t))) | ||
| 2841 | `(hi-red-b ((,class :inherit modus-theme-intense-red))) | ||
| 2842 | `(hi-yellow ((,class :background ,bg-alt :foreground ,yellow :underline t))) | ||
| 2843 | `(highlight ((,class :inherit modus-theme-subtle-blue))) | ||
| 2844 | `(highlight-changes ((,class :foreground ,yellow-alt-other))) | ||
| 2845 | `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline t))) | ||
| 2846 | `(hl-line ((,class :inherit modus-theme-hl-line))) | ||
| 2847 | ;;;;; highlight-blocks | ||
| 2848 | `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 2849 | `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 2850 | `(highlight-blocks-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 2851 | `(highlight-blocks-depth-4-face ((,class :background ,bg-special-calm :foreground ,fg-main))) | ||
| 2852 | `(highlight-blocks-depth-5-face ((,class :background ,bg-special-warm :foreground ,fg-main))) | ||
| 2853 | `(highlight-blocks-depth-6-face ((,class :background ,bg-special-mild :foreground ,fg-main))) | ||
| 2854 | `(highlight-blocks-depth-7-face ((,class :background ,bg-inactive :foreground ,fg-main))) | ||
| 2855 | `(highlight-blocks-depth-8-face ((,class :background ,bg-active :foreground ,fg-main))) | ||
| 2856 | `(highlight-blocks-depth-9-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) | ||
| 2857 | ;;;;; highlight-defined | ||
| 2858 | `(highlight-defined-builtin-function-name-face ((,class :foreground ,magenta))) | ||
| 2859 | `(highlight-defined-face-name-face ((,class :foreground ,fg-main))) | ||
| 2860 | `(highlight-defined-function-name-face ((,class :foreground ,magenta))) | ||
| 2861 | `(highlight-defined-macro-name-face ((,class :foreground ,magenta-alt))) | ||
| 2862 | `(highlight-defined-special-form-name-face ((,class :foreground ,magenta-alt-other))) | ||
| 2863 | `(highlight-defined-variable-name-face ((,class :foreground ,cyan))) | ||
| 2864 | ;;;;; highlight-escape-sequences (`hes-mode') | ||
| 2865 | `(hes-escape-backslash-face ((,class :inherit bold :foreground ,fg-escape-char-construct))) | ||
| 2866 | `(hes-escape-sequence-face ((,class :inherit bold :foreground ,fg-escape-char-backslash))) | ||
| 2867 | ;;;;; highlight-indentation | ||
| 2868 | `(highlight-indentation-face ((,class :inherit modus-theme-hl-line))) | ||
| 2869 | `(highlight-indentation-current-column-face ((,class :background ,bg-active))) | ||
| 2870 | ;;;;; highlight-numbers | ||
| 2871 | `(highlight-numbers-number ((,class :foreground ,blue-alt-other))) | ||
| 2872 | ;;;;; highlight-symbol | ||
| 2873 | `(highlight-symbol-face ((,class :inherit modus-theme-special-mild))) | ||
| 2874 | ;;;;; highlight-thing | ||
| 2875 | `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan))) | ||
| 2876 | ;;;;; hl-defined | ||
| 2877 | `(hdefd-functions ((,class :foreground ,blue))) | ||
| 2878 | `(hdefd-undefined ((,class :foreground ,red-alt))) | ||
| 2879 | `(hdefd-variables ((,class :foreground ,cyan-alt))) | ||
| 2880 | ;;;;; hl-fill-column | ||
| 2881 | `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 2882 | ;;;;; hl-todo | ||
| 2883 | `(hl-todo ((,class :inherit bold :foreground ,red-alt-other :slant ,modus-theme-slant))) | ||
| 2884 | ;;;;; hydra | ||
| 2885 | `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow))) | ||
| 2886 | `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt))) | ||
| 2887 | `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2888 | `(hydra-face-red ((,class :inherit bold :foreground ,red))) | ||
| 2889 | `(hydra-face-teal ((,class :inherit bold :foreground ,cyan))) | ||
| 2890 | ;;;;; hyperlist | ||
| 2891 | `(hyperlist-condition ((,class :foreground ,green))) | ||
| 2892 | `(hyperlist-hashtag ((,class :foreground ,yellow))) | ||
| 2893 | `(hyperlist-operator ((,class :foreground ,blue-alt))) | ||
| 2894 | `(hyperlist-paren ((,class :foreground ,cyan-alt-other))) | ||
| 2895 | `(hyperlist-quote ((,class :foreground ,cyan-alt))) | ||
| 2896 | `(hyperlist-ref ((,class :foreground ,magenta-alt-other))) | ||
| 2897 | `(hyperlist-stars ((,class :foreground ,fg-alt))) | ||
| 2898 | `(hyperlist-tag ((,class :foreground ,red))) | ||
| 2899 | `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main))) | ||
| 2900 | ;;;;; icomplete | ||
| 2901 | `(icomplete-first-match ((,class :inherit bold | ||
| 2902 | ,@(modus-operandi-theme-standard-completions | ||
| 2903 | magenta bg-alt | ||
| 2904 | bg-active fg-main)))) | ||
| 2905 | ;;;;; icomplete-vertical | ||
| 2906 | `(icomplete-vertical-separator ((,class :foreground ,fg-alt))) | ||
| 2907 | ;;;;; ido-mode | ||
| 2908 | `(ido-first-match ((,class :inherit bold | ||
| 2909 | ,@(modus-operandi-theme-standard-completions | ||
| 2910 | magenta bg-alt | ||
| 2911 | bg-active fg-main)))) | ||
| 2912 | `(ido-incomplete-regexp ((,class :inherit error))) | ||
| 2913 | `(ido-indicator ((,class :inherit modus-theme-subtle-yellow))) | ||
| 2914 | `(ido-only-match ((,class :inherit bold | ||
| 2915 | ,@(modus-operandi-theme-standard-completions | ||
| 2916 | green green-nuanced-bg | ||
| 2917 | green-intense-bg fg-main)))) | ||
| 2918 | `(ido-subdir ((,class :foreground ,blue))) | ||
| 2919 | `(ido-virtual ((,class :foreground ,fg-special-warm))) | ||
| 2920 | ;;;;; iedit | ||
| 2921 | `(iedit-occurrence ((,class :inherit modus-theme-refine-blue))) | ||
| 2922 | `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow))) | ||
| 2923 | ;;;;; iflipb | ||
| 2924 | `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 2925 | `(iflipb-other-buffer-face ((,class :foreground ,fg-alt))) | ||
| 2926 | ;;;;; imenu-list | ||
| 2927 | `(imenu-list-entry-face-0 ((,class :foreground ,cyan))) | ||
| 2928 | `(imenu-list-entry-face-1 ((,class :foreground ,blue))) | ||
| 2929 | `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other))) | ||
| 2930 | `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt))) | ||
| 2931 | `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground ,magenta-alt-other :underline t))) | ||
| 2932 | `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground ,magenta :underline t))) | ||
| 2933 | `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground ,green-alt-other :underline t))) | ||
| 2934 | `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground ,red-alt-other :underline t))) | ||
| 2935 | ;;;;; indium | ||
| 2936 | `(indium-breakpoint-face ((,class :foreground ,red-active))) | ||
| 2937 | `(indium-frame-url-face ((,class :inherit button :foreground ,fg-alt))) | ||
| 2938 | `(indium-keyword-face ((,class :foreground ,magenta-alt-other))) | ||
| 2939 | `(indium-litable-face ((,class :foreground ,fg-special-warm :slant ,modus-theme-slant))) | ||
| 2940 | `(indium-repl-error-face ((,class :inherit bold :foreground ,red))) | ||
| 2941 | `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other))) | ||
| 2942 | `(indium-repl-stdout-face ((,class :foreground ,fg-main))) | ||
| 2943 | ;;;;; info | ||
| 2944 | `(Info-quoted ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 2945 | :foreground ,magenta))) ; the capitalisation is canonical | ||
| 2946 | `(info-header-node ((,class :inherit bold :foreground ,fg-alt))) | ||
| 2947 | `(info-header-xref ((,class :foreground ,blue-active))) | ||
| 2948 | `(info-index-match ((,class :inherit match))) | ||
| 2949 | `(info-menu-header ((,class :inherit modus-theme-heading-3))) | ||
| 2950 | `(info-menu-star ((,class :foreground ,red))) | ||
| 2951 | `(info-node ((,class :inherit bold))) | ||
| 2952 | `(info-title-1 ((,class :inherit modus-theme-heading-1))) | ||
| 2953 | `(info-title-2 ((,class :inherit modus-theme-heading-2))) | ||
| 2954 | `(info-title-3 ((,class :inherit modus-theme-heading-3))) | ||
| 2955 | `(info-title-4 ((,class :inherit modus-theme-heading-4))) | ||
| 2956 | ;;;;; info-colors | ||
| 2957 | `(info-colors-lisp-code-block ((,class :inherit fixed-pitch))) | ||
| 2958 | `(info-colors-ref-item-command ((,class :foreground ,magenta))) | ||
| 2959 | `(info-colors-ref-item-constant ((,class :foreground ,blue-alt-other))) | ||
| 2960 | `(info-colors-ref-item-function ((,class :foreground ,magenta))) | ||
| 2961 | `(info-colors-ref-item-macro ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-alt-other))) | ||
| 2962 | `(info-colors-ref-item-other ((,class :foreground ,cyan))) | ||
| 2963 | `(info-colors-ref-item-special-form ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-alt-other))) | ||
| 2964 | `(info-colors-ref-item-syntax-class ((,class :foreground ,magenta))) | ||
| 2965 | `(info-colors-ref-item-type ((,class :foreground ,magenta-alt))) | ||
| 2966 | `(info-colors-ref-item-user-option ((,class :foreground ,cyan))) | ||
| 2967 | `(info-colors-ref-item-variable ((,class :foreground ,cyan))) | ||
| 2968 | ;;;;; interaction-log | ||
| 2969 | `(ilog-buffer-face ((,class :foreground ,magenta-alt-other))) | ||
| 2970 | `(ilog-change-face ((,class :foreground ,magenta-alt))) | ||
| 2971 | `(ilog-echo-face ((,class :foreground ,yellow-alt-other))) | ||
| 2972 | `(ilog-load-face ((,class :foreground ,green))) | ||
| 2973 | `(ilog-message-face ((,class :foreground ,fg-alt))) | ||
| 2974 | `(ilog-non-change-face ((,class :foreground ,blue))) | ||
| 2975 | ;;;;; ioccur | ||
| 2976 | `(ioccur-cursor ((,class :foreground ,fg-main))) | ||
| 2977 | `(ioccur-invalid-regexp ((,class :foreground ,red))) | ||
| 2978 | `(ioccur-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 2979 | `(ioccur-match-overlay-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 2980 | :inherit modus-theme-special-cold))) | ||
| 2981 | `(ioccur-num-line-face ((,class :foreground ,fg-special-warm))) | ||
| 2982 | `(ioccur-overlay-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 2983 | :inherit modus-theme-refine-blue))) | ||
| 2984 | `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold)))) | ||
| 2985 | `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt | ||
| 2986 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 2987 | ;;;;; isearch, occur, and the like | ||
| 2988 | `(isearch ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 2989 | `(isearch-fail ((,class :inherit modus-theme-refine-red))) | ||
| 2990 | `(lazy-highlight ((,class :inherit modus-theme-refine-cyan))) | ||
| 2991 | `(match ((,class :inherit modus-theme-special-calm))) | ||
| 2992 | `(query-replace ((,class :inherit (modus-theme-intense-yellow bold)))) | ||
| 2993 | ;;;;; ivy | ||
| 2994 | `(ivy-action ((,class :inherit bold :foreground ,red-alt))) | ||
| 2995 | `(ivy-completions-annotations ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 2996 | `(ivy-confirm-face ((,class :foreground ,cyan))) | ||
| 2997 | `(ivy-current-match ((,class ,@(modus-operandi-theme-extra-completions | ||
| 2998 | 'modus-theme-refine-cyan | ||
| 2999 | 'modus-theme-intense-cyan | ||
| 3000 | 'modus-theme-special-warm | ||
| 3001 | nil | ||
| 3002 | 'bold)))) | ||
| 3003 | `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 3004 | `(ivy-grep-info ((,class :foreground ,cyan-alt))) | ||
| 3005 | `(ivy-grep-line-number ((,class :foreground ,fg-special-warm))) | ||
| 3006 | `(ivy-highlight-face ((,class :foreground ,magenta))) | ||
| 3007 | `(ivy-match-required-face ((,class :inherit error))) | ||
| 3008 | `(ivy-minibuffer-match-face-1 ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3009 | 'modus-theme-subtle-neutral | ||
| 3010 | 'modus-theme-intense-neutral | ||
| 3011 | 'modus-theme-subtle-neutral | ||
| 3012 | fg-alt)))) | ||
| 3013 | `(ivy-minibuffer-match-face-2 ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3014 | 'modus-theme-subtle-green | ||
| 3015 | 'modus-theme-refine-green | ||
| 3016 | 'modus-theme-nuanced-green | ||
| 3017 | green-alt-other | ||
| 3018 | 'bold)))) | ||
| 3019 | `(ivy-minibuffer-match-face-3 ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3020 | 'modus-theme-subtle-cyan | ||
| 3021 | 'modus-theme-refine-cyan | ||
| 3022 | 'modus-theme-nuanced-cyan | ||
| 3023 | cyan-alt-other | ||
| 3024 | 'bold)))) | ||
| 3025 | `(ivy-minibuffer-match-face-4 ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3026 | 'modus-theme-subtle-magenta | ||
| 3027 | 'modus-theme-refine-magenta | ||
| 3028 | 'modus-theme-nuanced-magenta | ||
| 3029 | magenta-alt-other | ||
| 3030 | 'bold)))) | ||
| 3031 | `(ivy-minibuffer-match-highlight ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3032 | 'modus-theme-subtle-blue | ||
| 3033 | 'modus-theme-intense-blue | ||
| 3034 | 'modus-theme-nuanced-blue | ||
| 3035 | blue-alt-other | ||
| 3036 | 'bold)))) | ||
| 3037 | `(ivy-modified-buffer ((,class :foreground ,yellow :slant ,modus-theme-slant))) | ||
| 3038 | `(ivy-modified-outside-buffer ((,class :foreground ,yellow-alt :slant ,modus-theme-slant))) | ||
| 3039 | `(ivy-org ((,class :foreground ,cyan-alt-other))) | ||
| 3040 | `(ivy-prompt-match ((,class :inherit ivy-current-match))) | ||
| 3041 | `(ivy-remote ((,class :foreground ,magenta))) | ||
| 3042 | `(ivy-separator ((,class :foreground ,fg-alt))) | ||
| 3043 | `(ivy-subdir ((,class :foreground ,blue-alt-other))) | ||
| 3044 | `(ivy-virtual ((,class :foreground ,magenta-alt-other))) | ||
| 3045 | `(ivy-yanked-word ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3046 | 'modus-theme-subtle-blue | ||
| 3047 | 'modus-theme-refine-blue | ||
| 3048 | 'modus-theme-nuanced-blue | ||
| 3049 | blue-alt)))) | ||
| 3050 | ;;;;; ivy-posframe | ||
| 3051 | `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 3052 | `(ivy-posframe-border ((,class :background ,bg-active))) | ||
| 3053 | `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 3054 | ;;;;; jira (org-jira) | ||
| 3055 | `(jiralib-comment-face ((,class :background ,bg-alt))) | ||
| 3056 | `(jiralib-comment-header-face ((,class :inherit bold))) | ||
| 3057 | `(jiralib-issue-info-face ((,class :inherit modus-theme-special-warm))) | ||
| 3058 | `(jiralib-issue-info-header-face ((,class :inherit (modus-theme-special-warm bold)))) | ||
| 3059 | `(jiralib-issue-summary-face ((,class :inherit bold))) | ||
| 3060 | `(jiralib-link-filter-face ((,class :underline t))) | ||
| 3061 | `(jiralib-link-issue-face ((,class :underline t))) | ||
| 3062 | `(jiralib-link-project-face ((,class :underline t))) | ||
| 3063 | ;;;;; journalctl-mode | ||
| 3064 | `(journalctl-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3065 | `(journalctl-finished-face ((,class :inherit bold :foreground ,green))) | ||
| 3066 | `(journalctl-host-face ((,class :foreground ,blue))) | ||
| 3067 | `(journalctl-process-face ((,class :foreground ,cyan-alt-other))) | ||
| 3068 | `(journalctl-starting-face ((,class :foreground ,green))) | ||
| 3069 | `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold))) | ||
| 3070 | `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 3071 | ;;;;; js2-mode | ||
| 3072 | `(js2-error ((,class :foreground ,red))) | ||
| 3073 | `(js2-external-variable ((,class :foreground ,cyan-alt-other))) | ||
| 3074 | `(js2-function-call ((,class :foreground ,magenta))) | ||
| 3075 | `(js2-function-param ((,class :foreground ,blue))) | ||
| 3076 | `(js2-instance-member ((,class :foreground ,magenta-alt-other))) | ||
| 3077 | `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main))) | ||
| 3078 | `(js2-jsdoc-html-tag-name ((,class :foreground ,cyan))) | ||
| 3079 | `(js2-jsdoc-tag ((,class :foreground ,fg-special-calm))) | ||
| 3080 | `(js2-jsdoc-type ((,class :foreground ,fg-special-cold))) | ||
| 3081 | `(js2-jsdoc-value ((,class :foreground ,fg-special-warm))) | ||
| 3082 | `(js2-object-property ((,class :foreground ,fg-main))) | ||
| 3083 | `(js2-object-property-access ((,class :foreground ,fg-main))) | ||
| 3084 | `(js2-private-function-call ((,class :foreground ,green-alt-other))) | ||
| 3085 | `(js2-private-member ((,class :foreground ,fg-special-mild))) | ||
| 3086 | `(js2-warning ((,class :foreground ,yellow-alt :underline t))) | ||
| 3087 | ;;;;; julia | ||
| 3088 | `(julia-macro-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta))) | ||
| 3089 | `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other))) | ||
| 3090 | ;;;;; jupyter | ||
| 3091 | `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue))) | ||
| 3092 | `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other))) | ||
| 3093 | `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other))) | ||
| 3094 | `(jupyter-repl-traceback ((,class :inherit modus-theme-intense-red))) | ||
| 3095 | ;;;;; kaocha-runner | ||
| 3096 | `(kaocha-runner-error-face ((,class :foreground ,red))) | ||
| 3097 | `(kaocha-runner-success-face ((,class :foreground ,green))) | ||
| 3098 | `(kaocha-runner-warning-face ((,class :foreground ,yellow))) | ||
| 3099 | ;;;;; keycast | ||
| 3100 | `(keycast-command ((,class :inherit bold :foreground ,blue-active))) | ||
| 3101 | `(keycast-key ((,class ,@(modus-operandi-theme-mode-line-attrs | ||
| 3102 | bg-main blue-active | ||
| 3103 | bg-main blue-active | ||
| 3104 | blue-active blue-intense | ||
| 3105 | 'alt-style -3)))) | ||
| 3106 | ;;;;; line numbers (display-line-numbers-mode and global variant) | ||
| 3107 | `(line-number ((,class :inherit default :background ,bg-dim :foreground ,fg-alt))) | ||
| 3108 | `(line-number-current-line ((,class :inherit default :background ,bg-active :foreground ,fg-main))) | ||
| 3109 | ;;;;; lsp-mode | ||
| 3110 | `(lsp-face-highlight-read ((,class :inherit modus-theme-subtle-blue :underline t))) | ||
| 3111 | `(lsp-face-highlight-textual ((,class :inherit modus-theme-subtle-blue))) | ||
| 3112 | `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue bold)))) | ||
| 3113 | `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other))) | ||
| 3114 | `(lsp-face-semhl-deprecated | ||
| 3115 | ((,(append '((supports :underline (:style wave))) class) | ||
| 3116 | :foreground ,yellow :underline (:style wave)) | ||
| 3117 | (,class :foreground ,yellow :underline t))) | ||
| 3118 | `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other))) | ||
| 3119 | `(lsp-face-semhl-field ((,class :foreground ,cyan-alt))) | ||
| 3120 | `(lsp-face-semhl-field-static ((,class :foreground ,cyan-alt :slant ,modus-theme-slant))) | ||
| 3121 | `(lsp-face-semhl-function ((,class :foreground ,magenta))) | ||
| 3122 | `(lsp-face-semhl-method ((,class :foreground ,magenta))) | ||
| 3123 | `(lsp-face-semhl-namespace ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-alt))) | ||
| 3124 | `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other))) | ||
| 3125 | `(lsp-face-semhl-static-method ((,class :foreground ,magenta :slant ,modus-theme-slant))) | ||
| 3126 | `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt))) | ||
| 3127 | `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt))) | ||
| 3128 | `(lsp-face-semhl-type-primitive ((,class :foreground ,magenta-alt :slant ,modus-theme-slant))) | ||
| 3129 | `(lsp-face-semhl-type-template ((,class :foreground ,magenta-alt :slant ,modus-theme-slant))) | ||
| 3130 | `(lsp-face-semhl-type-typedef ((,class :foreground ,magenta-alt :slant ,modus-theme-slant))) | ||
| 3131 | `(lsp-face-semhl-variable ((,class :foreground ,cyan))) | ||
| 3132 | `(lsp-face-semhl-variable-local ((,class :foreground ,cyan))) | ||
| 3133 | `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other))) | ||
| 3134 | `(lsp-lens-face ((,class :height 0.8 :foreground ,fg-alt))) | ||
| 3135 | `(lsp-lens-mouse-face ((,class :height 0.8 :foreground ,blue-alt-other :underline t))) | ||
| 3136 | `(lsp-ui-doc-background ((,class :background ,bg-alt))) | ||
| 3137 | `(lsp-ui-doc-header ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 3138 | `(lsp-ui-doc-url ((,class :inherit button :foreground ,blue-alt-other))) | ||
| 3139 | `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm))) | ||
| 3140 | `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 3141 | `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 3142 | `(lsp-ui-peek-highlight ((,class :inherit modus-theme-subtle-blue))) | ||
| 3143 | `(lsp-ui-peek-line-number ((,class :foreground ,fg-alt))) | ||
| 3144 | `(lsp-ui-peek-list ((,class :background ,bg-dim))) | ||
| 3145 | `(lsp-ui-peek-peek ((,class :background ,bg-alt))) | ||
| 3146 | `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3147 | `(lsp-ui-sideline-code-action ((,class :foreground ,yellow))) | ||
| 3148 | `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main))) | ||
| 3149 | `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt))) | ||
| 3150 | `(lsp-ui-sideline-symbol-info ((,class :height 0.99 :slant italic))) | ||
| 3151 | ;;;;; magit | ||
| 3152 | `(magit-bisect-bad ((,class :foreground ,red-alt-other))) | ||
| 3153 | `(magit-bisect-good ((,class :foreground ,green-alt-other))) | ||
| 3154 | `(magit-bisect-skip ((,class :foreground ,yellow-alt-other))) | ||
| 3155 | `(magit-blame-date ((,class :foreground ,blue))) | ||
| 3156 | `(magit-blame-dimmed ((,class :foreground ,fg-alt))) | ||
| 3157 | `(magit-blame-hash ((,class :foreground ,fg-special-warm))) | ||
| 3158 | `(magit-blame-heading ((,class :background ,bg-alt))) | ||
| 3159 | `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan))) | ||
| 3160 | `(magit-blame-margin ((,class :inherit magit-blame-highlight))) | ||
| 3161 | `(magit-blame-name ((,class :foreground ,magenta-alt-other))) | ||
| 3162 | `(magit-blame-summary ((,class :foreground ,cyan-alt-other))) | ||
| 3163 | `(magit-branch-current ((,class :foreground ,blue-alt-other :box t))) | ||
| 3164 | `(magit-branch-local ((,class :foreground ,blue-alt))) | ||
| 3165 | `(magit-branch-remote ((,class :foreground ,magenta-alt))) | ||
| 3166 | `(magit-branch-remote-head ((,class :foreground ,magenta-alt-other :box t))) | ||
| 3167 | `(magit-branch-upstream ((,class :slant italic))) | ||
| 3168 | `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 3169 | `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 3170 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 3171 | ;; modus-theme-diff-* faces, though only for the standard actions, | ||
| 3172 | ;; not the highlighted ones. This is because Magit's interaction | ||
| 3173 | ;; model relies on highlighting the current diff hunk. | ||
| 3174 | `(magit-diff-added ((,class ,@(modus-operandi-theme-diff | ||
| 3175 | bg-main green | ||
| 3176 | bg-diff-added fg-diff-added | ||
| 3177 | green-nuanced-bg fg-diff-added)))) | ||
| 3178 | `(magit-diff-added-highlight ((,class :inherit modus-theme-diff-focus-added))) | ||
| 3179 | `(magit-diff-base ((,class ,@(modus-operandi-theme-diff | ||
| 3180 | bg-main yellow | ||
| 3181 | bg-diff-changed fg-diff-changed | ||
| 3182 | yellow-nuanced-bg fg-diff-changed)))) | ||
| 3183 | `(magit-diff-base-highlight ((,class :inherit modus-theme-diff-focus-changed))) | ||
| 3184 | `(magit-diff-context ((,class :foreground ,fg-unfocused))) | ||
| 3185 | `(magit-diff-context-highlight ((,class ,@(modus-operandi-theme-diff | ||
| 3186 | bg-dim fg-dim | ||
| 3187 | bg-inactive fg-inactive | ||
| 3188 | bg-dim fg-alt)))) | ||
| 3189 | `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3190 | `(magit-diff-file-heading-highlight ((,class :inherit (modus-theme-special-cold bold)))) | ||
| 3191 | `(magit-diff-file-heading-selection ((,class :inherit modus-theme-refine-cyan))) | ||
| 3192 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 3193 | ;; modus-theme-diff-* faces. | ||
| 3194 | `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active | ||
| 3195 | :foreground ,fg-inactive))) | ||
| 3196 | `(magit-diff-hunk-heading-highlight ((,class :inherit bold :background ,bg-diff-heading | ||
| 3197 | :foreground ,fg-diff-heading))) | ||
| 3198 | `(magit-diff-hunk-heading-selection ((,class :inherit modus-theme-refine-blue))) | ||
| 3199 | `(magit-diff-hunk-region ((,class :inherit bold))) | ||
| 3200 | `(magit-diff-lines-boundary ((,class :background ,fg-main))) | ||
| 3201 | `(magit-diff-lines-heading ((,class :inherit modus-theme-refine-magenta))) | ||
| 3202 | `(magit-diff-removed ((,class ,@(modus-operandi-theme-diff | ||
| 3203 | bg-main red | ||
| 3204 | bg-diff-removed fg-diff-removed | ||
| 3205 | red-nuanced-bg fg-diff-removed)))) | ||
| 3206 | `(magit-diff-removed-highlight ((,class :inherit modus-theme-diff-focus-removed))) | ||
| 3207 | `(magit-diffstat-added ((,class :foreground ,green))) | ||
| 3208 | `(magit-diffstat-removed ((,class :foreground ,red))) | ||
| 3209 | `(magit-dimmed ((,class :foreground ,fg-unfocused))) | ||
| 3210 | `(magit-filename ((,class :foreground ,fg-special-cold))) | ||
| 3211 | `(magit-hash ((,class :foreground ,fg-alt))) | ||
| 3212 | `(magit-head ((,class :inherit magit-branch-local))) | ||
| 3213 | `(magit-header-line ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3214 | `(magit-header-line-key ((,class :inherit bold :foreground ,red-active))) | ||
| 3215 | `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main))) | ||
| 3216 | `(magit-keyword ((,class :foreground ,magenta))) | ||
| 3217 | `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 3218 | `(magit-log-author ((,class :foreground ,cyan))) | ||
| 3219 | `(magit-log-date ((,class :foreground ,fg-alt))) | ||
| 3220 | `(magit-log-graph ((,class :foreground ,fg-dim))) | ||
| 3221 | `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active))) | ||
| 3222 | `(magit-mode-line-process-error ((,class :inherit bold :foreground ,red-active))) | ||
| 3223 | `(magit-process-ng ((,class :inherit error))) | ||
| 3224 | `(magit-process-ok ((,class :inherit success))) | ||
| 3225 | `(magit-reflog-amend ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 3226 | `(magit-reflog-checkout ((,class :background ,bg-main :foreground ,blue-intense))) | ||
| 3227 | `(magit-reflog-cherry-pick ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 3228 | `(magit-reflog-commit ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 3229 | `(magit-reflog-merge ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 3230 | `(magit-reflog-other ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 3231 | `(magit-reflog-rebase ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 3232 | `(magit-reflog-remote ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 3233 | `(magit-reflog-reset ((,class :background ,bg-main :foreground ,red-intense))) | ||
| 3234 | `(magit-refname ((,class :foreground ,fg-alt))) | ||
| 3235 | `(magit-refname-pullreq ((,class :foreground ,fg-alt))) | ||
| 3236 | `(magit-refname-stash ((,class :foreground ,fg-alt))) | ||
| 3237 | `(magit-refname-wip ((,class :foreground ,fg-alt))) | ||
| 3238 | `(magit-section ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 3239 | `(magit-section-heading ((,class :inherit bold :foreground ,cyan))) | ||
| 3240 | `(magit-section-heading-selection ((,class :inherit (modus-theme-refine-cyan bold)))) | ||
| 3241 | `(magit-section-highlight ((,class :background ,bg-alt))) | ||
| 3242 | `(magit-sequence-done ((,class :foreground ,green-alt))) | ||
| 3243 | `(magit-sequence-drop ((,class :foreground ,red-alt))) | ||
| 3244 | `(magit-sequence-exec ((,class :foreground ,magenta-alt))) | ||
| 3245 | `(magit-sequence-head ((,class :foreground ,cyan-alt))) | ||
| 3246 | `(magit-sequence-onto ((,class :foreground ,fg-alt))) | ||
| 3247 | `(magit-sequence-part ((,class :foreground ,yellow-alt))) | ||
| 3248 | `(magit-sequence-pick ((,class :foreground ,blue-alt))) | ||
| 3249 | `(magit-sequence-stop ((,class :foreground ,red))) | ||
| 3250 | `(magit-signature-bad ((,class :inherit bold :foreground ,red))) | ||
| 3251 | `(magit-signature-error ((,class :foreground ,red-alt))) | ||
| 3252 | `(magit-signature-expired ((,class :foreground ,yellow))) | ||
| 3253 | `(magit-signature-expired-key ((,class :foreground ,yellow))) | ||
| 3254 | `(magit-signature-good ((,class :foreground ,green))) | ||
| 3255 | `(magit-signature-revoked ((,class :foreground ,magenta))) | ||
| 3256 | `(magit-signature-untrusted ((,class :foreground ,cyan))) | ||
| 3257 | `(magit-tag ((,class :foreground ,yellow-alt-other))) | ||
| 3258 | ;;;;; magit-imerge | ||
| 3259 | `(magit-imerge-overriding-value ((,class :inherit bold :foreground ,red-alt))) | ||
| 3260 | ;;;;; man | ||
| 3261 | `(Man-overstrike ((,class :inherit bold :foreground ,magenta))) | ||
| 3262 | `(Man-reverse ((,class :inherit modus-theme-subtle-magenta))) | ||
| 3263 | `(Man-underline ((,class :foreground ,cyan :underline t))) | ||
| 3264 | ;;;;; markdown-mode | ||
| 3265 | `(markdown-blockquote-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3266 | `(markdown-bold-face ((,class :inherit bold))) | ||
| 3267 | `(markdown-code-face ((,class ,@(modus-operandi-theme-mixed-fonts)))) | ||
| 3268 | `(markdown-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3269 | `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3270 | `(markdown-footnote-text-face ((,class :foreground ,fg-main :slant ,modus-theme-slant))) | ||
| 3271 | `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other))) | ||
| 3272 | `(markdown-header-delimiter-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,fg-dim))) | ||
| 3273 | `(markdown-header-face ((t nil))) | ||
| 3274 | `(markdown-header-face-1 ((,class :inherit modus-theme-heading-1))) | ||
| 3275 | `(markdown-header-face-2 ((,class :inherit modus-theme-heading-2))) | ||
| 3276 | `(markdown-header-face-3 ((,class :inherit modus-theme-heading-3))) | ||
| 3277 | `(markdown-header-face-4 ((,class :inherit modus-theme-heading-4))) | ||
| 3278 | `(markdown-header-face-5 ((,class :inherit modus-theme-heading-5))) | ||
| 3279 | `(markdown-header-face-6 ((,class :inherit modus-theme-heading-6))) | ||
| 3280 | `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 3281 | `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 3282 | `(markdown-html-attr-name-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3283 | :foreground ,cyan))) | ||
| 3284 | `(markdown-html-attr-value-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3285 | :foreground ,blue))) | ||
| 3286 | `(markdown-html-entity-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3287 | :foreground ,cyan))) | ||
| 3288 | `(markdown-html-tag-delimiter-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3289 | :foreground ,fg-special-mild))) | ||
| 3290 | `(markdown-html-tag-name-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3291 | :foreground ,magenta-alt))) | ||
| 3292 | `(markdown-inline-code-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3293 | :foreground ,magenta))) | ||
| 3294 | `(markdown-italic-face ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 3295 | `(markdown-language-info-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3296 | :foreground ,fg-special-cold))) | ||
| 3297 | `(markdown-language-keyword-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3298 | :foreground ,green-alt-other))) | ||
| 3299 | `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan :underline t))) | ||
| 3300 | `(markdown-link-face ((,class :inherit link))) | ||
| 3301 | `(markdown-link-title-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3302 | `(markdown-list-face ((,class :foreground ,fg-dim))) | ||
| 3303 | `(markdown-markup-face ((,class :foreground ,fg-alt))) | ||
| 3304 | `(markdown-math-face ((,class :foreground ,magenta-alt-other))) | ||
| 3305 | `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other))) | ||
| 3306 | `(markdown-metadata-value-face ((,class :foreground ,blue-alt))) | ||
| 3307 | `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow))) | ||
| 3308 | `(markdown-plain-url-face ((,class :inherit markdown-link-face))) | ||
| 3309 | `(markdown-pre-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 3310 | ,@(modus-operandi-theme-mixed-fonts) | ||
| 3311 | :background ,bg-dim | ||
| 3312 | :foreground ,fg-special-mild))) | ||
| 3313 | `(markdown-reference-face ((,class :inherit markdown-markup-face))) | ||
| 3314 | `(markdown-strike-through-face ((,class :strike-through t))) | ||
| 3315 | `(markdown-table-face ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3316 | :foreground ,fg-special-cold))) | ||
| 3317 | `(markdown-url-face ((,class :foreground ,blue-alt))) | ||
| 3318 | ;;;;; markup-faces (`adoc-mode') | ||
| 3319 | `(markup-anchor-face ((,class :foreground ,fg-inactive))) | ||
| 3320 | `(markup-attribute-face ((,class :foreground ,fg-inactive :slant italic))) | ||
| 3321 | `(markup-big-face ((,class :height 1.3 :foreground ,blue-nuanced))) | ||
| 3322 | `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced))) | ||
| 3323 | `(markup-code-face ((,class :inherit fixed-pitch :foreground ,magenta))) | ||
| 3324 | `(markup-command-face ((,class :foreground ,fg-inactive))) | ||
| 3325 | `(markup-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3326 | `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 3327 | :inherit modus-theme-refine-magenta))) | ||
| 3328 | `(markup-emphasis-face ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 3329 | `(markup-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3330 | `(markup-gen-face ((,class :foreground ,magenta-alt))) | ||
| 3331 | `(markup-internal-reference-face ((,class :inherit button :foreground ,fg-inactive))) | ||
| 3332 | `(markup-italic-face ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 3333 | `(markup-list-face ((,class :inherit modus-theme-special-calm))) | ||
| 3334 | `(markup-meta-face ((,class :foreground ,fg-inactive))) | ||
| 3335 | `(markup-meta-hide-face ((,class :foreground ,fg-alt))) | ||
| 3336 | `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan))) | ||
| 3337 | `(markup-preprocessor-face ((,class :foreground ,red-alt-other))) | ||
| 3338 | `(markup-replacement-face ((,class :foreground ,yellow-alt-other))) | ||
| 3339 | `(markup-secondary-text-face ((,class :height 0.8 :foreground ,magenta-nuanced))) | ||
| 3340 | `(markup-small-face ((,class :height 0.8 :foreground ,fg-main))) | ||
| 3341 | `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced))) | ||
| 3342 | `(markup-subscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) | ||
| 3343 | `(markup-superscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) | ||
| 3344 | `(markup-table-cell-face ((,class :inherit modus-theme-special-cold))) | ||
| 3345 | `(markup-table-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3346 | `(markup-table-row-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3347 | `(markup-title-0-face ((,class :height 3.0 :foreground ,blue-nuanced))) | ||
| 3348 | `(markup-title-1-face ((,class :height 2.4 :foreground ,blue-nuanced))) | ||
| 3349 | `(markup-title-2-face ((,class :height 1.8 :foreground ,blue-nuanced))) | ||
| 3350 | `(markup-title-3-face ((,class :height 1.4 :foreground ,blue-nuanced))) | ||
| 3351 | `(markup-title-4-face ((,class :height 1.2 :foreground ,blue-nuanced))) | ||
| 3352 | `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced :underline t))) | ||
| 3353 | `(markup-value-face ((,class :foreground ,fg-inactive))) | ||
| 3354 | `(markup-verbatim-face ((,class :inherit modus-theme-special-mild))) | ||
| 3355 | ;;;;; mentor | ||
| 3356 | `(mentor-download-message ((,class :foreground ,fg-special-warm))) | ||
| 3357 | `(mentor-download-name ((,class :foreground ,fg-special-cold))) | ||
| 3358 | `(mentor-download-progress ((,class :foreground ,blue-alt-other))) | ||
| 3359 | `(mentor-download-size ((,class :foreground ,magenta-alt-other))) | ||
| 3360 | `(mentor-download-speed-down ((,class :foreground ,cyan-alt))) | ||
| 3361 | `(mentor-download-speed-up ((,class :foreground ,red-alt))) | ||
| 3362 | `(mentor-download-state ((,class :foreground ,yellow-alt))) | ||
| 3363 | `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 3364 | `(mentor-tracker-name ((,class :foreground ,magenta-alt))) | ||
| 3365 | ;;;;; messages | ||
| 3366 | `(message-cited-text-1 ((,class :foreground ,blue-alt))) | ||
| 3367 | `(message-cited-text-2 ((,class :foreground ,red-alt))) | ||
| 3368 | `(message-cited-text-3 ((,class :foreground ,green-alt))) | ||
| 3369 | `(message-cited-text-4 ((,class :foreground ,magenta-alt))) | ||
| 3370 | `(message-header-cc ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3371 | `(message-header-name ((,class :foreground ,green-alt-other))) | ||
| 3372 | `(message-header-newsgroups ((,class :inherit bold :foreground ,green-alt))) | ||
| 3373 | `(message-header-other ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3374 | `(message-header-subject ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3375 | `(message-header-to ((,class :inherit bold :foreground ,blue))) | ||
| 3376 | `(message-header-xheader ((,class :foreground ,cyan))) | ||
| 3377 | `(message-mml ((,class :foreground ,fg-special-warm))) | ||
| 3378 | `(message-separator ((,class :inherit modus-theme-intense-neutral))) | ||
| 3379 | ;;;;; minibuffer-line | ||
| 3380 | `(minibuffer-line ((,class :foreground ,fg-main))) | ||
| 3381 | ;;;;; minimap | ||
| 3382 | `(minimap-active-region-background ((,class :background ,bg-active))) | ||
| 3383 | `(minimap-current-line-face ((,class :background ,cyan-intense-bg :foreground ,fg-main))) | ||
| 3384 | ;;;;; modeline | ||
| 3385 | `(mode-line ((,class ,@(modus-operandi-theme-mode-line-attrs | ||
| 3386 | fg-active bg-active fg-dim bg-active | ||
| 3387 | fg-alt bg-active 'alt-style nil bg-main)))) | ||
| 3388 | `(mode-line-buffer-id ((,class :inherit bold))) | ||
| 3389 | `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active))) | ||
| 3390 | `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button)))) | ||
| 3391 | `(mode-line-inactive ((,class ,@(modus-operandi-theme-mode-line-attrs | ||
| 3392 | fg-inactive bg-inactive fg-alt bg-dim | ||
| 3393 | bg-region bg-active)))) | ||
| 3394 | ;;;;; mood-line | ||
| 3395 | `(mood-line-modified ((,class :foreground ,magenta-active))) | ||
| 3396 | `(mood-line-status-error ((,class :inherit bold :foreground ,red-active))) | ||
| 3397 | `(mood-line-status-info ((,class :foreground ,cyan-active))) | ||
| 3398 | `(mood-line-status-neutral ((,class :foreground ,blue-active))) | ||
| 3399 | `(mood-line-status-success ((,class :foreground ,green-active))) | ||
| 3400 | `(mood-line-status-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 3401 | `(mood-line-unimportant ((,class :foreground ,fg-inactive))) | ||
| 3402 | ;;;;; mpdel | ||
| 3403 | `(mpdel-browser-directory-face ((,class :foreground ,blue))) | ||
| 3404 | `(mpdel-playlist-current-song-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3405 | ;;;;; mu4e | ||
| 3406 | `(mu4e-attach-number-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3407 | `(mu4e-cited-1-face ((,class :foreground ,blue-alt))) | ||
| 3408 | `(mu4e-cited-2-face ((,class :foreground ,red-alt))) | ||
| 3409 | `(mu4e-cited-3-face ((,class :foreground ,green-alt))) | ||
| 3410 | `(mu4e-cited-4-face ((,class :foreground ,magenta-alt))) | ||
| 3411 | `(mu4e-cited-5-face ((,class :foreground ,yellow-alt))) | ||
| 3412 | `(mu4e-cited-6-face ((,class :foreground ,cyan-alt))) | ||
| 3413 | `(mu4e-cited-7-face ((,class :foreground ,magenta))) | ||
| 3414 | `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face))) | ||
| 3415 | `(mu4e-compose-separator-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 3416 | `(mu4e-contact-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3417 | `(mu4e-context-face ((,class :foreground ,blue-active))) | ||
| 3418 | `(mu4e-draft-face ((,class :foreground ,magenta-alt))) | ||
| 3419 | `(mu4e-flagged-face ((,class :foreground ,red-alt))) | ||
| 3420 | `(mu4e-footer-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3421 | `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other))) | ||
| 3422 | `(mu4e-header-face ((,class :foreground ,fg-alt))) | ||
| 3423 | `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line))) | ||
| 3424 | `(mu4e-header-key-face ((,class :foreground ,cyan))) | ||
| 3425 | `(mu4e-header-marks-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3426 | `(mu4e-header-title-face ((,class :foreground ,fg-special-mild))) | ||
| 3427 | `(mu4e-header-value-face ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3428 | `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3429 | `(mu4e-link-face ((,class :inherit link))) | ||
| 3430 | `(mu4e-modeline-face ((,class :foreground ,magenta-active))) | ||
| 3431 | `(mu4e-moved-face ((,class :foreground ,yellow :slant ,modus-theme-slant))) | ||
| 3432 | `(mu4e-ok-face ((,class :inherit bold :foreground ,green))) | ||
| 3433 | `(mu4e-region-code ((,class :inherit modus-theme-special-calm))) | ||
| 3434 | `(mu4e-replied-face ((,class :foreground ,blue-faint))) | ||
| 3435 | `(mu4e-special-header-value-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3436 | `(mu4e-system-face ((,class :foreground ,fg-mark-del :slant ,modus-theme-slant))) | ||
| 3437 | `(mu4e-title-face ((,class :foreground ,fg-main))) | ||
| 3438 | `(mu4e-trashed-face ((,class :foreground ,red))) | ||
| 3439 | `(mu4e-unread-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 3440 | `(mu4e-url-number-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3441 | `(mu4e-view-body-face ((,class :foreground ,fg-main))) | ||
| 3442 | `(mu4e-warning-face ((,class :inherit warning))) | ||
| 3443 | ;;;;; mu4e-conversation | ||
| 3444 | `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold))) | ||
| 3445 | `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm))) | ||
| 3446 | `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold))) | ||
| 3447 | `(mu4e-conversation-sender-3 ((,class :foreground ,fg-special-mild))) | ||
| 3448 | `(mu4e-conversation-sender-4 ((,class :foreground ,fg-alt))) | ||
| 3449 | `(mu4e-conversation-sender-5 ((,class :foreground ,yellow-refine-fg))) | ||
| 3450 | `(mu4e-conversation-sender-6 ((,class :foreground ,cyan-refine-fg))) | ||
| 3451 | `(mu4e-conversation-sender-7 ((,class :foreground ,green-refine-fg))) | ||
| 3452 | `(mu4e-conversation-sender-8 ((,class :foreground ,blue-refine-fg))) | ||
| 3453 | `(mu4e-conversation-sender-me ((,class :foreground ,fg-main))) | ||
| 3454 | `(mu4e-conversation-unread ((,class :inherit bold))) | ||
| 3455 | ;;;;; multiple-cursors | ||
| 3456 | `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main))) | ||
| 3457 | `(mc/cursor-face ((,class :inverse-video t))) | ||
| 3458 | `(mc/region-face ((,class :inherit region))) | ||
| 3459 | ;;;;; neotree | ||
| 3460 | `(neo-banner-face ((,class :foreground ,magenta))) | ||
| 3461 | `(neo-button-face ((,class :inherit button))) | ||
| 3462 | `(neo-dir-link-face ((,class :inherit bold :foreground ,blue))) | ||
| 3463 | `(neo-expand-btn-face ((,class :foreground ,cyan))) | ||
| 3464 | `(neo-file-link-face ((,class :foreground ,fg-main))) | ||
| 3465 | `(neo-header-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 3466 | `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3467 | `(neo-vc-added-face ((,class :foreground ,green))) | ||
| 3468 | `(neo-vc-conflict-face ((,class :inherit bold :foreground ,red))) | ||
| 3469 | `(neo-vc-default-face ((,class :foreground ,fg-main))) | ||
| 3470 | `(neo-vc-edited-face ((,class :foreground ,yellow))) | ||
| 3471 | `(neo-vc-ignored-face ((,class :foreground ,fg-inactive))) | ||
| 3472 | `(neo-vc-missing-face ((,class :foreground ,red-alt))) | ||
| 3473 | `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt))) | ||
| 3474 | `(neo-vc-needs-update-face ((,class :underline t))) | ||
| 3475 | `(neo-vc-removed-face ((,class :strike-through t))) | ||
| 3476 | `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue))) | ||
| 3477 | `(neo-vc-up-to-date-face ((,class :foreground ,fg-alt))) | ||
| 3478 | `(neo-vc-user-face ((,class :foreground ,magenta))) | ||
| 3479 | ;;;;; no-emoji | ||
| 3480 | `(no-emoji ((,class :foreground ,cyan))) | ||
| 3481 | ;;;;; notmuch | ||
| 3482 | `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta))) | ||
| 3483 | `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other))) | ||
| 3484 | `(notmuch-crypto-signature-bad ((,class :inherit modus-theme-intense-red))) | ||
| 3485 | `(notmuch-crypto-signature-good ((,class :inherit modus-theme-refine-green))) | ||
| 3486 | `(notmuch-crypto-signature-good-key ((,class :inherit modus-theme-refine-yellow))) | ||
| 3487 | `(notmuch-crypto-signature-unknown ((,class :inherit modus-theme-refine-red))) | ||
| 3488 | `(notmuch-hello-logo-background ((,class :background ,bg-main))) | ||
| 3489 | `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan))) | ||
| 3490 | `(notmuch-search-flagged-face ((,class :foreground ,red-alt))) | ||
| 3491 | `(notmuch-search-matching-authors ((,class :foreground ,fg-main))) | ||
| 3492 | `(notmuch-search-non-matching-authors ((,class :foreground ,fg-alt))) | ||
| 3493 | `(notmuch-search-unread-face ((,class :inherit bold))) | ||
| 3494 | `(notmuch-tag-added | ||
| 3495 | ((,(append '((supports :underline (:style wave))) class) | ||
| 3496 | :underline (:color ,green :style wave)) | ||
| 3497 | (,class :foreground ,green :underline t))) | ||
| 3498 | `(notmuch-tag-deleted | ||
| 3499 | ((,(append '((supports :underline (:style wave))) class) | ||
| 3500 | :underline (:color ,red :style wave)) | ||
| 3501 | (,class :foreground ,red :underline t))) | ||
| 3502 | `(notmuch-tag-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3503 | `(notmuch-tag-flagged ((,class :foreground ,red-alt))) | ||
| 3504 | `(notmuch-tag-unread ((,class :foreground ,magenta-alt))) | ||
| 3505 | `(notmuch-tree-match-author-face ((,class :foreground ,fg-special-cold))) | ||
| 3506 | `(notmuch-tree-match-face ((,class :foreground ,fg-main))) | ||
| 3507 | `(notmuch-tree-match-tag-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3508 | `(notmuch-tree-no-match-face ((,class :foreground ,fg-alt))) | ||
| 3509 | `(notmuch-wash-cited-text ((,class :foreground ,cyan))) | ||
| 3510 | `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 3511 | ;;;;; num3-mode | ||
| 3512 | `(num3-face-even ((,class :inherit bold :background ,bg-alt))) | ||
| 3513 | ;;;;; nxml-mode | ||
| 3514 | `(nxml-attribute-colon ((,class :foreground ,fg-main))) | ||
| 3515 | `(nxml-attribute-local-name ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3516 | cyan-alt cyan-alt-faint)))) | ||
| 3517 | `(nxml-attribute-prefix ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3518 | cyan-alt-other cyan-alt-other-faint) | ||
| 3519 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3520 | `(nxml-attribute-value ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3521 | blue blue-faint)))) | ||
| 3522 | `(nxml-cdata-section-CDATA ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3523 | red-alt red-alt-faint) | ||
| 3524 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3525 | `(nxml-cdata-section-delimiter ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3526 | red-alt red-alt-faint)))) | ||
| 3527 | `(nxml-char-ref-delimiter ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3528 | green-alt-other green-alt-other-faint)))) | ||
| 3529 | `(nxml-char-ref-number ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3530 | green-alt-other green-alt-other-faint) | ||
| 3531 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3532 | `(nxml-delimited-data ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3533 | `(nxml-delimiter ((,class :foreground ,fg-dim))) | ||
| 3534 | `(nxml-element-colon ((,class :foreground ,fg-main))) | ||
| 3535 | `(nxml-element-local-name ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3536 | magenta magenta-faint)))) | ||
| 3537 | `(nxml-element-prefix ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3538 | magenta-alt magenta-alt-faint) | ||
| 3539 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3540 | `(nxml-entity-ref-delimiter ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3541 | green-alt-other green-alt-other-faint)))) | ||
| 3542 | `(nxml-entity-ref-name ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3543 | green-alt-other green-alt-other-faint) | ||
| 3544 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3545 | `(nxml-glyph ((,class :inherit modus-theme-intense-neutral))) | ||
| 3546 | `(nxml-hash ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3547 | blue-alt blue-alt-faint) | ||
| 3548 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3549 | `(nxml-heading ((,class :inherit bold))) | ||
| 3550 | `(nxml-name ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3551 | magenta-alt magenta-alt-faint) | ||
| 3552 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3553 | `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main))) | ||
| 3554 | `(nxml-namespace-attribute-prefix ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3555 | cyan cyan-faint)))) | ||
| 3556 | `(nxml-processing-instruction-target ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3557 | magenta-alt-other magenta-alt-other-faint) | ||
| 3558 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3559 | `(nxml-prolog-keyword ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3560 | magenta-alt-other magenta-alt-other-faint) | ||
| 3561 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3562 | `(nxml-ref ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 3563 | green-alt-other green-alt-other-faint) | ||
| 3564 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 3565 | ;;;;; objed | ||
| 3566 | `(objed-hl ((,class :background ,(if modus-operandi-theme-intense-hl-line | ||
| 3567 | bg-hl-alt-intense bg-hl-alt)))) | ||
| 3568 | `(objed-mark ((,class :background ,bg-active))) | ||
| 3569 | `(objed-mode-line ((,class :foreground ,cyan-active))) | ||
| 3570 | ;;;;; orderless | ||
| 3571 | `(orderless-match-face-0 ((,class :inherit bold | ||
| 3572 | ,@(modus-operandi-theme-standard-completions | ||
| 3573 | blue-alt-other blue-nuanced-bg | ||
| 3574 | blue-refine-bg blue-refine-fg)))) | ||
| 3575 | `(orderless-match-face-1 ((,class :inherit bold | ||
| 3576 | ,@(modus-operandi-theme-standard-completions | ||
| 3577 | magenta-alt magenta-nuanced-bg | ||
| 3578 | magenta-refine-bg magenta-refine-fg)))) | ||
| 3579 | `(orderless-match-face-2 ((,class :inherit bold | ||
| 3580 | ,@(modus-operandi-theme-standard-completions | ||
| 3581 | green green-nuanced-bg | ||
| 3582 | green-refine-bg green-refine-fg)))) | ||
| 3583 | `(orderless-match-face-3 ((,class :inherit bold | ||
| 3584 | ,@(modus-operandi-theme-standard-completions | ||
| 3585 | yellow yellow-nuanced-bg | ||
| 3586 | yellow-refine-bg yellow-refine-fg)))) | ||
| 3587 | ;;;;; org | ||
| 3588 | `(org-agenda-calendar-event ((,class :foreground ,fg-main))) | ||
| 3589 | `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt))) | ||
| 3590 | `(org-agenda-clocking ((,class :inherit modus-theme-special-cold | ||
| 3591 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 3592 | `(org-agenda-column-dateline ((,class :background ,bg-alt))) | ||
| 3593 | `(org-agenda-current-time ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3594 | `(org-agenda-date ((,class :foreground ,cyan))) | ||
| 3595 | `(org-agenda-date-today ((,class :inherit bold :foreground ,fg-main :underline t))) | ||
| 3596 | `(org-agenda-date-weekend ((,class :foreground ,cyan-alt-other))) | ||
| 3597 | `(org-agenda-diary ((,class :foreground ,fg-main))) | ||
| 3598 | `(org-agenda-dimmed-todo-face ((,class :inherit bold :foreground ,fg-alt))) | ||
| 3599 | `(org-agenda-done ((,class :foreground ,green-alt))) | ||
| 3600 | `(org-agenda-filter-category ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3601 | `(org-agenda-filter-effort ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3602 | `(org-agenda-filter-regexp ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3603 | `(org-agenda-filter-tags ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3604 | `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 3605 | `(org-agenda-structure ((,class :foreground ,blue-alt))) | ||
| 3606 | `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 3607 | `(org-block ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3608 | ,@(modus-operandi-theme-org-block bg-dim) | ||
| 3609 | :foreground ,fg-main))) | ||
| 3610 | `(org-block-begin-line ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3611 | ,@(modus-operandi-theme-org-block-delim | ||
| 3612 | bg-dim fg-special-cold | ||
| 3613 | bg-alt fg-special-mild)))) | ||
| 3614 | `(org-block-end-line ((,class :inherit org-block-begin-line))) | ||
| 3615 | `(org-checkbox ((,class :box (:line-width 1 :color ,bg-active) | ||
| 3616 | :background ,bg-inactive :foreground ,fg-active))) | ||
| 3617 | `(org-checkbox-statistics-done ((,class :inherit org-done))) | ||
| 3618 | `(org-checkbox-statistics-todo ((,class :inherit org-todo))) | ||
| 3619 | `(org-clock-overlay ((,class :inherit modus-theme-special-cold))) | ||
| 3620 | `(org-code ((,class ,@(modus-operandi-theme-mixed-fonts) :foreground ,magenta))) | ||
| 3621 | `(org-column ((,class :background ,bg-alt))) | ||
| 3622 | `(org-column-title ((,class :inherit bold :underline t :background ,bg-alt))) | ||
| 3623 | `(org-date ((,class :inherit (button fixed-pitch) :foreground ,cyan-alt-other))) | ||
| 3624 | `(org-date-selected ((,class :inherit bold :foreground ,blue-alt :inverse-video t))) | ||
| 3625 | `(org-document-info ((,class :foreground ,fg-special-cold))) | ||
| 3626 | `(org-document-info-keyword ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3627 | :foreground ,fg-alt))) | ||
| 3628 | `(org-document-title ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-cold | ||
| 3629 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-5)))) | ||
| 3630 | `(org-done ((,class :box ,bg-region :background ,bg-dim :foreground ,green))) | ||
| 3631 | `(org-drawer ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3632 | :foreground ,cyan))) | ||
| 3633 | `(org-ellipsis ((,class :foreground nil))) ; inherits from the heading's colour | ||
| 3634 | `(org-footnote ((,class :inherit button :foreground ,blue-alt))) | ||
| 3635 | `(org-formula ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3636 | :foreground ,red-alt))) | ||
| 3637 | `(org-habit-alert-face ((,class :inherit modus-theme-intense-yellow))) | ||
| 3638 | `(org-habit-alert-future-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 3639 | `(org-habit-clear-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 3640 | `(org-habit-clear-future-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 3641 | `(org-habit-overdue-face ((,class :inherit modus-theme-intense-red))) | ||
| 3642 | `(org-habit-overdue-future-face ((,class :inherit modus-theme-refine-red))) | ||
| 3643 | `(org-habit-ready-face ((,class :inherit modus-theme-intense-blue))) | ||
| 3644 | `(org-habit-ready-future-face ((,class :inherit modus-theme-refine-blue))) | ||
| 3645 | `(org-headline-done ((,class :inherit ,modus-theme-variable-pitch :foreground ,green-nuanced))) | ||
| 3646 | `(org-headline-todo ((,class :inherit ,modus-theme-variable-pitch :foreground ,red-nuanced))) | ||
| 3647 | `(org-hide ((,class :foreground ,bg-main))) | ||
| 3648 | `(org-indent ((,class :inherit (fixed-pitch org-hide)))) | ||
| 3649 | `(org-latex-and-related ((,class :foreground ,magenta-refine-fg))) | ||
| 3650 | `(org-level-1 ((,class :inherit modus-theme-heading-1))) | ||
| 3651 | `(org-level-2 ((,class :inherit modus-theme-heading-2))) | ||
| 3652 | `(org-level-3 ((,class :inherit modus-theme-heading-3))) | ||
| 3653 | `(org-level-4 ((,class :inherit modus-theme-heading-4))) | ||
| 3654 | `(org-level-5 ((,class :inherit modus-theme-heading-5))) | ||
| 3655 | `(org-level-6 ((,class :inherit modus-theme-heading-6))) | ||
| 3656 | `(org-level-7 ((,class :inherit modus-theme-heading-7))) | ||
| 3657 | `(org-level-8 ((,class :inherit modus-theme-heading-8))) | ||
| 3658 | `(org-link ((,class :inherit link))) | ||
| 3659 | `(org-list-dt ((,class :inherit bold))) | ||
| 3660 | `(org-macro ((,class :background ,blue-nuanced-bg :foreground ,magenta-alt-other))) | ||
| 3661 | `(org-meta-line ((,class ,@(modus-operandi-theme-mixed-fonts) :foreground ,fg-alt))) | ||
| 3662 | `(org-mode-line-clock ((,class :foreground ,fg-main))) | ||
| 3663 | `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red))) | ||
| 3664 | `(org-priority ((,class :box ,bg-region :background ,bg-dim :foreground ,magenta))) | ||
| 3665 | `(org-property-value ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3666 | :foreground ,cyan-alt-other))) | ||
| 3667 | `(org-quote ((,class ,@(modus-operandi-theme-org-block bg-dim) | ||
| 3668 | :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3669 | `(org-scheduled ((,class :foreground ,fg-special-warm))) | ||
| 3670 | `(org-scheduled-previously ((,class :foreground ,yellow-alt-other))) | ||
| 3671 | `(org-scheduled-today ((,class :foreground ,magenta-alt-other))) | ||
| 3672 | `(org-sexp-date ((,class :inherit org-date))) | ||
| 3673 | `(org-special-keyword ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3674 | :foreground ,blue-nuanced))) | ||
| 3675 | `(org-table ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3676 | :foreground ,fg-special-cold))) | ||
| 3677 | `(org-table-header ((,class :inherit (fixed-pitch modus-theme-intense-neutral)))) | ||
| 3678 | `(org-tag ((,class :foreground ,magenta-nuanced))) | ||
| 3679 | `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced))) | ||
| 3680 | `(org-target ((,class :underline t))) | ||
| 3681 | `(org-time-grid ((,class :foreground ,fg-unfocused))) | ||
| 3682 | `(org-todo ((,class :box ,bg-region :background ,bg-dim :foreground ,red-alt))) | ||
| 3683 | `(org-upcoming-deadline ((,class :foreground ,red-alt-other))) | ||
| 3684 | `(org-upcoming-distant-deadline ((,class :foreground ,red-nuanced))) | ||
| 3685 | `(org-verbatim ((,class ,@(modus-operandi-theme-mixed-fonts) | ||
| 3686 | :background ,bg-alt :foreground ,fg-special-calm))) | ||
| 3687 | `(org-verse ((,class :inherit org-quote))) | ||
| 3688 | `(org-warning ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 3689 | ;;;;; org-journal | ||
| 3690 | `(org-journal-calendar-entry-face ((,class :foreground ,yellow-alt-other :slant ,modus-theme-slant))) | ||
| 3691 | `(org-journal-calendar-scheduled-face ((,class :foreground ,red-alt-other :slant ,modus-theme-slant))) | ||
| 3692 | `(org-journal-highlight ((,class :foreground ,magenta-alt))) | ||
| 3693 | ;;;;; org-noter | ||
| 3694 | `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active))) | ||
| 3695 | `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active))) | ||
| 3696 | ;;;;; org-pomodoro | ||
| 3697 | `(org-pomodoro-mode-line ((,class :foreground ,red-active))) | ||
| 3698 | `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active))) | ||
| 3699 | `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground ,red-active))) | ||
| 3700 | ;;;;; org-recur | ||
| 3701 | `(org-recur ((,class :foreground ,magenta-active))) | ||
| 3702 | ;;;;; org-roam | ||
| 3703 | `(org-roam-link ((,class :inherit button :foreground ,green))) | ||
| 3704 | `(org-roam-link-current ((,class :inherit button :foreground ,green-alt))) | ||
| 3705 | `(org-roam-link-invalid ((,class :inherit button :foreground ,red))) | ||
| 3706 | `(org-roam-link-shielded ((,class :inherit button :foreground ,yellow))) | ||
| 3707 | `(org-roam-tag ((,class :foreground ,fg-alt :slant italic))) | ||
| 3708 | ;;;;; org-superstar | ||
| 3709 | `(org-superstar-item ((,class :foreground ,fg-main))) | ||
| 3710 | `(org-superstar-leading ((,class :foreground ,fg-whitespace))) | ||
| 3711 | ;;;;; org-table-sticky-header | ||
| 3712 | `(org-table-sticky-header-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 3713 | ;;;;; org-treescope | ||
| 3714 | `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-theme-intense-blue))) | ||
| 3715 | `(org-treescope-faces--markerinternal-range ((,class :inherit modus-theme-special-mild))) | ||
| 3716 | ;;;;; origami | ||
| 3717 | `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t))) | ||
| 3718 | `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 3719 | ;;;;; outline-mode | ||
| 3720 | `(outline-1 ((,class :inherit modus-theme-heading-1))) | ||
| 3721 | `(outline-2 ((,class :inherit modus-theme-heading-2))) | ||
| 3722 | `(outline-3 ((,class :inherit modus-theme-heading-3))) | ||
| 3723 | `(outline-4 ((,class :inherit modus-theme-heading-4))) | ||
| 3724 | `(outline-5 ((,class :inherit modus-theme-heading-5))) | ||
| 3725 | `(outline-6 ((,class :inherit modus-theme-heading-6))) | ||
| 3726 | `(outline-7 ((,class :inherit modus-theme-heading-7))) | ||
| 3727 | `(outline-8 ((,class :inherit modus-theme-heading-8))) | ||
| 3728 | ;;;;; outline-minor-faces | ||
| 3729 | `(outline-minor-0 ((,class nil))) | ||
| 3730 | ;;;;; package (M-x list-packages) | ||
| 3731 | `(package-description ((,class :foreground ,fg-special-cold))) | ||
| 3732 | `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3733 | `(package-name ((,class :inherit link))) | ||
| 3734 | `(package-status-avail-obso ((,class :inherit bold :foreground ,red))) | ||
| 3735 | `(package-status-available ((,class :foreground ,fg-special-mild))) | ||
| 3736 | `(package-status-built-in ((,class :foreground ,magenta))) | ||
| 3737 | `(package-status-dependency ((,class :foreground ,magenta-alt-other))) | ||
| 3738 | `(package-status-disabled ((,class :inherit modus-theme-subtle-red))) | ||
| 3739 | `(package-status-external ((,class :foreground ,cyan-alt-other))) | ||
| 3740 | `(package-status-held ((,class :foreground ,yellow-alt))) | ||
| 3741 | `(package-status-incompat ((,class :inherit bold :foreground ,yellow))) | ||
| 3742 | `(package-status-installed ((,class :foreground ,fg-special-warm))) | ||
| 3743 | `(package-status-new ((,class :inherit bold :foreground ,green))) | ||
| 3744 | `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt))) | ||
| 3745 | ;;;;; page-break-lines | ||
| 3746 | `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer))) | ||
| 3747 | ;;;;; paradox | ||
| 3748 | `(paradox-archive-face ((,class :foreground ,fg-special-mild))) | ||
| 3749 | `(paradox-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3750 | `(paradox-commit-tag-face ((,class :inherit modus-theme-refine-magenta :box t))) | ||
| 3751 | `(paradox-description-face ((,class :foreground ,fg-special-cold))) | ||
| 3752 | `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold))) | ||
| 3753 | `(paradox-download-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,blue-alt-other))) | ||
| 3754 | `(paradox-highlight-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,cyan-alt-other))) | ||
| 3755 | `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t))) | ||
| 3756 | `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active))) | ||
| 3757 | `(paradox-name-face ((,class :foreground ,blue :underline t))) | ||
| 3758 | `(paradox-star-face ((,class :foreground ,magenta))) | ||
| 3759 | `(paradox-starred-face ((,class :foreground ,magenta-alt))) | ||
| 3760 | ;;;;; paren-face | ||
| 3761 | `(parenthesis ((,class :foreground ,fg-unfocused))) | ||
| 3762 | ;;;;; parrot | ||
| 3763 | `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 3764 | ;;;;; pass | ||
| 3765 | `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3766 | `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 3767 | `(pass-mode-header-face ((,class :foreground ,fg-special-warm))) | ||
| 3768 | ;;;;; persp-mode | ||
| 3769 | `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-theme-intense-red))) | ||
| 3770 | `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active))) | ||
| 3771 | `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active))) | ||
| 3772 | ;;;;; perspective | ||
| 3773 | `(persp-selected-face ((,class :inherit bold :foreground ,blue-active))) | ||
| 3774 | ;;;;; phi-grep | ||
| 3775 | `(phi-grep-heading-face ((,class :inherit bold :foreground ,red-alt | ||
| 3776 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 3777 | `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 3778 | `(phi-grep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 3779 | `(phi-grep-modified-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 3780 | `(phi-grep-overlay-face ((,class :inherit modus-theme-refine-blue))) | ||
| 3781 | ;;;;; phi-search | ||
| 3782 | `(phi-replace-preview-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 3783 | `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red))) | ||
| 3784 | `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan))) | ||
| 3785 | `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 3786 | ;;;;; pkgbuild-mode | ||
| 3787 | `(pkgbuild-error-face ((,class :underline ,fg-lang-error))) | ||
| 3788 | ;;;;; pomidor | ||
| 3789 | `(pomidor-break-face ((,class :foreground ,blue-alt-other))) | ||
| 3790 | `(pomidor-overwork-face ((,class :foreground ,red-alt-other))) | ||
| 3791 | `(pomidor-skip-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3792 | `(pomidor-work-face ((,class :foreground ,green-alt-other))) | ||
| 3793 | ;;;;; powerline | ||
| 3794 | `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t))) | ||
| 3795 | `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced))) | ||
| 3796 | `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 3797 | `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 3798 | `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive))) | ||
| 3799 | `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 3800 | ;;;;; powerline-evil | ||
| 3801 | `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 3802 | `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta))) | ||
| 3803 | `(powerline-evil-insert-face ((,class :inherit modus-theme-active-green))) | ||
| 3804 | `(powerline-evil-motion-face ((,class :inherit modus-theme-active-blue))) | ||
| 3805 | `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main))) | ||
| 3806 | `(powerline-evil-operator-face ((,class :inherit modus-theme-active-yellow))) | ||
| 3807 | `(powerline-evil-replace-face ((,class :inherit modus-theme-active-red))) | ||
| 3808 | `(powerline-evil-visual-face ((,class :inherit modus-theme-active-cyan))) | ||
| 3809 | ;;;;; proced | ||
| 3810 | `(proced-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 3811 | `(proced-marked ((,class :inherit modus-theme-mark-alt))) | ||
| 3812 | `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t))) | ||
| 3813 | ;;;;; prodigy | ||
| 3814 | `(prodigy-green-face ((,class :foreground ,green))) | ||
| 3815 | `(prodigy-red-face ((,class :foreground ,red))) | ||
| 3816 | `(prodigy-yellow-face ((,class :foreground ,yellow))) | ||
| 3817 | ;;;;; racket-mode | ||
| 3818 | `(racket-debug-break-face ((,class :inherit modus-theme-intense-red))) | ||
| 3819 | `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil) | ||
| 3820 | :foreground ,green-alt-other))) | ||
| 3821 | `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil) | ||
| 3822 | :foreground ,green))) | ||
| 3823 | `(racket-here-string-face ((,class :foreground ,blue-alt))) | ||
| 3824 | `(racket-keyword-argument-face ((,class :foreground ,red-alt))) | ||
| 3825 | `(racket-logger-config-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3826 | `(racket-logger-debug-face ((,class :foreground ,blue-alt-other))) | ||
| 3827 | `(racket-logger-info-face ((,class :foreground ,fg-lang-note))) | ||
| 3828 | `(racket-logger-topic-face ((,class :foreground ,magenta :slant ,modus-theme-slant))) | ||
| 3829 | `(racket-selfeval-face ((,class :foreground ,green-alt))) | ||
| 3830 | `(racket-xp-error-face | ||
| 3831 | ((,(append '((supports :underline (:style wave))) class) | ||
| 3832 | :underline (:color ,fg-lang-error :style wave)) | ||
| 3833 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 3834 | ;;;;; rainbow-blocks | ||
| 3835 | `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other))) | ||
| 3836 | `(rainbow-blocks-depth-2-face ((,class :foreground ,blue))) | ||
| 3837 | `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt))) | ||
| 3838 | `(rainbow-blocks-depth-4-face ((,class :foreground ,green))) | ||
| 3839 | `(rainbow-blocks-depth-5-face ((,class :foreground ,magenta))) | ||
| 3840 | `(rainbow-blocks-depth-6-face ((,class :foreground ,cyan))) | ||
| 3841 | `(rainbow-blocks-depth-7-face ((,class :foreground ,yellow))) | ||
| 3842 | `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt))) | ||
| 3843 | `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt))) | ||
| 3844 | `(rainbow-blocks-unmatched-face ((,class :foreground ,red))) | ||
| 3845 | ;;;;; rainbow-identifiers | ||
| 3846 | `(rainbow-identifiers-identifier-1 ((,class :foreground ,green-alt-other))) | ||
| 3847 | `(rainbow-identifiers-identifier-2 ((,class :foreground ,magenta-alt-other))) | ||
| 3848 | `(rainbow-identifiers-identifier-3 ((,class :foreground ,cyan-alt-other))) | ||
| 3849 | `(rainbow-identifiers-identifier-4 ((,class :foreground ,yellow-alt-other))) | ||
| 3850 | `(rainbow-identifiers-identifier-5 ((,class :foreground ,blue-alt-other))) | ||
| 3851 | `(rainbow-identifiers-identifier-6 ((,class :foreground ,green-alt))) | ||
| 3852 | `(rainbow-identifiers-identifier-7 ((,class :foreground ,magenta-alt))) | ||
| 3853 | `(rainbow-identifiers-identifier-8 ((,class :foreground ,cyan-alt))) | ||
| 3854 | `(rainbow-identifiers-identifier-9 ((,class :foreground ,yellow-alt))) | ||
| 3855 | `(rainbow-identifiers-identifier-10 ((,class :foreground ,green))) | ||
| 3856 | `(rainbow-identifiers-identifier-11 ((,class :foreground ,magenta))) | ||
| 3857 | `(rainbow-identifiers-identifier-12 ((,class :foreground ,cyan))) | ||
| 3858 | `(rainbow-identifiers-identifier-13 ((,class :foreground ,yellow))) | ||
| 3859 | `(rainbow-identifiers-identifier-14 ((,class :foreground ,blue-alt))) | ||
| 3860 | `(rainbow-identifiers-identifier-15 ((,class :foreground ,red-alt))) | ||
| 3861 | ;;;;; rainbow-delimiters | ||
| 3862 | `(rainbow-delimiters-base-face-error ((,class :foreground ,red))) | ||
| 3863 | `(rainbow-delimiters-base-face ((,class :foreground ,fg-main))) | ||
| 3864 | `(rainbow-delimiters-depth-1-face ((,class :foreground ,green-alt-other))) | ||
| 3865 | `(rainbow-delimiters-depth-2-face ((,class :foreground ,magenta-alt-other))) | ||
| 3866 | `(rainbow-delimiters-depth-3-face ((,class :foreground ,cyan-alt-other))) | ||
| 3867 | `(rainbow-delimiters-depth-4-face ((,class :foreground ,yellow-alt-other))) | ||
| 3868 | `(rainbow-delimiters-depth-5-face ((,class :foreground ,blue-alt-other))) | ||
| 3869 | `(rainbow-delimiters-depth-6-face ((,class :foreground ,green-alt))) | ||
| 3870 | `(rainbow-delimiters-depth-7-face ((,class :foreground ,magenta-alt))) | ||
| 3871 | `(rainbow-delimiters-depth-8-face ((,class :foreground ,cyan-alt))) | ||
| 3872 | `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-alt))) | ||
| 3873 | `(rainbow-delimiters-mismatched-face ((,class :inherit bold :foreground ,red-alt))) | ||
| 3874 | `(rainbow-delimiters-unmatched-face ((,class :inherit bold :foreground ,red))) | ||
| 3875 | ;;;;; rcirc | ||
| 3876 | `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3877 | `(rcirc-dim-nick ((,class :foreground ,fg-alt))) | ||
| 3878 | `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta))) | ||
| 3879 | `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other))) | ||
| 3880 | `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 3881 | `(rcirc-other-nick ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3882 | `(rcirc-prompt ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3883 | `(rcirc-server ((,class :foreground ,fg-unfocused))) | ||
| 3884 | `(rcirc-timestamp ((,class :foreground ,blue-nuanced))) | ||
| 3885 | `(rcirc-url ((,class :foreground ,blue :underline t))) | ||
| 3886 | ;;;;; regexp-builder (re-builder) | ||
| 3887 | `(reb-match-0 ((,class :inherit modus-theme-intense-blue))) | ||
| 3888 | `(reb-match-1 ((,class :inherit modus-theme-intense-magenta))) | ||
| 3889 | `(reb-match-2 ((,class :inherit modus-theme-intense-green))) | ||
| 3890 | `(reb-match-3 ((,class :inherit modus-theme-intense-red))) | ||
| 3891 | `(reb-regexp-grouping-backslash ((,class :inherit bold :foreground ,fg-escape-char-backslash))) | ||
| 3892 | `(reb-regexp-grouping-construct ((,class :inherit bold :foreground ,fg-escape-char-construct))) | ||
| 3893 | ;;;;; rg (rg.el) | ||
| 3894 | `(rg-column-number-face ((,class :foreground ,magenta-alt-other))) | ||
| 3895 | `(rg-context-face ((,class :foreground ,fg-unfocused))) | ||
| 3896 | `(rg-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3897 | `(rg-file-tag-face ((,class :foreground ,fg-special-cold))) | ||
| 3898 | `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3899 | `(rg-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 3900 | `(rg-literal-face ((,class :foreground ,blue-alt))) | ||
| 3901 | `(rg-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 3902 | `(rg-regexp-face ((,class :foreground ,magenta-active))) | ||
| 3903 | `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive))) | ||
| 3904 | `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active))) | ||
| 3905 | `(rg-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 3906 | ;;;;; ripgrep | ||
| 3907 | `(ripgrep-context-face ((,class :foreground ,fg-unfocused))) | ||
| 3908 | `(ripgrep-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3909 | `(ripgrep-hit-face ((,class :foreground ,cyan))) | ||
| 3910 | `(ripgrep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 3911 | ;;;;; rmail | ||
| 3912 | `(rmail-header-name ((,class :foreground ,cyan-alt-other))) | ||
| 3913 | `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3914 | ;;;;; ruler-mode | ||
| 3915 | `(ruler-mode-column-number ((,class :inherit (ruler-mode-default bold) :foreground ,fg-main))) | ||
| 3916 | `(ruler-mode-comment-column ((,class :inherit ruler-mode-default :foreground ,red-active))) | ||
| 3917 | `(ruler-mode-current-column ((,class :inherit ruler-mode-default :foreground ,cyan-active :box t))) | ||
| 3918 | `(ruler-mode-default ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 3919 | `(ruler-mode-fill-column ((,class :inherit ruler-mode-default :foreground ,green-active))) | ||
| 3920 | `(ruler-mode-fringes ((,class :inherit ruler-mode-default :foreground ,blue-active))) | ||
| 3921 | `(ruler-mode-goal-column ((,class :inherit ruler-mode-default :foreground ,magenta-active))) | ||
| 3922 | `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground ,bg-main))) | ||
| 3923 | `(ruler-mode-pad ((,class :background ,bg-active :foreground ,fg-inactive))) | ||
| 3924 | `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground ,yellow-active))) | ||
| 3925 | ;;;;; sallet | ||
| 3926 | `(sallet-buffer-compressed ((,class :foreground ,yellow-nuanced :slant italic))) | ||
| 3927 | `(sallet-buffer-default-directory ((,class :foreground ,cyan-nuanced))) | ||
| 3928 | `(sallet-buffer-directory ((,class :foreground ,blue-nuanced))) | ||
| 3929 | `(sallet-buffer-help ((,class :foreground ,fg-special-cold))) | ||
| 3930 | `(sallet-buffer-modified ((,class :foreground ,yellow-alt-other :slant italic))) | ||
| 3931 | `(sallet-buffer-ordinary ((,class :foreground ,fg-main))) | ||
| 3932 | `(sallet-buffer-read-only ((,class :foreground ,yellow-alt))) | ||
| 3933 | `(sallet-buffer-size ((,class :foreground ,fg-special-calm))) | ||
| 3934 | `(sallet-buffer-special ((,class :foreground ,magenta-alt-other))) | ||
| 3935 | `(sallet-flx-match ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3936 | 'modus-theme-subtle-cyan | ||
| 3937 | 'modus-theme-refine-cyan | ||
| 3938 | 'modus-theme-nuanced-cyan | ||
| 3939 | cyan-alt-other)))) | ||
| 3940 | `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced))) | ||
| 3941 | `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild))) | ||
| 3942 | `(sallet-regexp-match ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3943 | 'modus-theme-subtle-magenta | ||
| 3944 | 'modus-theme-refine-magenta | ||
| 3945 | 'modus-theme-nuanced-magenta | ||
| 3946 | magenta-alt-other)))) | ||
| 3947 | `(sallet-source-header ((,class :inherit bold :foreground ,red-alt | ||
| 3948 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 3949 | `(sallet-substring-match ((,class ,@(modus-operandi-theme-extra-completions | ||
| 3950 | 'modus-theme-subtle-blue | ||
| 3951 | 'modus-theme-refine-blue | ||
| 3952 | 'modus-theme-nuanced-blue | ||
| 3953 | blue-alt-other)))) | ||
| 3954 | ;;;;; selectrum | ||
| 3955 | `(selectrum-current-candidate | ||
| 3956 | ((,class :inherit bold :foreground ,fg-main :underline ,fg-main | ||
| 3957 | :background ,@(pcase modus-operandi-theme-completions | ||
| 3958 | ('opinionated (list bg-active)) | ||
| 3959 | (_ (list bg-inactive)))))) | ||
| 3960 | `(selectrum-primary-highlight ((,class :inherit bold | ||
| 3961 | ,@(modus-operandi-theme-standard-completions | ||
| 3962 | magenta-alt magenta-nuanced-bg | ||
| 3963 | magenta-refine-bg magenta-refine-fg)))) | ||
| 3964 | `(selectrum-secondary-highlight ((,class :inherit bold | ||
| 3965 | ,@(modus-operandi-theme-standard-completions | ||
| 3966 | cyan-alt-other cyan-nuanced-bg | ||
| 3967 | cyan-refine-bg cyan-refine-fg)))) | ||
| 3968 | ;;;;; semantic | ||
| 3969 | `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t))) | ||
| 3970 | `(semantic-decoration-on-private-members-face ((,class :inherit modus-theme-refine-cyan))) | ||
| 3971 | `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim))) | ||
| 3972 | `(semantic-highlight-edits-face ((,class :background ,bg-alt))) | ||
| 3973 | `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt))) | ||
| 3974 | `(semantic-idle-symbol-highlight ((,class :inherit modus-theme-special-mild))) | ||
| 3975 | `(semantic-tag-boundary-face ((,class :overline ,blue-intense))) | ||
| 3976 | `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error))) | ||
| 3977 | ;;;;; sesman | ||
| 3978 | `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t))) | ||
| 3979 | `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 3980 | `(sesman-buffer-face ((,class :foreground ,magenta))) | ||
| 3981 | `(sesman-directory-face ((,class :inherit bold :foreground ,blue))) | ||
| 3982 | `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3983 | ;;;;; shell-script-mode | ||
| 3984 | `(sh-heredoc ((,class :foreground ,blue-alt))) | ||
| 3985 | `(sh-quoted-exec ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-alt))) | ||
| 3986 | ;;;;; show-paren-mode | ||
| 3987 | `(show-paren-match ((,class ,@(modus-operandi-theme-paren bg-paren-match | ||
| 3988 | bg-paren-match-intense) | ||
| 3989 | :foreground ,fg-main))) | ||
| 3990 | `(show-paren-match-expression ((,class :inherit modus-theme-special-calm))) | ||
| 3991 | `(show-paren-mismatch ((,class :inherit modus-theme-intense-red))) | ||
| 3992 | ;;;;; side-notes | ||
| 3993 | `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 3994 | ;;;;; skewer-mode | ||
| 3995 | `(skewer-error-face ((,class :foreground ,red :underline t))) | ||
| 3996 | ;;;;; smart-mode-line | ||
| 3997 | `(sml/charging ((,class :foreground ,green-active))) | ||
| 3998 | `(sml/discharging ((,class :foreground ,red-active))) | ||
| 3999 | `(sml/filename ((,class :inherit bold :foreground ,blue-active))) | ||
| 4000 | `(sml/folder ((,class :foreground ,fg-active))) | ||
| 4001 | `(sml/git ((,class :inherit bold :foreground ,green-active))) | ||
| 4002 | `(sml/global ((,class :foreground ,fg-active))) | ||
| 4003 | `(sml/line-number ((,class :inherit sml/global))) | ||
| 4004 | `(sml/minor-modes ((,class :inherit sml/global))) | ||
| 4005 | `(sml/modes ((,class :inherit bold :foreground ,fg-active))) | ||
| 4006 | `(sml/modified ((,class :inherit bold :foreground ,magenta-active))) | ||
| 4007 | `(sml/mule-info ((,class :inherit sml/global))) | ||
| 4008 | `(sml/name-filling ((,class :foreground ,yellow-active))) | ||
| 4009 | `(sml/not-modified ((,class :inherit sml/global))) | ||
| 4010 | `(sml/numbers-separator ((,class :inherit sml/global))) | ||
| 4011 | `(sml/outside-modified ((,class :inherit modus-theme-intense-red))) | ||
| 4012 | `(sml/position-percentage ((,class :inherit sml/global))) | ||
| 4013 | `(sml/prefix ((,class :foreground ,green-active))) | ||
| 4014 | `(sml/process ((,class :inherit sml/prefix))) | ||
| 4015 | `(sml/projectile ((,class :inherit sml/git))) | ||
| 4016 | `(sml/read-only ((,class :inherit bold :foreground ,cyan-active))) | ||
| 4017 | `(sml/remote ((,class :inherit sml/global))) | ||
| 4018 | `(sml/sudo ((,class :inherit modus-theme-subtle-red))) | ||
| 4019 | `(sml/time ((,class :inherit sml/global))) | ||
| 4020 | `(sml/vc ((,class :inherit sml/git))) | ||
| 4021 | `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active))) | ||
| 4022 | ;;;;; smartparens | ||
| 4023 | `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm))) | ||
| 4024 | `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild))) | ||
| 4025 | `(sp-show-pair-match-face ((,class ,@(modus-operandi-theme-paren bg-paren-match | ||
| 4026 | bg-paren-match-intense) | ||
| 4027 | :foreground ,fg-main))) | ||
| 4028 | `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red))) | ||
| 4029 | `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face))) | ||
| 4030 | `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face))) | ||
| 4031 | `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face))) | ||
| 4032 | `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face))) | ||
| 4033 | ;;;;; smerge | ||
| 4034 | `(smerge-base ((,class :inherit modus-theme-diff-changed))) | ||
| 4035 | `(smerge-lower ((,class :inherit modus-theme-diff-added))) | ||
| 4036 | `(smerge-markers ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 4037 | `(smerge-refined-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 4038 | `(smerge-refined-changed ((,class))) | ||
| 4039 | `(smerge-refined-removed ((,class :inherit modus-theme-diff-refine-removed))) | ||
| 4040 | `(smerge-upper ((,class :inherit modus-theme-diff-removed))) | ||
| 4041 | ;;;;; spaceline | ||
| 4042 | `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta))) | ||
| 4043 | `(spaceline-evil-insert ((,class :inherit modus-theme-active-green))) | ||
| 4044 | `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue))) | ||
| 4045 | `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt))) | ||
| 4046 | `(spaceline-evil-replace ((,class :inherit modus-theme-active-red))) | ||
| 4047 | `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan))) | ||
| 4048 | `(spaceline-flycheck-error ((,class :foreground ,red-active))) | ||
| 4049 | `(spaceline-flycheck-info ((,class :foreground ,cyan-active))) | ||
| 4050 | `(spaceline-flycheck-warning ((,class :foreground ,yellow-active))) | ||
| 4051 | `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue))) | ||
| 4052 | `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta))) | ||
| 4053 | `(spaceline-python-venv ((,class :foreground ,magenta-active))) | ||
| 4054 | `(spaceline-read-only ((,class :inherit modus-theme-fringe-red))) | ||
| 4055 | `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan))) | ||
| 4056 | ;;;;; speedbar | ||
| 4057 | `(speedbar-button-face ((,class :inherit link))) | ||
| 4058 | `(speedbar-directory-face ((,class :inherit bold :foreground ,blue))) | ||
| 4059 | `(speedbar-file-face ((,class :foreground ,fg-main))) | ||
| 4060 | `(speedbar-highlight-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 4061 | `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan))) | ||
| 4062 | `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 4063 | `(speedbar-tag-face ((,class :foreground ,yellow-alt-other))) | ||
| 4064 | ;;;;; spell-fu | ||
| 4065 | `(spell-fu-incorrect-face | ||
| 4066 | ((,(append '((supports :underline (:style wave))) class) | ||
| 4067 | :foreground ,fg-lang-error :underline (:style wave)) | ||
| 4068 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 4069 | ;;;;; stripes | ||
| 4070 | `(stripes ((,class :inherit modus-theme-hl-line))) | ||
| 4071 | ;;;;; success | ||
| 4072 | `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 4073 | ;;;;; switch-window | ||
| 4074 | `(switch-window-background ((,class :background ,bg-dim))) | ||
| 4075 | `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense))) | ||
| 4076 | ;;;;; swiper | ||
| 4077 | `(swiper-background-match-face-1 ((,class :inherit modus-theme-subtle-neutral))) | ||
| 4078 | `(swiper-background-match-face-2 ((,class :inherit modus-theme-subtle-cyan))) | ||
| 4079 | `(swiper-background-match-face-3 ((,class :inherit modus-theme-subtle-magenta))) | ||
| 4080 | `(swiper-background-match-face-4 ((,class :inherit modus-theme-subtle-green))) | ||
| 4081 | `(swiper-line-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 4082 | :inherit modus-theme-special-cold))) | ||
| 4083 | `(swiper-match-face-1 ((,class :inherit swiper-line-face))) | ||
| 4084 | `(swiper-match-face-2 ((,class :inherit swiper-line-face))) | ||
| 4085 | `(swiper-match-face-3 ((,class :inherit swiper-line-face))) | ||
| 4086 | `(swiper-match-face-4 ((,class :inherit swiper-line-face))) | ||
| 4087 | ;;;;; swoop | ||
| 4088 | `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt | ||
| 4089 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))) | ||
| 4090 | `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt | ||
| 4091 | ,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))) | ||
| 4092 | `(swoop-face-line-number ((,class :foreground ,fg-special-warm))) | ||
| 4093 | `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue | ||
| 4094 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 4095 | `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan))) | ||
| 4096 | ;;;;; sx | ||
| 4097 | `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other))) | ||
| 4098 | `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold)))) | ||
| 4099 | `(sx-question-list-answers ((,class :foreground ,green))) | ||
| 4100 | `(sx-question-list-answers-accepted ((,class :box t :foreground ,green))) | ||
| 4101 | `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt :foreground ,yellow))) | ||
| 4102 | `(sx-question-list-date ((,class :foreground ,fg-special-cold))) | ||
| 4103 | `(sx-question-list-favorite ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 4104 | `(sx-question-list-parent ((,class :foreground ,fg-main))) | ||
| 4105 | `(sx-question-list-read-question ((,class :foreground ,fg-alt))) | ||
| 4106 | `(sx-question-list-score ((,class :foreground ,fg-special-mild))) | ||
| 4107 | `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold)))) | ||
| 4108 | `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main))) | ||
| 4109 | `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green))) | ||
| 4110 | `(sx-question-mode-closed ((,class :inherit modus-theme-active-yellow :box (:line-width 2 :color nil)))) | ||
| 4111 | `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main))) | ||
| 4112 | `(sx-question-mode-content-face ((,class :background ,bg-dim))) | ||
| 4113 | `(sx-question-mode-date ((,class :foreground ,blue))) | ||
| 4114 | `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan))) | ||
| 4115 | `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main))) | ||
| 4116 | `(sx-question-mode-score ((,class :foreground ,fg-dim))) | ||
| 4117 | `(sx-question-mode-score-downvoted ((,class :foreground ,yellow))) | ||
| 4118 | `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground ,magenta))) | ||
| 4119 | `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main))) | ||
| 4120 | `(sx-question-mode-title-comments ((,class :inherit bold :foreground ,fg-alt))) | ||
| 4121 | `(sx-tag ((,class :foreground ,magenta-alt))) | ||
| 4122 | `(sx-user-name ((,class :foreground ,blue-alt))) | ||
| 4123 | `(sx-user-reputation ((,class :foreground ,fg-alt))) | ||
| 4124 | ;;;;; symbol-overlay | ||
| 4125 | `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm))) | ||
| 4126 | `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue))) | ||
| 4127 | `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta))) | ||
| 4128 | `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow))) | ||
| 4129 | `(symbol-overlay-face-4 ((,class :inherit modus-theme-intense-magenta))) | ||
| 4130 | `(symbol-overlay-face-5 ((,class :inherit modus-theme-intense-red))) | ||
| 4131 | `(symbol-overlay-face-6 ((,class :inherit modus-theme-refine-red))) | ||
| 4132 | `(symbol-overlay-face-7 ((,class :inherit modus-theme-intense-cyan))) | ||
| 4133 | `(symbol-overlay-face-8 ((,class :inherit modus-theme-refine-cyan))) | ||
| 4134 | ;;;;; syslog-mode | ||
| 4135 | `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 4136 | `(syslog-error ((,class :inherit bold :foreground ,red))) | ||
| 4137 | `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4138 | `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 4139 | `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 4140 | `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 4141 | `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t))) | ||
| 4142 | `(syslog-su ((,class :inherit bold :foreground ,red-alt))) | ||
| 4143 | `(syslog-warn ((,class :inherit bold :foreground ,yellow))) | ||
| 4144 | ;;;;; table (built-in table.el) | ||
| 4145 | `(table-cell ((,class :background ,blue-nuanced-bg))) | ||
| 4146 | ;;;;; telephone-line | ||
| 4147 | `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive))) | ||
| 4148 | `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 4149 | `(telephone-line-error ((,class :inherit bold :foreground ,red-active))) | ||
| 4150 | `(telephone-line-evil ((,class :foreground ,fg-main))) | ||
| 4151 | `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil :background ,magenta-intense-bg))) | ||
| 4152 | `(telephone-line-evil-insert ((,class :inherit telephone-line-evil :background ,green-intense-bg))) | ||
| 4153 | `(telephone-line-evil-motion ((,class :inherit telephone-line-evil :background ,yellow-intense-bg))) | ||
| 4154 | `(telephone-line-evil-normal ((,class :inherit telephone-line-evil :background ,bg-alt))) | ||
| 4155 | `(telephone-line-evil-operator ((,class :inherit telephone-line-evil :background ,yellow-subtle-bg))) | ||
| 4156 | `(telephone-line-evil-replace ((,class :inherit telephone-line-evil :background ,red-intense-bg))) | ||
| 4157 | `(telephone-line-evil-visual ((,class :inherit telephone-line-evil :background ,cyan-intense-bg))) | ||
| 4158 | `(telephone-line-projectile ((,class :foreground ,cyan-active))) | ||
| 4159 | `(telephone-line-unimportant ((,class :foreground ,fg-inactive))) | ||
| 4160 | `(telephone-line-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 4161 | ;;;;; term | ||
| 4162 | `(term ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 4163 | `(term-bold ((,class :inherit bold))) | ||
| 4164 | `(term-color-blue ((,class :background ,blue :foreground ,blue))) | ||
| 4165 | `(term-color-cyan ((,class :background ,cyan :foreground ,cyan))) | ||
| 4166 | `(term-color-green ((,class :background ,green :foreground ,green))) | ||
| 4167 | `(term-color-magenta ((,class :background ,magenta :foreground ,magenta))) | ||
| 4168 | `(term-color-red ((,class :background ,red :foreground ,red))) | ||
| 4169 | `(term-color-yellow ((,class :background ,yellow :foreground ,yellow))) | ||
| 4170 | `(term-underline ((,class :underline t))) | ||
| 4171 | ;;;;; tomatinho | ||
| 4172 | `(tomatinho-ok-face ((,class :foreground ,blue-intense))) | ||
| 4173 | `(tomatinho-pause-face ((,class :foreground ,yellow-intense))) | ||
| 4174 | `(tomatinho-reset-face ((,class :foreground ,fg-alt))) | ||
| 4175 | ;;;;; transient | ||
| 4176 | `(transient-active-infix ((,class :inherit modus-theme-special-mild))) | ||
| 4177 | `(transient-amaranth ((,class :inherit bold :foreground ,yellow))) | ||
| 4178 | `(transient-argument ((,class :inherit bold :foreground ,red-alt))) | ||
| 4179 | `(transient-blue ((,class :inherit bold :foreground ,blue))) | ||
| 4180 | `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red))) | ||
| 4181 | `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green))) | ||
| 4182 | `(transient-heading ((,class :inherit bold :foreground ,fg-main))) | ||
| 4183 | `(transient-inactive-argument ((,class :foreground ,fg-alt))) | ||
| 4184 | `(transient-inactive-value ((,class :foreground ,fg-alt))) | ||
| 4185 | `(transient-key ((,class :inherit bold :foreground ,blue))) | ||
| 4186 | `(transient-mismatched-key ((,class :underline t))) | ||
| 4187 | `(transient-nonstandard-key ((,class :underline t))) | ||
| 4188 | `(transient-pink ((,class :inherit bold :foreground ,magenta))) | ||
| 4189 | `(transient-red ((,class :inherit bold :foreground ,red-intense))) | ||
| 4190 | `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 4191 | `(transient-unreachable ((,class :foreground ,fg-unfocused))) | ||
| 4192 | `(transient-unreachable-key ((,class :foreground ,fg-unfocused))) | ||
| 4193 | `(transient-value ((,class :foreground ,magenta-alt))) | ||
| 4194 | ;;;;; trashed | ||
| 4195 | `(trashed-deleted ((,class :inherit modus-theme-mark-del))) | ||
| 4196 | `(trashed-directory ((,class :foreground ,blue))) | ||
| 4197 | `(trashed-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 4198 | `(trashed-marked ((,class :inherit modus-theme-mark-alt))) | ||
| 4199 | `(trashed-restored ((,class :inherit modus-theme-mark-sel))) | ||
| 4200 | `(trashed-symlink ((,class :inherit button :foreground ,cyan-alt))) | ||
| 4201 | ;;;;; treemacs | ||
| 4202 | `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt))) | ||
| 4203 | `(treemacs-directory-face ((,class :inherit dired-directory))) | ||
| 4204 | `(treemacs-file-face ((,class :foreground ,fg-main))) | ||
| 4205 | `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main))) | ||
| 4206 | `(treemacs-git-added-face ((,class :foreground ,green-intense))) | ||
| 4207 | `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 4208 | `(treemacs-git-ignored-face ((,class :foreground ,fg-alt))) | ||
| 4209 | `(treemacs-git-modified-face ((,class :foreground ,yellow-alt-other))) | ||
| 4210 | `(treemacs-git-renamed-face ((,class :foreground ,cyan-alt-other))) | ||
| 4211 | `(treemacs-git-unmodified-face ((,class :foreground ,fg-main))) | ||
| 4212 | `(treemacs-git-untracked-face ((,class :foreground ,red-alt-other))) | ||
| 4213 | `(treemacs-help-column-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,magenta-alt-other :underline t))) | ||
| 4214 | `(treemacs-help-title-face ((,class :foreground ,blue-alt-other))) | ||
| 4215 | `(treemacs-on-failure-pulse-face ((,class :inherit modus-theme-intense-red))) | ||
| 4216 | `(treemacs-on-success-pulse-face ((,class :inherit modus-theme-intense-green))) | ||
| 4217 | `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t))) | ||
| 4218 | `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow))) | ||
| 4219 | `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta))) | ||
| 4220 | `(treemacs-root-remote-unreadable-face ((,class :inherit treemacs-root-unreadable-face))) | ||
| 4221 | `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face :strike-through t))) | ||
| 4222 | `(treemacs-tags-face ((,class :foreground ,blue-alt))) | ||
| 4223 | `(treemacs-tags-face ((,class :foreground ,magenta-alt))) | ||
| 4224 | ;;;;; tty-menu | ||
| 4225 | `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 4226 | `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main))) | ||
| 4227 | `(tty-menu-selected-face ((,class :inherit modus-theme-intense-blue))) | ||
| 4228 | ;;;;; tuareg | ||
| 4229 | `(caml-types-def-face ((,class :inherit modus-theme-subtle-red))) | ||
| 4230 | `(caml-types-expr-face ((,class :inherit modus-theme-subtle-green))) | ||
| 4231 | `(caml-types-occ-face ((,class :inherit modus-theme-subtle-green))) | ||
| 4232 | `(caml-types-scope-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 4233 | `(caml-types-typed-face ((,class :inherit modus-theme-subtle-magenta))) | ||
| 4234 | `(tuareg-font-double-semicolon-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4235 | red-alt red-alt-faint)))) | ||
| 4236 | `(tuareg-font-lock-attribute-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4237 | magenta magenta-faint)))) | ||
| 4238 | `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main))) | ||
| 4239 | `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 4240 | `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta))) | ||
| 4241 | `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 4242 | `(tuareg-font-lock-infix-extension-node-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4243 | magenta magenta-faint)))) | ||
| 4244 | `(tuareg-font-lock-interactive-directive-face ((,class :foreground ,fg-special-cold))) | ||
| 4245 | `(tuareg-font-lock-interactive-error-face ((,class :inherit bold | ||
| 4246 | ,@(modus-operandi-theme-syntax-foreground | ||
| 4247 | red red-faint)))) | ||
| 4248 | `(tuareg-font-lock-interactive-output-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4249 | blue-alt-other blue-alt-other-faint)))) | ||
| 4250 | `(tuareg-font-lock-label-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4251 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4252 | `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 4253 | `(tuareg-font-lock-module-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4254 | magenta-alt magenta-alt-faint)))) | ||
| 4255 | `(tuareg-font-lock-multistage-face ((,class :inherit bold :background ,bg-alt | ||
| 4256 | ,@(modus-operandi-theme-syntax-foreground | ||
| 4257 | blue blue-faint)))) | ||
| 4258 | `(tuareg-font-lock-operator-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4259 | red-alt red-alt-faint)))) | ||
| 4260 | `(tuareg-opam-error-face ((,class :inherit bold | ||
| 4261 | ,@(modus-operandi-theme-syntax-foreground | ||
| 4262 | red red-faint)))) | ||
| 4263 | `(tuareg-opam-pkg-variable-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4264 | cyan cyan-faint) | ||
| 4265 | :slant ,modus-theme-slant))) | ||
| 4266 | ;;;;; typescript | ||
| 4267 | `(typescript-jsdoc-tag ((,class :foreground ,fg-special-mild :slant ,modus-theme-slant))) | ||
| 4268 | `(typescript-jsdoc-type ((,class :foreground ,fg-special-calm :slant ,modus-theme-slant))) | ||
| 4269 | `(typescript-jsdoc-value ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 4270 | ;;;;; undo-tree | ||
| 4271 | `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 4272 | `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense))) | ||
| 4273 | `(undo-tree-visualizer-default-face ((,class :foreground ,fg-alt))) | ||
| 4274 | `(undo-tree-visualizer-register-face ((,class :foreground ,magenta-intense))) | ||
| 4275 | `(undo-tree-visualizer-unmodified-face ((,class :foreground ,green-intense))) | ||
| 4276 | ;;;;; vc (vc-hooks.el) | ||
| 4277 | `(vc-conflict-state ((,class :foreground ,red-active :slant ,modus-theme-slant))) | ||
| 4278 | `(vc-edited-state ((,class :foreground ,yellow-active))) | ||
| 4279 | `(vc-locally-added-state ((,class :foreground ,cyan-active))) | ||
| 4280 | `(vc-locked-state ((,class :foreground ,blue-active))) | ||
| 4281 | `(vc-missing-state ((,class :foreground ,magenta-active :slant ,modus-theme-slant))) | ||
| 4282 | `(vc-needs-update-state ((,class :foreground ,green-active :slant ,modus-theme-slant))) | ||
| 4283 | `(vc-removed-state ((,class :foreground ,red-active))) | ||
| 4284 | `(vc-state-base ((,class :foreground ,fg-active))) | ||
| 4285 | `(vc-up-to-date-state ((,class :foreground ,fg-special-cold))) | ||
| 4286 | ;;;;; vdiff | ||
| 4287 | `(vdiff-addition-face ((,class :inherit modus-theme-diff-added))) | ||
| 4288 | `(vdiff-change-face ((,class :inherit modus-theme-diff-changed))) | ||
| 4289 | `(vdiff-closed-fold-face ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 4290 | `(vdiff-refine-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 4291 | `(vdiff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) | ||
| 4292 | `(vdiff-subtraction-face ((,class :inherit modus-theme-diff-removed))) | ||
| 4293 | `(vdiff-target-face ((,class :inherit modus-theme-intense-blue))) | ||
| 4294 | ;;;;; vimish-fold | ||
| 4295 | `(vimish-fold-fringe ((,class :foreground ,cyan-active))) | ||
| 4296 | `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue))) | ||
| 4297 | `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold))) | ||
| 4298 | ;;;;; visible-mark | ||
| 4299 | `(visible-mark-active ((,class :background ,blue-intense-bg))) | ||
| 4300 | `(visible-mark-face1 ((,class :background ,cyan-intense-bg))) | ||
| 4301 | `(visible-mark-face2 ((,class :background ,yellow-intense-bg))) | ||
| 4302 | `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg))) | ||
| 4303 | `(visible-mark-forward-face2 ((,class :background ,green-intense-bg))) | ||
| 4304 | ;;;;; visual-regexp | ||
| 4305 | `(vr/group-0 ((,class :inherit modus-theme-intense-blue))) | ||
| 4306 | `(vr/group-1 ((,class :inherit modus-theme-intense-magenta))) | ||
| 4307 | `(vr/group-2 ((,class :inherit modus-theme-intense-green))) | ||
| 4308 | `(vr/match-0 ((,class :inherit modus-theme-refine-yellow))) | ||
| 4309 | `(vr/match-1 ((,class :inherit modus-theme-refine-yellow))) | ||
| 4310 | `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral bold)))) | ||
| 4311 | ;;;;; volatile-highlights | ||
| 4312 | `(vhl/default-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 4313 | :background ,bg-alt :foreground ,blue-nuanced))) | ||
| 4314 | ;;;;; vterm | ||
| 4315 | `(vterm-color-black ((,class :background "gray35" :foreground "gray35"))) | ||
| 4316 | `(vterm-color-blue ((,class :background ,blue :foreground ,blue))) | ||
| 4317 | `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan))) | ||
| 4318 | `(vterm-color-default ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 4319 | `(vterm-color-green ((,class :background ,green :foreground ,green))) | ||
| 4320 | `(vterm-color-inverse-video ((,class :background ,bg-main :inverse-video t))) | ||
| 4321 | `(vterm-color-magenta ((,class :background ,magenta :foreground ,magenta))) | ||
| 4322 | `(vterm-color-red ((,class :background ,red :foreground ,red))) | ||
| 4323 | `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t))) | ||
| 4324 | `(vterm-color-white ((,class :background "gray65" :foreground "gray65"))) | ||
| 4325 | `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow))) | ||
| 4326 | ;;;;; wcheck-mode | ||
| 4327 | `(wcheck-default-face ((,class :foreground ,red :underline t))) | ||
| 4328 | ;;;;; web-mode | ||
| 4329 | `(web-mode-annotation-face ((,class :inherit web-mode-comment-face))) | ||
| 4330 | `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face))) | ||
| 4331 | `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face :underline t))) | ||
| 4332 | `(web-mode-block-attr-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4333 | blue blue-faint)))) | ||
| 4334 | `(web-mode-block-attr-value-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4335 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4336 | `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4337 | `(web-mode-block-control-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4338 | magenta-alt magenta-alt-faint) | ||
| 4339 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 4340 | `(web-mode-block-delimiter-face ((,class :foreground ,fg-main))) | ||
| 4341 | `(web-mode-block-face ((,class :background ,bg-dim))) | ||
| 4342 | `(web-mode-block-string-face ((,class :inherit web-mode-string-face))) | ||
| 4343 | `(web-mode-bold-face ((,class :inherit bold))) | ||
| 4344 | `(web-mode-builtin-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4345 | magenta-alt magenta-alt-faint) | ||
| 4346 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 4347 | `(web-mode-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 4348 | `(web-mode-comment-keyword-face ((,class :inherit bold :background ,bg-dim | ||
| 4349 | ,@(modus-operandi-theme-syntax-foreground | ||
| 4350 | yellow yellow-faint)))) | ||
| 4351 | `(web-mode-constant-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4352 | blue-alt-other blue-alt-other-faint)))) | ||
| 4353 | `(web-mode-css-at-rule-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4354 | blue-alt-other blue-alt-other-faint)))) | ||
| 4355 | `(web-mode-css-color-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4356 | magenta-alt magenta-alt-faint) | ||
| 4357 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 4358 | `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4359 | `(web-mode-css-function-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4360 | magenta-alt magenta-alt-faint) | ||
| 4361 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 4362 | `(web-mode-css-priority-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4363 | yellow-alt yellow-alt-faint) | ||
| 4364 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 4365 | `(web-mode-css-property-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4366 | cyan cyan-faint)))) | ||
| 4367 | `(web-mode-css-pseudo-class-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4368 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4369 | `(web-mode-css-selector-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4370 | magenta-alt-other magenta-alt-other-faint) | ||
| 4371 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 4372 | `(web-mode-css-string-face ((,class :inherit web-mode-string-face))) | ||
| 4373 | `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm))) | ||
| 4374 | `(web-mode-current-column-highlight-face ((,class :background ,bg-alt))) | ||
| 4375 | `(web-mode-current-element-highlight-face ((,class :inherit modus-theme-special-mild))) | ||
| 4376 | `(web-mode-doctype-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 4377 | `(web-mode-error-face ((,class :inherit modus-theme-intense-red))) | ||
| 4378 | `(web-mode-filter-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4379 | magenta magenta-faint)))) | ||
| 4380 | `(web-mode-folded-face ((,class :underline t))) | ||
| 4381 | `(web-mode-function-call-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4382 | magenta magenta-faint)))) | ||
| 4383 | `(web-mode-function-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4384 | magenta magenta-faint)))) | ||
| 4385 | `(web-mode-html-attr-custom-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4386 | cyan cyan-faint)))) | ||
| 4387 | `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main))) | ||
| 4388 | `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main))) | ||
| 4389 | `(web-mode-html-attr-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4390 | cyan cyan-faint)))) | ||
| 4391 | `(web-mode-html-attr-value-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4392 | blue-alt-other blue-alt-other-faint)))) | ||
| 4393 | `(web-mode-html-entity-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4394 | yellow-alt-other yellow-alt-other-faint) | ||
| 4395 | :slant ,modus-theme-slant))) | ||
| 4396 | `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim))) | ||
| 4397 | `(web-mode-html-tag-custom-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4398 | magenta magenta-faint)))) | ||
| 4399 | `(web-mode-html-tag-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4400 | magenta magenta-faint)))) | ||
| 4401 | `(web-mode-html-tag-namespaced-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4402 | magenta-alt magenta-alt-faint) | ||
| 4403 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 4404 | `(web-mode-html-tag-unclosed-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4405 | red red-faint) | ||
| 4406 | :underline t))) | ||
| 4407 | `(web-mode-inlay-face ((,class :background ,bg-alt))) | ||
| 4408 | `(web-mode-italic-face ((,class :slant italic))) | ||
| 4409 | `(web-mode-javascript-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4410 | `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face))) | ||
| 4411 | `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4412 | `(web-mode-json-context-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4413 | magenta-alt magenta-alt-faint)))) | ||
| 4414 | `(web-mode-json-key-face ((,class :foreground ,blue-nuanced))) | ||
| 4415 | `(web-mode-json-string-face ((,class :inherit web-mode-string-face))) | ||
| 4416 | `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg :foreground ,fg-main))) | ||
| 4417 | `(web-mode-jsx-depth-2-face ((,class :background ,blue-subtle-bg :foreground ,fg-main))) | ||
| 4418 | `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 4419 | `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg))) | ||
| 4420 | `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced))) | ||
| 4421 | `(web-mode-keyword-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4422 | magenta-alt-other magenta-alt-other-faint) | ||
| 4423 | ,@(modus-operandi-theme-bold-weight)))) | ||
| 4424 | `(web-mode-param-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4425 | magenta magenta-faint)))) | ||
| 4426 | `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4427 | `(web-mode-part-face ((,class :inherit web-mode-block-face))) | ||
| 4428 | `(web-mode-part-string-face ((,class :inherit web-mode-string-face))) | ||
| 4429 | `(web-mode-preprocessor-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4430 | red-alt-other red-alt-other-faint)))) | ||
| 4431 | `(web-mode-script-face ((,class :inherit web-mode-part-face))) | ||
| 4432 | `(web-mode-sql-keyword-face ((,class :inherit bold | ||
| 4433 | ,@(modus-operandi-theme-syntax-foreground | ||
| 4434 | yellow yellow-faint)))) | ||
| 4435 | `(web-mode-string-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4436 | blue-alt blue-alt-faint)))) | ||
| 4437 | `(web-mode-style-face ((,class :inherit web-mode-part-face))) | ||
| 4438 | `(web-mode-symbol-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4439 | blue-alt-other blue-alt-other-faint)))) | ||
| 4440 | `(web-mode-type-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4441 | magenta-alt magenta-alt-faint)))) | ||
| 4442 | `(web-mode-underline-face ((,class :underline t))) | ||
| 4443 | `(web-mode-variable-name-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4444 | cyan cyan-faint)))) | ||
| 4445 | `(web-mode-warning-face ((,class :inherit bold :background ,bg-alt | ||
| 4446 | ,@(modus-operandi-theme-syntax-foreground | ||
| 4447 | yellow-alt-other yellow-alt-other-faint)))) | ||
| 4448 | `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4449 | ;;;;; wgrep | ||
| 4450 | `(wgrep-delete-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 4451 | `(wgrep-done-face ((,class :inherit modus-theme-refine-blue))) | ||
| 4452 | `(wgrep-face ((,class :inherit modus-theme-refine-green))) | ||
| 4453 | `(wgrep-file-face ((,class :foreground ,fg-special-warm))) | ||
| 4454 | `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 4455 | ;;;;; which-function-mode | ||
| 4456 | `(which-func ((,class :foreground ,magenta-active))) | ||
| 4457 | ;;;;; which-key | ||
| 4458 | `(which-key-command-description-face ((,class :foreground ,cyan))) | ||
| 4459 | `(which-key-group-description-face ((,class :foreground ,magenta-alt))) | ||
| 4460 | `(which-key-highlighted-command-face ((,class :foreground ,cyan-alt :underline t))) | ||
| 4461 | `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense))) | ||
| 4462 | `(which-key-local-map-description-face ((,class :foreground ,fg-main))) | ||
| 4463 | `(which-key-note-face ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 4464 | `(which-key-separator-face ((,class :foreground ,fg-alt))) | ||
| 4465 | `(which-key-special-key-face ((,class :inherit bold :foreground ,yellow-intense))) | ||
| 4466 | ;;;;; whitespace-mode | ||
| 4467 | `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red))) | ||
| 4468 | `(whitespace-empty ((,class :inherit modus-theme-intense-magenta))) | ||
| 4469 | `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4470 | `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4471 | `(whitespace-line ((,class :inherit modus-theme-special-warm))) | ||
| 4472 | `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4473 | `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4474 | `(whitespace-space-after-tab ((,class :inherit modus-theme-subtle-magenta))) | ||
| 4475 | `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan))) | ||
| 4476 | `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4477 | `(whitespace-trailing ((,class :inherit modus-theme-intense-red))) | ||
| 4478 | ;;;;; window-divider-mode | ||
| 4479 | `(window-divider ((,class :foreground ,fg-window-divider-inner))) | ||
| 4480 | `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer))) | ||
| 4481 | `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer))) | ||
| 4482 | ;;;;; winum | ||
| 4483 | `(winum-face ((,class ,@(modus-operandi-theme-bold-weight) :foreground ,cyan-active))) | ||
| 4484 | ;;;;; writegood-mode | ||
| 4485 | `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) | ||
| 4486 | `(writegood-passive-voice-face ((,class :foreground ,yellow-nuanced :underline ,fg-lang-warning))) | ||
| 4487 | `(writegood-weasels-face ((,class :foreground ,red-nuanced :underline ,fg-lang-error))) | ||
| 4488 | ;;;;; woman | ||
| 4489 | `(woman-addition ((,class :foreground ,magenta-alt-other))) | ||
| 4490 | `(woman-bold ((,class :inherit bold :foreground ,magenta))) | ||
| 4491 | `(woman-italic ((,class :foreground ,cyan :slant italic))) | ||
| 4492 | `(woman-unknown ((,class :foreground ,yellow :slant italic))) | ||
| 4493 | ;;;;; xah-elisp-mode | ||
| 4494 | `(xah-elisp-at-symbol ((,class :inherit bold | ||
| 4495 | ,@(modus-operandi-theme-syntax-foreground | ||
| 4496 | red-alt red-alt-faint)))) | ||
| 4497 | `(xah-elisp-cap-variable ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4498 | red-alt-other red-alt-other-faint)))) | ||
| 4499 | `(xah-elisp-command-face ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4500 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4501 | `(xah-elisp-dollar-symbol ((,class ,@(modus-operandi-theme-syntax-foreground | ||
| 4502 | green green-faint)))) | ||
| 4503 | ;;;;; xref | ||
| 4504 | `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4505 | `(xref-line-number ((,class :foreground ,fg-alt))) | ||
| 4506 | `(xref-match ((,class :inherit match))) | ||
| 4507 | ;;;;; yaml-mode | ||
| 4508 | `(yaml-tab-face ((,class :inherit modus-theme-intense-red))) | ||
| 4509 | ;;;;; yasnippet | ||
| 4510 | `(yas-field-highlight-face ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 4511 | ;;;;; ztree | ||
| 4512 | `(ztreep-arrow-face ((,class :foreground ,fg-inactive))) | ||
| 4513 | `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) | ||
| 4514 | `(ztreep-diff-header-small-face ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 4515 | `(ztreep-diff-model-add-face ((,class :foreground ,green))) | ||
| 4516 | `(ztreep-diff-model-diff-face ((,class :foreground ,red))) | ||
| 4517 | `(ztreep-diff-model-ignored-face ((,class :foreground ,fg-alt :strike-through t))) | ||
| 4518 | `(ztreep-diff-model-normal-face ((,class :foreground ,fg-alt))) | ||
| 4519 | `(ztreep-expand-sign-face ((,class :foreground ,blue))) | ||
| 4520 | `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) | ||
| 4521 | `(ztreep-leaf-face ((,class :foreground ,cyan))) | ||
| 4522 | `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm))) | ||
| 4523 | `(ztreep-node-face ((,class :foreground ,fg-main)))) | ||
| 4524 | ;;;; Emacs 27+ | ||
| 4525 | (when (>= emacs-major-version 27) | ||
| 4526 | (custom-theme-set-faces | ||
| 4527 | 'modus-operandi | ||
| 4528 | ;;;;; line numbers (`display-line-numbers-mode' and global variant) | ||
| 4529 | ;; NOTE that this is specifically for the faces that were | ||
| 4530 | ;; introduced in Emacs 27, as the other faces are already | ||
| 4531 | ;; supported. | ||
| 4532 | `(line-number-major-tick ((,class :inherit (bold default) | ||
| 4533 | :background ,yellow-nuanced-bg | ||
| 4534 | :foreground ,yellow-nuanced))) | ||
| 4535 | `(line-number-minor-tick ((,class :inherit (bold default) | ||
| 4536 | :background ,bg-inactive | ||
| 4537 | :foreground ,fg-inactive))) | ||
| 4538 | ;;;;; tab-bar-mode | ||
| 4539 | `(tab-bar ((,class :background ,bg-tab-bar :foreground ,fg-main))) | ||
| 4540 | `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) | ||
| 4541 | :background ,bg-tab-active :foreground ,fg-main))) | ||
| 4542 | `(tab-bar-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) | ||
| 4543 | :background ,bg-tab-inactive :foreground ,fg-dim))) | ||
| 4544 | ;;;;; tab-line-mode | ||
| 4545 | `(tab-line ((,class :height 0.95 :background ,bg-tab-bar :foreground ,fg-main))) | ||
| 4546 | `(tab-line-close-highlight ((,class :foreground ,red))) | ||
| 4547 | `(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) | ||
| 4548 | `(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) | ||
| 4549 | :background ,bg-tab-active :foreground ,fg-main))) | ||
| 4550 | `(tab-line-tab-current ((,class :inherit tab-line-tab))) | ||
| 4551 | `(tab-line-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) | ||
| 4552 | :background ,bg-tab-inactive :foreground ,fg-dim))))) | ||
| 4553 | ;;;; Emacs 28+ | ||
| 4554 | (when (>= emacs-major-version 28) | ||
| 4555 | (custom-theme-set-faces | ||
| 4556 | 'modus-operandi | ||
| 4557 | ;;;;; isearch regexp groups | ||
| 4558 | `(isearch-group-1 ((,class :inherit modus-theme-intense-blue))) | ||
| 4559 | `(isearch-group-2 ((,class :inherit modus-theme-intense-magenta))))) | ||
| 4560 | ;;; variables | ||
| 4561 | (custom-theme-set-variables | ||
| 4562 | 'modus-operandi | ||
| 4563 | ;;;; ansi-colors | ||
| 4564 | `(ansi-color-faces-vector [default bold shadow italic underline success warning error]) | ||
| 4565 | `(ansi-color-names-vector [,fg-main ,red ,green ,yellow ,blue ,magenta ,cyan ,bg-main]) | ||
| 4566 | ;;;; awesome-tray | ||
| 4567 | `(awesome-tray-mode-line-active-color ,blue) | ||
| 4568 | `(awesome-tray-mode-line-inactive-color ,bg-active) | ||
| 4569 | ;;;; flymake fringe indicators | ||
| 4570 | `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red)) | ||
| 4571 | `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow)) | ||
| 4572 | `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan)) | ||
| 4573 | ;;;; ibuffer | ||
| 4574 | `(ibuffer-deletion-face 'modus-theme-mark-del) | ||
| 4575 | `(ibuffer-filter-group-name-face 'modus-theme-mark-symbol) | ||
| 4576 | `(ibuffer-marked-face 'modus-theme-mark-sel) | ||
| 4577 | `(ibuffer-title-face 'modus-theme-pseudo-header) | ||
| 4578 | ;;;; highlight-tail | ||
| 4579 | `(highlight-tail-colors | ||
| 4580 | '((,green-subtle-bg . 0) | ||
| 4581 | (,cyan-subtle-bg . 20))) | ||
| 4582 | ;;;; hl-todo | ||
| 4583 | `(hl-todo-keyword-faces | ||
| 4584 | '(("HOLD" . ,yellow-alt) | ||
| 4585 | ("TODO" . ,magenta) | ||
| 4586 | ("NEXT" . ,magenta-alt-other) | ||
| 4587 | ("THEM" . ,magenta-alt) | ||
| 4588 | ("PROG" . ,cyan) | ||
| 4589 | ("OKAY" . ,cyan-alt) | ||
| 4590 | ("DONT" . ,green-alt) | ||
| 4591 | ("FAIL" . ,red) | ||
| 4592 | ("BUG" . ,red) | ||
| 4593 | ("DONE" . ,green) | ||
| 4594 | ("NOTE" . ,yellow-alt-other) | ||
| 4595 | ("KLUDGE" . ,yellow) | ||
| 4596 | ("HACK" . ,yellow) | ||
| 4597 | ("TEMP" . ,red-nuanced) | ||
| 4598 | ("FIXME" . ,red-alt-other) | ||
| 4599 | ("XXX+" . ,red-alt) | ||
| 4600 | ("REVIEW" . ,cyan-alt-other) | ||
| 4601 | ("DEPRECATED" . ,blue-nuanced))) | ||
| 4602 | ;;;; vc-annotate (C-x v g) | ||
| 4603 | `(vc-annotate-background nil) | ||
| 4604 | `(vc-annotate-background-mode nil) | ||
| 4605 | `(vc-annotate-color-map | ||
| 4606 | '((20 . ,red) | ||
| 4607 | (40 . ,magenta) | ||
| 4608 | (60 . ,magenta-alt) | ||
| 4609 | (80 . ,red-alt) | ||
| 4610 | (100 . ,yellow) | ||
| 4611 | (120 . ,yellow-alt) | ||
| 4612 | (140 . ,fg-special-warm) | ||
| 4613 | (160 . ,fg-special-mild) | ||
| 4614 | (180 . ,green) | ||
| 4615 | (200 . ,green-alt) | ||
| 4616 | (220 . ,cyan-alt-other) | ||
| 4617 | (240 . ,cyan-alt) | ||
| 4618 | (260 . ,cyan) | ||
| 4619 | (280 . ,fg-special-cold) | ||
| 4620 | (300 . ,blue) | ||
| 4621 | (320 . ,blue-alt) | ||
| 4622 | (340 . ,blue-alt-other) | ||
| 4623 | (360 . ,magenta-alt-other))) | ||
| 4624 | `(vc-annotate-very-old-color nil) | ||
| 4625 | ;;;; xterm-color | ||
| 4626 | `(xterm-color-names [,fg-main ,red ,green ,yellow ,blue ,magenta ,cyan ,bg-alt]) | ||
| 4627 | `(xterm-color-names-bright [,fg-alt ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt ,bg-main])) | ||
| 4628 | ;;; Conditional theme variables | ||
| 4629 | ;;;; org-src-block-faces | ||
| 4630 | ;; this is a user option to add a colour-coded background to source | ||
| 4631 | ;; blocks for various programming languages | ||
| 4632 | (when (eq modus-operandi-theme-org-blocks 'rainbow) | ||
| 4633 | (custom-theme-set-variables | ||
| 4634 | 'modus-operandi | ||
| 4635 | `(org-src-block-faces ; TODO this list should be expanded | ||
| 4636 | `(("emacs-lisp" modus-theme-nuanced-magenta) | ||
| 4637 | ("elisp" modus-theme-nuanced-magenta) | ||
| 4638 | ("clojure" modus-theme-nuanced-magenta) | ||
| 4639 | ("clojurescript" modus-theme-nuanced-magenta) | ||
| 4640 | ("c" modus-theme-nuanced-blue) | ||
| 4641 | ("c++" modus-theme-nuanced-blue) | ||
| 4642 | ("sh" modus-theme-nuanced-green) | ||
| 4643 | ("shell" modus-theme-nuanced-green) | ||
| 4644 | ("html" modus-theme-nuanced-yellow) | ||
| 4645 | ("xml" modus-theme-nuanced-yellow) | ||
| 4646 | ("css" modus-theme-nuanced-red) | ||
| 4647 | ("scss" modus-theme-nuanced-red) | ||
| 4648 | ("python" modus-theme-nuanced-green) | ||
| 4649 | ("ipython" modus-theme-nuanced-magenta) | ||
| 4650 | ("r" modus-theme-nuanced-cyan) | ||
| 4651 | ("yaml" modus-theme-nuanced-cyan) | ||
| 4652 | ("conf" modus-theme-nuanced-cyan) | ||
| 4653 | ("docker" modus-theme-nuanced-cyan) | ||
| 4654 | ("json" modus-theme-nuanced-cyan)))))) | ||
| 4655 | 61 | ||
| 4656 | ;;; library provides | 62 | (modus-themes-theme modus-operandi) |
| 4657 | ;;;###autoload | ||
| 4658 | (when load-file-name | ||
| 4659 | (add-to-list 'custom-theme-load-path | ||
| 4660 | (file-name-as-directory (file-name-directory load-file-name)))) | ||
| 4661 | 63 | ||
| 4662 | (provide-theme 'modus-operandi) | 64 | (provide-theme 'modus-operandi) |
| 4663 | 65 | ||
diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el new file mode 100644 index 00000000000..79846dbf3af --- /dev/null +++ b/etc/themes/modus-themes.el | |||
| @@ -0,0 +1,6436 @@ | |||
| 1 | ;;; modus-themes.el --- Highly accessible themes (WCAG AAA) -*- lexical-binding:t -*- | ||
| 2 | |||
| 3 | ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | ||
| 6 | ;; URL: https://gitlab.com/protesilaos/modus-themes | ||
| 7 | ;; Version: 1.2.0 | ||
| 8 | ;; Package-Requires: ((emacs "26.1")) | ||
| 9 | ;; Keywords: faces, theme, accessibility | ||
| 10 | |||
| 11 | ;; This file is part of GNU Emacs. | ||
| 12 | |||
| 13 | ;; This program is free software; you can redistribute it and/or modify | ||
| 14 | ;; it under the terms of the GNU General Public License as published by | ||
| 15 | ;; the Free Software Foundation, either version 3 of the License, or (at | ||
| 16 | ;; your option) any later version. | ||
| 17 | ;; | ||
| 18 | ;; This program is distributed in the hope that it will be useful, but | ||
| 19 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 21 | ;; General Public License for more details. | ||
| 22 | ;; | ||
| 23 | ;; You should have received a copy of the GNU General Public License | ||
| 24 | ;; along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
| 25 | |||
| 26 | ;;; Commentary: | ||
| 27 | ;; | ||
| 28 | ;; The Modus themes conform with the highest standard for color-contrast | ||
| 29 | ;; accessibility between background and foreground values (WCAG AAA). | ||
| 30 | ;; This file contains all customization options, helper functions, | ||
| 31 | ;; interactive commands, and face specifications. Please refer to the | ||
| 32 | ;; official Info manual for further documentation (distributed with the | ||
| 33 | ;; themes, or available at: <https://protesilaos.com/modus-themes>). | ||
| 34 | ;; | ||
| 35 | ;; The themes share the following customization options, all of which | ||
| 36 | ;; are disabled by default (nil): | ||
| 37 | ;; | ||
| 38 | ;; modus-themes-slanted-constructs (boolean) | ||
| 39 | ;; modus-themes-bold-constructs (boolean) | ||
| 40 | ;; modus-themes-variable-pitch-headings (boolean) | ||
| 41 | ;; modus-themes-variable-pitch-ui (boolean) | ||
| 42 | ;; modus-themes-no-mixed-fonts (boolean) | ||
| 43 | ;; modus-themes-headings (alist) | ||
| 44 | ;; modus-themes-scale-headings (boolean) | ||
| 45 | ;; modus-themes-fringes (choice) | ||
| 46 | ;; modus-themes-lang-checkers (choice) | ||
| 47 | ;; modus-themes-org-blocks (choice) | ||
| 48 | ;; modus-themes-org-habit (choice) | ||
| 49 | ;; modus-themes-prompts (choice) | ||
| 50 | ;; modus-themes-mode-line (choice) | ||
| 51 | ;; modus-themes-diffs (choice) | ||
| 52 | ;; modus-themes-syntax (choice) | ||
| 53 | ;; modus-themes-intense-hl-line (boolean) | ||
| 54 | ;; modus-themes-subtle-line-numbers (boolean) | ||
| 55 | ;; modus-themes-paren-match (choice) | ||
| 56 | ;; modus-themes-region (choice) | ||
| 57 | ;; modus-themes-links (choice) | ||
| 58 | ;; modus-themes-completions (choice) | ||
| 59 | ;; | ||
| 60 | ;; The default scale for headings is as follows (it can be customized as | ||
| 61 | ;; well---remember, no scaling takes place by default): | ||
| 62 | ;; | ||
| 63 | ;; modus-themes-scale-1 1.05 | ||
| 64 | ;; modus-themes-scale-2 1.1 | ||
| 65 | ;; modus-themes-scale-3 1.15 | ||
| 66 | ;; modus-themes-scale-4 1.2 | ||
| 67 | ;; modus-themes-scale-5 1.3 | ||
| 68 | ;; | ||
| 69 | ;; There also exist two unique customization options for overriding | ||
| 70 | ;; color palette values. The specifics are documented in the manual. | ||
| 71 | ;; The symbols are: | ||
| 72 | ;; | ||
| 73 | ;; modus-themes-operandi-color-overrides (alist) | ||
| 74 | ;; modus-themes-vivendi-color-overrides (alist) | ||
| 75 | ;; | ||
| 76 | ;; Below is the list of explicitly supported packages or face groups | ||
| 77 | ;; (there are implicitly supported packages as well, which inherit from | ||
| 78 | ;; font-lock or some basic group). You are encouraged to report any | ||
| 79 | ;; missing package or change you would like to see. | ||
| 80 | ;; | ||
| 81 | ;; ace-window | ||
| 82 | ;; ag | ||
| 83 | ;; alert | ||
| 84 | ;; all-the-icons | ||
| 85 | ;; annotate | ||
| 86 | ;; anzu | ||
| 87 | ;; apropos | ||
| 88 | ;; apt-sources-list | ||
| 89 | ;; artbollocks-mode | ||
| 90 | ;; auctex and TeX | ||
| 91 | ;; auto-dim-other-buffers | ||
| 92 | ;; avy | ||
| 93 | ;; awesome-tray | ||
| 94 | ;; bbdb | ||
| 95 | ;; binder | ||
| 96 | ;; bm | ||
| 97 | ;; bongo | ||
| 98 | ;; boon | ||
| 99 | ;; breakpoint (provided by built-in gdb-mi.el) | ||
| 100 | ;; buffer-expose | ||
| 101 | ;; calendar and diary | ||
| 102 | ;; calfw | ||
| 103 | ;; centaur-tabs | ||
| 104 | ;; cfrs | ||
| 105 | ;; change-log and log-view (`vc-print-log' and `vc-print-root-log') | ||
| 106 | ;; cider | ||
| 107 | ;; circe | ||
| 108 | ;; color-rg | ||
| 109 | ;; column-enforce-mode | ||
| 110 | ;; company-mode | ||
| 111 | ;; company-posframe | ||
| 112 | ;; compilation-mode | ||
| 113 | ;; completions | ||
| 114 | ;; consult | ||
| 115 | ;; counsel | ||
| 116 | ;; counsel-css | ||
| 117 | ;; counsel-notmuch | ||
| 118 | ;; counsel-org-capture-string | ||
| 119 | ;; cov | ||
| 120 | ;; cperl-mode | ||
| 121 | ;; csv-mode | ||
| 122 | ;; ctrlf | ||
| 123 | ;; custom (M-x customize) | ||
| 124 | ;; dap-mode | ||
| 125 | ;; dashboard (emacs-dashboard) | ||
| 126 | ;; deadgrep | ||
| 127 | ;; debbugs | ||
| 128 | ;; define-word | ||
| 129 | ;; deft | ||
| 130 | ;; dictionary | ||
| 131 | ;; diff-hl | ||
| 132 | ;; diff-mode | ||
| 133 | ;; dim-autoload | ||
| 134 | ;; dir-treeview | ||
| 135 | ;; dired | ||
| 136 | ;; dired-async | ||
| 137 | ;; dired-git | ||
| 138 | ;; dired-git-info | ||
| 139 | ;; dired-narrow | ||
| 140 | ;; dired-subtree | ||
| 141 | ;; diredc | ||
| 142 | ;; diredfl | ||
| 143 | ;; diredp (dired+) | ||
| 144 | ;; disk-usage | ||
| 145 | ;; display-fill-column-indicator-mode | ||
| 146 | ;; doom-modeline | ||
| 147 | ;; dynamic-ruler | ||
| 148 | ;; easy-jekyll | ||
| 149 | ;; easy-kill | ||
| 150 | ;; ebdb | ||
| 151 | ;; ediff | ||
| 152 | ;; eglot | ||
| 153 | ;; el-search | ||
| 154 | ;; eldoc | ||
| 155 | ;; eldoc-box | ||
| 156 | ;; elfeed | ||
| 157 | ;; elfeed-score | ||
| 158 | ;; emms | ||
| 159 | ;; enhanced-ruby-mode | ||
| 160 | ;; epa | ||
| 161 | ;; equake | ||
| 162 | ;; erc | ||
| 163 | ;; eros | ||
| 164 | ;; ert | ||
| 165 | ;; eshell | ||
| 166 | ;; eshell-fringe-status | ||
| 167 | ;; eshell-git-prompt | ||
| 168 | ;; eshell-prompt-extras (epe) | ||
| 169 | ;; eshell-syntax-highlighting | ||
| 170 | ;; evil (evil-mode) | ||
| 171 | ;; evil-goggles | ||
| 172 | ;; evil-snipe | ||
| 173 | ;; evil-visual-mark-mode | ||
| 174 | ;; eww | ||
| 175 | ;; exwm | ||
| 176 | ;; eyebrowse | ||
| 177 | ;; fancy-dabbrev | ||
| 178 | ;; flycheck | ||
| 179 | ;; flycheck-color-mode-line | ||
| 180 | ;; flycheck-indicator | ||
| 181 | ;; flycheck-posframe | ||
| 182 | ;; flymake | ||
| 183 | ;; flyspell | ||
| 184 | ;; flyspell-correct | ||
| 185 | ;; flx | ||
| 186 | ;; freeze-it | ||
| 187 | ;; frog-menu | ||
| 188 | ;; focus | ||
| 189 | ;; fold-this | ||
| 190 | ;; font-lock (generic syntax highlighting) | ||
| 191 | ;; forge | ||
| 192 | ;; fountain (fountain-mode) | ||
| 193 | ;; geiser | ||
| 194 | ;; git-commit | ||
| 195 | ;; git-gutter (and variants) | ||
| 196 | ;; git-lens | ||
| 197 | ;; git-rebase | ||
| 198 | ;; git-timemachine | ||
| 199 | ;; git-walktree | ||
| 200 | ;; gnus | ||
| 201 | ;; golden-ratio-scroll-screen | ||
| 202 | ;; helm | ||
| 203 | ;; helm-ls-git | ||
| 204 | ;; helm-switch-shell | ||
| 205 | ;; helm-xref | ||
| 206 | ;; helpful | ||
| 207 | ;; highlight-blocks | ||
| 208 | ;; highlight-defined | ||
| 209 | ;; highlight-escape-sequences (`hes-mode') | ||
| 210 | ;; highlight-indentation | ||
| 211 | ;; highlight-numbers | ||
| 212 | ;; highlight-symbol | ||
| 213 | ;; highlight-tail | ||
| 214 | ;; highlight-thing | ||
| 215 | ;; hl-defined | ||
| 216 | ;; hl-fill-column | ||
| 217 | ;; hl-line-mode | ||
| 218 | ;; hl-todo | ||
| 219 | ;; hydra | ||
| 220 | ;; hyperlist | ||
| 221 | ;; ibuffer | ||
| 222 | ;; icomplete | ||
| 223 | ;; ido-mode | ||
| 224 | ;; iedit | ||
| 225 | ;; iflipb | ||
| 226 | ;; imenu-list | ||
| 227 | ;; indium | ||
| 228 | ;; info | ||
| 229 | ;; info-colors | ||
| 230 | ;; interaction-log | ||
| 231 | ;; ioccur | ||
| 232 | ;; isearch, occur, etc. | ||
| 233 | ;; isl (isearch-light) | ||
| 234 | ;; ivy | ||
| 235 | ;; ivy-posframe | ||
| 236 | ;; jira (org-jira) | ||
| 237 | ;; journalctl-mode | ||
| 238 | ;; js2-mode | ||
| 239 | ;; julia | ||
| 240 | ;; jupyter | ||
| 241 | ;; kaocha-runner | ||
| 242 | ;; keycast | ||
| 243 | ;; line numbers (`display-line-numbers-mode' and global variant) | ||
| 244 | ;; lsp-mode | ||
| 245 | ;; lsp-ui | ||
| 246 | ;; macrostep | ||
| 247 | ;; magit | ||
| 248 | ;; magit-imerge | ||
| 249 | ;; make-mode | ||
| 250 | ;; man | ||
| 251 | ;; marginalia | ||
| 252 | ;; markdown-mode | ||
| 253 | ;; markup-faces (`adoc-mode') | ||
| 254 | ;; mentor | ||
| 255 | ;; messages | ||
| 256 | ;; minibuffer-line | ||
| 257 | ;; minimap | ||
| 258 | ;; mmm-mode | ||
| 259 | ;; modeline | ||
| 260 | ;; mood-line | ||
| 261 | ;; mpdel | ||
| 262 | ;; mu4e | ||
| 263 | ;; mu4e-conversation | ||
| 264 | ;; multiple-cursors | ||
| 265 | ;; neotree | ||
| 266 | ;; no-emoji | ||
| 267 | ;; notmuch | ||
| 268 | ;; num3-mode | ||
| 269 | ;; nxml-mode | ||
| 270 | ;; objed | ||
| 271 | ;; orderless | ||
| 272 | ;; org | ||
| 273 | ;; org-journal | ||
| 274 | ;; org-noter | ||
| 275 | ;; org-pomodoro | ||
| 276 | ;; org-recur | ||
| 277 | ;; org-roam | ||
| 278 | ;; org-superstar | ||
| 279 | ;; org-table-sticky-header | ||
| 280 | ;; org-tree-slide | ||
| 281 | ;; org-treescope | ||
| 282 | ;; origami | ||
| 283 | ;; outline-mode | ||
| 284 | ;; outline-minor-faces | ||
| 285 | ;; package (M-x list-packages) | ||
| 286 | ;; page-break-lines | ||
| 287 | ;; paradox | ||
| 288 | ;; paren-face | ||
| 289 | ;; parrot | ||
| 290 | ;; pass | ||
| 291 | ;; pdf-tools | ||
| 292 | ;; persp-mode | ||
| 293 | ;; perspective | ||
| 294 | ;; phi-grep | ||
| 295 | ;; phi-search | ||
| 296 | ;; pkgbuild-mode | ||
| 297 | ;; pomidor | ||
| 298 | ;; popup | ||
| 299 | ;; powerline | ||
| 300 | ;; powerline-evil | ||
| 301 | ;; prism (see "Note for prism.el" in the manual) | ||
| 302 | ;; proced | ||
| 303 | ;; prodigy | ||
| 304 | ;; quick-peek | ||
| 305 | ;; racket-mode | ||
| 306 | ;; rainbow-blocks | ||
| 307 | ;; rainbow-identifiers | ||
| 308 | ;; rainbow-delimiters | ||
| 309 | ;; rcirc | ||
| 310 | ;; recursion-indicator | ||
| 311 | ;; regexp-builder (also known as `re-builder') | ||
| 312 | ;; rg | ||
| 313 | ;; ripgrep | ||
| 314 | ;; rmail | ||
| 315 | ;; ruler-mode | ||
| 316 | ;; sallet | ||
| 317 | ;; selectrum | ||
| 318 | ;; selectrum-prescient | ||
| 319 | ;; semantic | ||
| 320 | ;; sesman | ||
| 321 | ;; shell-script-mode | ||
| 322 | ;; shortdoc | ||
| 323 | ;; show-paren-mode | ||
| 324 | ;; shr | ||
| 325 | ;; side-notes | ||
| 326 | ;; sieve-mode | ||
| 327 | ;; skewer-mode | ||
| 328 | ;; smart-mode-line | ||
| 329 | ;; smartparens | ||
| 330 | ;; smerge | ||
| 331 | ;; spaceline | ||
| 332 | ;; speedbar | ||
| 333 | ;; spell-fu | ||
| 334 | ;; spray | ||
| 335 | ;; stripes | ||
| 336 | ;; suggest | ||
| 337 | ;; switch-window | ||
| 338 | ;; swiper | ||
| 339 | ;; swoop | ||
| 340 | ;; sx | ||
| 341 | ;; symbol-overlay | ||
| 342 | ;; tab-bar-mode | ||
| 343 | ;; tab-line-mode | ||
| 344 | ;; syslog-mode | ||
| 345 | ;; table (built-in table.el) | ||
| 346 | ;; telephone-line | ||
| 347 | ;; terraform-mode | ||
| 348 | ;; term | ||
| 349 | ;; tomatinho | ||
| 350 | ;; transient (pop-up windows like Magit's) | ||
| 351 | ;; trashed | ||
| 352 | ;; treemacs | ||
| 353 | ;; tty-menu | ||
| 354 | ;; tuareg | ||
| 355 | ;; typescript | ||
| 356 | ;; undo-tree | ||
| 357 | ;; vc (built-in mode line status for version control) | ||
| 358 | ;; vc-annotate (C-x v g) | ||
| 359 | ;; vdiff | ||
| 360 | ;; vimish-fold | ||
| 361 | ;; visible-mark | ||
| 362 | ;; visual-regexp | ||
| 363 | ;; volatile-highlights | ||
| 364 | ;; vterm | ||
| 365 | ;; wcheck-mode | ||
| 366 | ;; web-mode | ||
| 367 | ;; wgrep | ||
| 368 | ;; which-function-mode | ||
| 369 | ;; which-key | ||
| 370 | ;; whitespace-mode | ||
| 371 | ;; window-divider-mode | ||
| 372 | ;; winum | ||
| 373 | ;; writegood-mode | ||
| 374 | ;; woman | ||
| 375 | ;; xah-elisp-mode | ||
| 376 | ;; xref | ||
| 377 | ;; xterm-color (and ansi-colors) | ||
| 378 | ;; yaml-mode | ||
| 379 | ;; yasnippet | ||
| 380 | ;; ztree | ||
| 381 | ;; | ||
| 382 | ;; For a complete view of the project, also refer to the following files | ||
| 383 | ;; (should be distributed in the same repository/directory as the | ||
| 384 | ;; current item): | ||
| 385 | ;; | ||
| 386 | ;; - modus-operandi-theme.el (Light theme) | ||
| 387 | ;; - modus-vivendi-theme.el (Dark theme) | ||
| 388 | |||
| 389 | ;;; Code: | ||
| 390 | |||
| 391 | |||
| 392 | |||
| 393 | (eval-when-compile (require 'cl-lib)) | ||
| 394 | |||
| 395 | (defgroup modus-themes () | ||
| 396 | "Options for `modus-operandi', `modus-vivendi'." | ||
| 397 | :group 'faces | ||
| 398 | :link '(info-link "(modus-themes) Top") | ||
| 399 | :prefix "modus-themes-" | ||
| 400 | :tag "Modus Themes") | ||
| 401 | |||
| 402 | ;;; Variables for each theme variant | ||
| 403 | |||
| 404 | ;;;; Modus Operandi | ||
| 405 | |||
| 406 | (define-obsolete-variable-alias | ||
| 407 | 'modus-operandi-theme-default-colors-alist | ||
| 408 | 'modus-themes-colors-operandi | ||
| 409 | "1.0.0") | ||
| 410 | |||
| 411 | (define-obsolete-variable-alias | ||
| 412 | 'modus-themes-colors-operandi | ||
| 413 | 'modus-themes-operandi-colors | ||
| 414 | "1.1.0") | ||
| 415 | |||
| 416 | (defconst modus-themes-operandi-colors | ||
| 417 | '(;; base values | ||
| 418 | (bg-main . "#ffffff") (fg-main . "#000000") | ||
| 419 | (bg-dim . "#f8f8f8") (fg-dim . "#282828") | ||
| 420 | (bg-alt . "#f0f0f0") (fg-alt . "#505050") | ||
| 421 | ;; specifically for on/off states and must be combined with | ||
| 422 | ;; themselves, though the backgrounds are also meant to be used with | ||
| 423 | ;; other "active" values, defined further below | ||
| 424 | (bg-active . "#d7d7d7") (fg-active . "#0a0a0a") | ||
| 425 | (bg-inactive . "#efefef") (fg-inactive . "#404148") | ||
| 426 | ;; these special values are intended as alternatives to the base | ||
| 427 | ;; values for cases where we need to avoid confusion between the | ||
| 428 | ;; highlighted constructs; they must either be used as pairs based | ||
| 429 | ;; on their name or each can be combined with {fg,bg}-{main,alt,dim} | ||
| 430 | ;; always in accordance with their role as background or foreground | ||
| 431 | (bg-special-cold . "#dde3f4") (fg-special-cold . "#093060") | ||
| 432 | (bg-special-mild . "#c4ede0") (fg-special-mild . "#184034") | ||
| 433 | (bg-special-warm . "#f0e0d4") (fg-special-warm . "#5d3026") | ||
| 434 | (bg-special-calm . "#f8ddea") (fg-special-calm . "#61284f") | ||
| 435 | ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt | ||
| 436 | (red . "#a60000") | ||
| 437 | (red-alt . "#972500") | ||
| 438 | (red-alt-other . "#a0132f") | ||
| 439 | (red-faint . "#7f1010") | ||
| 440 | (red-alt-faint . "#702f00") | ||
| 441 | (red-alt-other-faint . "#7f002f") | ||
| 442 | (green . "#005e00") | ||
| 443 | (green-alt . "#315b00") | ||
| 444 | (green-alt-other . "#145c33") | ||
| 445 | (green-faint . "#104410") | ||
| 446 | (green-alt-faint . "#30440f") | ||
| 447 | (green-alt-other-faint . "#0f443f") | ||
| 448 | (yellow . "#813e00") | ||
| 449 | (yellow-alt . "#70480f") | ||
| 450 | (yellow-alt-other . "#863927") | ||
| 451 | (yellow-faint . "#5f4400") | ||
| 452 | (yellow-alt-faint . "#5d5000") | ||
| 453 | (yellow-alt-other-faint . "#5e3a20") | ||
| 454 | (blue . "#0031a9") | ||
| 455 | (blue-alt . "#2544bb") | ||
| 456 | (blue-alt-other . "#0000c0") | ||
| 457 | (blue-faint . "#003497") | ||
| 458 | (blue-alt-faint . "#0f3d8c") | ||
| 459 | (blue-alt-other-faint . "#001087") | ||
| 460 | (magenta . "#721045") | ||
| 461 | (magenta-alt . "#8f0075") | ||
| 462 | (magenta-alt-other . "#5317ac") | ||
| 463 | (magenta-faint . "#752f50") | ||
| 464 | (magenta-alt-faint . "#7b206f") | ||
| 465 | (magenta-alt-other-faint . "#55348e") | ||
| 466 | (cyan . "#00538b") | ||
| 467 | (cyan-alt . "#30517f") | ||
| 468 | (cyan-alt-other . "#005a5f") | ||
| 469 | (cyan-faint . "#005077") | ||
| 470 | (cyan-alt-faint . "#354f6f") | ||
| 471 | (cyan-alt-other-faint . "#125458") | ||
| 472 | ;; these foreground values can only be combined with bg-main and are | ||
| 473 | ;; thus not suitable for general purpose highlighting | ||
| 474 | (red-intense . "#b60000") | ||
| 475 | (orange-intense . "#904200") | ||
| 476 | (green-intense . "#006800") | ||
| 477 | (yellow-intense . "#605b00") | ||
| 478 | (blue-intense . "#1f1fce") | ||
| 479 | (magenta-intense . "#a8007f") | ||
| 480 | (purple-intense . "#7f10d0") | ||
| 481 | (cyan-intense . "#005f88") | ||
| 482 | ;; those foregrounds are meant exclusively for bg-active, bg-inactive | ||
| 483 | (red-active . "#8a0000") | ||
| 484 | (green-active . "#004c2e") | ||
| 485 | (yellow-active . "#702d1f") | ||
| 486 | (blue-active . "#0030b4") | ||
| 487 | (magenta-active . "#5c2092") | ||
| 488 | (cyan-active . "#003f8a") | ||
| 489 | ;; the "subtle" values below be combined with fg-dim, while the | ||
| 490 | ;; "intense" should be paired with fg-main | ||
| 491 | (red-subtle-bg . "#f2b0a2") | ||
| 492 | (red-intense-bg . "#ff8892") | ||
| 493 | (green-subtle-bg . "#aecf90") | ||
| 494 | (green-intense-bg . "#5ada88") | ||
| 495 | (yellow-subtle-bg . "#e4c340") | ||
| 496 | (yellow-intense-bg . "#f5df23") | ||
| 497 | (blue-subtle-bg . "#b5d0ff") | ||
| 498 | (blue-intense-bg . "#6aaeff") | ||
| 499 | (magenta-subtle-bg . "#f0d3ff") | ||
| 500 | (magenta-intense-bg . "#d5baff") | ||
| 501 | (cyan-subtle-bg . "#c0efff") | ||
| 502 | (cyan-intense-bg . "#42cbd4") | ||
| 503 | ;; those background values must be combined with fg-main and should | ||
| 504 | ;; only be used for indicators that are placed on the fringes | ||
| 505 | (red-fringe-bg . "#f08290") | ||
| 506 | (green-fringe-bg . "#62c86a") | ||
| 507 | (yellow-fringe-bg . "#dbba3f") | ||
| 508 | (blue-fringe-bg . "#82afff") | ||
| 509 | (magenta-fringe-bg . "#e0a3ff") | ||
| 510 | (cyan-fringe-bg . "#2fcddf") | ||
| 511 | ;; those background values should only be used for graphs or similar | ||
| 512 | ;; applications where colored blocks are expected to be positioned | ||
| 513 | ;; next to each other | ||
| 514 | (red-graph-0-bg . "#ef6f79") | ||
| 515 | (red-graph-1-bg . "#ff9f9f") | ||
| 516 | (green-graph-0-bg . "#49d239") | ||
| 517 | (green-graph-1-bg . "#6dec6d") | ||
| 518 | (yellow-graph-0-bg . "#efec08") | ||
| 519 | (yellow-graph-1-bg . "#dbff4e") | ||
| 520 | (blue-graph-0-bg . "#55a2f0") | ||
| 521 | (blue-graph-1-bg . "#7fcfff") | ||
| 522 | (magenta-graph-0-bg . "#ba86ef") | ||
| 523 | (magenta-graph-1-bg . "#e7afff") | ||
| 524 | (cyan-graph-0-bg . "#30d3f0") | ||
| 525 | (cyan-graph-1-bg . "#6fefff") | ||
| 526 | ;; the following are for cases where both the foreground and the | ||
| 527 | ;; background need to have a similar hue and so must be combined | ||
| 528 | ;; with themselves, even though the foregrounds can be paired with | ||
| 529 | ;; any of the base backgrounds | ||
| 530 | (red-refine-bg . "#ffcccc") (red-refine-fg . "#780000") | ||
| 531 | (green-refine-bg . "#aceaac") (green-refine-fg . "#004c00") | ||
| 532 | (yellow-refine-bg . "#fff29a") (yellow-refine-fg . "#604000") | ||
| 533 | (blue-refine-bg . "#8ac7ff") (blue-refine-fg . "#002288") | ||
| 534 | (magenta-refine-bg . "#ffccff") (magenta-refine-fg . "#770077") | ||
| 535 | (cyan-refine-bg . "#8eecf4") (cyan-refine-fg . "#004850") | ||
| 536 | ;; the "nuanced" backgrounds can be combined with all of the above | ||
| 537 | ;; foregrounds, as well as those included here, while the "nuanced" | ||
| 538 | ;; foregrounds can in turn also be combined with bg-main, bg-dim, | ||
| 539 | ;; bg-alt | ||
| 540 | (red-nuanced-bg . "#fff1f0") (red-nuanced-fg . "#5f0000") | ||
| 541 | (green-nuanced-bg . "#ecf7ed") (green-nuanced-fg . "#004000") | ||
| 542 | (yellow-nuanced-bg . "#fff3da") (yellow-nuanced-fg . "#3f3000") | ||
| 543 | (blue-nuanced-bg . "#f3f3ff") (blue-nuanced-fg . "#201f55") | ||
| 544 | (magenta-nuanced-bg . "#fdf0ff") (magenta-nuanced-fg . "#541f4f") | ||
| 545 | (cyan-nuanced-bg . "#ebf6fa") (cyan-nuanced-fg . "#0f3360") | ||
| 546 | ;; the following are reserved for specific cases | ||
| 547 | ;; | ||
| 548 | ;; bg-hl-line is between bg-dim and bg-alt, so it should | ||
| 549 | ;; work with all accents that cover those two, plus bg-main | ||
| 550 | ;; | ||
| 551 | ;; bg-hl-alt and bg-hl-alt-intense should only be used when no | ||
| 552 | ;; other greyscale or fairly neutral background is available to | ||
| 553 | ;; properly draw attention to a given construct | ||
| 554 | ;; | ||
| 555 | ;; bg-header is between bg-active and bg-inactive, so it | ||
| 556 | ;; can be combined with any of the "active" values, plus the | ||
| 557 | ;; "special" and base foreground colors | ||
| 558 | ;; | ||
| 559 | ;; bg-paren-match, bg-paren-match-intense, bg-region and | ||
| 560 | ;; bg-tab-active must be combined with fg-main, while | ||
| 561 | ;; bg-tab-inactive should be combined with fg-dim, whereas | ||
| 562 | ;; bg-tab-inactive-alt goes together with fg-main | ||
| 563 | ;; | ||
| 564 | ;; bg-tab-bar is only intended for the bar that holds the tabs and | ||
| 565 | ;; can only be combined with fg-main | ||
| 566 | ;; | ||
| 567 | ;; fg-tab-active is meant to be combined with bg-tab-active, | ||
| 568 | ;; though only for styling special elements, such as underlining | ||
| 569 | ;; the current tab | ||
| 570 | ;; | ||
| 571 | ;; fg-escape-char-construct and fg-escape-char-backslash can | ||
| 572 | ;; be combined bg-main, bg-dim, bg-alt | ||
| 573 | ;; | ||
| 574 | ;; fg-lang-error, fg-lang-warning, fg-lang-note can be | ||
| 575 | ;; combined with bg-main, bg-dim, bg-alt | ||
| 576 | ;; | ||
| 577 | ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined | ||
| 578 | ;; with bg-main, bg-dim, bg-alt, bg-hl-line | ||
| 579 | ;; | ||
| 580 | ;; fg-unfocused must be combined with bg-main | ||
| 581 | ;; | ||
| 582 | ;; fg-docstring, fg-comment-yellow can be combined with | ||
| 583 | ;; bg-main, bg-dim, bg-alt | ||
| 584 | ;; | ||
| 585 | ;; the window divider colors apply to faces with just an fg value | ||
| 586 | ;; | ||
| 587 | ;; all pairs are combinable with themselves | ||
| 588 | (bg-hl-line . "#f2eff3") | ||
| 589 | (bg-hl-line-intense . "#e0e0e0") | ||
| 590 | (bg-hl-alt . "#fbeee0") | ||
| 591 | (bg-hl-alt-intense . "#e8dfd1") | ||
| 592 | (bg-paren-match . "#e0af82") | ||
| 593 | (bg-paren-match-intense . "#c488ff") | ||
| 594 | (bg-region . "#bcbcbc") | ||
| 595 | |||
| 596 | (bg-tab-bar . "#d5d5d5") | ||
| 597 | (bg-tab-active . "#f6f6f6") | ||
| 598 | (bg-tab-inactive . "#bdbdbd") | ||
| 599 | (bg-tab-inactive-alt . "#999999") | ||
| 600 | (fg-tab-active . "#30169e") | ||
| 601 | |||
| 602 | (fg-escape-char-construct . "#8b1030") | ||
| 603 | (fg-escape-char-backslash . "#654d0f") | ||
| 604 | |||
| 605 | (fg-lang-error . "#9f004f") | ||
| 606 | (fg-lang-warning . "#604f0f") | ||
| 607 | (fg-lang-note . "#4040ae") | ||
| 608 | (fg-lang-underline-error . "#ef4f54") | ||
| 609 | (fg-lang-underline-warning . "#cf9f00") | ||
| 610 | (fg-lang-underline-note . "#3f6fef") | ||
| 611 | |||
| 612 | (fg-window-divider-inner . "#888888") | ||
| 613 | (fg-window-divider-outer . "#585858") | ||
| 614 | |||
| 615 | (fg-unfocused . "#56576d") | ||
| 616 | |||
| 617 | (fg-docstring . "#2a486a") | ||
| 618 | (fg-comment-yellow . "#5f4400") | ||
| 619 | |||
| 620 | (bg-header . "#e5e5e5") (fg-header . "#2a2a2a") | ||
| 621 | |||
| 622 | (bg-whitespace . "#f5efef") (fg-whitespace . "#624956") | ||
| 623 | |||
| 624 | (bg-diff-heading . "#b7cfe0") (fg-diff-heading . "#041645") | ||
| 625 | (bg-diff-added . "#d4fad4") (fg-diff-added . "#004500") | ||
| 626 | (bg-diff-added-deuteran . "#daefff") (fg-diff-added-deuteran . "#002044") | ||
| 627 | (bg-diff-changed . "#fcefcf") (fg-diff-changed . "#524200") | ||
| 628 | (bg-diff-removed . "#ffe8ef") (fg-diff-removed . "#691616") | ||
| 629 | |||
| 630 | (bg-diff-refine-added . "#94cf94") (fg-diff-refine-added . "#002a00") | ||
| 631 | (bg-diff-refine-added-deuteran . "#77c0ef") (fg-diff-refine-added-deuteran . "#000035") | ||
| 632 | (bg-diff-refine-changed . "#cccf8f") (fg-diff-refine-changed . "#302010") | ||
| 633 | (bg-diff-refine-removed . "#daa2b0") (fg-diff-refine-removed . "#400000") | ||
| 634 | |||
| 635 | (bg-diff-focus-added . "#bbeabb") (fg-diff-focus-added . "#002c00") | ||
| 636 | (bg-diff-focus-added-deuteran . "#bacfff") (fg-diff-focus-added-deuteran . "#001755") | ||
| 637 | (bg-diff-focus-changed . "#ecdfbf") (fg-diff-focus-changed . "#392900") | ||
| 638 | (bg-diff-focus-removed . "#efcbcf") (fg-diff-focus-removed . "#4a0000") | ||
| 639 | |||
| 640 | (bg-diff-neutral-0 . "#979797") (fg-diff-neutral-0 . "#040404") | ||
| 641 | (bg-diff-neutral-1 . "#b0b0b0") (fg-diff-neutral-1 . "#252525") | ||
| 642 | (bg-diff-neutral-2 . "#cccccc") (fg-diff-neutral-2 . "#3a3a3a") | ||
| 643 | |||
| 644 | (bg-mark-sel . "#a0f0cf") (fg-mark-sel . "#005040") | ||
| 645 | (bg-mark-del . "#ffccbb") (fg-mark-del . "#840040") | ||
| 646 | (bg-mark-alt . "#f5d88f") (fg-mark-alt . "#782900")) | ||
| 647 | "The entire palette of `modus-operandi' theme. | ||
| 648 | Each element has the form (NAME . HEX) with the former as a | ||
| 649 | symbol and the latter as a string.") | ||
| 650 | |||
| 651 | ;;;; Modus Vivendi | ||
| 652 | |||
| 653 | (define-obsolete-variable-alias | ||
| 654 | 'modus-vivendi-theme-default-colors-alist | ||
| 655 | 'modus-themes-colors-vivendi | ||
| 656 | "1.0.0") | ||
| 657 | |||
| 658 | (define-obsolete-variable-alias | ||
| 659 | 'modus-themes-colors-vivendi | ||
| 660 | 'modus-themes-vivendi-colors | ||
| 661 | "1.1.0") | ||
| 662 | |||
| 663 | (defconst modus-themes-vivendi-colors | ||
| 664 | '(;; base values | ||
| 665 | (bg-main . "#000000") (fg-main . "#ffffff") | ||
| 666 | (bg-dim . "#110b11") (fg-dim . "#e0e6f0") | ||
| 667 | (bg-alt . "#181a20") (fg-alt . "#a8a8a8") | ||
| 668 | ;; specifically for on/off states and must be combined with | ||
| 669 | ;; themselves, though the backgrounds are also meant to be used with | ||
| 670 | ;; other "active" values, defined further below | ||
| 671 | (bg-active . "#323232") (fg-active . "#f4f4f4") | ||
| 672 | (bg-inactive . "#1e1e1e") (fg-inactive . "#bfc0c4") | ||
| 673 | ;; these special values are intended as alternatives to the base | ||
| 674 | ;; values for cases where we need to avoid confusion between the | ||
| 675 | ;; highlighted constructs; they must either be used as pairs based | ||
| 676 | ;; on their name or each can be combined with {fg,bg}-{main,alt,dim} | ||
| 677 | ;; always in accordance with their role as background or foreground | ||
| 678 | (bg-special-cold . "#203448") (fg-special-cold . "#c6eaff") | ||
| 679 | (bg-special-mild . "#00322e") (fg-special-mild . "#bfebe0") | ||
| 680 | (bg-special-warm . "#382f27") (fg-special-warm . "#f8dec0") | ||
| 681 | (bg-special-calm . "#392a48") (fg-special-calm . "#fbd6f4") | ||
| 682 | ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt | ||
| 683 | (red . "#ff8059") | ||
| 684 | (red-alt . "#f4923b") | ||
| 685 | (red-alt-other . "#ff9977") | ||
| 686 | (red-faint . "#ffa0a0") | ||
| 687 | (red-alt-faint . "#f5aa80") | ||
| 688 | (red-alt-other-faint . "#ff9fbf") | ||
| 689 | (green . "#44bc44") | ||
| 690 | (green-alt . "#70c900") | ||
| 691 | (green-alt-other . "#00cd68") | ||
| 692 | (green-faint . "#88cf88") | ||
| 693 | (green-alt-faint . "#a8cf88") | ||
| 694 | (green-alt-other-faint . "#88cfaf") | ||
| 695 | (yellow . "#eecc00") | ||
| 696 | (yellow-alt . "#cfdf30") | ||
| 697 | (yellow-alt-other . "#f0ce43") | ||
| 698 | (yellow-faint . "#d2b580") | ||
| 699 | (yellow-alt-faint . "#cabf77") | ||
| 700 | (yellow-alt-other-faint . "#d0ba95") | ||
| 701 | (blue . "#2fafff") | ||
| 702 | (blue-alt . "#79a8ff" ) | ||
| 703 | (blue-alt-other . "#00bcff") | ||
| 704 | (blue-faint . "#92baff") | ||
| 705 | (blue-alt-faint . "#a0acf5") | ||
| 706 | (blue-alt-other-faint . "#87c8ff") | ||
| 707 | (magenta . "#feacd0") | ||
| 708 | (magenta-alt . "#f78fe7") | ||
| 709 | (magenta-alt-other . "#b6a0ff") | ||
| 710 | (magenta-faint . "#e0b2d6") | ||
| 711 | (magenta-alt-faint . "#ef9fe4") | ||
| 712 | (magenta-alt-other-faint . "#cfa6ff") | ||
| 713 | (cyan . "#00d3d0") | ||
| 714 | (cyan-alt . "#4ae8fc") | ||
| 715 | (cyan-alt-other . "#6ae4b9") | ||
| 716 | (cyan-faint . "#90c4ed") | ||
| 717 | (cyan-alt-faint . "#a0bfdf") | ||
| 718 | (cyan-alt-other-faint . "#a4d0bb") | ||
| 719 | ;; these foreground values can only be combined with bg-main and are | ||
| 720 | ;; thus not suitable for general purpose highlighting | ||
| 721 | (red-intense . "#fe6060") | ||
| 722 | (orange-intense . "#fba849") | ||
| 723 | (green-intense . "#4fe42f") | ||
| 724 | (yellow-intense . "#f0dd60") | ||
| 725 | (blue-intense . "#4fafff") | ||
| 726 | (magenta-intense . "#ff62d4") | ||
| 727 | (purple-intense . "#9f80ff") | ||
| 728 | (cyan-intense . "#3fdfd0") | ||
| 729 | ;; those foregrounds are meant exclusively for bg-active, bg-inactive | ||
| 730 | (red-active . "#ffa7ba") | ||
| 731 | (green-active . "#70d73f") | ||
| 732 | (yellow-active . "#dbbe5f") | ||
| 733 | (blue-active . "#34cfff") | ||
| 734 | (magenta-active . "#d5b1ff") | ||
| 735 | (cyan-active . "#00d8b4") | ||
| 736 | ;; the "subtle" values below be combined with fg-dim, while the | ||
| 737 | ;; "intense" should be paired with fg-main | ||
| 738 | (red-subtle-bg . "#762422") | ||
| 739 | (red-intense-bg . "#a4202a") | ||
| 740 | (green-subtle-bg . "#2f4a00") | ||
| 741 | (green-intense-bg . "#006800") | ||
| 742 | (yellow-subtle-bg . "#604200") | ||
| 743 | (yellow-intense-bg . "#874900") | ||
| 744 | (blue-subtle-bg . "#10387c") | ||
| 745 | (blue-intense-bg . "#2a40b8") | ||
| 746 | (magenta-subtle-bg . "#49366e") | ||
| 747 | (magenta-intense-bg . "#7042a2") | ||
| 748 | (cyan-subtle-bg . "#00415e") | ||
| 749 | (cyan-intense-bg . "#005f88") | ||
| 750 | ;; those background values must be combined with fg-main and should | ||
| 751 | ;; only be used for indicators that are placed on the fringes | ||
| 752 | (red-fringe-bg . "#8f1f4b") | ||
| 753 | (green-fringe-bg . "#006700") | ||
| 754 | (yellow-fringe-bg . "#6f4f00") | ||
| 755 | (blue-fringe-bg . "#3f33af") | ||
| 756 | (magenta-fringe-bg . "#6f2f89") | ||
| 757 | (cyan-fringe-bg . "#004f8f") | ||
| 758 | ;; those background values should only be used for graphs or similar | ||
| 759 | ;; applications where colored blocks are expected to be positioned | ||
| 760 | ;; next to each other | ||
| 761 | (red-graph-0-bg . "#af0404") | ||
| 762 | (red-graph-1-bg . "#801f2f") | ||
| 763 | (green-graph-0-bg . "#24ba2f") | ||
| 764 | (green-graph-1-bg . "#0f8f07") | ||
| 765 | (yellow-graph-0-bg . "#ffd03e") | ||
| 766 | (yellow-graph-1-bg . "#d7d800") | ||
| 767 | (blue-graph-0-bg . "#406fff") | ||
| 768 | (blue-graph-1-bg . "#2f50c8") | ||
| 769 | (magenta-graph-0-bg . "#af7bee") | ||
| 770 | (magenta-graph-1-bg . "#7f59cf") | ||
| 771 | (cyan-graph-0-bg . "#47dcfa") | ||
| 772 | (cyan-graph-1-bg . "#0bc0df") | ||
| 773 | ;; the following are for cases where both the foreground and the | ||
| 774 | ;; background need to have a similar hue and so must be combined | ||
| 775 | ;; with themselves, even though the foregrounds can be paired with | ||
| 776 | ;; any of the base backgrounds | ||
| 777 | (red-refine-bg . "#77002a") (red-refine-fg . "#ffb9ab") | ||
| 778 | (green-refine-bg . "#00422a") (green-refine-fg . "#9ff0cf") | ||
| 779 | (yellow-refine-bg . "#693200") (yellow-refine-fg . "#e2d980") | ||
| 780 | (blue-refine-bg . "#242679") (blue-refine-fg . "#8ec6ff") | ||
| 781 | (magenta-refine-bg . "#71206a") (magenta-refine-fg . "#ffcaf0") | ||
| 782 | (cyan-refine-bg . "#004065") (cyan-refine-fg . "#8ae4f2") | ||
| 783 | ;; the "nuanced" backgrounds can be combined with all of the above | ||
| 784 | ;; foregrounds, as well as those included here, while the "nuanced" | ||
| 785 | ;; foregrounds can in turn also be combined with bg-main, bg-dim, | ||
| 786 | ;; bg-alt | ||
| 787 | (red-nuanced-bg . "#2c0614") (red-nuanced-fg . "#ffcccc") | ||
| 788 | (green-nuanced-bg . "#001904") (green-nuanced-fg . "#b8e2b8") | ||
| 789 | (yellow-nuanced-bg . "#221000") (yellow-nuanced-fg . "#dfdfb0") | ||
| 790 | (blue-nuanced-bg . "#0f0e39") (blue-nuanced-fg . "#bfd9ff") | ||
| 791 | (magenta-nuanced-bg . "#230631") (magenta-nuanced-fg . "#e5cfef") | ||
| 792 | (cyan-nuanced-bg . "#041529") (cyan-nuanced-fg . "#a8e5e5") | ||
| 793 | ;; the following are reserved for specific cases | ||
| 794 | ;; | ||
| 795 | ;; bg-hl-line is between bg-dim and bg-alt, so it should | ||
| 796 | ;; work with all accents that cover those two, plus bg-main | ||
| 797 | ;; | ||
| 798 | ;; bg-hl-alt and bg-hl-alt-intense should only be used when no | ||
| 799 | ;; other greyscale or fairly neutral background is available to | ||
| 800 | ;; properly draw attention to a given construct | ||
| 801 | ;; | ||
| 802 | ;; bg-header is between bg-active and bg-inactive, so it | ||
| 803 | ;; can be combined with any of the "active" values, plus the | ||
| 804 | ;; "special" and base foreground colors | ||
| 805 | ;; | ||
| 806 | ;; bg-paren-match, bg-paren-match-intense, bg-region and | ||
| 807 | ;; bg-tab-active must be combined with fg-main, while | ||
| 808 | ;; bg-tab-inactive should be combined with fg-dim, whereas | ||
| 809 | ;; bg-tab-inactive-alt goes together with fg-main | ||
| 810 | ;; | ||
| 811 | ;; bg-tab-bar is only intended for the bar that holds the tabs and | ||
| 812 | ;; can only be combined with fg-main | ||
| 813 | ;; | ||
| 814 | ;; fg-tab-active is meant to be combined with bg-tab-active, | ||
| 815 | ;; though only for styling special elements, such as underlining | ||
| 816 | ;; the current tab | ||
| 817 | ;; | ||
| 818 | ;; fg-escape-char-construct and fg-escape-char-backslash can | ||
| 819 | ;; be combined bg-main, bg-dim, bg-alt | ||
| 820 | ;; | ||
| 821 | ;; fg-lang-error, fg-lang-warning, fg-lang-note can be | ||
| 822 | ;; combined with bg-main, bg-dim, bg-alt | ||
| 823 | ;; | ||
| 824 | ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined | ||
| 825 | ;; with bg-main, bg-dim, bg-alt, bg-hl-line | ||
| 826 | ;; | ||
| 827 | ;; fg-unfocused must be combined with bg-main | ||
| 828 | ;; | ||
| 829 | ;; fg-docstring, fg-comment-yellow can be combined with | ||
| 830 | ;; bg-main, bg-dim, bg-alt | ||
| 831 | ;; | ||
| 832 | ;; the window divider colors apply to faces with just an fg value | ||
| 833 | ;; | ||
| 834 | ;; all pairs are combinable with themselves | ||
| 835 | (bg-hl-line . "#151823") | ||
| 836 | (bg-hl-line-intense . "#2f2f2f") | ||
| 837 | (bg-hl-alt . "#181732") | ||
| 838 | (bg-hl-alt-intense . "#282e46") | ||
| 839 | (bg-paren-match . "#5f362f") | ||
| 840 | (bg-paren-match-intense . "#7416b5") | ||
| 841 | (bg-region . "#3c3c3c") | ||
| 842 | |||
| 843 | (bg-tab-bar . "#2c2c2c") | ||
| 844 | (bg-tab-active . "#0e0e0e") | ||
| 845 | (bg-tab-inactive . "#3d3d3d") | ||
| 846 | (bg-tab-inactive-alt . "#595959") | ||
| 847 | (fg-tab-active . "#5ac3cf") | ||
| 848 | |||
| 849 | (fg-escape-char-construct . "#e7a59a") | ||
| 850 | (fg-escape-char-backslash . "#abab00") | ||
| 851 | |||
| 852 | (fg-lang-error . "#ef8690") | ||
| 853 | (fg-lang-warning . "#b0aa00") | ||
| 854 | (fg-lang-note . "#9d9def") | ||
| 855 | (fg-lang-underline-error . "#ff4a6f") | ||
| 856 | (fg-lang-underline-warning . "#d0de00") | ||
| 857 | (fg-lang-underline-note . "#5f6fff") | ||
| 858 | |||
| 859 | (fg-window-divider-inner . "#646464") | ||
| 860 | (fg-window-divider-outer . "#969696") | ||
| 861 | |||
| 862 | (fg-unfocused . "#93959b") | ||
| 863 | |||
| 864 | (fg-docstring . "#b0d6f5") | ||
| 865 | (fg-comment-yellow . "#cab98f") | ||
| 866 | |||
| 867 | (bg-header . "#212121") (fg-header . "#dddddd") | ||
| 868 | |||
| 869 | (bg-whitespace . "#101424") (fg-whitespace . "#aa9e9f") | ||
| 870 | |||
| 871 | (bg-diff-heading . "#304466") (fg-diff-heading . "#dae7ff") | ||
| 872 | (bg-diff-added . "#0a280a") (fg-diff-added . "#94ba94") | ||
| 873 | (bg-diff-added-deuteran . "#001a3f") (fg-diff-added-deuteran . "#c4cdf2") | ||
| 874 | (bg-diff-changed . "#2a2000") (fg-diff-changed . "#b0ba9f") | ||
| 875 | (bg-diff-removed . "#40160f") (fg-diff-removed . "#c6adaa") | ||
| 876 | |||
| 877 | (bg-diff-refine-added . "#005a36") (fg-diff-refine-added . "#e0f6e0") | ||
| 878 | (bg-diff-refine-added-deuteran . "#234f8f") (fg-diff-refine-added-deuteran . "#dde4ff") | ||
| 879 | (bg-diff-refine-changed . "#585800") (fg-diff-refine-changed . "#ffffcc") | ||
| 880 | (bg-diff-refine-removed . "#852828") (fg-diff-refine-removed . "#ffd9eb") | ||
| 881 | |||
| 882 | (bg-diff-focus-added . "#203d20") (fg-diff-focus-added . "#b4ddb4") | ||
| 883 | (bg-diff-focus-added-deuteran . "#00405f") (fg-diff-focus-added-deuteran . "#bfe4ff") | ||
| 884 | (bg-diff-focus-changed . "#4a3a10") (fg-diff-focus-changed . "#d0daaf") | ||
| 885 | (bg-diff-focus-removed . "#5e2526") (fg-diff-focus-removed . "#eebdba") | ||
| 886 | |||
| 887 | (bg-diff-neutral-0 . "#575757") (fg-diff-neutral-0 . "#fcfcfc") | ||
| 888 | (bg-diff-neutral-1 . "#454545") (fg-diff-neutral-1 . "#dddddd") | ||
| 889 | (bg-diff-neutral-2 . "#313131") (fg-diff-neutral-2 . "#bfbfbf") | ||
| 890 | |||
| 891 | (bg-mark-sel . "#002f2f") (fg-mark-sel . "#60cfa2") | ||
| 892 | (bg-mark-del . "#5a0000") (fg-mark-del . "#ff99aa") | ||
| 893 | (bg-mark-alt . "#3f2210") (fg-mark-alt . "#f0aa20")) | ||
| 894 | "The entire palette of `modus-vivendi' theme. | ||
| 895 | Each element has the form (NAME . HEX) with the former as a | ||
| 896 | symbol and the latter as a string.") | ||
| 897 | |||
| 898 | |||
| 899 | |||
| 900 | ;;; Custom faces | ||
| 901 | |||
| 902 | ;; These faces are used internally to ensure consistency between various | ||
| 903 | ;; groups and to streamline the evaluation of relevant customization | ||
| 904 | ;; options. | ||
| 905 | (defface modus-theme-subtle-red nil | ||
| 906 | "Subtle red background combined with a dimmed foreground. | ||
| 907 | This is used for general purpose highlighting, mostly in buffers | ||
| 908 | or for completion interfaces. | ||
| 909 | |||
| 910 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 911 | |||
| 912 | (defface modus-theme-subtle-green nil | ||
| 913 | "Subtle green background combined with a dimmed foreground. | ||
| 914 | This is used for general purpose highlighting, mostly in buffers | ||
| 915 | or for completion interfaces. | ||
| 916 | |||
| 917 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 918 | |||
| 919 | (defface modus-theme-subtle-yellow nil | ||
| 920 | "Subtle yellow background combined with a dimmed foreground. | ||
| 921 | This is used for general purpose highlighting, mostly in buffers | ||
| 922 | or for completion interfaces. | ||
| 923 | |||
| 924 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 925 | |||
| 926 | (defface modus-theme-subtle-blue nil | ||
| 927 | "Subtle blue background combined with a dimmed foreground. | ||
| 928 | This is used for general purpose highlighting, mostly in buffers | ||
| 929 | or for completion interfaces. | ||
| 930 | |||
| 931 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 932 | |||
| 933 | (defface modus-theme-subtle-magenta nil | ||
| 934 | "Subtle magenta background combined with a dimmed foreground. | ||
| 935 | This is used for general purpose highlighting, mostly in buffers | ||
| 936 | or for completion interfaces. | ||
| 937 | |||
| 938 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 939 | |||
| 940 | (defface modus-theme-subtle-cyan nil | ||
| 941 | "Subtle cyan background combined with a dimmed foreground. | ||
| 942 | This is used for general purpose highlighting, mostly in buffers | ||
| 943 | or for completion interfaces. | ||
| 944 | |||
| 945 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 946 | |||
| 947 | (defface modus-theme-subtle-neutral nil | ||
| 948 | "Subtle gray background combined with a dimmed foreground. | ||
| 949 | This is used for general purpose highlighting, mostly in buffers | ||
| 950 | or for completion interfaces. | ||
| 951 | |||
| 952 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 953 | |||
| 954 | (defface modus-theme-intense-red nil | ||
| 955 | "Intense red background combined with the main foreground. | ||
| 956 | This is used for general purpose highlighting, mostly in buffers | ||
| 957 | or for completion interfaces. | ||
| 958 | |||
| 959 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 960 | |||
| 961 | (defface modus-theme-intense-green nil | ||
| 962 | "Intense green background combined with the main foreground. | ||
| 963 | This is used for general purpose highlighting, mostly in buffers | ||
| 964 | or for completion interfaces. | ||
| 965 | |||
| 966 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 967 | |||
| 968 | (defface modus-theme-intense-yellow nil | ||
| 969 | "Intense yellow background combined with the main foreground. | ||
| 970 | This is used for general purpose highlighting, mostly in buffers | ||
| 971 | or for completion interfaces. | ||
| 972 | |||
| 973 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 974 | |||
| 975 | (defface modus-theme-intense-blue nil | ||
| 976 | "Intense blue background combined with the main foreground. | ||
| 977 | This is used for general purpose highlighting, mostly in buffers | ||
| 978 | or for completion interfaces. | ||
| 979 | |||
| 980 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 981 | |||
| 982 | (defface modus-theme-intense-magenta nil | ||
| 983 | "Intense magenta background combined with the main foreground. | ||
| 984 | This is used for general purpose highlighting, mostly in buffers | ||
| 985 | or for completion interfaces. | ||
| 986 | |||
| 987 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 988 | |||
| 989 | (defface modus-theme-intense-cyan nil | ||
| 990 | "Intense cyan background combined with the main foreground. | ||
| 991 | This is used for general purpose highlighting, mostly in buffers | ||
| 992 | or for completion interfaces. | ||
| 993 | |||
| 994 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 995 | |||
| 996 | (defface modus-theme-intense-neutral nil | ||
| 997 | "Intense gray background combined with the main foreground. | ||
| 998 | This is used for general purpose highlighting, mostly in buffers | ||
| 999 | or for completion interfaces. | ||
| 1000 | |||
| 1001 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1002 | |||
| 1003 | (defface modus-theme-refine-red nil | ||
| 1004 | "Combination of accented red background and foreground. | ||
| 1005 | This is used for general purpose highlighting, mostly in buffers | ||
| 1006 | or for completion interfaces. | ||
| 1007 | |||
| 1008 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1009 | |||
| 1010 | (defface modus-theme-refine-green nil | ||
| 1011 | "Combination of accented green background and foreground. | ||
| 1012 | This is used for general purpose highlighting, mostly in buffers | ||
| 1013 | or for completion interfaces. | ||
| 1014 | |||
| 1015 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1016 | |||
| 1017 | (defface modus-theme-refine-yellow nil | ||
| 1018 | "Combination of accented yellow background and foreground. | ||
| 1019 | This is used for general purpose highlighting, mostly in buffers | ||
| 1020 | or for completion interfaces. | ||
| 1021 | |||
| 1022 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1023 | |||
| 1024 | (defface modus-theme-refine-blue nil | ||
| 1025 | "Combination of accented blue background and foreground. | ||
| 1026 | This is used for general purpose highlighting, mostly in buffers | ||
| 1027 | or for completion interfaces. | ||
| 1028 | |||
| 1029 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1030 | |||
| 1031 | (defface modus-theme-refine-magenta nil | ||
| 1032 | "Combination of accented magenta background and foreground. | ||
| 1033 | This is used for general purpose highlighting, mostly in buffers | ||
| 1034 | or for completion interfaces. | ||
| 1035 | |||
| 1036 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1037 | |||
| 1038 | (defface modus-theme-refine-cyan nil | ||
| 1039 | "Combination of accented cyan background and foreground. | ||
| 1040 | This is used for general purpose highlighting, mostly in buffers | ||
| 1041 | or for completion interfaces. | ||
| 1042 | |||
| 1043 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1044 | |||
| 1045 | (defface modus-theme-active-red nil | ||
| 1046 | "A red background meant for use on the modeline or similar. | ||
| 1047 | This is combined with the modelines primary foreground value. | ||
| 1048 | |||
| 1049 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1050 | |||
| 1051 | (defface modus-theme-active-green nil | ||
| 1052 | "A green background meant for use on the modeline or similar. | ||
| 1053 | This is combined with the modelines primary foreground value. | ||
| 1054 | |||
| 1055 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1056 | |||
| 1057 | (defface modus-theme-active-yellow nil | ||
| 1058 | "A yellow background meant for use on the modeline or similar. | ||
| 1059 | This is combined with the modelines primary foreground value. | ||
| 1060 | |||
| 1061 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1062 | |||
| 1063 | (defface modus-theme-active-blue nil | ||
| 1064 | "A blue background meant for use on the modeline or similar. | ||
| 1065 | This is combined with the modelines primary foreground value. | ||
| 1066 | |||
| 1067 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1068 | |||
| 1069 | (defface modus-theme-active-magenta nil | ||
| 1070 | "A magenta background meant for use on the modeline or similar. | ||
| 1071 | This is combined with the modelines primary foreground value. | ||
| 1072 | |||
| 1073 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1074 | |||
| 1075 | (defface modus-theme-active-cyan nil | ||
| 1076 | "A cyan background meant for use on the modeline or similar. | ||
| 1077 | This is combined with the modelines primary foreground value. | ||
| 1078 | |||
| 1079 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1080 | |||
| 1081 | (defface modus-theme-fringe-red nil | ||
| 1082 | "A red background meant for use on the fringe or similar. | ||
| 1083 | This is combined with the main foreground value. | ||
| 1084 | |||
| 1085 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1086 | |||
| 1087 | (defface modus-theme-fringe-green nil | ||
| 1088 | "A green background meant for use on the fringe or similar. | ||
| 1089 | This is combined with the main foreground value. | ||
| 1090 | |||
| 1091 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1092 | |||
| 1093 | (defface modus-theme-fringe-yellow nil | ||
| 1094 | "A yellow background meant for use on the fringe or similar. | ||
| 1095 | This is combined with the main foreground value. | ||
| 1096 | |||
| 1097 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1098 | |||
| 1099 | (defface modus-theme-fringe-blue nil | ||
| 1100 | "A blue background meant for use on the fringe or similar. | ||
| 1101 | This is combined with the main foreground value. | ||
| 1102 | |||
| 1103 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1104 | |||
| 1105 | (defface modus-theme-fringe-magenta nil | ||
| 1106 | "A magenta background meant for use on the fringe or similar. | ||
| 1107 | This is combined with the main foreground value. | ||
| 1108 | |||
| 1109 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1110 | |||
| 1111 | (defface modus-theme-fringe-cyan nil | ||
| 1112 | "A cyan background meant for use on the fringe or similar. | ||
| 1113 | This is combined with the main foreground value. | ||
| 1114 | |||
| 1115 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1116 | |||
| 1117 | (defface modus-theme-nuanced-red nil | ||
| 1118 | "A nuanced red background. | ||
| 1119 | This does not specify a foreground of its own. Instead it is meant to | ||
| 1120 | serve as the backdrop for elements such as Org blocks, headings, and any | ||
| 1121 | other surface that needs to retain the colors on display. | ||
| 1122 | |||
| 1123 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1124 | |||
| 1125 | (defface modus-theme-nuanced-green nil | ||
| 1126 | "A nuanced green background. | ||
| 1127 | This does not specify a foreground of its own. Instead it is meant to | ||
| 1128 | serve as the backdrop for elements such as Org blocks, headings, and any | ||
| 1129 | other surface that needs to retain the colors on display. | ||
| 1130 | |||
| 1131 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1132 | |||
| 1133 | (defface modus-theme-nuanced-yellow nil | ||
| 1134 | "A nuanced yellow background. | ||
| 1135 | This does not specify a foreground of its own. Instead it is meant to | ||
| 1136 | serve as the backdrop for elements such as Org blocks, headings, and any | ||
| 1137 | other surface that needs to retain the colors on display. | ||
| 1138 | |||
| 1139 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1140 | |||
| 1141 | (defface modus-theme-nuanced-blue nil | ||
| 1142 | "A nuanced blue background. | ||
| 1143 | This does not specify a foreground of its own. Instead it is meant to | ||
| 1144 | serve as the backdrop for elements such as Org blocks, headings, and any | ||
| 1145 | other surface that needs to retain the colors on display. | ||
| 1146 | |||
| 1147 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1148 | |||
| 1149 | (defface modus-theme-nuanced-magenta nil | ||
| 1150 | "A nuanced magenta background. | ||
| 1151 | This does not specify a foreground of its own. Instead it is meant to | ||
| 1152 | serve as the backdrop for elements such as Org blocks, headings, and any | ||
| 1153 | other surface that needs to retain the colors on display. | ||
| 1154 | |||
| 1155 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1156 | |||
| 1157 | (defface modus-theme-nuanced-cyan nil | ||
| 1158 | "A nuanced cyan background. | ||
| 1159 | This does not specify a foreground of its own. Instead it is meant to | ||
| 1160 | serve as the backdrop for elements such as Org blocks, headings, and any | ||
| 1161 | other surface that needs to retain the colors on display. | ||
| 1162 | |||
| 1163 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1164 | |||
| 1165 | (defface modus-theme-special-cold nil | ||
| 1166 | "Combines the 'special cold' background and foreground values. | ||
| 1167 | This is intended for cases when a neutral gray background is not | ||
| 1168 | suitable and where a combination of more saturated colors would not be | ||
| 1169 | appropriate. | ||
| 1170 | |||
| 1171 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1172 | |||
| 1173 | (defface modus-theme-special-mild nil | ||
| 1174 | "Combines the 'special mild' background and foreground values. | ||
| 1175 | This is intended for cases when a neutral gray background is not | ||
| 1176 | suitable and where a combination of more saturated colors would not be | ||
| 1177 | appropriate. | ||
| 1178 | |||
| 1179 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1180 | |||
| 1181 | (defface modus-theme-special-warm nil | ||
| 1182 | "Combines the 'special warm' background and foreground values. | ||
| 1183 | This is intended for cases when a neutral gray background is not | ||
| 1184 | suitable and where a combination of more saturated colors would not be | ||
| 1185 | appropriate. | ||
| 1186 | |||
| 1187 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1188 | |||
| 1189 | (defface modus-theme-special-calm nil | ||
| 1190 | "Combines the 'special calm' background and foreground values. | ||
| 1191 | This is intended for cases when a neutral gray background is not | ||
| 1192 | suitable and where a combination of more saturated colors would not be | ||
| 1193 | appropriate. | ||
| 1194 | |||
| 1195 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1196 | |||
| 1197 | (defface modus-theme-diff-added nil | ||
| 1198 | "Combines green colors for the 'added' state in diffs. | ||
| 1199 | The applied colors are contingent on the value assigned to | ||
| 1200 | `modus-themes-diffs'. | ||
| 1201 | |||
| 1202 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1203 | |||
| 1204 | (defface modus-theme-diff-changed nil | ||
| 1205 | "Combines yellow colors for the 'changed' state in diffs. | ||
| 1206 | The applied colors are contingent on the value assigned to | ||
| 1207 | `modus-themes-diffs'. | ||
| 1208 | |||
| 1209 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1210 | |||
| 1211 | (defface modus-theme-diff-removed nil | ||
| 1212 | "Combines red colors for the 'removed' state in diffs. | ||
| 1213 | The applied colors are contingent on the value assigned to | ||
| 1214 | `modus-themes-diffs'. | ||
| 1215 | |||
| 1216 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1217 | |||
| 1218 | (defface modus-theme-diff-refine-added nil | ||
| 1219 | "Combines green colors for word-wise 'added' state in diffs. | ||
| 1220 | The applied colors are contingent on the value assigned to | ||
| 1221 | `modus-themes-diffs'. | ||
| 1222 | |||
| 1223 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1224 | |||
| 1225 | (defface modus-theme-diff-refine-changed nil | ||
| 1226 | "Combines yellow colors for word-wise 'changed' state in diffs. | ||
| 1227 | The applied colors are contingent on the value assigned to | ||
| 1228 | `modus-themes-diffs'. | ||
| 1229 | |||
| 1230 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1231 | |||
| 1232 | (defface modus-theme-diff-refine-removed nil | ||
| 1233 | "Combines red colors for word-wise 'removed' state in diffs. | ||
| 1234 | The applied colors are contingent on the value assigned to | ||
| 1235 | `modus-themes-diffs'. | ||
| 1236 | |||
| 1237 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1238 | |||
| 1239 | (defface modus-theme-diff-focus-added nil | ||
| 1240 | "Combines green colors for the focused 'added' state in diffs. | ||
| 1241 | The applied colors are contingent on the value assigned to | ||
| 1242 | `modus-themes-diffs'. | ||
| 1243 | |||
| 1244 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1245 | |||
| 1246 | (defface modus-theme-diff-focus-changed nil | ||
| 1247 | "Combines yellow colors for the focused 'changed' state in. | ||
| 1248 | The applied colors are contingent on the value assigned to | ||
| 1249 | `modus-themes-diffs'. | ||
| 1250 | |||
| 1251 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1252 | |||
| 1253 | (defface modus-theme-diff-focus-removed nil | ||
| 1254 | "Combines red colors for the focused 'removed' state in diffs. | ||
| 1255 | The applied colors are contingent on the value assigned to | ||
| 1256 | `modus-themes-diffs'. | ||
| 1257 | |||
| 1258 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1259 | |||
| 1260 | (defface modus-theme-diff-heading nil | ||
| 1261 | "Combines blue colors for the diff hunk heading. | ||
| 1262 | The applied colors are contingent on the value assigned to | ||
| 1263 | `modus-themes-diffs'. | ||
| 1264 | |||
| 1265 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1266 | |||
| 1267 | (defface modus-theme-pseudo-header nil | ||
| 1268 | "Generic style for some elements that function like headings. | ||
| 1269 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1270 | |||
| 1271 | (defface modus-theme-mark-alt nil | ||
| 1272 | "Combines yellow colors for marking special lines | ||
| 1273 | This is intended for use in modes such as Dired, Ibuffer, Proced. | ||
| 1274 | |||
| 1275 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1276 | |||
| 1277 | (defface modus-theme-mark-del nil | ||
| 1278 | "Combines red colors for marking deletable lines | ||
| 1279 | This is intended for use in modes such as Dired, Ibuffer, Proced. | ||
| 1280 | |||
| 1281 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1282 | |||
| 1283 | (defface modus-theme-mark-sel nil | ||
| 1284 | "Combines green colors for marking lines | ||
| 1285 | This is intended for use in modes such as Dired, Ibuffer, Proced. | ||
| 1286 | |||
| 1287 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1288 | |||
| 1289 | (defface modus-theme-mark-symbol nil | ||
| 1290 | "Applies a blue color and other styles for mark indicators. | ||
| 1291 | This is intended for use in modes such as Dired, Ibuffer, Proced. | ||
| 1292 | |||
| 1293 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1294 | |||
| 1295 | (defface modus-theme-heading-1 nil | ||
| 1296 | "General purpose face for use in headings level 1 | ||
| 1297 | The exact attributes assigned to this face are contingent on the values | ||
| 1298 | assigned to the `modus-themes-headings' variable. | ||
| 1299 | |||
| 1300 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1301 | |||
| 1302 | (defface modus-theme-heading-2 nil | ||
| 1303 | "General purpose face for use in headings level 2. | ||
| 1304 | The exact attributes assigned to this face are contingent on the values | ||
| 1305 | assigned to the `modus-themes-headings' variable. | ||
| 1306 | |||
| 1307 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1308 | |||
| 1309 | (defface modus-theme-heading-3 nil | ||
| 1310 | "General purpose face for use in headings level 3. | ||
| 1311 | The exact attributes assigned to this face are contingent on the values | ||
| 1312 | assigned to the `modus-themes-headings' variable. | ||
| 1313 | |||
| 1314 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1315 | |||
| 1316 | (defface modus-theme-heading-4 nil | ||
| 1317 | "General purpose face for use in headings level 4. | ||
| 1318 | The exact attributes assigned to this face are contingent on the values | ||
| 1319 | assigned to the `modus-themes-headings' variable. | ||
| 1320 | |||
| 1321 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1322 | |||
| 1323 | (defface modus-theme-heading-5 nil | ||
| 1324 | "General purpose face for use in headings level 5. | ||
| 1325 | The exact attributes assigned to this face are contingent on the values | ||
| 1326 | assigned to the `modus-themes-headings' variable. | ||
| 1327 | |||
| 1328 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1329 | |||
| 1330 | (defface modus-theme-heading-6 nil | ||
| 1331 | "General purpose face for use in headings level 6. | ||
| 1332 | The exact attributes assigned to this face are contingent on the values | ||
| 1333 | assigned to the `modus-themes-headings' variable. | ||
| 1334 | |||
| 1335 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1336 | |||
| 1337 | (defface modus-theme-heading-7 nil | ||
| 1338 | "General purpose face for use in headings level 7. | ||
| 1339 | The exact attributes assigned to this face are contingent on the values | ||
| 1340 | assigned to the `modus-themes-headings' variable. | ||
| 1341 | |||
| 1342 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1343 | |||
| 1344 | (defface modus-theme-heading-8 nil | ||
| 1345 | "General purpose face for use in headings level 8. | ||
| 1346 | The exact attributes assigned to this face are contingent on the values | ||
| 1347 | assigned to the `modus-themes-headings' variable. | ||
| 1348 | |||
| 1349 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1350 | |||
| 1351 | (defface modus-theme-hl-line nil | ||
| 1352 | "General purpose face for the current line. | ||
| 1353 | The exact attributes assigned to this face are contingent on the values | ||
| 1354 | assigned to the `modus-themes-intense-hl-line' variable. | ||
| 1355 | |||
| 1356 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1357 | |||
| 1358 | (defface modus-theme-bold nil | ||
| 1359 | "Generic face for applying a conditional bold weight. | ||
| 1360 | This behaves in accordance with `modus-themes-bold-constructs'. | ||
| 1361 | |||
| 1362 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1363 | |||
| 1364 | (defface modus-theme-slant nil | ||
| 1365 | "Generic face for applying a conditional slant (italics). | ||
| 1366 | This behaves in accordance with `modus-themes-slanted-constructs'. | ||
| 1367 | |||
| 1368 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1369 | |||
| 1370 | (defface modus-theme-variable-pitch nil | ||
| 1371 | "Generic face for applying a conditional `variable-pitch'. | ||
| 1372 | This behaves in accordance with `modus-themes-no-mixed-fonts', | ||
| 1373 | `modus-themes-variable-pitch-headings' for all heading levels, and | ||
| 1374 | `modus-themes-variable-pitch-ui'. | ||
| 1375 | |||
| 1376 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1377 | |||
| 1378 | (defface modus-theme-graph-red-0 nil | ||
| 1379 | "Special subdued red face for use in graphs. | ||
| 1380 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1381 | graph where faithfulness to the semantics of a color value is of | ||
| 1382 | paramount importance. | ||
| 1383 | |||
| 1384 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1385 | |||
| 1386 | (defface modus-theme-graph-red-1 nil | ||
| 1387 | "Special prominent red face for use in graphs. | ||
| 1388 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1389 | graph where faithfulness to the semantics of a color value is of | ||
| 1390 | paramount importance. | ||
| 1391 | |||
| 1392 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1393 | |||
| 1394 | (defface modus-theme-graph-green-0 nil | ||
| 1395 | "Special subdued green face for use in graphs. | ||
| 1396 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1397 | graph where faithfulness to the semantics of a color value is of | ||
| 1398 | paramount importance. | ||
| 1399 | |||
| 1400 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1401 | |||
| 1402 | (defface modus-theme-graph-green-1 nil | ||
| 1403 | "Special prominent green face for use in graphs. | ||
| 1404 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1405 | graph where faithfulness to the semantics of a color value is of | ||
| 1406 | paramount importance. | ||
| 1407 | |||
| 1408 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1409 | |||
| 1410 | (defface modus-theme-graph-yellow-0 nil | ||
| 1411 | "Special subdued yellow face for use in graphs. | ||
| 1412 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1413 | graph where faithfulness to the semantics of a color value is of | ||
| 1414 | paramount importance. | ||
| 1415 | |||
| 1416 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1417 | |||
| 1418 | (defface modus-theme-graph-yellow-1 nil | ||
| 1419 | "Special prominent yellow face for use in graphs. | ||
| 1420 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1421 | graph where faithfulness to the semantics of a color value is of | ||
| 1422 | paramount importance. | ||
| 1423 | |||
| 1424 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1425 | |||
| 1426 | (defface modus-theme-graph-blue-0 nil | ||
| 1427 | "Special subdued blue face for use in graphs. | ||
| 1428 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1429 | graph where faithfulness to the semantics of a color value is of | ||
| 1430 | paramount importance. | ||
| 1431 | |||
| 1432 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1433 | |||
| 1434 | (defface modus-theme-graph-blue-1 nil | ||
| 1435 | "Special prominent blue face for use in graphs. | ||
| 1436 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1437 | graph where faithfulness to the semantics of a color value is of | ||
| 1438 | paramount importance. | ||
| 1439 | |||
| 1440 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1441 | |||
| 1442 | (defface modus-theme-graph-magenta-0 nil | ||
| 1443 | "Special subdued magenta face for use in graphs. | ||
| 1444 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1445 | graph where faithfulness to the semantics of a color value is of | ||
| 1446 | paramount importance. | ||
| 1447 | |||
| 1448 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1449 | |||
| 1450 | (defface modus-theme-graph-magenta-1 nil | ||
| 1451 | "Special prominent magenta face for use in graphs. | ||
| 1452 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1453 | graph where faithfulness to the semantics of a color value is of | ||
| 1454 | paramount importance. | ||
| 1455 | |||
| 1456 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1457 | |||
| 1458 | (defface modus-theme-graph-cyan-0 nil | ||
| 1459 | "Special subdued cyan face for use in graphs. | ||
| 1460 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1461 | graph where faithfulness to the semantics of a color value is of | ||
| 1462 | paramount importance. | ||
| 1463 | |||
| 1464 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1465 | |||
| 1466 | (defface modus-theme-graph-cyan-1 nil | ||
| 1467 | "Special prominent cyan face for use in graphs. | ||
| 1468 | This is intended to be applied in contexts such as the Org agenda habit | ||
| 1469 | graph where faithfulness to the semantics of a color value is of | ||
| 1470 | paramount importance. | ||
| 1471 | |||
| 1472 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1473 | |||
| 1474 | (defface modus-theme-lang-note nil | ||
| 1475 | "Generic face for linter or spell checker notes. | ||
| 1476 | The exact attributes and color combinations are controlled by | ||
| 1477 | `modus-themes-lang-checkers'. | ||
| 1478 | |||
| 1479 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1480 | |||
| 1481 | (defface modus-theme-lang-warning nil | ||
| 1482 | "Generic face for linter or spell checker warnings. | ||
| 1483 | The exact attributes and color combinations are controlled by | ||
| 1484 | `modus-themes-lang-checkers'. | ||
| 1485 | |||
| 1486 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1487 | |||
| 1488 | (defface modus-theme-lang-error nil | ||
| 1489 | "Generic face for linter or spell checker errors. | ||
| 1490 | The exact attributes and color combinations are controlled by | ||
| 1491 | `modus-themes-lang-checkers'. | ||
| 1492 | |||
| 1493 | The actual styling of the face is done by `modus-themes-faces'.") | ||
| 1494 | |||
| 1495 | |||
| 1496 | |||
| 1497 | ;;; Customization options | ||
| 1498 | |||
| 1499 | ;;;; Current customization options (>= 1.0.0) | ||
| 1500 | |||
| 1501 | (defcustom modus-themes-operandi-color-overrides nil | ||
| 1502 | "Override colors in the Modus Operandi palette. | ||
| 1503 | |||
| 1504 | For form, see `modus-themes-operandi-colors'." | ||
| 1505 | :group 'modus-themes | ||
| 1506 | :package-version '(modus-themes . "1.1.0") | ||
| 1507 | :version "28.1" | ||
| 1508 | :type '(alist :key-type symbol :value-type color) | ||
| 1509 | :link '(info-link "(modus-themes) Override colors (DIY)")) | ||
| 1510 | |||
| 1511 | (defcustom modus-themes-vivendi-color-overrides nil | ||
| 1512 | "Override colors in the Modus Vivendi palette. | ||
| 1513 | |||
| 1514 | For form, see `modus-themes-vivendi-colors'." | ||
| 1515 | :group 'modus-themes | ||
| 1516 | :package-version '(modus-themes . "1.1.0") | ||
| 1517 | :version "28.1" | ||
| 1518 | :type '(alist :key-type symbol :value-type color) | ||
| 1519 | :link '(info-link "(modus-themes) Override colors (DIY)")) | ||
| 1520 | |||
| 1521 | ;; The byte compiler complains when a defcustom isn't a top level form | ||
| 1522 | (let* ((names (mapcar (lambda (pair) | ||
| 1523 | (symbol-name (car pair))) | ||
| 1524 | modus-themes-operandi-colors)) | ||
| 1525 | (colors (mapcar #'intern (sort names #'string<)))) | ||
| 1526 | (put 'modus-themes-operandi-color-overrides | ||
| 1527 | 'custom-options (copy-sequence colors)) | ||
| 1528 | (put 'modus-themes-vivendi-color-overrides | ||
| 1529 | 'custom-options (copy-sequence colors))) | ||
| 1530 | |||
| 1531 | (defcustom modus-themes-slanted-constructs nil | ||
| 1532 | "Use slanted text in more code constructs (italics or oblique)." | ||
| 1533 | :group 'modus-themes | ||
| 1534 | :package-version '(modus-themes . "1.0.0") | ||
| 1535 | :version "28.1" | ||
| 1536 | :type 'boolean | ||
| 1537 | :link '(info-link "(modus-themes) Slanted constructs")) | ||
| 1538 | |||
| 1539 | (defcustom modus-themes-bold-constructs nil | ||
| 1540 | "Use bold text in more code constructs." | ||
| 1541 | :group 'modus-themes | ||
| 1542 | :package-version '(modus-themes . "1.0.0") | ||
| 1543 | :version "28.1" | ||
| 1544 | :type 'boolean | ||
| 1545 | :link '(info-link "(modus-themes) Bold constructs")) | ||
| 1546 | |||
| 1547 | (defcustom modus-themes-variable-pitch-headings nil | ||
| 1548 | "Use proportional fonts (variable-pitch) in headings." | ||
| 1549 | :group 'modus-themes | ||
| 1550 | :package-version '(modus-themes . "1.0.0") | ||
| 1551 | :version "28.1" | ||
| 1552 | :type 'boolean | ||
| 1553 | :link '(info-link "(modus-themes) Headings' typeface")) | ||
| 1554 | |||
| 1555 | (defcustom modus-themes-variable-pitch-ui nil | ||
| 1556 | "Use proportional fonts (variable-pitch) in UI elements. | ||
| 1557 | This includes the mode line, header line, tab bar, and tab line." | ||
| 1558 | :group 'modus-themes | ||
| 1559 | :package-version '(modus-themes . "1.1.0") | ||
| 1560 | :version "28.1" | ||
| 1561 | :type 'boolean | ||
| 1562 | :link '(info-link "(modus-themes) UI typeface")) | ||
| 1563 | |||
| 1564 | (defcustom modus-themes-no-mixed-fonts nil | ||
| 1565 | "Disable inheritance from `fixed-pitch' in some faces. | ||
| 1566 | |||
| 1567 | This is done by default to allow spacing-sensitive constructs, | ||
| 1568 | such as Org tables and code blocks, to remain monospaced when | ||
| 1569 | users opt for something like the command `variable-pitch-mode'. | ||
| 1570 | The downside with the default is that users need to explicitly | ||
| 1571 | configure the font family of `fixed-pitch' in order to get a | ||
| 1572 | consistent experience. That may be something they do not want to | ||
| 1573 | do. Hence this option to disable any kind of technique for | ||
| 1574 | mixing fonts." | ||
| 1575 | :group 'modus-themes | ||
| 1576 | :package-version '(modus-themes . "1.0.0") | ||
| 1577 | :version "28.1" | ||
| 1578 | :type 'boolean | ||
| 1579 | :link '(info-link "(modus-themes) No mixed fonts")) | ||
| 1580 | |||
| 1581 | (defcustom modus-themes-headings | ||
| 1582 | '((t . nil)) | ||
| 1583 | "Alist of styles for headings, with optional value per level. | ||
| 1584 | |||
| 1585 | To control faces per level from 1-8, use something like this: | ||
| 1586 | |||
| 1587 | (setq modus-themes-headings | ||
| 1588 | '((1 . highlight) | ||
| 1589 | (2 . line) | ||
| 1590 | (t . rainbow-line-no-bold))) | ||
| 1591 | |||
| 1592 | To set a uniform value for all heading levels, use this pattern: | ||
| 1593 | |||
| 1594 | (setq modus-themes-headings | ||
| 1595 | '((t . rainbow-line-no-bold))) | ||
| 1596 | |||
| 1597 | The default uses a fairly desaturated foreground value in | ||
| 1598 | combination with a bold typographic weight. To specify this | ||
| 1599 | style for a given level N (assuming you wish to have another | ||
| 1600 | fallback option), just specify the value t like this: | ||
| 1601 | |||
| 1602 | (setq modus-themes-headings | ||
| 1603 | '((1 . t) | ||
| 1604 | (2 . line) | ||
| 1605 | (t . rainbow-line-no-bold))) | ||
| 1606 | |||
| 1607 | A description of all possible values: | ||
| 1608 | |||
| 1609 | + `no-bold' retains the default text color while removing the | ||
| 1610 | typographic weight. | ||
| 1611 | |||
| 1612 | + `line' is the same as the default plus an overline over the | ||
| 1613 | heading. | ||
| 1614 | |||
| 1615 | + `line-no-bold' is the same as `line' without bold weight. | ||
| 1616 | |||
| 1617 | + `rainbow' uses a more colorful foreground in combination with | ||
| 1618 | bold weight. | ||
| 1619 | |||
| 1620 | + `rainbow-line' is the same as `rainbow' plus an overline. | ||
| 1621 | |||
| 1622 | + `rainbow-line-no-bold' is the same as `rainbow-line' without | ||
| 1623 | the bold weight. | ||
| 1624 | |||
| 1625 | + `highlight' retains the default style of a fairly desaturated | ||
| 1626 | foreground combined with a bold weight and add to it a subtle | ||
| 1627 | accented background. | ||
| 1628 | |||
| 1629 | + `highlight-no-bold' is the same as `highlight' without a bold | ||
| 1630 | weight. | ||
| 1631 | |||
| 1632 | + `rainbow-highlight' is the same as `highlight' but with a more | ||
| 1633 | colorful foreground. | ||
| 1634 | |||
| 1635 | + `rainbow-highlight-no-bold' is the same as `rainbow-highlight' | ||
| 1636 | without a bold weight. | ||
| 1637 | |||
| 1638 | + `section' retains the default looks and adds to them both an | ||
| 1639 | overline and a slightly accented background. It is, in effect, | ||
| 1640 | a combination of the `line' and `highlight' values. | ||
| 1641 | |||
| 1642 | + `section-no-bold' is the same as `section' without a bold | ||
| 1643 | weight. | ||
| 1644 | |||
| 1645 | + `rainbow-section' is the same as `section' but with a more | ||
| 1646 | colorful foreground. | ||
| 1647 | |||
| 1648 | + `rainbow-section-no-bold' is the same as `rainbow-section' | ||
| 1649 | without a bold weight. | ||
| 1650 | |||
| 1651 | + `no-color' does not apply any color to the heading, meaning | ||
| 1652 | that it uses the foreground of the `default' face. It still | ||
| 1653 | renders the text with a bold typographic weight. | ||
| 1654 | |||
| 1655 | + `no-color-no-bold' is like `no-color' but without the bold | ||
| 1656 | weight." | ||
| 1657 | :group 'modus-themes | ||
| 1658 | :package-version '(modus-themes . "1.2.0") | ||
| 1659 | :version "28.1" | ||
| 1660 | :type | ||
| 1661 | '(alist | ||
| 1662 | :key-type symbol | ||
| 1663 | :value-type | ||
| 1664 | (choice (const :tag "Fairly desaturated foreground with bold weight (default)" t) | ||
| 1665 | (const :tag "Like the default without bold weight" no-bold) | ||
| 1666 | (const :tag "Like the default plus overline" line) | ||
| 1667 | (const :tag "Like `line' without bold weight" line-no-bold) | ||
| 1668 | (const :tag "Like the default but with more colorful foreground" rainbow) | ||
| 1669 | (const :tag "Like `rainbow' plus overline" rainbow-line) | ||
| 1670 | (const :tag "Like `rainbow' without bold weight" rainbow-no-bold) | ||
| 1671 | (const :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold) | ||
| 1672 | (const :tag "Like the default plus subtle background" highlight) | ||
| 1673 | (const :tag "Like `highlight' without bold weight" highlight-no-bold) | ||
| 1674 | (const :tag "Like `highlight' with more colorful foreground" rainbow-highlight) | ||
| 1675 | (const :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold) | ||
| 1676 | (const :tag "Like `highlight' plus overline" section) | ||
| 1677 | (const :tag "Like `section' without bold weight" section-no-bold) | ||
| 1678 | (const :tag "Like `section' with more colorful foreground" rainbow-section) | ||
| 1679 | (const :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold) | ||
| 1680 | (const :tag "Do not use any distinct foreground color; just bold weight" no-color) | ||
| 1681 | (const :tag "Like `no-bold' but without the distinct foreground color" no-color-no-bold))) | ||
| 1682 | :link '(info-link "(modus-themes) Heading styles")) | ||
| 1683 | |||
| 1684 | (defcustom modus-themes-scale-headings nil | ||
| 1685 | "Use font scaling for headings. | ||
| 1686 | |||
| 1687 | For regular headings the scale is controlled by the variables | ||
| 1688 | `modus-themes-scale-1' (smallest) and its variants all the way up | ||
| 1689 | to `modus-themes-scale-4' (larger). While `modus-themes-scale-5' | ||
| 1690 | is reserved for special headings that must be the largest on the | ||
| 1691 | scale. | ||
| 1692 | |||
| 1693 | A special heading is, in this context, one that does not fit into | ||
| 1694 | the syntax for heading levels that apply to the given mode. For | ||
| 1695 | example, Org's #+title keyword lies outside the normal eight | ||
| 1696 | levels of headings. Whereas, say, Markdown does not have such a | ||
| 1697 | special heading." | ||
| 1698 | :group 'modus-themes | ||
| 1699 | :package-version '(modus-themes . "1.2.0") | ||
| 1700 | :version "28.1" | ||
| 1701 | :type 'boolean | ||
| 1702 | :link '(info-link "(modus-themes) Scaled headings")) | ||
| 1703 | |||
| 1704 | (defcustom modus-themes-scale-1 1.05 | ||
| 1705 | "Font size that is slightly larger than the base value. | ||
| 1706 | |||
| 1707 | This size is used for level 4 headings, such as in Org and | ||
| 1708 | Markdown files. | ||
| 1709 | |||
| 1710 | The default value is a floating point that is interpreted as a | ||
| 1711 | multiple of the base font size. It is recommended to use such a | ||
| 1712 | value. | ||
| 1713 | |||
| 1714 | However, the variable also accepts an integer, understood as an | ||
| 1715 | absolute height that is 1/10 of the typeface's point size (e.g. a | ||
| 1716 | value of 140 is the same as setting the font at 14 point size). | ||
| 1717 | This will ignore the base font size and, thus, will not scale in | ||
| 1718 | accordance with it in cases where it changes, such as while using | ||
| 1719 | `text-scale-adjust'." | ||
| 1720 | :group 'modus-themes | ||
| 1721 | :package-version '(modus-themes . "1.2.0") | ||
| 1722 | :version "28.1" | ||
| 1723 | :type 'number | ||
| 1724 | :link '(info-link "(modus-themes) Scaled heading sizes")) | ||
| 1725 | |||
| 1726 | (defcustom modus-themes-scale-2 1.1 | ||
| 1727 | "Font size slightly larger than `modus-themes-scale-1'. | ||
| 1728 | |||
| 1729 | This size is used for level 3 headings, such as in Org and | ||
| 1730 | Markdown files. | ||
| 1731 | |||
| 1732 | The default value is a floating point that is interpreted as a | ||
| 1733 | multiple of the base font size. It is recommended to use such a | ||
| 1734 | value. | ||
| 1735 | |||
| 1736 | However, the variable also accepts an integer, understood as an | ||
| 1737 | absolute height that is 1/10 of the typeface's point size (e.g. a | ||
| 1738 | value of 140 is the same as setting the font at 14 point size). | ||
| 1739 | This will ignore the base font size and, thus, will not scale in | ||
| 1740 | accordance with it in cases where it changes, such as while using | ||
| 1741 | `text-scale-adjust'." | ||
| 1742 | :group 'modus-themes | ||
| 1743 | :package-version '(modus-themes . "1.2.0") | ||
| 1744 | :version "28.1" | ||
| 1745 | :type 'number | ||
| 1746 | :link '(info-link "(modus-themes) Scaled heading sizes")) | ||
| 1747 | |||
| 1748 | (defcustom modus-themes-scale-3 1.15 | ||
| 1749 | "Font size slightly larger than `modus-themes-scale-2'. | ||
| 1750 | |||
| 1751 | This size is used for level 2 headings, such as in Org and | ||
| 1752 | Markdown files. | ||
| 1753 | |||
| 1754 | The default value is a floating point that is interpreted as a | ||
| 1755 | multiple of the base font size. It is recommended to use such a | ||
| 1756 | value. | ||
| 1757 | |||
| 1758 | However, the variable also accepts an integer, understood as an | ||
| 1759 | absolute height that is 1/10 of the typeface's point size (e.g. a | ||
| 1760 | value of 140 is the same as setting the font at 14 point size). | ||
| 1761 | This will ignore the base font size and, thus, will not scale in | ||
| 1762 | accordance with it in cases where it changes, such as while using | ||
| 1763 | `text-scale-adjust'." | ||
| 1764 | :group 'modus-themes | ||
| 1765 | :package-version '(modus-themes . "1.2.0") | ||
| 1766 | :version "28.1" | ||
| 1767 | :type 'number | ||
| 1768 | :link '(info-link "(modus-themes) Scaled heading sizes")) | ||
| 1769 | |||
| 1770 | (defcustom modus-themes-scale-4 1.2 | ||
| 1771 | "Font size slightly larger than `modus-themes-scale-3'. | ||
| 1772 | |||
| 1773 | This size is used for level 1 headings, such as in Org and | ||
| 1774 | Markdown files. | ||
| 1775 | |||
| 1776 | The default value is a floating point that is interpreted as a | ||
| 1777 | multiple of the base font size. It is recommended to use such a | ||
| 1778 | value. | ||
| 1779 | |||
| 1780 | However, the variable also accepts an integer, understood as an | ||
| 1781 | absolute height that is 1/10 of the typeface's point size (e.g. a | ||
| 1782 | value of 140 is the same as setting the font at 14 point size). | ||
| 1783 | This will ignore the base font size and, thus, will not scale in | ||
| 1784 | accordance with it in cases where it changes, such as while using | ||
| 1785 | `text-scale-adjust'." | ||
| 1786 | :group 'modus-themes | ||
| 1787 | :package-version '(modus-themes . "1.2.0") | ||
| 1788 | :version "28.1" | ||
| 1789 | :type 'number | ||
| 1790 | :link '(info-link "(modus-themes) Scaled heading sizes")) | ||
| 1791 | |||
| 1792 | (defcustom modus-themes-scale-5 1.3 | ||
| 1793 | "Font size slightly larger than `modus-themes-scale-4'. | ||
| 1794 | |||
| 1795 | This size is only used for 'special' top level headings, such as | ||
| 1796 | Org's file title heading, denoted by the #+title key word, and | ||
| 1797 | the Org agenda structure headers. | ||
| 1798 | |||
| 1799 | The default value is a floating point that is interpreted as a | ||
| 1800 | multiple of the base font size. It is recommended to use such a | ||
| 1801 | value. | ||
| 1802 | |||
| 1803 | However, the variable also accepts an integer, understood as an | ||
| 1804 | absolute height that is 1/10 of the typeface's point size (e.g. a | ||
| 1805 | value of 140 is the same as setting the font at 14 point size). | ||
| 1806 | This will ignore the base font size and, thus, will not scale in | ||
| 1807 | accordance with it in cases where it changes, such as while using | ||
| 1808 | `text-scale-adjust'." | ||
| 1809 | :group 'modus-themes | ||
| 1810 | :package-version '(modus-themes . "1.2.0") | ||
| 1811 | :version "28.1" | ||
| 1812 | :type 'number | ||
| 1813 | :link '(info-link "(modus-themes) Scaled heading sizes")) | ||
| 1814 | |||
| 1815 | (defcustom modus-themes-fringes nil | ||
| 1816 | "Define the visibility of fringes. | ||
| 1817 | |||
| 1818 | Nil means the fringes have no background color. Option `subtle' | ||
| 1819 | will apply a greyscale value that is visible yet close to the | ||
| 1820 | main buffer background color. Option `intense' will use a more | ||
| 1821 | pronounced greyscale value." | ||
| 1822 | :group 'modus-themes | ||
| 1823 | :package-version '(modus-themes . "1.0.0") | ||
| 1824 | :version "28.1" | ||
| 1825 | :type '(choice | ||
| 1826 | (const :tag "No visible fringes (default)" nil) | ||
| 1827 | (const :tag "Subtle greyscale background" subtle) | ||
| 1828 | (const :tag "Intense greyscale background" intense)) | ||
| 1829 | :link '(info-link "(modus-themes) Fringes")) | ||
| 1830 | |||
| 1831 | (defcustom modus-themes-lang-checkers nil | ||
| 1832 | "Control the style of spelling and code checkers/linters. | ||
| 1833 | |||
| 1834 | Nil (the default) applies a color-coded underline to the affected | ||
| 1835 | text, while it leaves the original foreground in tact. If the | ||
| 1836 | display spec of Emacs has support for it, the underline's style | ||
| 1837 | is that of a wave, otherwise it is a straight line. | ||
| 1838 | |||
| 1839 | Options `subtle-foreground' and `intense-foreground' add a | ||
| 1840 | color-coded underline while also changing the text's foreground | ||
| 1841 | accordingly. The style of the underline is the same as with the | ||
| 1842 | default option. | ||
| 1843 | |||
| 1844 | Option `straight-underline' is like the default but always | ||
| 1845 | applies a straight line under the affected text. Same principle | ||
| 1846 | for `subtle-foreground-straight-underline' and its counterpart | ||
| 1847 | `intense-foreground-straight-underline'. | ||
| 1848 | |||
| 1849 | Option `colored-background' uses a straight underline, a | ||
| 1850 | background, and a foreground. All are color-coded. This is the | ||
| 1851 | most intense combination of face properties." | ||
| 1852 | :group 'modus-themes | ||
| 1853 | :package-version '(modus-themes . "1.1.0") | ||
| 1854 | :version "28.1" | ||
| 1855 | :type '(choice | ||
| 1856 | (const :tag "Only color-coded wavy underline (default)" nil) | ||
| 1857 | (const :tag "Like the default, but with a straight underline" straight-underline) | ||
| 1858 | (const :tag "Color-coded wavy underline; subtle foreground" subtle-foreground) | ||
| 1859 | (const :tag "Combines `straight-underline' and `subtle-foreground'" subtle-foreground-straight-underline) | ||
| 1860 | (const :tag "Color-coded wavy underline; intense foreground" intense-foreground) | ||
| 1861 | (const :tag "Combines `straight-underline' and `intense-foreground'" intense-foreground-straight-underline) | ||
| 1862 | (const :tag "Color-coded background, foreground, straight underline" colored-background)) | ||
| 1863 | :link '(info-link "(modus-themes) Language checkers")) | ||
| 1864 | |||
| 1865 | (defcustom modus-themes-org-blocks nil | ||
| 1866 | "Use a subtle gray or color-coded background for Org blocks. | ||
| 1867 | |||
| 1868 | Nil means that the block will have no background of its own and | ||
| 1869 | will use the default that applies to the rest of the buffer. | ||
| 1870 | |||
| 1871 | Option `grayscale' (or `greyscale') will apply a subtle neutral | ||
| 1872 | gray background to the block's contents. It also affects the | ||
| 1873 | begin and end lines of the block: their background will be | ||
| 1874 | extended to the edge of the window for Emacs version >= 27 where | ||
| 1875 | the ':extend' keyword is recognized by `set-face-attribute'. | ||
| 1876 | |||
| 1877 | Option `rainbow' will use an accented background for the contents | ||
| 1878 | of the block. The exact color will depend on the programming | ||
| 1879 | language and is controlled by the `org-src-block-faces' | ||
| 1880 | variable (refer to the theme's source code for the current | ||
| 1881 | association list)." | ||
| 1882 | :group 'modus-themes | ||
| 1883 | :package-version '(modus-themes . "1.0.0") | ||
| 1884 | :version "28.1" | ||
| 1885 | :type '(choice | ||
| 1886 | (const :tag "No Org block background (default)" nil) | ||
| 1887 | (const :tag "Subtle gray block background" grayscale) | ||
| 1888 | (const :tag "Subtle gray block background (alt spelling)" greyscale) | ||
| 1889 | (const :tag "Color-coded background per programming language" rainbow)) | ||
| 1890 | :link '(info-link "(modus-themes) Org mode blocks")) | ||
| 1891 | |||
| 1892 | (defcustom modus-themes-org-habit nil | ||
| 1893 | "Control the presentation of the `org-habit' graph. | ||
| 1894 | |||
| 1895 | The default is meant to conform with the original aesthetic of | ||
| 1896 | `org-habit'. It employs all four color codes that correspond to | ||
| 1897 | the org-habit states---clear, ready, alert, and overdue---while | ||
| 1898 | distinguishing between their present and future variants. This | ||
| 1899 | results in a total of eight colors in use: red, yellow, green, | ||
| 1900 | blue, in tinted and shaded versions. They cover the full set of | ||
| 1901 | information provided by the `org-habit' consistency graph. | ||
| 1902 | |||
| 1903 | Option `simplified' is like the default except that it removes | ||
| 1904 | the dichotomy between current and future variants by applying | ||
| 1905 | uniform color-coded values. It applies a total of four colors: | ||
| 1906 | red, yellow, green, blue. They produce a simplified consistency | ||
| 1907 | graph that is more legible (or less \"busy\") than the default. | ||
| 1908 | The intent is to shift focus towards the distinction between the | ||
| 1909 | four states of a habit task, rather than each state's | ||
| 1910 | present/future outlook. | ||
| 1911 | |||
| 1912 | Option `traffic-light' further reduces the available colors to | ||
| 1913 | red, yellow, and green. As in `simplified', present and future | ||
| 1914 | variants appear uniformly, but differently from it, the 'clear' | ||
| 1915 | state is rendered in a green hue, instead of the original blue. | ||
| 1916 | This is meant to capture the use-case where a habit task being | ||
| 1917 | \"too early\" is less important than it being \"too late\". The | ||
| 1918 | difference between ready and clear states is attenuated by | ||
| 1919 | painting both of them using shades of green. This option thus | ||
| 1920 | highlights the alert and overdue states." | ||
| 1921 | :group 'modus-themes | ||
| 1922 | :package-version '(modus-themes . "1.1.0") | ||
| 1923 | :version "28.1" | ||
| 1924 | :type '(choice | ||
| 1925 | (const :tag "Respect the original design of org-habit (default)" nil) | ||
| 1926 | (const :tag "Like the default, but do not distinguish between present and future variants" simplified) | ||
| 1927 | (const :tag "Like `simplified', but only use red, yellow, green" traffic-light)) | ||
| 1928 | :link '(info-link "(modus-themes) Org agenda habits")) | ||
| 1929 | |||
| 1930 | (defcustom modus-themes-mode-line nil | ||
| 1931 | "Adjust the overall style of the mode line. | ||
| 1932 | |||
| 1933 | Nil is a two-dimensional rectangle with a border around it. The | ||
| 1934 | active and the inactive modelines use different shades of | ||
| 1935 | greyscale values for the background and foreground. | ||
| 1936 | |||
| 1937 | A `3d' value will apply a three-dimensional effect to the active | ||
| 1938 | modeline. The inactive modelines remain two-dimensional and are | ||
| 1939 | toned down a bit, relative to the nil value. | ||
| 1940 | |||
| 1941 | The `moody' option is meant to optimize the modeline for use with | ||
| 1942 | the library of the same name. This practically means to remove | ||
| 1943 | the box effect and rely on underline and overline properties | ||
| 1944 | instead. It also tones down the inactive modelines. Despite its | ||
| 1945 | intended purpose, this option can also be used without the | ||
| 1946 | `moody' library. | ||
| 1947 | |||
| 1948 | The `borderless' option uses the same colors as the default (nil | ||
| 1949 | value), but removes the border effect. This is done by making | ||
| 1950 | the box property use the same color as the background, | ||
| 1951 | effectively blending the two and creating some padding. | ||
| 1952 | |||
| 1953 | The `borderless-3d' and `borderless-moody' approximate the `3d' | ||
| 1954 | and `moody' options respectively, while removing the borders. | ||
| 1955 | However, to ensure that the inactive modelines remain visible, | ||
| 1956 | they apply a slightly more prominent background to them than what | ||
| 1957 | their counterparts do (same inactive background as with the | ||
| 1958 | default)." | ||
| 1959 | :group 'modus-themes | ||
| 1960 | :package-version '(modus-themes . "1.0.0") | ||
| 1961 | :version "28.1" | ||
| 1962 | :type '(choice | ||
| 1963 | (const :tag "Two-dimensional box (default)" nil) | ||
| 1964 | (const :tag "Three-dimensional style for the active mode line" 3d) | ||
| 1965 | (const :tag "No box effects, which are optimal for use with the `moody' library" moody) | ||
| 1966 | (const :tag "Like the default, but without border effects" borderless) | ||
| 1967 | (const :tag "Like `3d', but without noticeable border" borderless-3d) | ||
| 1968 | (const :tag "Like `moody', but without noticeable border" borderless-moody)) | ||
| 1969 | :link '(info-link "(modus-themes) Mode line")) | ||
| 1970 | |||
| 1971 | (defcustom modus-themes-diffs nil | ||
| 1972 | "Adjust the overall styles of diffs. | ||
| 1973 | |||
| 1974 | Nil means to use fairly intense color combinations for diffs. | ||
| 1975 | For example, you get a rich green background with a green | ||
| 1976 | foreground for added lines. Word-wise or 'refined' diffs follow | ||
| 1977 | the same pattern but use different shades of those colors to | ||
| 1978 | remain distinct. | ||
| 1979 | |||
| 1980 | A `desaturated' value follows the same principles as with the nil | ||
| 1981 | option, while it tones down all relevant colors. | ||
| 1982 | |||
| 1983 | Option `fg-only' will remove all accented backgrounds, except | ||
| 1984 | from word-wise changes. It instead uses color-coded foreground | ||
| 1985 | values to differentiate between added/removed/changed lines. If | ||
| 1986 | a background is necessary, such as with `ediff', then a subtle | ||
| 1987 | greyscale value is used. | ||
| 1988 | |||
| 1989 | Option `bg-only' applies a background but does not override the | ||
| 1990 | text's foreground. This makes it suitable for a non-nil value | ||
| 1991 | passed to `diff-font-lock-syntax' (note: Magit does not support | ||
| 1992 | syntax highlighting in diffs as of 2020-11-25, version | ||
| 1993 | 20201116.1057). | ||
| 1994 | |||
| 1995 | Option `deuteranopia' accounts for red-green color defficiency by | ||
| 1996 | replacing all instances of green with colors on the blue side of | ||
| 1997 | the spectrum. Other stylistic changes are made in the interest | ||
| 1998 | of optimizing for such a use-case." | ||
| 1999 | :group 'modus-themes | ||
| 2000 | :package-version '(modus-themes . "1.2.0") | ||
| 2001 | :version "28.1" | ||
| 2002 | :type '(choice | ||
| 2003 | (const :tag "Intensely colored backgrounds (default)" nil) | ||
| 2004 | (const :tag "Slightly accented backgrounds with tinted text" desaturated) | ||
| 2005 | (const :tag "No backgrounds, except for refined diffs" fg-only) | ||
| 2006 | (const :tag "Apply color-coded backgrounds; keep syntax colors in tact" bg-only) | ||
| 2007 | (const :tag "Optimized for red-green color defficiency" deuteranopia)) | ||
| 2008 | :link '(info-link "(modus-themes) Diffs")) | ||
| 2009 | |||
| 2010 | (defcustom modus-themes-completions nil | ||
| 2011 | "Apply special styles to the UI of completion frameworks. | ||
| 2012 | |||
| 2013 | This concerns Icomplete, Ivy, Helm, Selectrum, Ido, as well as | ||
| 2014 | any other tool meant to enhance their experience. The effect | ||
| 2015 | will vary depending on the completion framework. | ||
| 2016 | |||
| 2017 | Nil means to remain faithful to the metaphors that each UI | ||
| 2018 | establishes. For example, Icomplete and Ido only use foreground | ||
| 2019 | colors to style their matches, whereas Ivy or Helm rely on an | ||
| 2020 | aesthetic that combines colored backgrounds with appropriate text | ||
| 2021 | color. | ||
| 2022 | |||
| 2023 | Option `moderate' will apply a combination of background and | ||
| 2024 | foreground that is fairly subtle. For Icomplete and the like, | ||
| 2025 | this constitutes a departure from their standard style. While | ||
| 2026 | Ivy, Helm, and the others, will use less pronounced colors for | ||
| 2027 | applicable contexts. | ||
| 2028 | |||
| 2029 | Option `opinionated' will apply color combinations that refashion | ||
| 2030 | the completion UI. So Icomplete et al will now use styles that | ||
| 2031 | resemble the defaults of Ivy and co., while the latter group will | ||
| 2032 | revert to an even more nuanced aesthetic." | ||
| 2033 | :group 'modus-themes | ||
| 2034 | :package-version '(modus-themes . "1.0.0") | ||
| 2035 | :version "28.1" | ||
| 2036 | :type '(choice | ||
| 2037 | (const :tag "Respect the framework's established aesthetic (default)" nil) | ||
| 2038 | (const :tag "Subtle backgrounds for various elements" moderate) | ||
| 2039 | (const :tag "Radical alternative to the framework's looks" opinionated)) | ||
| 2040 | :link '(info-link "(modus-themes) Completion UIs")) | ||
| 2041 | |||
| 2042 | (defcustom modus-themes-prompts nil | ||
| 2043 | "Use subtle or intense styles for minibuffer and REPL prompts. | ||
| 2044 | |||
| 2045 | Nil means to only use an accented foreground color. | ||
| 2046 | |||
| 2047 | Options `subtle-accented' and `intense-accented' will change both | ||
| 2048 | the background and the foreground values to use accented color | ||
| 2049 | combinations that follow the hue of the default styles' | ||
| 2050 | foreground (e.g. the default minibuffer prompt is cyan text, so | ||
| 2051 | these combinations will involved a cyan background and an | ||
| 2052 | appropriate cyan foreground). | ||
| 2053 | |||
| 2054 | Options `subtle-gray' and `intense-gray' are like their | ||
| 2055 | `subtle-accented' and `intense-accented' counterparts, except | ||
| 2056 | they use grayscale values instead of accented ones." | ||
| 2057 | :group 'modus-themes | ||
| 2058 | :package-version '(modus-themes . "1.0.0") | ||
| 2059 | :version "28.1" | ||
| 2060 | :type '(choice | ||
| 2061 | ;; `subtle' is the same as `subtle-accented', while `intense' is | ||
| 2062 | ;; equal to `intense-accented' for backward compatibility | ||
| 2063 | (const :tag "No prompt background (default)" nil) | ||
| 2064 | (const :tag "Subtle accented background for the prompt" subtle-accented) | ||
| 2065 | (const :tag "Same as `subtle-accented' for compatibility with older versions" subtle) | ||
| 2066 | (const :tag "Intense accented background and foreground for the prompt" intense-accented) | ||
| 2067 | (const :tag "Same as `intense-accented' for compatibility with older versions" intense) | ||
| 2068 | (const :tag "Like `subtle-accented' but grayscale" subtle-gray) | ||
| 2069 | (const :tag "Like `intense-accented' but grayscale" intense-gray)) | ||
| 2070 | :link '(info-link "(modus-themes) Command prompts")) | ||
| 2071 | |||
| 2072 | (defcustom modus-themes-intense-hl-line nil | ||
| 2073 | "Use a more prominent background for command `hl-line-mode'." | ||
| 2074 | :group 'modus-themes | ||
| 2075 | :package-version '(modus-themes . "1.0.0") | ||
| 2076 | :version "28.1" | ||
| 2077 | :type 'boolean | ||
| 2078 | :link '(info-link "(modus-themes) Line highlighting")) | ||
| 2079 | |||
| 2080 | (defcustom modus-themes-subtle-line-numbers nil | ||
| 2081 | "Use more subtle style for command `display-line-numbers-mode'." | ||
| 2082 | :group 'modus-themes | ||
| 2083 | :package-version '(modus-themes . "1.2.0") | ||
| 2084 | :version "28.1" | ||
| 2085 | :type 'boolean | ||
| 2086 | :link '(info-link "(modus-themes) Line numbers")) | ||
| 2087 | |||
| 2088 | (defcustom modus-themes-paren-match nil | ||
| 2089 | "Choose the style of matching parentheses or delimiters. | ||
| 2090 | |||
| 2091 | Nil means to use a subtle tinted background color (the default). | ||
| 2092 | |||
| 2093 | Option `intense' applies a saturated background color. | ||
| 2094 | |||
| 2095 | Option `subtle-bold' is the same as the default, but also makes | ||
| 2096 | use of bold typographic weight (inherits the `bold' face). | ||
| 2097 | |||
| 2098 | Option `intense-bold' is the same as `intense', while it also | ||
| 2099 | uses a bold weight." | ||
| 2100 | :group 'modus-themes | ||
| 2101 | :package-version '(modus-themes . "1.0.0") | ||
| 2102 | :version "28.1" | ||
| 2103 | :type '(choice | ||
| 2104 | (const :tag "Sublte tinted background (default)" nil) | ||
| 2105 | (const :tag "Like the default, but also use bold typographic weight" subtle-bold) | ||
| 2106 | (const :tag "Intense saturated background" intense) | ||
| 2107 | (const :tag "Like `intense' but with bold weight" intense-bold)) | ||
| 2108 | :link '(info-link "(modus-themes) Matching parentheses")) | ||
| 2109 | |||
| 2110 | (defcustom modus-themes-syntax nil | ||
| 2111 | "Control the overall style of code syntax highlighting. | ||
| 2112 | |||
| 2113 | Nil (the default) means to use colors on the cyan-blue-magenta | ||
| 2114 | side of the spectrum. There is little to no use of greens, | ||
| 2115 | yellows, and reds. | ||
| 2116 | |||
| 2117 | Option `faint' is like the default in terms of the choice of | ||
| 2118 | palette but applies desaturated color values. | ||
| 2119 | |||
| 2120 | Option `yellow-comments' applies a yellow tint to comments. The | ||
| 2121 | rest of the syntax is the same as the default. | ||
| 2122 | |||
| 2123 | Option `green-strings' replaces the blue/cyan/cold color variants | ||
| 2124 | in strings with greener alternatives. The rest of the syntax | ||
| 2125 | remains the same. | ||
| 2126 | |||
| 2127 | Option `yellow-comments-green-strings' combines yellow comments | ||
| 2128 | with green strings and the rest of the default syntax | ||
| 2129 | highlighting style. | ||
| 2130 | |||
| 2131 | Option `alt-syntax' expands the color palette and applies new | ||
| 2132 | color combinations. Strings are green. Doc strings are magenta | ||
| 2133 | tinted. Comments are gray. | ||
| 2134 | |||
| 2135 | Option `alt-syntax-yellow-comments' combines `alt-syntax' with | ||
| 2136 | `yellow-comments'. | ||
| 2137 | |||
| 2138 | Option `faint-yellow-comments' combines the `faint' style with | ||
| 2139 | `yellow-comments'." | ||
| 2140 | :group 'modus-themes | ||
| 2141 | :package-version '(modus-themes . "1.2.0") | ||
| 2142 | :version "28.1" | ||
| 2143 | :type '(choice | ||
| 2144 | (const :tag "Balanced use of blue, cyan, magenta, purple variants (default)" nil) | ||
| 2145 | (const :tag "Like the default, but with desaturated color values" faint) | ||
| 2146 | (const :tag "Apply yellow tint to comments, keep the default style for the rest" yellow-comments) | ||
| 2147 | (const :tag "Use green for strings, keep the default style for the rest" green-strings) | ||
| 2148 | (const :tag "Use green for strings, yellow for comments, keep the default style for the rest" yellow-comments-green-strings) | ||
| 2149 | (const :tag "Refashion syntax highlighting with more colors, gray comments" alt-syntax) | ||
| 2150 | (const :tag "Like `alt-syntax' but with yellow comments" alt-syntax-yellow-comments) | ||
| 2151 | (const :tag "Like `faint' but with yellow comments" faint-yellow-comments)) | ||
| 2152 | :link '(info-link "(modus-themes) Syntax styles")) | ||
| 2153 | |||
| 2154 | (defcustom modus-themes-links nil | ||
| 2155 | "Set the style of links. | ||
| 2156 | |||
| 2157 | Nil means to use an underline that is the same color as the | ||
| 2158 | foreground. | ||
| 2159 | |||
| 2160 | Option `faint' applies desaturated colors to the link's text and | ||
| 2161 | underline. | ||
| 2162 | |||
| 2163 | Option `neutral-underline' applies a subtle grey underline, while | ||
| 2164 | retaining the link's foreground. | ||
| 2165 | |||
| 2166 | Option `faint-neutral-underline' combines a desaturated text | ||
| 2167 | color with a subtle grey underline. | ||
| 2168 | |||
| 2169 | Option `no-underline' removes link underlines altogether, while | ||
| 2170 | retaining their original fairly vivid color. | ||
| 2171 | |||
| 2172 | Option `underline-only' applies an underline while making the | ||
| 2173 | affected text colorless (it uses the same foreground as the | ||
| 2174 | theme's default). | ||
| 2175 | |||
| 2176 | Option `neutral-underline-only' makes the text colorless while | ||
| 2177 | using a subtle underline below it." | ||
| 2178 | :group 'modus-themes | ||
| 2179 | :package-version '(modus-themes . "1.2.0") | ||
| 2180 | :version "28.1" | ||
| 2181 | :type '(choice | ||
| 2182 | (const :tag "Undeline link using the same color as the text (default)" nil) | ||
| 2183 | (const :tag "Like the default, but apply less intense colors to links" faint) | ||
| 2184 | (const :tag "Change the color of link underlines to a neutral grey" neutral-underline) | ||
| 2185 | (const :tag "Desaturated foreground with neutral grey underline" faint-neutral-underline) | ||
| 2186 | (const :tag "Remove underline property from links, keeping their foreground as-is" no-underline) | ||
| 2187 | (const :tag "Apply underline only; use default foreground" underline-only) | ||
| 2188 | (const :tag "Like `underline-only' but with a subtle underline" neutral-underline-only)) | ||
| 2189 | :link '(info-link "(modus-themes) Link styles")) | ||
| 2190 | |||
| 2191 | (defcustom modus-themes-region nil | ||
| 2192 | "Change the overall appearance of the active region. | ||
| 2193 | |||
| 2194 | Nil (the default) means to only use a prominent gray background | ||
| 2195 | with a neutral foreground. The foreground overrides all syntax | ||
| 2196 | highlighting. The region extends to the edge of the window. | ||
| 2197 | |||
| 2198 | Option `no-extend' preserves the default aesthetic but prevents | ||
| 2199 | the region from extending to the edge of the window. | ||
| 2200 | |||
| 2201 | Option `bg-only' applies a faint tinted background that is | ||
| 2202 | distinct from all others used in the theme, while it does not | ||
| 2203 | override any existing colors. It extends to the edge of the | ||
| 2204 | window. | ||
| 2205 | |||
| 2206 | Option `bg-only-no-extend' is a combination of the `bg-only' and | ||
| 2207 | `no-extend' options." | ||
| 2208 | :group 'modus-themes | ||
| 2209 | :package-version '(modus-themes . "1.0.0") | ||
| 2210 | :version "28.1" | ||
| 2211 | :type '(choice | ||
| 2212 | (const :tag "Intense background; overrides colors; extends to edge of window (default)" nil) | ||
| 2213 | (const :tag "As with the default, but does not extend" no-extend) | ||
| 2214 | (const :tag "Subtle background; preserves colors; extends to edge of window" bg-only) | ||
| 2215 | (const :tag "As with the `subtle' option, but does not extend" bg-only-no-extend)) | ||
| 2216 | :link '(info-link "(modus-themes) Active region")) | ||
| 2217 | |||
| 2218 | |||
| 2219 | |||
| 2220 | ;;;; Deprecated customization options (prior to 1.0.0) | ||
| 2221 | |||
| 2222 | ;;;;; Modus Operandi obsolete options | ||
| 2223 | |||
| 2224 | (make-obsolete 'modus-operandi-theme-override-colors-alist nil "1.0.0") | ||
| 2225 | (make-obsolete 'modus-operandi-theme-slanted-constructs 'modus-themes-slanted-constructs "1.0.0") | ||
| 2226 | (make-obsolete 'modus-operandi-theme-bold-constructs 'modus-themes-bold-constructs "1.0.0") | ||
| 2227 | (make-obsolete 'modus-operandi-theme-proportional-fonts 'modus-themes-variable-pitch-headings "1.0.0") | ||
| 2228 | (make-obsolete 'modus-operandi-theme-variable-pitch-headings 'modus-themes-variable-pitch-headings "1.0.0") | ||
| 2229 | (make-obsolete 'modus-operandi-theme-no-mixed-fonts 'modus-themes-no-mixed-fonts "1.0.0") | ||
| 2230 | (make-obsolete 'modus-operandi-theme-rainbow-headings 'modus-themes-headings "1.0.0") | ||
| 2231 | (make-obsolete 'modus-operandi-theme-section-headings 'modus-themes-headings "1.0.0") | ||
| 2232 | (make-obsolete 'modus-operandi-theme-headings 'modus-themes-headings "1.0.0") | ||
| 2233 | (make-obsolete 'modus-operandi-theme-scale-headings 'modus-themes-scale-headings "1.0.0") | ||
| 2234 | (make-obsolete 'modus-operandi-theme-scale-1 'modus-themes-scale-1 "1.0.0") | ||
| 2235 | (make-obsolete 'modus-operandi-theme-scale-2 'modus-themes-scale-2 "1.0.0") | ||
| 2236 | (make-obsolete 'modus-operandi-theme-scale-3 'modus-themes-scale-3 "1.0.0") | ||
| 2237 | (make-obsolete 'modus-operandi-theme-scale-4 'modus-themes-scale-4 "1.0.0") | ||
| 2238 | (make-obsolete 'modus-operandi-theme-scale-5 'modus-themes-scale-5 "1.0.0") | ||
| 2239 | (make-obsolete 'modus-operandi-theme-visible-fringes 'modus-themes-fringes "1.0.0") | ||
| 2240 | (make-obsolete 'modus-operandi-theme-fringes 'modus-themes-fringes "1.0.0") | ||
| 2241 | (make-obsolete 'modus-operandi-theme-distinct-org-blocks 'modus-themes-org-blocks "1.0.0") | ||
| 2242 | (make-obsolete 'modus-operandi-theme-rainbow-org-src-blocks 'modus-themes-org-blocks "1.0.0") | ||
| 2243 | (make-obsolete 'modus-operandi-theme-org-blocks 'modus-themes-org-blocks "1.0.0") | ||
| 2244 | (make-obsolete 'modus-operandi-theme-3d-modeline 'modus-themes-mode-line "1.0.0") | ||
| 2245 | (make-obsolete 'modus-operandi-theme-mode-line 'modus-themes-mode-line "1.0.0") | ||
| 2246 | (make-obsolete 'modus-operandi-theme-subtle-diffs 'modus-themes-diffs "1.0.0") | ||
| 2247 | (make-obsolete 'modus-operandi-theme-diffs 'modus-themes-diffs "1.0.0") | ||
| 2248 | (make-obsolete 'modus-operandi-theme-intense-standard-completions 'modus-themes-completions "1.0.0") | ||
| 2249 | (make-obsolete 'modus-operandi-theme-completions 'modus-themes-completions "1.0.0") | ||
| 2250 | (make-obsolete 'modus-operandi-theme-prompts 'modus-themes-prompts "1.0.0") | ||
| 2251 | (make-obsolete 'modus-operandi-theme-intense-hl-line 'modus-themes-intense-hl-line "1.0.0") | ||
| 2252 | (make-obsolete 'modus-operandi-theme-intense-paren-match 'modus-themes-paren-match "1.0.0") | ||
| 2253 | (make-obsolete 'modus-operandi-theme-faint-syntax 'modus-themes-syntax "1.0.0") | ||
| 2254 | (make-obsolete 'modus-operandi-theme-comments 'modus-themes-syntax "1.0.0") | ||
| 2255 | (make-obsolete 'modus-operandi-theme-syntax 'modus-themes-syntax "1.0.0") | ||
| 2256 | (make-obsolete 'modus-operandi-theme-no-link-underline 'modus-themes-links "1.0.0") | ||
| 2257 | (make-obsolete 'modus-operandi-theme-links 'modus-themes-links "1.0.0") | ||
| 2258 | |||
| 2259 | ;;;;; Modus Vivendi obsolete options | ||
| 2260 | |||
| 2261 | (make-obsolete 'modus-vivendi-theme-override-colors-alist nil "1.0.0") | ||
| 2262 | (make-obsolete 'modus-vivendi-theme-slanted-constructs 'modus-themes-slanted-constructs "1.0.0") | ||
| 2263 | (make-obsolete 'modus-vivendi-theme-bold-constructs 'modus-themes-bold-constructs "1.0.0") | ||
| 2264 | (make-obsolete 'modus-vivendi-theme-proportional-fonts 'modus-themes-variable-pitch-headings "1.0.0") | ||
| 2265 | (make-obsolete 'modus-vivendi-theme-variable-pitch-headings 'modus-themes-variable-pitch-headings "1.0.0") | ||
| 2266 | (make-obsolete 'modus-vivendi-theme-no-mixed-fonts 'modus-themes-no-mixed-fonts "1.0.0") | ||
| 2267 | (make-obsolete 'modus-vivendi-theme-rainbow-headings 'modus-themes-headings "1.0.0") | ||
| 2268 | (make-obsolete 'modus-vivendi-theme-section-headings 'modus-themes-headings "1.0.0") | ||
| 2269 | (make-obsolete 'modus-vivendi-theme-headings 'modus-themes-headings "1.0.0") | ||
| 2270 | (make-obsolete 'modus-vivendi-theme-scale-headings 'modus-themes-scale-headings "1.0.0") | ||
| 2271 | (make-obsolete 'modus-vivendi-theme-scale-1 'modus-themes-scale-1 "1.0.0") | ||
| 2272 | (make-obsolete 'modus-vivendi-theme-scale-2 'modus-themes-scale-2 "1.0.0") | ||
| 2273 | (make-obsolete 'modus-vivendi-theme-scale-3 'modus-themes-scale-3 "1.0.0") | ||
| 2274 | (make-obsolete 'modus-vivendi-theme-scale-4 'modus-themes-scale-4 "1.0.0") | ||
| 2275 | (make-obsolete 'modus-vivendi-theme-scale-5 'modus-themes-scale-5 "1.0.0") | ||
| 2276 | (make-obsolete 'modus-vivendi-theme-visible-fringes 'modus-themes-fringes "1.0.0") | ||
| 2277 | (make-obsolete 'modus-vivendi-theme-fringes 'modus-themes-fringes "1.0.0") | ||
| 2278 | (make-obsolete 'modus-vivendi-theme-distinct-org-blocks 'modus-themes-org-blocks "1.0.0") | ||
| 2279 | (make-obsolete 'modus-vivendi-theme-rainbow-org-src-blocks 'modus-themes-org-blocks "1.0.0") | ||
| 2280 | (make-obsolete 'modus-vivendi-theme-org-blocks 'modus-themes-org-blocks "1.0.0") | ||
| 2281 | (make-obsolete 'modus-vivendi-theme-3d-modeline 'modus-themes-mode-line "1.0.0") | ||
| 2282 | (make-obsolete 'modus-vivendi-theme-mode-line 'modus-themes-mode-line "1.0.0") | ||
| 2283 | (make-obsolete 'modus-vivendi-theme-subtle-diffs 'modus-themes-diffs "1.0.0") | ||
| 2284 | (make-obsolete 'modus-vivendi-theme-diffs 'modus-themes-diffs "1.0.0") | ||
| 2285 | (make-obsolete 'modus-vivendi-theme-intense-standard-completions 'modus-themes-completions "1.0.0") | ||
| 2286 | (make-obsolete 'modus-vivendi-theme-completions 'modus-themes-completions "1.0.0") | ||
| 2287 | (make-obsolete 'modus-vivendi-theme-prompts 'modus-themes-prompts "1.0.0") | ||
| 2288 | (make-obsolete 'modus-vivendi-theme-intense-hl-line 'modus-themes-intense-hl-line "1.0.0") | ||
| 2289 | (make-obsolete 'modus-vivendi-theme-intense-paren-match 'modus-themes-paren-match "1.0.0") | ||
| 2290 | (make-obsolete 'modus-vivendi-theme-faint-syntax 'modus-themes-syntax "1.0.0") | ||
| 2291 | (make-obsolete 'modus-vivendi-theme-comments 'modus-themes-syntax "1.0.0") | ||
| 2292 | (make-obsolete 'modus-vivendi-theme-syntax 'modus-themes-syntax "1.0.0") | ||
| 2293 | (make-obsolete 'modus-vivendi-theme-no-link-underline 'modus-themes-links "1.0.0") | ||
| 2294 | (make-obsolete 'modus-vivendi-theme-links 'modus-themes-links "1.0.0") | ||
| 2295 | |||
| 2296 | |||
| 2297 | |||
| 2298 | ;;; Internal functions | ||
| 2299 | |||
| 2300 | (defun modus-themes--palette (theme) | ||
| 2301 | "Return color palette for Modus theme THEME. | ||
| 2302 | THEME is a symbol, either `modus-operandi' or `modus-vivendi'." | ||
| 2303 | (pcase theme | ||
| 2304 | ('modus-operandi | ||
| 2305 | (append modus-themes-operandi-color-overrides | ||
| 2306 | modus-themes-operandi-colors)) | ||
| 2307 | ('modus-vivendi | ||
| 2308 | (append modus-themes-vivendi-color-overrides | ||
| 2309 | modus-themes-vivendi-colors)) | ||
| 2310 | (_theme | ||
| 2311 | (error "'%s' is not a Modus theme" theme)))) | ||
| 2312 | |||
| 2313 | (defvar modus-themes-faces) | ||
| 2314 | (defvar modus-themes-custom-variables) | ||
| 2315 | |||
| 2316 | (defmacro modus-themes-theme (name) | ||
| 2317 | "Bind NAME's color palette around face specs and variables. | ||
| 2318 | |||
| 2319 | NAME should be the proper name of a Modus theme, either | ||
| 2320 | `modus-operandi' or `modus-vivendi'. | ||
| 2321 | |||
| 2322 | Face specifications are passed to `custom-theme-set-faces'. | ||
| 2323 | While variables are handled by `custom-theme-set-variables'. | ||
| 2324 | Those are stored in `modus-themes-faces' and | ||
| 2325 | `modus-themes-custom-variables' respectively." | ||
| 2326 | (declare (indent 0)) | ||
| 2327 | (let ((palette-sym (gensym)) | ||
| 2328 | (colors (mapcar #'car modus-themes-operandi-colors))) | ||
| 2329 | `(let* ((class '((class color) (min-colors 89))) | ||
| 2330 | (,palette-sym (modus-themes--palette ',name)) | ||
| 2331 | ,@(mapcar (lambda (color) | ||
| 2332 | (list color `(alist-get ',color ,palette-sym))) | ||
| 2333 | colors)) | ||
| 2334 | (custom-theme-set-faces ',name ,@modus-themes-faces) | ||
| 2335 | (custom-theme-set-variables ',name ,@modus-themes-custom-variables)))) | ||
| 2336 | |||
| 2337 | (defun modus-themes--current-theme () | ||
| 2338 | "Return current theme." | ||
| 2339 | (car custom-enabled-themes)) | ||
| 2340 | |||
| 2341 | ;; Helper functions that are meant to ease the implementation of the | ||
| 2342 | ;; above customization options. | ||
| 2343 | (defun modus-themes--bold-weight () | ||
| 2344 | "Conditional use of a heavier text weight." | ||
| 2345 | (when modus-themes-bold-constructs | ||
| 2346 | (list :inherit 'bold))) | ||
| 2347 | |||
| 2348 | (defun modus-themes--mixed-fonts () | ||
| 2349 | "Conditional application of `fixed-pitch' inheritance." | ||
| 2350 | (unless modus-themes-no-mixed-fonts | ||
| 2351 | (list :inherit 'fixed-pitch))) | ||
| 2352 | |||
| 2353 | (defun modus-themes--slant () | ||
| 2354 | "Conditional use of italics for slant attribute." | ||
| 2355 | (if modus-themes-slanted-constructs | ||
| 2356 | (list 'italic) | ||
| 2357 | (list 'normal))) | ||
| 2358 | |||
| 2359 | (defun modus-themes--variable-pitch () | ||
| 2360 | "Conditional use of `variable-pitch' in headings." | ||
| 2361 | (when modus-themes-variable-pitch-headings | ||
| 2362 | (list :inherit 'variable-pitch))) | ||
| 2363 | |||
| 2364 | (defun modus-themes--variable-pitch-ui () | ||
| 2365 | "Conditional use of `variable-pitch' in UI elements." | ||
| 2366 | (when modus-themes-variable-pitch-ui | ||
| 2367 | (list :inherit 'variable-pitch))) | ||
| 2368 | |||
| 2369 | (defun modus-themes--fringe (mainbg subtlebg intensebg) | ||
| 2370 | "Conditional use of background colors for fringes. | ||
| 2371 | MAINBG is the default. SUBTLEBG should be a subtle greyscale | ||
| 2372 | value. INTENSEBG must be a more pronounced greyscale color." | ||
| 2373 | (pcase modus-themes-fringes | ||
| 2374 | ('intense (list :background intensebg)) | ||
| 2375 | ('subtle (list :background subtlebg)) | ||
| 2376 | (_ (list :background mainbg)))) | ||
| 2377 | |||
| 2378 | (defun modus-themes--line-numbers (mainfg mainbg altfg &optional altbg) | ||
| 2379 | "Conditional use of colors for line numbers. | ||
| 2380 | MAINBG and MAINFG are the default colors. ALTFG is a color that | ||
| 2381 | combines with the theme's primary background (white/black)." | ||
| 2382 | (if modus-themes-subtle-line-numbers | ||
| 2383 | (list :background (or altbg 'unspecified) :foreground altfg) | ||
| 2384 | (list :background mainbg :foreground mainfg))) | ||
| 2385 | |||
| 2386 | (defun modus-themes--lang-check (underline subtlefg intensefg bg) | ||
| 2387 | "Conditional use of foreground colors for language checkers. | ||
| 2388 | UNDERLINE is a color-code value for the affected text's underline | ||
| 2389 | property. SUBTLEFG and INTENSEFG follow the same color-coding | ||
| 2390 | pattern and represent a value that is faint or vibrant | ||
| 2391 | respectively. BG is a color-coded background." | ||
| 2392 | (pcase modus-themes-lang-checkers | ||
| 2393 | ('colored-background | ||
| 2394 | (list :underline underline :background bg :foreground intensefg)) | ||
| 2395 | ('intense-foreground | ||
| 2396 | (list :underline (list :color underline :style 'wave) :foreground intensefg)) | ||
| 2397 | ('intense-foreground-straight-underline | ||
| 2398 | (list :underline underline :foreground intensefg)) | ||
| 2399 | ('subtle-foreground | ||
| 2400 | (list :underline (list :color underline :style 'wave) :foreground subtlefg)) | ||
| 2401 | ('subtle-foreground-straight-underline | ||
| 2402 | (list :underline underline :foreground subtlefg)) | ||
| 2403 | ('straight-underline | ||
| 2404 | (list :underline underline)) | ||
| 2405 | (_ (list :underline (list :color underline :style 'wave))))) | ||
| 2406 | |||
| 2407 | (defun modus-themes--prompt (mainfg subtlebg subtlefg intensebg intensefg) | ||
| 2408 | "Conditional use of background colors for prompts. | ||
| 2409 | MAINFG is the prompt's standard foreground. SUBTLEBG should be a | ||
| 2410 | subtle accented background that works with SUBTLEFG. INTENSEBG | ||
| 2411 | must be a more pronounced accented color that should be | ||
| 2412 | combinable with INTENSEFG." | ||
| 2413 | (pcase modus-themes-prompts | ||
| 2414 | ;; `subtle' is the same as `subtle-accented', while `intense' is | ||
| 2415 | ;; equal to `intense-accented' for backward compatibility | ||
| 2416 | ('intense-accented (list :background intensebg :foreground intensefg)) | ||
| 2417 | ('intense (list :background intensebg :foreground intensefg)) | ||
| 2418 | ('subtle-accented (list :background subtlebg :foreground subtlefg)) | ||
| 2419 | ('subtle (list :background subtlebg :foreground subtlefg)) | ||
| 2420 | ('subtle-gray (list :inherit 'modus-theme-subtle-neutral)) | ||
| 2421 | ('intense-gray (list :inherit 'modus-theme-intense-neutral)) | ||
| 2422 | (_ (list :background nil :foreground mainfg)))) | ||
| 2423 | |||
| 2424 | (defun modus-themes--paren (normalbg intensebg) | ||
| 2425 | "Conditional use of intense colors for matching parentheses. | ||
| 2426 | NORMALBG should be the special palette color 'bg-paren-match' or | ||
| 2427 | something similar. INTENSEBG must be easier to discern next to | ||
| 2428 | other backgrounds, such as the special palette color | ||
| 2429 | 'bg-paren-match-intense'." | ||
| 2430 | (pcase modus-themes-paren-match | ||
| 2431 | ('subtle-bold (list :inherit 'bold :background normalbg)) | ||
| 2432 | ('intense-bold (list :inherit 'bold :background intensebg)) | ||
| 2433 | ('intense (list :background intensebg)) | ||
| 2434 | (_ (list :background normalbg)))) | ||
| 2435 | |||
| 2436 | (defun modus-themes--syntax-foreground (fg faint) | ||
| 2437 | "Apply foreground value to code syntax. | ||
| 2438 | FG is the default. FAINT is typically the same color in its | ||
| 2439 | desaturated version." | ||
| 2440 | (pcase modus-themes-syntax | ||
| 2441 | ('faint (list :foreground faint)) | ||
| 2442 | ('faint-yellow-comments (list :foreground faint)) | ||
| 2443 | (_ (list :foreground fg)))) | ||
| 2444 | |||
| 2445 | (defun modus-themes--syntax-extra (fg faint alt) | ||
| 2446 | "Apply foreground value to code syntax. | ||
| 2447 | FG is the default. FAINT is typically the same color in its | ||
| 2448 | desaturated version. ALT is another hue." | ||
| 2449 | (pcase modus-themes-syntax | ||
| 2450 | ('faint (list :foreground faint)) | ||
| 2451 | ('faint-yellow-comments (list :foreground faint)) | ||
| 2452 | ('alt-syntax (list :foreground alt)) | ||
| 2453 | ('alt-syntax-yellow-comments (list :foreground alt)) | ||
| 2454 | (_ (list :foreground fg)))) | ||
| 2455 | |||
| 2456 | (defun modus-themes--syntax-string (fg faint green alt) | ||
| 2457 | "Apply foreground value to strings in code syntax. | ||
| 2458 | FG is the default. FAINT is typically the same color in its | ||
| 2459 | desaturated version. GREEN is a color variant in that side of | ||
| 2460 | the spectrum. ALT is another hue." | ||
| 2461 | (pcase modus-themes-syntax | ||
| 2462 | ('faint (list :foreground faint)) | ||
| 2463 | ('faint-yellow-comments (list :foreground faint)) | ||
| 2464 | ('green-strings (list :foreground green)) | ||
| 2465 | ('yellow-comments-green-strings (list :foreground alt)) | ||
| 2466 | ('alt-syntax (list :foreground alt)) | ||
| 2467 | ('alt-syntax-yellow-comments (list :foreground alt)) | ||
| 2468 | (_ (list :foreground fg)))) | ||
| 2469 | |||
| 2470 | (defun modus-themes--syntax-docstring (fg faint green alt) | ||
| 2471 | "Apply foreground value to strings in code syntax. | ||
| 2472 | FG is the default. FAINT is typically the same color in its | ||
| 2473 | desaturated version. GREEN is a color variant in that side of | ||
| 2474 | the spectrum. ALT is another hue." | ||
| 2475 | (pcase modus-themes-syntax | ||
| 2476 | ('faint (list :foreground faint)) | ||
| 2477 | ('faint-yellow-comments (list :foreground faint)) | ||
| 2478 | ('green-strings (list :foreground green)) | ||
| 2479 | ('yellow-comments-green-strings (list :foreground green)) | ||
| 2480 | ('alt-syntax (list :foreground alt)) | ||
| 2481 | ('alt-syntax-yellow-comments (list :foreground alt)) | ||
| 2482 | (_ (list :foreground fg)))) | ||
| 2483 | |||
| 2484 | (defun modus-themes--syntax-comment (fg yellow) | ||
| 2485 | "Apply foreground value to strings in code syntax. | ||
| 2486 | FG is the default. YELLOW is a color variant of that name." | ||
| 2487 | (pcase modus-themes-syntax | ||
| 2488 | ('yellow-comments (list :foreground yellow)) | ||
| 2489 | ('yellow-comments-green-strings (list :foreground yellow)) | ||
| 2490 | ('alt-syntax-yellow-comments (list :foreground yellow)) | ||
| 2491 | ('faint-yellow-comments (list :foreground yellow)) | ||
| 2492 | (_ (list :foreground fg)))) | ||
| 2493 | |||
| 2494 | (defun modus-themes--heading-p (key) | ||
| 2495 | "Query style of KEY in `modus-themes-headings'." | ||
| 2496 | (cdr (assoc key modus-themes-headings))) | ||
| 2497 | |||
| 2498 | (defun modus-themes--heading (level fg fg-alt bg border) | ||
| 2499 | "Conditional styles for `modus-themes-headings'. | ||
| 2500 | |||
| 2501 | LEVEL is the heading's position in their order. FG is the | ||
| 2502 | default text color. FG-ALT is an accented, more saturated value | ||
| 2503 | than the default. BG is a nuanced, typically accented, | ||
| 2504 | background that can work well with either of the foreground | ||
| 2505 | values. BORDER is a color value that combines well with the | ||
| 2506 | background and alternative foreground." | ||
| 2507 | (let* ((key (modus-themes--heading-p `,level)) | ||
| 2508 | (style (or key (modus-themes--heading-p t))) | ||
| 2509 | (var (when modus-themes-variable-pitch-headings | ||
| 2510 | 'variable-pitch)) | ||
| 2511 | (varbold (if var | ||
| 2512 | (append (list 'bold) (list var)) | ||
| 2513 | 'bold))) | ||
| 2514 | (pcase style | ||
| 2515 | ('no-bold | ||
| 2516 | (list :inherit `,var :foreground fg)) | ||
| 2517 | ('no-color | ||
| 2518 | (list :inherit `,varbold)) | ||
| 2519 | ('no-color-no-bold | ||
| 2520 | (list :inherit `,var)) | ||
| 2521 | ('line | ||
| 2522 | (list :inherit `,varbold :foreground fg :overline border)) | ||
| 2523 | ('line-no-bold | ||
| 2524 | (list :inherit `,var :foreground fg :overline border)) | ||
| 2525 | ('rainbow | ||
| 2526 | (list :inherit `,varbold :foreground fg-alt)) | ||
| 2527 | ('rainbow-no-bold | ||
| 2528 | (list :inherit `,var :foreground fg-alt)) | ||
| 2529 | ('rainbow-line | ||
| 2530 | (list :inherit `,varbold :foreground fg-alt :overline border)) | ||
| 2531 | ('rainbow-line-no-bold | ||
| 2532 | (list :inherit `,var :foreground fg-alt :overline border)) | ||
| 2533 | ('highlight | ||
| 2534 | (list :inherit `,varbold :background bg :foreground fg)) | ||
| 2535 | ('highlight-no-bold | ||
| 2536 | (list :inherit `,var :background bg :foreground fg)) | ||
| 2537 | ('rainbow-highlight | ||
| 2538 | (list :inherit `,varbold :background bg :foreground fg-alt)) | ||
| 2539 | ('rainbow-highlight-no-bold | ||
| 2540 | (list :inherit `,var :background bg :foreground fg-alt)) | ||
| 2541 | ('section | ||
| 2542 | (list :inherit `,varbold :background bg :foreground fg :overline border :extend t)) | ||
| 2543 | ('section-no-bold | ||
| 2544 | (list :inherit `,var :background bg :foreground fg :overline border :extend t)) | ||
| 2545 | ('rainbow-section | ||
| 2546 | (list :inherit `,varbold :background bg :foreground fg-alt :overline border :extend t)) | ||
| 2547 | ('rainbow-section-no-bold | ||
| 2548 | (list :inherit `,var :background bg :foreground fg-alt :overline border :extend t)) | ||
| 2549 | (_ | ||
| 2550 | (list :inherit `,varbold :foreground fg))))) | ||
| 2551 | |||
| 2552 | (defun modus-themes--org-block (bgblk) | ||
| 2553 | "Conditionally set the background of Org blocks. | ||
| 2554 | BGBLK applies to a distinct neutral background. Else blocks have | ||
| 2555 | no background of their own (the default), so they look the same | ||
| 2556 | as the rest of the buffer. | ||
| 2557 | |||
| 2558 | `modus-themes-org-blocks' also accepts a `rainbow' option | ||
| 2559 | which is applied conditionally to `org-src-block-faces' (see the | ||
| 2560 | theme's source code)." | ||
| 2561 | (if (or (eq modus-themes-org-blocks 'grayscale) | ||
| 2562 | (eq modus-themes-org-blocks 'greyscale)) | ||
| 2563 | (list :background bgblk :extend t) | ||
| 2564 | (list :background 'unspecified))) | ||
| 2565 | |||
| 2566 | (defun modus-themes--org-block-delim (bgaccent fgaccent bg fg) | ||
| 2567 | "Conditionally set the styles of Org block delimiters. | ||
| 2568 | BG, FG, BGACCENT, FGACCENT apply a background and foreground | ||
| 2569 | color respectively. | ||
| 2570 | |||
| 2571 | The former pair is a greyscale combination that should be more | ||
| 2572 | distinct than the background of the block. It is applied to the | ||
| 2573 | default styles or when `modus-themes-org-blocks' is set | ||
| 2574 | to `greyscale'. | ||
| 2575 | |||
| 2576 | The latter pair should be more subtle than the background of the | ||
| 2577 | block, as it is used when `modus-themes-org-blocks' is | ||
| 2578 | set to `rainbow'." | ||
| 2579 | (pcase modus-themes-org-blocks | ||
| 2580 | ('grayscale (list :background bg :foreground fg :extend t)) | ||
| 2581 | ('greyscale (list :background bg :foreground fg :extend t)) | ||
| 2582 | ('rainbow (list :background bgaccent :foreground fgaccent)) | ||
| 2583 | (_ (list :background bg :foreground fg)))) | ||
| 2584 | |||
| 2585 | (defun modus-themes--org-habit (default &optional traffic simple) | ||
| 2586 | "Specify background values for `modus-themes-org-habit'. | ||
| 2587 | If no optional TRAFFIC argument is supplied, the DEFAULT is used | ||
| 2588 | instead. Same for SIMPLE." | ||
| 2589 | (pcase modus-themes-org-habit | ||
| 2590 | ('traffic-light (list :background (or traffic default))) | ||
| 2591 | ('simplified (list :background (or simple default))) | ||
| 2592 | (_ (list :background default)))) | ||
| 2593 | |||
| 2594 | (defun modus-themes--mode-line-attrs | ||
| 2595 | (fg bg fg-alt bg-alt border border-3d &optional alt-style border-width fg-distant) | ||
| 2596 | "Color combinations for `modus-themes-mode-line'. | ||
| 2597 | |||
| 2598 | FG and BG are the default colors. FG-ALT and BG-ALT are meant to | ||
| 2599 | accommodate the options for a 3D modeline or a `moody' compliant | ||
| 2600 | one. BORDER applies to all permutations of the modeline, except | ||
| 2601 | the three-dimensional effect, where BORDER-3D is used instead. | ||
| 2602 | |||
| 2603 | Optional ALT-STYLE applies an appropriate style to the mode | ||
| 2604 | line's box property. | ||
| 2605 | |||
| 2606 | Optional BORDER-WIDTH specifies an integer for the width of the | ||
| 2607 | rectangle that produces the box effect. | ||
| 2608 | |||
| 2609 | Optional FG-DISTANT should be close to the main background | ||
| 2610 | values. It is intended to be used as a distant-foreground | ||
| 2611 | property." | ||
| 2612 | (pcase modus-themes-mode-line | ||
| 2613 | ('3d | ||
| 2614 | `(:background ,bg-alt :foreground ,fg-alt | ||
| 2615 | :box (:line-width ,(or border-width 1) | ||
| 2616 | :color ,border-3d | ||
| 2617 | :style ,(and alt-style 'released-button)))) | ||
| 2618 | ('moody | ||
| 2619 | `(:background ,bg-alt :foreground ,fg-alt | ||
| 2620 | :underline ,border :overline ,border | ||
| 2621 | :distant-foreground ,fg-distant)) | ||
| 2622 | ('borderless | ||
| 2623 | `(:foreground ,fg :background ,bg :box ,bg)) | ||
| 2624 | ('borderless-3d | ||
| 2625 | `(:foreground ,fg :background ,bg | ||
| 2626 | :box (:line-width ,(or border-width 1) | ||
| 2627 | :color ,bg | ||
| 2628 | :style ,(and alt-style 'released-button)))) | ||
| 2629 | ('borderless-moody | ||
| 2630 | `(:background ,bg :foreground ,fg | ||
| 2631 | :underline ,bg :overline ,bg | ||
| 2632 | :distant-foreground ,fg-distant)) | ||
| 2633 | (_ | ||
| 2634 | `(:foreground ,fg :background ,bg :box ,border)))) | ||
| 2635 | |||
| 2636 | (defun modus-themes--diff | ||
| 2637 | (fg-only-bg fg-only-fg mainbg mainfg altbg altfg &optional deuteranbg deuteranfg bg-only-fg) | ||
| 2638 | "Color combinations for `modus-themes-diffs'. | ||
| 2639 | |||
| 2640 | FG-ONLY-BG should be similar or the same as the main background. | ||
| 2641 | FG-ONLY-FG should be a saturated accent value that can be | ||
| 2642 | combined with the former. | ||
| 2643 | |||
| 2644 | MAINBG must be one of the dedicated backgrounds for diffs while | ||
| 2645 | MAINFG must be the same for the foreground. | ||
| 2646 | |||
| 2647 | ALTBG needs to be a slightly accented background that is meant to | ||
| 2648 | be combined with ALTFG. Both must be less intense than MAINBG | ||
| 2649 | and MAINFG respectively. | ||
| 2650 | |||
| 2651 | DEUTERANBG and DEUTERANFG must be combinations of colors that account | ||
| 2652 | for red-green color defficiency (deuteranopia). | ||
| 2653 | |||
| 2654 | Optional BG-ONLY-FG applies ALTFG else leaves the foreground | ||
| 2655 | unspecified." | ||
| 2656 | (pcase modus-themes-diffs | ||
| 2657 | ('fg-only (list :background fg-only-bg :foreground fg-only-fg)) | ||
| 2658 | ('desaturated (list :background altbg :foreground altfg)) | ||
| 2659 | ('deuteranopia (list :background (or deuteranbg mainbg) :foreground (or deuteranfg mainfg))) | ||
| 2660 | ('bg-only (list :background altbg :foreground (if bg-only-fg altfg 'unspecified))) | ||
| 2661 | (_ (list :background mainbg :foreground mainfg)))) | ||
| 2662 | |||
| 2663 | (defun modus-themes--diff-deuteran (deuteran main) | ||
| 2664 | "Determine whether the DEUTERAN or MAIN color should be used. | ||
| 2665 | This is based on whether `modus-themes-diffs' has the value | ||
| 2666 | `deuteranopia'." | ||
| 2667 | (if (eq modus-themes-diffs 'deuteranopia) | ||
| 2668 | (list deuteran) | ||
| 2669 | (list main))) | ||
| 2670 | |||
| 2671 | (defun modus-themes--diff-text (fg-only-fg default-fg) | ||
| 2672 | "Like `modus-themes--diff', but only for foregrounds. | ||
| 2673 | FG-ONLY-FG is the foreground that is used when diffs are styled | ||
| 2674 | using only foreground colors. DEFAULT-FG covers all other | ||
| 2675 | cases." | ||
| 2676 | (pcase modus-themes-diffs | ||
| 2677 | ('fg-only (list :foreground fg-only-fg)) | ||
| 2678 | ('bg-only (list :foreground 'unspecified)) | ||
| 2679 | (_ (list :foreground default-fg)))) | ||
| 2680 | |||
| 2681 | (defun modus-themes--standard-completions (mainfg subtlebg intensebg intensefg) | ||
| 2682 | "Combinations for `modus-themes-completions'. | ||
| 2683 | |||
| 2684 | MAINFG is an accented foreground value. SUBTLEBG is an accented | ||
| 2685 | background value that can be combined with MAINFG. INTENSEBG and | ||
| 2686 | INTENSEFG are accented colors that are designed to be used in | ||
| 2687 | tandem. | ||
| 2688 | |||
| 2689 | These are intended for Icomplete, Ido, and related." | ||
| 2690 | (pcase modus-themes-completions | ||
| 2691 | ('opinionated (list :background intensebg :foreground intensefg)) | ||
| 2692 | ('moderate (list :background subtlebg :foreground mainfg)) | ||
| 2693 | (_ (list :foreground mainfg)))) | ||
| 2694 | |||
| 2695 | (defun modus-themes--extra-completions (subtleface intenseface altface &optional altfg bold) | ||
| 2696 | "Combinations for `modus-themes-completions'. | ||
| 2697 | |||
| 2698 | SUBTLEFACE and INTENSEFACE are custom theme faces that combine a | ||
| 2699 | background and foreground value. The difference between the two | ||
| 2700 | is a matter of degree. | ||
| 2701 | |||
| 2702 | ALTFACE is a combination of colors that represents a departure | ||
| 2703 | from the UI's default aesthetics. Optional ALTFG is meant to be | ||
| 2704 | used in tandem with it. | ||
| 2705 | |||
| 2706 | Optional BOLD will apply a heavier weight to the text. | ||
| 2707 | |||
| 2708 | These are intended for Helm, Ivy, etc." | ||
| 2709 | (pcase modus-themes-completions | ||
| 2710 | ('opinionated (list :inherit (list altface bold) | ||
| 2711 | :foreground (or altfg 'unspecified))) | ||
| 2712 | ('moderate (list :inherit (list subtleface bold))) | ||
| 2713 | (_ (list :inherit (list intenseface bold))))) | ||
| 2714 | |||
| 2715 | (defun modus-themes--link (fg fgfaint underline) | ||
| 2716 | "Conditional application of link styles. | ||
| 2717 | FG is the link's default color for its text and underline | ||
| 2718 | property. FGFAINT is a desaturated color for the text and | ||
| 2719 | underline. UNDERLINE is a grey color only for the undeline." | ||
| 2720 | (pcase modus-themes-links | ||
| 2721 | ('faint (list :foreground fgfaint :underline t)) | ||
| 2722 | ('neutral-underline (list :foreground fg :underline underline)) | ||
| 2723 | ('faint-neutral-underline (list :foreground fgfaint :underline underline)) | ||
| 2724 | ('no-underline (list :foreground fg :underline nil)) | ||
| 2725 | ('underline-only (list :underline t)) | ||
| 2726 | ('neutral-underline-only (list :underline underline)) | ||
| 2727 | (_ (list :foreground fg :underline t)))) | ||
| 2728 | |||
| 2729 | (defun modus-themes--link-color (fg fgfaint &optional neutralfg) | ||
| 2730 | "Extends `modus-themes--link'. | ||
| 2731 | FG is the main accented foreground. FGFAINT is also accented, | ||
| 2732 | yet desaturated. Optional NEUTRALFG is a gray value." | ||
| 2733 | (pcase modus-themes-links | ||
| 2734 | ('faint (list :foreground fgfaint)) | ||
| 2735 | ('faint-neutral-underline (list :foreground fgfaint)) | ||
| 2736 | ('underline-only (list :underline t :foreground (or neutralfg 'unspecified))) | ||
| 2737 | ('neutral-underline-only (list :underline 'unspecified :foreground (or neutralfg 'unspecified))) | ||
| 2738 | (_ (list :foreground fg)))) | ||
| 2739 | |||
| 2740 | (defun modus-themes--scale (amount) | ||
| 2741 | "Scale heading by AMOUNT. | ||
| 2742 | AMOUNT is a customization option." | ||
| 2743 | (when modus-themes-scale-headings | ||
| 2744 | (list :height amount))) | ||
| 2745 | |||
| 2746 | (defun modus-themes--region (bg fg bgsubtle) | ||
| 2747 | "Apply `modus-themes-region' styles. | ||
| 2748 | |||
| 2749 | BG and FG are the main values that are used by default. BGSUBTLE | ||
| 2750 | is a subtle background value that can be combined with all colors | ||
| 2751 | used to fontify text and code syntax." | ||
| 2752 | (pcase modus-themes-region | ||
| 2753 | ('bg-only (list :background bgsubtle)) | ||
| 2754 | ('bg-only-no-extend (list :background bgsubtle :extend nil)) | ||
| 2755 | ('no-extend (list :background bg :foreground fg :extend nil)) | ||
| 2756 | (_ (list :background bg :foreground fg)))) | ||
| 2757 | |||
| 2758 | |||
| 2759 | |||
| 2760 | ;;;; Utilities for DIY users | ||
| 2761 | |||
| 2762 | ;; This is the WCAG formula: https://www.w3.org/TR/WCAG20-TECHS/G18.html | ||
| 2763 | (defun modus-themes-wcag-formula (hex) | ||
| 2764 | "Get WCAG value of color value HEX. | ||
| 2765 | The value is defined in hexadecimal RGB notation, such as those in | ||
| 2766 | `modus-themes-operandi-colors' and `modus-themes-vivendi-colors'." | ||
| 2767 | (cl-loop for k in '(0.2126 0.7152 0.0722) | ||
| 2768 | for x in (color-name-to-rgb hex) | ||
| 2769 | sum (* k (if (<= x 0.03928) | ||
| 2770 | (/ x 12.92) | ||
| 2771 | (expt (/ (+ x 0.055) 1.055) 2.4))))) | ||
| 2772 | |||
| 2773 | ;;;###autoload | ||
| 2774 | (defun modus-themes-contrast (c1 c2) | ||
| 2775 | "Measure WCAG contrast ratio between C1 and C2. | ||
| 2776 | C1 and C2 are color values written in hexadecimal RGB." | ||
| 2777 | (let ((ct (/ (+ (modus-themes-wcag-formula c1) 0.05) | ||
| 2778 | (+ (modus-themes-wcag-formula c2) 0.05)))) | ||
| 2779 | (max ct (/ ct)))) | ||
| 2780 | |||
| 2781 | (defun modus-themes-current-palette () | ||
| 2782 | "Return current color palette." | ||
| 2783 | (modus-themes--palette (modus-themes--current-theme))) | ||
| 2784 | |||
| 2785 | ;;;###autoload | ||
| 2786 | (defun modus-themes-color (color) | ||
| 2787 | "Return color value for COLOR from current palette. | ||
| 2788 | COLOR is a key in `modus-themes-operandi-colors' or | ||
| 2789 | `modus-themes-vivendi-colors'." | ||
| 2790 | (alist-get color (modus-themes-current-palette))) | ||
| 2791 | |||
| 2792 | ;;;###autoload | ||
| 2793 | (defun modus-themes-color-alts (light-color dark-color) | ||
| 2794 | "Return color value from current palette. | ||
| 2795 | When Modus Operandi is enabled, return color value for color | ||
| 2796 | LIGHT-COLOR. When Modus Vivendi is enabled, return color value | ||
| 2797 | for DARK-COLOR. LIGHT-COLOR and DARK-COLOR are keys in | ||
| 2798 | `modus-themes-operandi-colors' or `modus-themes-vivendi-colors'." | ||
| 2799 | (let* ((theme (modus-themes--current-theme)) | ||
| 2800 | (color (pcase theme | ||
| 2801 | ('modus-operandi light-color) | ||
| 2802 | ('modus-vivendi dark-color) | ||
| 2803 | (_theme | ||
| 2804 | (error "'%s' is not a Modus theme" theme))))) | ||
| 2805 | (alist-get color (modus-themes--palette theme)))) | ||
| 2806 | |||
| 2807 | (defmacro modus-themes-with-colors (&rest body) | ||
| 2808 | "Evaluate BODY with colors from current palette bound. | ||
| 2809 | For colors bound, see `modus-themes-operandi-colors' or | ||
| 2810 | `modus-themes-vivendi-colors'." | ||
| 2811 | (declare (indent 0)) | ||
| 2812 | (let ((palette-sym (gensym)) | ||
| 2813 | (colors (mapcar #'car modus-themes-operandi-colors))) | ||
| 2814 | `(let* ((class '((class color) (min-colors 89))) | ||
| 2815 | (,palette-sym (modus-themes-current-palette)) | ||
| 2816 | ,@(mapcar (lambda (color) | ||
| 2817 | (list color `(alist-get ',color ,palette-sym))) | ||
| 2818 | colors)) | ||
| 2819 | (ignore class ,@colors) ; Silence unused variable warnings | ||
| 2820 | ,@body))) | ||
| 2821 | |||
| 2822 | |||
| 2823 | |||
| 2824 | ;;;; Commands | ||
| 2825 | |||
| 2826 | ;;;###autoload | ||
| 2827 | (defun modus-themes-load-themes () | ||
| 2828 | "Ensure that the Modus themes are in `custom-enabled-themes'. | ||
| 2829 | |||
| 2830 | This function is intended for use in package declarations such as | ||
| 2831 | those defined with the help of `use-package'. The idea is to add | ||
| 2832 | this function to the `:init' stage of the package's loading, so | ||
| 2833 | that subsequent calls that assume the presence of a loaded theme, | ||
| 2834 | like `modus-themes-toggle' or `modus-themes-load-operandi', will | ||
| 2835 | continue to work as intended even if they are lazy-loaded (such | ||
| 2836 | as when they are declared in the `:config' phase)." | ||
| 2837 | (unless (or (custom-theme-p 'modus-operandi) | ||
| 2838 | (custom-theme-p 'modus-vivendi)) | ||
| 2839 | (load-theme 'modus-operandi t t) | ||
| 2840 | (load-theme 'modus-vivendi t t))) | ||
| 2841 | |||
| 2842 | (defvar modus-themes-after-load-theme-hook nil | ||
| 2843 | "Hook that runs after the `modus-themes-toggle' routines.") | ||
| 2844 | |||
| 2845 | ;; The reason we use `load-theme' instead of `enable-theme' is that the | ||
| 2846 | ;; former does a kind of "reset" on the face specs. So it plays nicely | ||
| 2847 | ;; with `custom-set-faces', as well as defcustom user customizations, | ||
| 2848 | ;; including the likes of `modus-themes-operandi-color-overrides'. | ||
| 2849 | ;; | ||
| 2850 | ;; Tests show that `enable-theme' does not re-read those variables, so | ||
| 2851 | ;; it might appear to the unsuspecting user that the themes are somehow | ||
| 2852 | ;; broken. | ||
| 2853 | ;; | ||
| 2854 | ;; This "reset", however, comes at the cost of being a bit slower than | ||
| 2855 | ;; `enable-theme'. User who have a stable setup and seldom update their | ||
| 2856 | ;; variables during a given Emacs session, are better off using | ||
| 2857 | ;; something like this: | ||
| 2858 | ;; | ||
| 2859 | ;; (defun modus-themes-toggle-enabled () | ||
| 2860 | ;; "Toggle between `modus-operandi' and `modus-vivendi' themes." | ||
| 2861 | ;; (interactive) | ||
| 2862 | ;; (pcase (modus-themes--current-theme) | ||
| 2863 | ;; ('modus-operandi (progn (enable-theme 'modus-vivendi) | ||
| 2864 | ;; (disable-theme 'modus-operandi))) | ||
| 2865 | ;; ('modus-vivendi (progn (enable-theme 'modus-operandi) | ||
| 2866 | ;; (disable-theme 'modus-vivendi))) | ||
| 2867 | ;; (_ (error "No Modus theme is loaded; evaluate `modus-themes-load-themes' first")))) | ||
| 2868 | |||
| 2869 | ;;;###autoload | ||
| 2870 | (defun modus-themes-load-operandi () | ||
| 2871 | "Load `modus-operandi' and disable `modus-vivendi'. | ||
| 2872 | Also run `modus-themes-after-load-theme-hook'." | ||
| 2873 | (disable-theme 'modus-vivendi) | ||
| 2874 | (load-theme 'modus-operandi t) | ||
| 2875 | (run-hooks 'modus-themes-after-load-theme-hook)) | ||
| 2876 | |||
| 2877 | ;;;###autoload | ||
| 2878 | (defun modus-themes-load-vivendi () | ||
| 2879 | "Load `modus-vivendi' and disable `modus-operandi'. | ||
| 2880 | Also run `modus-themes-after-load-theme-hook'." | ||
| 2881 | (disable-theme 'modus-operandi) | ||
| 2882 | (load-theme 'modus-vivendi t) | ||
| 2883 | (run-hooks 'modus-themes-after-load-theme-hook)) | ||
| 2884 | |||
| 2885 | (defun modus-themes--load-prompt () | ||
| 2886 | "Helper for `modus-themes-toggle'." | ||
| 2887 | (let ((theme | ||
| 2888 | (intern | ||
| 2889 | (completing-read "Load Modus theme (will disable all others): " | ||
| 2890 | '(modus-operandi modus-vivendi) nil t)))) | ||
| 2891 | (mapc #'disable-theme custom-enabled-themes) | ||
| 2892 | (pcase theme | ||
| 2893 | ('modus-operandi (modus-themes-load-operandi)) | ||
| 2894 | ('modus-vivendi (modus-themes-load-vivendi))))) | ||
| 2895 | |||
| 2896 | ;;;###autoload | ||
| 2897 | (defun modus-themes-toggle () | ||
| 2898 | "Toggle between `modus-operandi' and `modus-vivendi' themes. | ||
| 2899 | Also runs `modus-themes-after-load-theme-hook' at its last stage | ||
| 2900 | by virtue of calling either of `modus-themes-load-operandi' and | ||
| 2901 | `modus-themes-load-vivendi' functions." | ||
| 2902 | (interactive) | ||
| 2903 | (modus-themes-load-themes) | ||
| 2904 | (pcase (modus-themes--current-theme) | ||
| 2905 | ('modus-operandi (modus-themes-load-vivendi)) | ||
| 2906 | ('modus-vivendi (modus-themes-load-operandi)) | ||
| 2907 | (_ (modus-themes--load-prompt)))) | ||
| 2908 | |||
| 2909 | |||
| 2910 | |||
| 2911 | ;;;; Face specifications | ||
| 2912 | |||
| 2913 | (defconst modus-themes-faces | ||
| 2914 | '( | ||
| 2915 | ;;;; custom faces | ||
| 2916 | ;; these bespoke faces are inherited by other constructs below | ||
| 2917 | ;;;;; subtle colored backgrounds | ||
| 2918 | `(modus-theme-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim))) | ||
| 2919 | `(modus-theme-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim))) | ||
| 2920 | `(modus-theme-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim))) | ||
| 2921 | `(modus-theme-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) | ||
| 2922 | `(modus-theme-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim))) | ||
| 2923 | `(modus-theme-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim))) | ||
| 2924 | `(modus-theme-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 2925 | ;;;;; intense colored backgrounds | ||
| 2926 | `(modus-theme-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main))) | ||
| 2927 | `(modus-theme-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main))) | ||
| 2928 | `(modus-theme-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main))) | ||
| 2929 | `(modus-theme-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main))) | ||
| 2930 | `(modus-theme-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main))) | ||
| 2931 | `(modus-theme-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main))) | ||
| 2932 | `(modus-theme-intense-neutral ((,class :background ,bg-active :foreground ,fg-main))) | ||
| 2933 | ;;;;; refined background and foreground combinations | ||
| 2934 | ;; general purpose styles that use an accented foreground against an | ||
| 2935 | ;; accented background | ||
| 2936 | `(modus-theme-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg))) | ||
| 2937 | `(modus-theme-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg))) | ||
| 2938 | `(modus-theme-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg))) | ||
| 2939 | `(modus-theme-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg))) | ||
| 2940 | `(modus-theme-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg))) | ||
| 2941 | `(modus-theme-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg))) | ||
| 2942 | ;;;;; "active" combinations, mostly for use on the mode line | ||
| 2943 | `(modus-theme-active-red ((,class :background ,red-active :foreground ,bg-active))) | ||
| 2944 | `(modus-theme-active-green ((,class :background ,green-active :foreground ,bg-active))) | ||
| 2945 | `(modus-theme-active-yellow ((,class :background ,yellow-active :foreground ,bg-active))) | ||
| 2946 | `(modus-theme-active-blue ((,class :background ,blue-active :foreground ,bg-active))) | ||
| 2947 | `(modus-theme-active-magenta ((,class :background ,magenta-active :foreground ,bg-active))) | ||
| 2948 | `(modus-theme-active-cyan ((,class :background ,cyan-active :foreground ,bg-active))) | ||
| 2949 | ;;;;; nuanced backgrounds | ||
| 2950 | ;; useful for adding an accented background that is suitable for all | ||
| 2951 | ;; main foreground colors (intended for use in Org source blocks) | ||
| 2952 | `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg :extend t))) | ||
| 2953 | `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg :extend t))) | ||
| 2954 | `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg :extend t))) | ||
| 2955 | `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg :extend t))) | ||
| 2956 | `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg :extend t))) | ||
| 2957 | `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg :extend t))) | ||
| 2958 | ;;;;; fringe-specific combinations | ||
| 2959 | `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main))) | ||
| 2960 | `(modus-theme-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main))) | ||
| 2961 | `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main))) | ||
| 2962 | `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main))) | ||
| 2963 | `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main))) | ||
| 2964 | `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main))) | ||
| 2965 | ;;;;; special base values | ||
| 2966 | ;; these are closer to the grayscale than the accents defined above | ||
| 2967 | ;; and should only be used when the next closest alternative would be | ||
| 2968 | ;; a greyscale value than an accented one | ||
| 2969 | `(modus-theme-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 2970 | `(modus-theme-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild))) | ||
| 2971 | `(modus-theme-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm))) | ||
| 2972 | `(modus-theme-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm))) | ||
| 2973 | ;;;;; diff-specific combinations | ||
| 2974 | ;; intended for `diff-mode' or equivalent | ||
| 2975 | `(modus-theme-diff-added | ||
| 2976 | ((,class ,@(modus-themes--diff | ||
| 2977 | bg-main green | ||
| 2978 | bg-diff-focus-added fg-diff-focus-added | ||
| 2979 | green-nuanced-bg fg-diff-added | ||
| 2980 | bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) | ||
| 2981 | `(modus-theme-diff-changed | ||
| 2982 | ((,class ,@(modus-themes--diff | ||
| 2983 | bg-main yellow | ||
| 2984 | bg-diff-focus-changed fg-diff-focus-changed | ||
| 2985 | yellow-nuanced-bg fg-diff-changed)))) | ||
| 2986 | `(modus-theme-diff-removed | ||
| 2987 | ((,class ,@(modus-themes--diff | ||
| 2988 | bg-main red | ||
| 2989 | bg-diff-focus-removed fg-diff-focus-removed | ||
| 2990 | red-nuanced-bg fg-diff-removed)))) | ||
| 2991 | `(modus-theme-diff-refine-added | ||
| 2992 | ((,class ,@(modus-themes--diff | ||
| 2993 | bg-diff-added fg-diff-added | ||
| 2994 | bg-diff-refine-added fg-diff-refine-added | ||
| 2995 | bg-diff-focus-added fg-diff-focus-added | ||
| 2996 | bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran)))) | ||
| 2997 | `(modus-theme-diff-refine-changed | ||
| 2998 | ((,class ,@(modus-themes--diff | ||
| 2999 | bg-diff-changed fg-diff-changed | ||
| 3000 | bg-diff-refine-changed fg-diff-refine-changed | ||
| 3001 | bg-diff-focus-changed fg-diff-focus-changed)))) | ||
| 3002 | `(modus-theme-diff-refine-removed | ||
| 3003 | ((,class ,@(modus-themes--diff | ||
| 3004 | bg-diff-removed fg-diff-removed | ||
| 3005 | bg-diff-refine-removed fg-diff-refine-removed | ||
| 3006 | bg-diff-focus-removed fg-diff-focus-removed)))) | ||
| 3007 | `(modus-theme-diff-focus-added | ||
| 3008 | ((,class ,@(modus-themes--diff | ||
| 3009 | bg-dim green | ||
| 3010 | bg-diff-focus-added fg-diff-focus-added | ||
| 3011 | bg-diff-added fg-diff-added | ||
| 3012 | bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) | ||
| 3013 | `(modus-theme-diff-focus-changed | ||
| 3014 | ((,class ,@(modus-themes--diff | ||
| 3015 | bg-dim yellow | ||
| 3016 | bg-diff-focus-changed fg-diff-focus-changed | ||
| 3017 | bg-diff-changed fg-diff-changed)))) | ||
| 3018 | `(modus-theme-diff-focus-removed | ||
| 3019 | ((,class ,@(modus-themes--diff | ||
| 3020 | bg-dim red | ||
| 3021 | bg-diff-focus-removed fg-diff-focus-removed | ||
| 3022 | bg-diff-removed fg-diff-removed)))) | ||
| 3023 | `(modus-theme-diff-heading | ||
| 3024 | ((,class ,@(modus-themes--diff | ||
| 3025 | bg-main blue | ||
| 3026 | bg-diff-heading fg-diff-heading | ||
| 3027 | cyan-nuanced-bg cyan-nuanced-fg | ||
| 3028 | bg-header fg-main | ||
| 3029 | t)))) | ||
| 3030 | ;;;;; mark indicators | ||
| 3031 | ;; color combinations intended for Dired, Ibuffer, or equivalent | ||
| 3032 | `(modus-theme-pseudo-header ((,class :inherit bold :foreground ,fg-main))) | ||
| 3033 | `(modus-theme-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt))) | ||
| 3034 | `(modus-theme-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del))) | ||
| 3035 | `(modus-theme-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel))) | ||
| 3036 | `(modus-theme-mark-symbol ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3037 | ;;;;; heading levels | ||
| 3038 | ;; styles for regular headings used in Org, Markdown, Info, etc. | ||
| 3039 | `(modus-theme-heading-1 | ||
| 3040 | ((,class ,@(modus-themes--heading | ||
| 3041 | 1 fg-main magenta-alt-other magenta-nuanced-bg bg-region) | ||
| 3042 | ,@(modus-themes--scale modus-themes-scale-4)))) | ||
| 3043 | `(modus-theme-heading-2 | ||
| 3044 | ((,class ,@(modus-themes--heading | ||
| 3045 | 2 fg-special-warm magenta-alt red-nuanced-bg bg-region) | ||
| 3046 | ,@(modus-themes--scale modus-themes-scale-3)))) | ||
| 3047 | `(modus-theme-heading-3 | ||
| 3048 | ((,class ,@(modus-themes--heading | ||
| 3049 | 3 fg-special-cold blue blue-nuanced-bg bg-region) | ||
| 3050 | ,@(modus-themes--scale modus-themes-scale-2)))) | ||
| 3051 | `(modus-theme-heading-4 | ||
| 3052 | ((,class ,@(modus-themes--heading | ||
| 3053 | 4 fg-special-mild cyan cyan-nuanced-bg bg-region) | ||
| 3054 | ,@(modus-themes--scale modus-themes-scale-1)))) | ||
| 3055 | `(modus-theme-heading-5 | ||
| 3056 | ((,class ,@(modus-themes--heading | ||
| 3057 | 5 fg-special-calm green-alt-other green-nuanced-bg bg-region)))) | ||
| 3058 | `(modus-theme-heading-6 | ||
| 3059 | ((,class ,@(modus-themes--heading | ||
| 3060 | 6 yellow-nuanced-fg yellow-alt-other yellow-nuanced-bg bg-region)))) | ||
| 3061 | `(modus-theme-heading-7 | ||
| 3062 | ((,class ,@(modus-themes--heading | ||
| 3063 | 7 red-nuanced-fg red-alt red-nuanced-bg bg-region)))) | ||
| 3064 | `(modus-theme-heading-8 | ||
| 3065 | ((,class ,@(modus-themes--heading | ||
| 3066 | 8 fg-dim magenta bg-alt bg-region)))) | ||
| 3067 | ;;;;; graph-specific faces | ||
| 3068 | `(modus-theme-graph-red-0 ((,class :background ,red-graph-0-bg))) | ||
| 3069 | `(modus-theme-graph-red-1 ((,class :background ,red-graph-1-bg))) | ||
| 3070 | `(modus-theme-graph-green-0 ((,class :background ,green-graph-0-bg))) | ||
| 3071 | `(modus-theme-graph-green-1 ((,class :background ,green-graph-1-bg))) | ||
| 3072 | `(modus-theme-graph-yellow-0 ((,class :background ,yellow-graph-0-bg))) | ||
| 3073 | `(modus-theme-graph-yellow-1 ((,class :background ,yellow-graph-1-bg))) | ||
| 3074 | `(modus-theme-graph-blue-0 ((,class :background ,blue-graph-0-bg))) | ||
| 3075 | `(modus-theme-graph-blue-1 ((,class :background ,blue-graph-1-bg))) | ||
| 3076 | `(modus-theme-graph-magenta-0 ((,class :background ,magenta-graph-0-bg))) | ||
| 3077 | `(modus-theme-graph-magenta-1 ((,class :background ,magenta-graph-1-bg))) | ||
| 3078 | `(modus-theme-graph-cyan-0 ((,class :background ,cyan-graph-0-bg))) | ||
| 3079 | `(modus-theme-graph-cyan-1 ((,class :background ,cyan-graph-1-bg))) | ||
| 3080 | ;;;;; language checkers | ||
| 3081 | `(modus-theme-lang-error ((,class ,@(modus-themes--lang-check fg-lang-underline-error fg-lang-error red red-nuanced-bg)))) | ||
| 3082 | `(modus-theme-lang-note ((,class ,@(modus-themes--lang-check fg-lang-underline-note fg-lang-note blue-alt blue-nuanced-bg)))) | ||
| 3083 | `(modus-theme-lang-warning ((,class ,@(modus-themes--lang-check fg-lang-underline-warning fg-lang-warning yellow yellow-nuanced-bg)))) | ||
| 3084 | ;;;;; other custom faces | ||
| 3085 | `(modus-theme-bold ((,class ,@(modus-themes--bold-weight)))) | ||
| 3086 | `(modus-theme-hl-line ((,class :background ,(if modus-themes-intense-hl-line | ||
| 3087 | bg-hl-line-intense bg-hl-line) | ||
| 3088 | :extend t))) | ||
| 3089 | `(modus-theme-slant ((,class :inherit italic :slant ,@(modus-themes--slant)))) | ||
| 3090 | `(modus-theme-variable-pitch ((,class ,@(modus-themes--variable-pitch)))) | ||
| 3091 | ;;;; standard faces | ||
| 3092 | ;;;;; absolute essentials | ||
| 3093 | `(default ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 3094 | `(cursor ((,class :background ,fg-main))) | ||
| 3095 | `(fringe ((,class ,@(modus-themes--fringe bg-main bg-inactive bg-active) | ||
| 3096 | :foreground ,fg-main))) | ||
| 3097 | `(vertical-border ((,class :foreground ,fg-window-divider-inner))) | ||
| 3098 | ;;;;; basic and/or ungrouped styles | ||
| 3099 | `(bold ((,class :weight bold))) | ||
| 3100 | `(bold-italic ((,class :inherit (bold italic)))) | ||
| 3101 | `(buffer-menu-buffer ((,class :inherit bold))) | ||
| 3102 | `(comint-highlight-input ((,class :inherit bold))) | ||
| 3103 | `(comint-highlight-prompt ((,class :inherit modus-theme-bold | ||
| 3104 | ,@(modus-themes--prompt | ||
| 3105 | cyan | ||
| 3106 | blue-nuanced-bg blue-alt | ||
| 3107 | blue-refine-bg fg-main)))) | ||
| 3108 | `(error ((,class :inherit bold :foreground ,red))) | ||
| 3109 | `(escape-glyph ((,class :foreground ,fg-escape-char-construct))) | ||
| 3110 | `(file-name-shadow ((,class :foreground ,fg-unfocused))) | ||
| 3111 | `(header-line ((,class ,@(modus-themes--variable-pitch-ui) | ||
| 3112 | :background ,bg-header :foreground ,fg-header))) | ||
| 3113 | `(header-line-highlight ((,class :inherit modus-theme-active-blue))) | ||
| 3114 | `(help-argument-name ((,class :inherit modus-theme-slant :foreground ,cyan))) | ||
| 3115 | `(homoglyph ((,class :foreground ,red-alt-faint))) | ||
| 3116 | `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other-faint))) | ||
| 3117 | `(italic ((,class :slant italic))) | ||
| 3118 | `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct))) | ||
| 3119 | `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t))) | ||
| 3120 | `(minibuffer-prompt ((,class ,@(modus-themes--prompt | ||
| 3121 | cyan-alt-other | ||
| 3122 | cyan-nuanced-bg cyan | ||
| 3123 | cyan-refine-bg fg-main)))) | ||
| 3124 | `(mm-command-output ((,class :foreground ,red-alt-other))) | ||
| 3125 | `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 3126 | `(next-error ((,class :inherit modus-theme-subtle-red))) | ||
| 3127 | `(rectangle-preview ((,class :inherit modus-theme-special-mild))) | ||
| 3128 | `(region ((,class ,@(modus-themes--region bg-region fg-main bg-hl-alt-intense)))) | ||
| 3129 | `(secondary-selection ((,class :inherit modus-theme-special-cold))) | ||
| 3130 | `(shadow ((,class :foreground ,fg-alt))) | ||
| 3131 | `(success ((,class :inherit bold :foreground ,green))) | ||
| 3132 | `(trailing-whitespace ((,class :background ,red-intense-bg))) | ||
| 3133 | `(warning ((,class :inherit bold :foreground ,yellow))) | ||
| 3134 | ;;;;; buttons, links, widgets | ||
| 3135 | `(button ((,class ,@(modus-themes--link | ||
| 3136 | blue-alt-other blue-alt-other-faint bg-region)))) | ||
| 3137 | `(link ((,class :inherit button))) | ||
| 3138 | `(link-visited ((,class :inherit button | ||
| 3139 | ,@(modus-themes--link-color | ||
| 3140 | magenta-alt-other magenta-alt-other-faint fg-alt)))) | ||
| 3141 | `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 3142 | `(widget-button ((,class :inherit button))) | ||
| 3143 | `(widget-button-pressed ((,class :inherit button | ||
| 3144 | ,@(modus-themes--link-color | ||
| 3145 | magenta magenta-faint)))) | ||
| 3146 | `(widget-documentation ((,class :foreground ,green))) | ||
| 3147 | `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim))) | ||
| 3148 | `(widget-inactive ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 3149 | `(widget-single-line-field ((,class :inherit widget-field))) | ||
| 3150 | ;;;;; ag | ||
| 3151 | `(ag-hit-face ((,class :foreground ,fg-special-cold))) | ||
| 3152 | `(ag-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 3153 | ;;;;; alert | ||
| 3154 | `(alert-high-face ((,class :inherit bold :foreground ,red-alt))) | ||
| 3155 | `(alert-low-face ((,class :foreground ,fg-special-mild))) | ||
| 3156 | `(alert-moderate-face ((,class :inherit bold :foreground ,yellow))) | ||
| 3157 | `(alert-trivial-face ((,class :foreground ,fg-special-calm))) | ||
| 3158 | `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense))) | ||
| 3159 | ;;;;; all-the-icons | ||
| 3160 | `(all-the-icons-blue ((,class :foreground ,blue))) | ||
| 3161 | `(all-the-icons-blue-alt ((,class :foreground ,blue-alt))) | ||
| 3162 | `(all-the-icons-cyan ((,class :foreground ,cyan))) | ||
| 3163 | `(all-the-icons-cyan-alt ((,class :foreground ,cyan-alt))) | ||
| 3164 | `(all-the-icons-dblue ((,class :foreground ,blue-alt-other))) | ||
| 3165 | `(all-the-icons-dcyan ((,class :foreground ,cyan-alt-other))) | ||
| 3166 | `(all-the-icons-dgreen ((,class :foreground ,green-alt-other))) | ||
| 3167 | `(all-the-icons-dired-dir-face ((,class :foreground ,blue))) | ||
| 3168 | `(all-the-icons-dmaroon ((,class :foreground ,magenta-alt-other))) | ||
| 3169 | `(all-the-icons-dorange ((,class :foreground ,red-alt-other))) | ||
| 3170 | `(all-the-icons-dpink ((,class :foreground ,magenta))) | ||
| 3171 | `(all-the-icons-dpurple ((,class :foreground ,magenta-alt))) | ||
| 3172 | `(all-the-icons-dred ((,class :foreground ,red))) | ||
| 3173 | `(all-the-icons-dsilver ((,class :foreground ,fg-special-cold))) | ||
| 3174 | `(all-the-icons-dyellow ((,class :foreground ,yellow))) | ||
| 3175 | `(all-the-icons-green ((,class :foreground ,green))) | ||
| 3176 | `(all-the-icons-lblue ((,class :foreground ,blue-refine-fg))) | ||
| 3177 | `(all-the-icons-lcyan ((,class :foreground ,cyan-refine-fg))) | ||
| 3178 | `(all-the-icons-lgreen ((,class :foreground ,green-refine-fg))) | ||
| 3179 | `(all-the-icons-lmaroon ((,class :foreground ,magenta-refine-fg))) | ||
| 3180 | `(all-the-icons-lorange ((,class :foreground ,red-refine-fg))) | ||
| 3181 | `(all-the-icons-lpink ((,class :foreground ,magenta-refine-fg))) | ||
| 3182 | `(all-the-icons-lpurple ((,class :foreground ,magenta-refine-fg))) | ||
| 3183 | `(all-the-icons-lred ((,class :foreground ,red-refine-fg))) | ||
| 3184 | `(all-the-icons-lsilver ((,class :foreground ,fg-special-cold))) | ||
| 3185 | `(all-the-icons-lyellow ((,class :foreground ,yellow-refine-fg))) | ||
| 3186 | `(all-the-icons-maroon ((,class :foreground ,magenta))) | ||
| 3187 | `(all-the-icons-orange ((,class :foreground ,red-alt))) | ||
| 3188 | `(all-the-icons-pink ((,class :foreground ,magenta))) | ||
| 3189 | `(all-the-icons-purple ((,class :foreground ,magenta-alt))) | ||
| 3190 | `(all-the-icons-purple-alt ((,class :foreground ,magenta-alt-other))) | ||
| 3191 | `(all-the-icons-red ((,class :foreground ,red))) | ||
| 3192 | `(all-the-icons-red-alt ((,class :foreground ,red-alt))) | ||
| 3193 | `(all-the-icons-silver ((,class :foreground ,fg-special-cold))) | ||
| 3194 | `(all-the-icons-yellow ((,class :foreground ,yellow))) | ||
| 3195 | ;;;;; annotate | ||
| 3196 | `(annotate-annotation ((,class :inherit modus-theme-subtle-blue))) | ||
| 3197 | `(annotate-annotation-secondary ((,class :inherit modus-theme-subtle-green))) | ||
| 3198 | `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense))) | ||
| 3199 | `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense))) | ||
| 3200 | ;;;;; anzu | ||
| 3201 | `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3202 | `(anzu-match-2 ((,class :inherit modus-theme-subtle-green))) | ||
| 3203 | `(anzu-match-3 ((,class :inherit modus-theme-subtle-yellow))) | ||
| 3204 | `(anzu-mode-line ((,class :inherit bold :foreground ,green-active))) | ||
| 3205 | `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active))) | ||
| 3206 | `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow :underline t))) | ||
| 3207 | `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 3208 | ;;;;; apropos | ||
| 3209 | `(apropos-function-button ((,class :inherit button | ||
| 3210 | ,@(modus-themes--link-color | ||
| 3211 | magenta-alt-other magenta-alt-other-faint)))) | ||
| 3212 | `(apropos-keybinding ((,class :inherit bold :foreground ,cyan))) | ||
| 3213 | `(apropos-misc-button ((,class :inherit button | ||
| 3214 | ,@(modus-themes--link-color | ||
| 3215 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 3216 | `(apropos-property ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) | ||
| 3217 | `(apropos-symbol ((,class :inherit modus-theme-bold :foreground ,blue-alt-other))) | ||
| 3218 | `(apropos-user-option-button ((,class :inherit button | ||
| 3219 | ,@(modus-themes--link-color | ||
| 3220 | green-alt-other green-alt-other-faint)))) | ||
| 3221 | `(apropos-variable-button ((,class :inherit button | ||
| 3222 | ,@(modus-themes--link-color | ||
| 3223 | blue blue-faint)))) | ||
| 3224 | ;;;;; apt-sources-list | ||
| 3225 | `(apt-sources-list-components ((,class :foreground ,cyan))) | ||
| 3226 | `(apt-sources-list-options ((,class :foreground ,yellow))) | ||
| 3227 | `(apt-sources-list-suite ((,class :foreground ,green))) | ||
| 3228 | `(apt-sources-list-type ((,class :foreground ,magenta))) | ||
| 3229 | `(apt-sources-list-uri ((,class :foreground ,blue))) | ||
| 3230 | ;;;;; artbollocks-mode | ||
| 3231 | `(artbollocks-face ((,class :inherit modus-theme-lang-note))) | ||
| 3232 | `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) | ||
| 3233 | `(artbollocks-passive-voice-face ((,class :inherit modus-theme-lang-warning))) | ||
| 3234 | `(artbollocks-weasel-words-face ((,class :inherit modus-theme-lang-error))) | ||
| 3235 | ;;;;; auctex and Tex | ||
| 3236 | `(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm))) | ||
| 3237 | `(font-latex-doctex-documentation-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) | ||
| 3238 | `(font-latex-doctex-preprocessor-face ((,class :inherit modus-theme-bold :foreground ,red-alt-other))) | ||
| 3239 | `(font-latex-italic-face ((,class :inherit italic :foreground ,fg-special-calm))) | ||
| 3240 | `(font-latex-math-face ((,class :foreground ,cyan-alt-other))) | ||
| 3241 | `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other))) | ||
| 3242 | `(font-latex-sectioning-0-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg))) | ||
| 3243 | `(font-latex-sectioning-1-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) | ||
| 3244 | `(font-latex-sectioning-2-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) | ||
| 3245 | `(font-latex-sectioning-3-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) | ||
| 3246 | `(font-latex-sectioning-4-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) | ||
| 3247 | `(font-latex-sectioning-5-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg))) | ||
| 3248 | `(font-latex-sedate-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other))) | ||
| 3249 | `(font-latex-slide-title-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,cyan-nuanced-fg | ||
| 3250 | ,@(modus-themes--scale modus-themes-scale-4)))) | ||
| 3251 | `(font-latex-string-face ((,class :inherit font-lock-string-face))) | ||
| 3252 | `(font-latex-subscript-face ((,class :height 0.95))) | ||
| 3253 | `(font-latex-superscript-face ((,class :height 0.95))) | ||
| 3254 | `(font-latex-verbatim-face ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 3255 | `(font-latex-warning-face ((,class :inherit font-lock-warning-face))) | ||
| 3256 | `(tex-match ((,class :foreground ,blue-alt-other))) | ||
| 3257 | `(tex-verbatim ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 3258 | `(texinfo-heading ((,class :foreground ,magenta))) | ||
| 3259 | `(TeX-error-description-error ((,class :inherit error))) | ||
| 3260 | `(TeX-error-description-help ((,class :foreground ,blue))) | ||
| 3261 | `(TeX-error-description-tex-said ((,class :foreground ,blue))) | ||
| 3262 | `(TeX-error-description-warning ((,class :inherit warning))) | ||
| 3263 | ;;;;; auto-dim-other-buffers | ||
| 3264 | `(auto-dim-other-buffers-face ((,class :background ,bg-alt))) | ||
| 3265 | ;;;;; avy | ||
| 3266 | `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 3267 | `(avy-goto-char-timer-face ((,class :inherit (modus-theme-intense-yellow bold)))) | ||
| 3268 | `(avy-lead-face ((,class :inherit (modus-theme-intense-magenta bold)))) | ||
| 3269 | `(avy-lead-face-0 ((,class :inherit (modus-theme-intense-blue bold)))) | ||
| 3270 | `(avy-lead-face-1 ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 3271 | `(avy-lead-face-2 ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 3272 | ;;;;; aw (ace-window) | ||
| 3273 | `(aw-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 3274 | `(aw-key-face ((,class :inherit bold :foreground ,blue-intense))) | ||
| 3275 | `(aw-leading-char-face ((,class :inherit bold :height 1.5 :slant normal :background ,bg-main :foreground ,red-intense))) | ||
| 3276 | `(aw-minibuffer-leading-char-face ((,class :foreground ,magenta-active))) | ||
| 3277 | `(aw-mode-line-face ((,class :inherit bold))) | ||
| 3278 | ;;;;; awesome-tray | ||
| 3279 | `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 3280 | `(awesome-tray-module-battery-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3281 | `(awesome-tray-module-buffer-name-face ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 3282 | `(awesome-tray-module-circe-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3283 | `(awesome-tray-module-date-face ((,class :inherit bold :foreground ,fg-dim))) | ||
| 3284 | `(awesome-tray-module-evil-face ((,class :inherit bold :foreground ,green-alt))) | ||
| 3285 | `(awesome-tray-module-git-face ((,class :inherit bold :foreground ,magenta))) | ||
| 3286 | `(awesome-tray-module-last-command-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3287 | `(awesome-tray-module-location-face ((,class :inherit bold :foreground ,yellow))) | ||
| 3288 | `(awesome-tray-module-mode-name-face ((,class :inherit bold :foreground ,green))) | ||
| 3289 | `(awesome-tray-module-parent-dir-face ((,class :inherit bold :foreground ,cyan))) | ||
| 3290 | `(awesome-tray-module-rvm-face ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3291 | ;;;;; bbdb | ||
| 3292 | `(bbdb-name ((,class :foreground ,magenta-alt-other))) | ||
| 3293 | `(bbdb-organization ((,class :foreground ,red-alt-other))) | ||
| 3294 | `(bbdb-field-name ((,class :foreground ,cyan-alt-other))) | ||
| 3295 | ;;;;; binder | ||
| 3296 | `(binder-sidebar-highlight ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3297 | `(binder-sidebar-marked ((,class :inherit modus-theme-mark-sel))) | ||
| 3298 | `(binder-sidebar-missing ((,class :inherit modus-theme-subtle-red))) | ||
| 3299 | `(binder-sidebar-tags ((,class :foreground ,cyan))) | ||
| 3300 | ;;;;; bm | ||
| 3301 | `(bm-face ((,class :inherit modus-theme-subtle-yellow :extend t))) | ||
| 3302 | `(bm-fringe-face ((,class :inherit modus-theme-fringe-yellow))) | ||
| 3303 | `(bm-fringe-persistent-face ((,class :inherit modus-theme-fringe-blue))) | ||
| 3304 | `(bm-persistent-face ((,class :inherit modus-theme-intense-blue :extend t))) | ||
| 3305 | ;;;;; bongo | ||
| 3306 | `(bongo-album-title ((,class :foreground ,yellow-active))) | ||
| 3307 | `(bongo-artist ((,class :foreground ,magenta-active))) | ||
| 3308 | `(bongo-currently-playing-track ((,class :inherit bold))) | ||
| 3309 | `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta :underline t))) | ||
| 3310 | `(bongo-filled-seek-bar ((,class :background ,blue-intense-bg :foreground ,fg-main))) | ||
| 3311 | `(bongo-marked-track ((,class :foreground ,fg-mark-alt))) | ||
| 3312 | `(bongo-marked-track-line ((,class :background ,bg-mark-alt))) | ||
| 3313 | `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t))) | ||
| 3314 | `(bongo-track-length ((,class :foreground ,fg-active))) | ||
| 3315 | `(bongo-track-title ((,class :foreground ,cyan-active))) | ||
| 3316 | `(bongo-unfilled-seek-bar ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 3317 | ;;;;; boon | ||
| 3318 | `(boon-modeline-cmd ((,class :inherit modus-theme-active-blue))) | ||
| 3319 | `(boon-modeline-ins ((,class :inherit modus-theme-active-red))) | ||
| 3320 | `(boon-modeline-off ((,class :inherit modus-theme-active-yellow))) | ||
| 3321 | `(boon-modeline-spc ((,class :inherit modus-theme-active-green))) | ||
| 3322 | ;;;;; breakpoint (built-in gdb-mi.el) | ||
| 3323 | `(breakpoint-disabled ((,class :inherit shadow))) | ||
| 3324 | `(breakpoint-enabled ((,class :inherit bold :foreground ,red))) | ||
| 3325 | ;;;;; buffer-expose | ||
| 3326 | `(buffer-expose-ace-char-face ((,class :inherit bold :foreground ,red-active))) | ||
| 3327 | `(buffer-expose-mode-line-face ((,class :foreground ,cyan-active))) | ||
| 3328 | `(buffer-expose-selected-face ((,class :inherit modus-theme-special-mild))) | ||
| 3329 | ;;;;; calendar and diary | ||
| 3330 | `(calendar-month-header ((,class :inherit modus-theme-pseudo-header))) | ||
| 3331 | `(calendar-today ((,class :inherit bold :underline t))) | ||
| 3332 | `(calendar-weekday-header ((,class :inherit shadow))) | ||
| 3333 | `(calendar-weekend-header ((,class :inherit shadow))) | ||
| 3334 | `(diary ((,class :background ,green-nuanced-bg :foreground ,green-alt-other))) | ||
| 3335 | `(diary-anniversary ((,class :foreground ,red-alt-other))) | ||
| 3336 | `(diary-time ((,class :foreground ,blue-alt))) | ||
| 3337 | `(holiday ((,class :background ,magenta-nuanced-bg :foreground ,magenta-alt))) | ||
| 3338 | ;;;;; calfw | ||
| 3339 | `(cfw:face-annotation ((,class :foreground ,fg-special-warm))) | ||
| 3340 | `(cfw:face-day-title ((,class :foreground ,fg-main))) | ||
| 3341 | `(cfw:face-default-content ((,class :foreground ,green-alt))) | ||
| 3342 | `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold)))) | ||
| 3343 | `(cfw:face-disable ((,class :foreground ,fg-unfocused))) | ||
| 3344 | `(cfw:face-grid ((,class :foreground ,fg-window-divider-outer))) | ||
| 3345 | `(cfw:face-header ((,class :inherit bold :foreground ,fg-main))) | ||
| 3346 | `(cfw:face-holiday ((,class :foreground ,magenta-alt-other))) | ||
| 3347 | `(cfw:face-periods ((,class :foreground ,cyan-alt-other))) | ||
| 3348 | `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3349 | `(cfw:face-select ((,class :inherit modus-theme-intense-blue))) | ||
| 3350 | `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3351 | `(cfw:face-title ((,class :inherit modus-theme-variable-pitch | ||
| 3352 | :foreground ,fg-special-cold | ||
| 3353 | ,@(modus-themes--scale modus-themes-scale-5)))) | ||
| 3354 | `(cfw:face-today ((,class :background ,bg-inactive))) | ||
| 3355 | `(cfw:face-today-title ((,class :background ,bg-active))) | ||
| 3356 | `(cfw:face-toolbar ((,class :background ,bg-alt :foreground ,bg-alt))) | ||
| 3357 | `(cfw:face-toolbar-button-off ((,class :inherit shadow))) | ||
| 3358 | `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg | ||
| 3359 | :foreground ,blue-alt))) | ||
| 3360 | ;;;;; centaur-tabs | ||
| 3361 | `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active))) | ||
| 3362 | `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) | ||
| 3363 | `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected))) | ||
| 3364 | `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected))) | ||
| 3365 | `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected))) | ||
| 3366 | `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected))) | ||
| 3367 | `(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main))) | ||
| 3368 | `(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active :foreground ,fg-main))) | ||
| 3369 | `(centaur-tabs-selected-modified ((,class :inherit italic :background ,bg-tab-active :foreground ,fg-main))) | ||
| 3370 | `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground ,fg-dim))) | ||
| 3371 | `(centaur-tabs-unselected-modified ((,class :inherit italic :background ,bg-tab-inactive :foreground ,fg-dim))) | ||
| 3372 | ;;;;; cfrs | ||
| 3373 | `(cfrs-border-color ((,class :background ,fg-window-divider-inner))) | ||
| 3374 | ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') | ||
| 3375 | `(change-log-acknowledgment ((,class :foreground ,fg-alt))) | ||
| 3376 | `(change-log-conditionals ((,class :foreground ,yellow))) | ||
| 3377 | `(change-log-date ((,class :foreground ,cyan))) | ||
| 3378 | `(change-log-email ((,class :foreground ,cyan-alt-other))) | ||
| 3379 | `(change-log-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3380 | `(change-log-function ((,class :foreground ,green-alt-other))) | ||
| 3381 | `(change-log-list ((,class :foreground ,magenta-alt))) | ||
| 3382 | `(change-log-name ((,class :foreground ,magenta-alt-other))) | ||
| 3383 | `(log-edit-header ((,class :foreground ,fg-special-warm))) | ||
| 3384 | `(log-edit-summary ((,class :inherit bold :foreground ,blue))) | ||
| 3385 | `(log-edit-unknown-header ((,class :inherit shadow))) | ||
| 3386 | `(log-view-commit-body ((,class :foreground ,blue-nuanced-fg))) | ||
| 3387 | `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3388 | `(log-view-message ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 3389 | ;;;;; cider | ||
| 3390 | `(cider-debug-code-overlay-face ((,class :background ,bg-alt))) | ||
| 3391 | `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t))) | ||
| 3392 | `(cider-deprecated-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 3393 | `(cider-docview-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold))) | ||
| 3394 | `(cider-docview-literal-face ((,class :foreground ,blue-alt))) | ||
| 3395 | `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3396 | `(cider-docview-table-border-face ((,class :inherit shadow))) | ||
| 3397 | `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim))) | ||
| 3398 | `(cider-enlightened-local-face ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 3399 | `(cider-error-highlight-face ((,class :foreground ,red :underline t))) | ||
| 3400 | `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,yellow))) | ||
| 3401 | `(cider-fringe-good-face ((,class :foreground ,green-active))) | ||
| 3402 | `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim))) | ||
| 3403 | `(cider-reader-conditional-face ((,class :inherit italic :foreground ,fg-special-warm))) | ||
| 3404 | `(cider-repl-input-face ((,class :inherit bold))) | ||
| 3405 | `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other))) | ||
| 3406 | `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red))) | ||
| 3407 | `(cider-repl-stdout-face ((,class :foreground ,blue))) | ||
| 3408 | `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim))) | ||
| 3409 | `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground ,red))) | ||
| 3410 | `(cider-stacktrace-error-message-face ((,class :inherit italic :foreground ,red-alt-other))) | ||
| 3411 | `(cider-stacktrace-face ((,class :foreground ,fg-main))) | ||
| 3412 | `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt :underline t))) | ||
| 3413 | `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt))) | ||
| 3414 | `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 3415 | `(cider-stacktrace-ns-face ((,class :inherit italic :foreground ,fg-alt))) | ||
| 3416 | `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red))) | ||
| 3417 | `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button) | ||
| 3418 | :background ,bg-alt :foreground ,fg-alt))) | ||
| 3419 | `(cider-test-error-face ((,class :inherit modus-theme-subtle-red))) | ||
| 3420 | `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 3421 | `(cider-test-success-face ((,class :inherit modus-theme-intense-green))) | ||
| 3422 | `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim))) | ||
| 3423 | `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t))) | ||
| 3424 | ;;;;; circe (and lui) | ||
| 3425 | `(circe-fool-face ((,class :inherit shadow))) | ||
| 3426 | `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue))) | ||
| 3427 | `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3428 | `(circe-server-face ((,class :foreground ,fg-unfocused))) | ||
| 3429 | `(lui-button-face ((,class :inherit button))) | ||
| 3430 | `(lui-highlight-face ((,class :foreground ,magenta-alt))) | ||
| 3431 | `(lui-time-stamp-face ((,class :foreground ,blue-nuanced-fg))) | ||
| 3432 | ;;;;; color-rg | ||
| 3433 | `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other))) | ||
| 3434 | `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main))) | ||
| 3435 | `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3436 | `(color-rg-font-lock-flash ((,class :inherit modus-theme-intense-blue))) | ||
| 3437 | `(color-rg-font-lock-function-location ((,class :inherit modus-theme-special-calm))) | ||
| 3438 | `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active))) | ||
| 3439 | `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active))) | ||
| 3440 | `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active))) | ||
| 3441 | `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active))) | ||
| 3442 | `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm))) | ||
| 3443 | `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue))) | ||
| 3444 | `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red))) | ||
| 3445 | `(color-rg-font-lock-match ((,class :inherit modus-theme-special-calm))) | ||
| 3446 | `(color-rg-font-lock-position-splitter ((,class :inherit shadow))) | ||
| 3447 | ;;;;; column-enforce-mode | ||
| 3448 | `(column-enforce-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 3449 | ;;;;; company-mode | ||
| 3450 | `(company-echo-common ((,class :foreground ,magenta-alt-other))) | ||
| 3451 | `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 3452 | `(company-preview-common ((,class :foreground ,blue-alt))) | ||
| 3453 | `(company-preview-search ((,class :inherit modus-theme-special-calm))) | ||
| 3454 | `(company-scrollbar-bg ((,class :background ,bg-active))) | ||
| 3455 | `(company-scrollbar-fg ((,class :background ,fg-active))) | ||
| 3456 | `(company-template-field ((,class :inherit modus-theme-intense-magenta))) | ||
| 3457 | `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 3458 | `(company-tooltip-annotation ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) | ||
| 3459 | `(company-tooltip-annotation-selection ((,class :inherit bold :foreground ,fg-main))) | ||
| 3460 | `(company-tooltip-common ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3461 | `(company-tooltip-common-selection ((,class :foreground ,fg-main))) | ||
| 3462 | `(company-tooltip-mouse ((,class :inherit modus-theme-intense-blue))) | ||
| 3463 | `(company-tooltip-search ((,class :inherit (modus-theme-refine-cyan bold)))) | ||
| 3464 | `(company-tooltip-search-selection ((,class :inherit (modus-theme-intense-green bold) :underline t))) | ||
| 3465 | `(company-tooltip-selection ((,class :inherit (modus-theme-subtle-cyan bold)))) | ||
| 3466 | ;;;;; company-posframe | ||
| 3467 | `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active))) | ||
| 3468 | `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 3469 | `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 3470 | ;;;;; compilation feedback | ||
| 3471 | `(compilation-column-number ((,class :foreground ,magenta-alt-other))) | ||
| 3472 | `(compilation-error ((,class :inherit modus-theme-bold :foreground ,red))) | ||
| 3473 | `(compilation-info ((,class :inherit modus-theme-bold :foreground ,fg-special-cold))) | ||
| 3474 | `(compilation-line-number ((,class :foreground ,fg-special-warm))) | ||
| 3475 | `(compilation-mode-line-exit ((,class :inherit modus-theme-bold :foreground ,blue-active))) | ||
| 3476 | `(compilation-mode-line-fail ((,class :inherit modus-theme-bold :foreground ,red-active))) | ||
| 3477 | `(compilation-mode-line-run ((,class :inherit modus-theme-bold :foreground ,magenta-active))) | ||
| 3478 | `(compilation-warning ((,class :inherit modus-theme-bold :foreground ,yellow))) | ||
| 3479 | ;;;;; completions | ||
| 3480 | `(completions-annotations ((,class :inherit modus-theme-slant :foreground ,cyan-faint))) | ||
| 3481 | `(completions-common-part ((,class ,@(modus-themes--standard-completions | ||
| 3482 | blue-alt blue-nuanced-bg | ||
| 3483 | cyan-refine-bg cyan-refine-fg)))) | ||
| 3484 | `(completions-first-difference ((,class :inherit bold | ||
| 3485 | ,@(modus-themes--standard-completions | ||
| 3486 | magenta-alt blue-nuanced-bg | ||
| 3487 | magenta-intense-bg fg-main)))) | ||
| 3488 | ;;;;; consult | ||
| 3489 | `(consult-async-running ((,class :inherit bold :foreground ,blue))) | ||
| 3490 | `(consult-async-split ((,class :foreground ,magenta-alt))) | ||
| 3491 | `(consult-bookmark ((,class :foreground ,blue))) | ||
| 3492 | `(consult-file ((,class :foreground ,fg-special-cold))) | ||
| 3493 | `(consult-imenu-prefix ((,class :inherit shadow))) | ||
| 3494 | `(consult-key ((,class :inherit modus-themes-bold :foreground ,magenta-alt-other))) | ||
| 3495 | `(consult-line-number ((,class :foreground ,fg-special-warm))) | ||
| 3496 | `(consult-line-number-prefix ((,class :foreground ,fg-unfocused))) | ||
| 3497 | `(consult-narrow-indicator ((,class :foreground ,magenta-alt))) | ||
| 3498 | `(consult-preview-cursor ((,class :inherit modus-theme-intense-blue))) | ||
| 3499 | `(consult-preview-error ((,class :inherit modus-theme-intense-red))) | ||
| 3500 | `(consult-preview-line ((,class :background ,bg-hl-alt-intense))) | ||
| 3501 | ;;;;; counsel | ||
| 3502 | `(counsel-active-mode ((,class :foreground ,magenta-alt-other))) | ||
| 3503 | `(counsel-application-name ((,class :foreground ,red-alt-other))) | ||
| 3504 | `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3505 | `(counsel-outline-1 ((,class :inherit org-level-1))) | ||
| 3506 | `(counsel-outline-2 ((,class :inherit org-level-2))) | ||
| 3507 | `(counsel-outline-3 ((,class :inherit org-level-3))) | ||
| 3508 | `(counsel-outline-4 ((,class :inherit org-level-4))) | ||
| 3509 | `(counsel-outline-5 ((,class :inherit org-level-5))) | ||
| 3510 | `(counsel-outline-6 ((,class :inherit org-level-6))) | ||
| 3511 | `(counsel-outline-7 ((,class :inherit org-level-7))) | ||
| 3512 | `(counsel-outline-8 ((,class :inherit org-level-8))) | ||
| 3513 | `(counsel-outline-default ((,class :foreground ,fg-main))) | ||
| 3514 | `(counsel-variable-documentation ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other))) | ||
| 3515 | ;;;;; counsel-css | ||
| 3516 | `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue))) | ||
| 3517 | `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan))) | ||
| 3518 | `(counsel-css-selector-depth-face-3 ((,class :foreground ,green))) | ||
| 3519 | `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow))) | ||
| 3520 | `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta))) | ||
| 3521 | `(counsel-css-selector-depth-face-6 ((,class :foreground ,red))) | ||
| 3522 | ;;;;; counsel-notmuch | ||
| 3523 | `(counsel-notmuch-count-face ((,class :foreground ,cyan))) | ||
| 3524 | `(counsel-notmuch-date-face ((,class :foreground ,blue))) | ||
| 3525 | `(counsel-notmuch-people-face ((,class :foreground ,magenta))) | ||
| 3526 | `(counsel-notmuch-subject-face ((,class :foreground ,magenta-alt-other))) | ||
| 3527 | ;;;;; counsel-org-capture-string | ||
| 3528 | `(counsel-org-capture-string-template-body-face ((,class :foreground ,fg-special-cold))) | ||
| 3529 | ;;;;; cov | ||
| 3530 | `(cov-coverage-not-run-face ((,class :foreground ,red-intense))) | ||
| 3531 | `(cov-coverage-run-face ((,class :foreground ,green-intense))) | ||
| 3532 | `(cov-heavy-face ((,class :foreground ,magenta-intense))) | ||
| 3533 | `(cov-light-face ((,class :foreground ,blue-intense))) | ||
| 3534 | `(cov-med-face ((,class :foreground ,yellow-intense))) | ||
| 3535 | `(cov-none-face ((,class :foreground ,cyan-intense))) | ||
| 3536 | ;;;;; cperl-mode | ||
| 3537 | `(cperl-nonoverridable-face ((,class :foreground unspecified))) | ||
| 3538 | `(cperl-array-face ((,class :inherit font-lock-keyword-face))) | ||
| 3539 | `(cperl-hash-face ((,class :inherit font-lock-variable-name-face))) | ||
| 3540 | ;;;;; csv-mode | ||
| 3541 | `(csv-separator-face ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 3542 | ;;;;; ctrlf | ||
| 3543 | `(ctrlf-highlight-active ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 3544 | `(ctrlf-highlight-line ((,class :inherit modus-theme-hl-line))) | ||
| 3545 | `(ctrlf-highlight-passive ((,class :inherit modus-theme-refine-cyan))) | ||
| 3546 | ;;;;; custom (M-x customize) | ||
| 3547 | `(custom-button ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 3548 | :background ,bg-active :foreground ,fg-main))) | ||
| 3549 | `(custom-button-mouse ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 3550 | :background ,bg-active :foreground ,fg-active))) | ||
| 3551 | `(custom-button-pressed ((,class :box (:line-width 2 :color nil :style pressed-button) | ||
| 3552 | :background ,bg-active :foreground ,fg-main))) | ||
| 3553 | `(custom-changed ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3554 | `(custom-comment ((,class :inherit shadow))) | ||
| 3555 | `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other))) | ||
| 3556 | `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense))) | ||
| 3557 | `(custom-group-tag ((,class :inherit bold :foreground ,green-intense))) | ||
| 3558 | `(custom-group-tag-1 ((,class :inherit modus-theme-special-warm))) | ||
| 3559 | `(custom-invalid ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 3560 | `(custom-modified ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3561 | `(custom-rogue ((,class :inherit modus-theme-refine-magenta))) | ||
| 3562 | `(custom-set ((,class :foreground ,blue-alt))) | ||
| 3563 | `(custom-state ((,class :foreground ,cyan-alt-other))) | ||
| 3564 | `(custom-themed ((,class :inherit modus-theme-subtle-blue))) | ||
| 3565 | `(custom-variable-tag ((,class :inherit bold :foreground ,cyan))) | ||
| 3566 | ;;;;; dap-mode | ||
| 3567 | `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil) | ||
| 3568 | :background ,bg-active :foreground ,fg-main))) | ||
| 3569 | `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active :style nil) | ||
| 3570 | :background ,bg-active :foreground ,fg-main))) | ||
| 3571 | `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground ,green-active))) | ||
| 3572 | `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense))) | ||
| 3573 | `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t))) | ||
| 3574 | `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan))) | ||
| 3575 | `(dap-ui-locals-variable-leaf-face ((,class :inherit italic :foreground ,cyan-alt-other))) | ||
| 3576 | `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 3577 | `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3578 | `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt))) | ||
| 3579 | `(dap-ui-sessions-terminated-face ((,class :inherit shadow))) | ||
| 3580 | ;;;;; dashboard (emacs-dashboard) | ||
| 3581 | `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3582 | `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 3583 | `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 3584 | `(dashboard-navigator ((,class :foreground ,cyan-alt-other))) | ||
| 3585 | `(dashboard-text-banner ((,class :foreground ,fg-dim))) | ||
| 3586 | ;;;;; deadgrep | ||
| 3587 | `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3588 | `(deadgrep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 3589 | `(deadgrep-meta-face ((,class :inherit shadow))) | ||
| 3590 | `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense))) | ||
| 3591 | `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense))) | ||
| 3592 | ;;;;; debbugs | ||
| 3593 | `(debbugs-gnu-archived ((,class :inverse-video t))) | ||
| 3594 | `(debbugs-gnu-done ((,class :inherit shadow))) | ||
| 3595 | `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm))) | ||
| 3596 | `(debbugs-gnu-handled ((,class :foreground ,green))) | ||
| 3597 | `(debbugs-gnu-new ((,class :foreground ,red))) | ||
| 3598 | `(debbugs-gnu-pending ((,class :foreground ,cyan))) | ||
| 3599 | `(debbugs-gnu-stale-1 ((,class :foreground ,yellow-nuanced-fg))) | ||
| 3600 | `(debbugs-gnu-stale-2 ((,class :foreground ,yellow))) | ||
| 3601 | `(debbugs-gnu-stale-3 ((,class :foreground ,yellow-alt))) | ||
| 3602 | `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other))) | ||
| 3603 | `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt))) | ||
| 3604 | `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt))) | ||
| 3605 | ;;;;; define-word | ||
| 3606 | `(define-word-face-1 ((,class :foreground ,yellow))) | ||
| 3607 | `(define-word-face-2 ((,class :foreground ,fg-main))) | ||
| 3608 | ;;;;; deft | ||
| 3609 | `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red))) | ||
| 3610 | `(deft-filter-string-face ((,class :foreground ,green-intense))) | ||
| 3611 | `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 3612 | `(deft-separator-face ((,class :inherit shadow))) | ||
| 3613 | `(deft-summary-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) | ||
| 3614 | `(deft-time-face ((,class :foreground ,fg-special-cold))) | ||
| 3615 | `(deft-title-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 3616 | ;;;;; dictionary | ||
| 3617 | `(dictionary-button-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3618 | `(dictionary-reference-face ((,class :inherit button))) | ||
| 3619 | `(dictionary-word-definition-face ((,class))) | ||
| 3620 | `(dictionary-word-entry-face ((,class :inherit font-lock-comment-face))) | ||
| 3621 | ;;;;; diff-hl | ||
| 3622 | `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow))) | ||
| 3623 | `(diff-hl-delete ((,class :inherit modus-theme-fringe-red))) | ||
| 3624 | `(diff-hl-dired-change ((,class :inherit diff-hl-change))) | ||
| 3625 | `(diff-hl-dired-delete ((,class :inherit diff-hl-delete))) | ||
| 3626 | `(diff-hl-dired-ignored ((,class :inherit dired-ignored))) | ||
| 3627 | `(diff-hl-dired-insert ((,class :inherit diff-hl-insert))) | ||
| 3628 | `(diff-hl-dired-unknown ((,class :inherit dired-ignored))) | ||
| 3629 | `(diff-hl-insert ((,class :inherit modus-theme-fringe-green))) | ||
| 3630 | `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-theme-active-magenta bold)))) | ||
| 3631 | ;;;;; diff-mode | ||
| 3632 | `(diff-added ((,class :inherit modus-theme-diff-added))) | ||
| 3633 | `(diff-changed ((,class :inherit modus-theme-diff-changed :extend t))) | ||
| 3634 | `(diff-context ((,class ,@(modus-themes--diff-text fg-main fg-unfocused)))) | ||
| 3635 | `(diff-error ((,class :inherit modus-theme-intense-red))) | ||
| 3636 | `(diff-file-header ((,class :inherit (bold diff-header)))) | ||
| 3637 | `(diff-function ((,class :inherit modus-theme-diff-heading))) | ||
| 3638 | `(diff-header ((,class ,@(modus-themes--diff-text cyan-faint fg-main)))) | ||
| 3639 | `(diff-hunk-header ((,class :inherit (bold modus-theme-diff-heading)))) | ||
| 3640 | `(diff-index ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3641 | `(diff-indicator-added ((,class :inherit (diff-added bold) | ||
| 3642 | :foreground ,@(modus-themes--diff-deuteran blue green)))) | ||
| 3643 | `(diff-indicator-changed ((,class :inherit (diff-changed bold) :foreground ,yellow))) | ||
| 3644 | `(diff-indicator-removed ((,class :inherit (diff-removed bold) :foreground ,red))) | ||
| 3645 | `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold)))) | ||
| 3646 | `(diff-refine-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 3647 | `(diff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) | ||
| 3648 | `(diff-refine-removed ((,class :inherit modus-theme-diff-refine-removed))) | ||
| 3649 | `(diff-removed ((,class :inherit modus-theme-diff-removed))) | ||
| 3650 | ;;;;; dim-autoload | ||
| 3651 | `(dim-autoload-cookie-line ((,class :inherit font-lock-comment-face))) | ||
| 3652 | ;;;;; dir-treeview | ||
| 3653 | `(dir-treeview-archive-face ((,class :foreground ,fg-special-warm))) | ||
| 3654 | `(dir-treeview-archive-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,yellow))) | ||
| 3655 | `(dir-treeview-audio-face ((,class :foreground ,magenta))) | ||
| 3656 | `(dir-treeview-audio-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt))) | ||
| 3657 | `(dir-treeview-control-face ((,class :inherit shadow))) | ||
| 3658 | `(dir-treeview-control-mouse-face ((,class :inherit highlight))) | ||
| 3659 | `(dir-treeview-default-icon-face ((,class :inherit bold :family "Font Awesome" :foreground ,fg-alt))) | ||
| 3660 | `(dir-treeview-default-filename-face ((,class :foreground ,fg-main))) | ||
| 3661 | `(dir-treeview-directory-face ((,class :foreground ,blue))) | ||
| 3662 | `(dir-treeview-directory-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,blue-alt))) | ||
| 3663 | `(dir-treeview-executable-face ((,class :foreground ,red-alt))) | ||
| 3664 | `(dir-treeview-executable-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,red-alt-other))) | ||
| 3665 | `(dir-treeview-image-face ((,class :foreground ,green-alt-other))) | ||
| 3666 | `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt))) | ||
| 3667 | `(dir-treeview-indent-face ((,class :inherit shadow))) | ||
| 3668 | `(dir-treeview-label-mouse-face ((,class :inherit highlight))) | ||
| 3669 | `(dir-treeview-start-dir-face ((,class :inherit modus-theme-pseudo-header))) | ||
| 3670 | `(dir-treeview-symlink-face ((,class :inherit button | ||
| 3671 | ,@(modus-themes--link-color | ||
| 3672 | cyan cyan-faint)))) | ||
| 3673 | `(dir-treeview-video-face ((,class :foreground ,magenta-alt-other))) | ||
| 3674 | `(dir-treeview-video-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt-other))) | ||
| 3675 | ;;;;; dired | ||
| 3676 | `(dired-broken-symlink ((,class :inherit button :foreground ,red))) | ||
| 3677 | `(dired-directory ((,class :foreground ,blue))) | ||
| 3678 | `(dired-flagged ((,class :inherit modus-theme-mark-del))) | ||
| 3679 | `(dired-header ((,class :inherit modus-theme-pseudo-header))) | ||
| 3680 | `(dired-ignored ((,class :inherit shadow))) | ||
| 3681 | `(dired-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 3682 | `(dired-marked ((,class :inherit modus-theme-mark-sel))) | ||
| 3683 | `(dired-perm-write ((,class :foreground ,fg-special-warm))) | ||
| 3684 | `(dired-symlink ((,class :inherit button | ||
| 3685 | ,@(modus-themes--link-color | ||
| 3686 | cyan-alt cyan-alt-faint)))) | ||
| 3687 | `(dired-warning ((,class :inherit bold :foreground ,yellow))) | ||
| 3688 | ;;;;; dired-async | ||
| 3689 | `(dired-async-failures ((,class :inherit modus-theme-bold :foreground ,red-active))) | ||
| 3690 | `(dired-async-message ((,class :inherit modus-theme-bold :foreground ,green-active))) | ||
| 3691 | `(dired-async-mode-message ((,class :inherit modus-theme-bold :foreground ,cyan-active))) | ||
| 3692 | ;;;;; dired-git | ||
| 3693 | `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3694 | `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3695 | ;;;;; dired-git-info | ||
| 3696 | `(dgi-commit-message-face ((,class :foreground ,fg-special-mild))) | ||
| 3697 | ;;;;; dired-narrow | ||
| 3698 | `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold)))) | ||
| 3699 | ;;;;; dired-subtree | ||
| 3700 | ;; remove backgrounds from dired-subtree faces, else they break | ||
| 3701 | ;; dired-{flagged,marked} and any other face that sets a background | ||
| 3702 | ;; such as hl-line. Also, denoting depth by varying shades of gray | ||
| 3703 | ;; is not good for accessibility. | ||
| 3704 | `(dired-subtree-depth-1-face (())) | ||
| 3705 | `(dired-subtree-depth-2-face (())) | ||
| 3706 | `(dired-subtree-depth-3-face (())) | ||
| 3707 | `(dired-subtree-depth-4-face (())) | ||
| 3708 | `(dired-subtree-depth-5-face (())) | ||
| 3709 | `(dired-subtree-depth-6-face (())) | ||
| 3710 | ;;;;; diredc | ||
| 3711 | `(diredc-face-chmod-font-lock-dir ((,class :foreground ,blue-alt))) | ||
| 3712 | `(diredc-face-chmod-font-lock-exec ((,class :foreground ,magenta))) | ||
| 3713 | `(diredc-face-chmod-font-lock-read ((,class :foreground ,fg-main))) | ||
| 3714 | `(diredc-face-chmod-font-lock-write ((,class :foreground ,cyan))) | ||
| 3715 | ;;;;; diredfl | ||
| 3716 | `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold))) | ||
| 3717 | `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm))) | ||
| 3718 | `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt))) | ||
| 3719 | `(diredfl-date-time ((,class :foreground ,cyan-alt-other))) | ||
| 3720 | `(diredfl-deletion ((,class :inherit modus-theme-mark-del))) | ||
| 3721 | `(diredfl-deletion-file-name ((,class :inherit modus-theme-mark-del))) | ||
| 3722 | `(diredfl-dir-heading ((,class :inherit modus-theme-pseudo-header))) | ||
| 3723 | `(diredfl-dir-name ((,class :inherit dired-directory))) | ||
| 3724 | `(diredfl-dir-priv ((,class :foreground ,blue-alt))) | ||
| 3725 | `(diredfl-exec-priv ((,class :foreground ,magenta))) | ||
| 3726 | `(diredfl-executable-tag ((,class :foreground ,magenta-alt))) | ||
| 3727 | `(diredfl-file-name ((,class :foreground ,fg-main))) | ||
| 3728 | `(diredfl-file-suffix ((,class :foreground ,cyan))) | ||
| 3729 | `(diredfl-flag-mark ((,class :inherit modus-theme-mark-sel))) | ||
| 3730 | `(diredfl-flag-mark-line ((,class :inherit modus-theme-mark-sel))) | ||
| 3731 | `(diredfl-ignored-file-name ((,class :inherit shadow))) | ||
| 3732 | `(diredfl-link-priv ((,class :foreground ,blue-alt-other))) | ||
| 3733 | `(diredfl-no-priv ((,class :inherit shadow))) | ||
| 3734 | `(diredfl-number ((,class :foreground ,cyan-alt))) | ||
| 3735 | `(diredfl-other-priv ((,class :foreground ,yellow))) | ||
| 3736 | `(diredfl-rare-priv ((,class :foreground ,red-alt))) | ||
| 3737 | `(diredfl-read-priv ((,class :foreground ,fg-main))) | ||
| 3738 | `(diredfl-symlink ((,class :inherit dired-symlink))) | ||
| 3739 | `(diredfl-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta))) | ||
| 3740 | `(diredfl-write-priv ((,class :foreground ,cyan))) | ||
| 3741 | ;;;;; dired+ | ||
| 3742 | `(diredp-autofile-name ((,class :inherit modus-theme-special-cold))) | ||
| 3743 | `(diredp-compressed-file-name ((,class :foreground ,fg-special-warm))) | ||
| 3744 | `(diredp-compressed-file-suffix ((,class :foreground ,red-alt))) | ||
| 3745 | `(diredp-date-time ((,class :foreground ,cyan-alt-other))) | ||
| 3746 | `(diredp-deletion ((,class :inherit modus-theme-mark-del))) | ||
| 3747 | `(diredp-deletion-file-name ((,class :inherit modus-theme-mark-del))) | ||
| 3748 | `(diredp-dir-heading ((,class :inherit modus-theme-pseudo-header))) | ||
| 3749 | `(diredp-dir-name ((,class :inherit dired-directory))) | ||
| 3750 | `(diredp-dir-priv ((,class :foreground ,blue-alt))) | ||
| 3751 | `(diredp-exec-priv ((,class :foreground ,magenta))) | ||
| 3752 | `(diredp-executable-tag ((,class :foreground ,magenta-alt))) | ||
| 3753 | `(diredp-file-name ((,class :foreground ,fg-main))) | ||
| 3754 | `(diredp-file-suffix ((,class :foreground ,cyan))) | ||
| 3755 | `(diredp-flag-mark ((,class :inherit modus-theme-mark-sel))) | ||
| 3756 | `(diredp-flag-mark-line ((,class :inherit modus-theme-mark-sel))) | ||
| 3757 | `(diredp-ignored-file-name ((,class :inherit shadow))) | ||
| 3758 | `(diredp-link-priv ((,class :foreground ,blue-alt-other))) | ||
| 3759 | `(diredp-mode-line-flagged ((,class :foreground ,red-active))) | ||
| 3760 | `(diredp-mode-line-marked ((,class :foreground ,green-active))) | ||
| 3761 | `(diredp-no-priv ((,class :inherit shadow))) | ||
| 3762 | `(diredp-number ((,class :foreground ,cyan-alt))) | ||
| 3763 | `(diredp-omit-file-name ((,class :inherit shadow :strike-through t))) | ||
| 3764 | `(diredp-other-priv ((,class :foreground ,yellow))) | ||
| 3765 | `(diredp-rare-priv ((,class :foreground ,red-alt))) | ||
| 3766 | `(diredp-read-priv ((,class :foreground ,fg-main))) | ||
| 3767 | `(diredp-symlink ((,class :inherit dired-symlink))) | ||
| 3768 | `(diredp-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta))) | ||
| 3769 | `(diredp-write-priv ((,class :foreground ,cyan))) | ||
| 3770 | ;;;;; disk-usage | ||
| 3771 | `(disk-usage-children ((,class :foreground ,yellow))) | ||
| 3772 | `(disk-usage-inaccessible ((,class :inherit bold :foreground ,red))) | ||
| 3773 | `(disk-usage-percent ((,class :foreground ,green))) | ||
| 3774 | `(disk-usage-size ((,class :foreground ,cyan))) | ||
| 3775 | `(disk-usage-symlink ((,class :inherit button))) | ||
| 3776 | `(disk-usage-symlink-directory ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3777 | ;;;;; display-fill-column-indicator-mode | ||
| 3778 | `(fill-column-indicator ((,class :foreground ,bg-active))) | ||
| 3779 | ;;;;; doom-modeline | ||
| 3780 | `(doom-modeline-bar ((,class :inherit modus-theme-active-blue))) | ||
| 3781 | `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main))) | ||
| 3782 | `(doom-modeline-battery-charging ((,class :foreground ,green-active))) | ||
| 3783 | `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active))) | ||
| 3784 | `(doom-modeline-battery-error ((,class :inherit bold :box (:line-width -2) | ||
| 3785 | :foreground ,red-active))) | ||
| 3786 | `(doom-modeline-battery-full ((,class :foreground ,blue-active))) | ||
| 3787 | `(doom-modeline-battery-normal ((,class :foreground ,fg-active))) | ||
| 3788 | `(doom-modeline-battery-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 3789 | `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active))) | ||
| 3790 | `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground ,cyan-active))) | ||
| 3791 | `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive))) | ||
| 3792 | `(doom-modeline-buffer-modified ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3793 | `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active))) | ||
| 3794 | `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active))) | ||
| 3795 | `(doom-modeline-debug-visual ((,class :inherit bold :foreground ,red-active))) | ||
| 3796 | `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3797 | `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground ,green-active))) | ||
| 3798 | `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground ,fg-inactive))) | ||
| 3799 | `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground ,fg-active))) | ||
| 3800 | `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground ,blue-active))) | ||
| 3801 | `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground ,red-active))) | ||
| 3802 | `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground ,cyan-active))) | ||
| 3803 | `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active))) | ||
| 3804 | `(doom-modeline-host ((,class :inherit italic))) | ||
| 3805 | `(doom-modeline-info ((,class :foreground ,green-active))) | ||
| 3806 | `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active))) | ||
| 3807 | `(doom-modeline-lsp-success ((,class :inherit bold :foreground ,green-active))) | ||
| 3808 | `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 3809 | `(doom-modeline-panel ((,class :inherit modus-theme-active-blue))) | ||
| 3810 | `(doom-modeline-persp-buffer-not-in-persp ((,class :inherit italic :foreground ,yellow-active))) | ||
| 3811 | `(doom-modeline-persp-name ((,class :foreground ,fg-active))) | ||
| 3812 | `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active))) | ||
| 3813 | `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active))) | ||
| 3814 | `(doom-modeline-project-root-dir ((,class :foreground ,fg-active))) | ||
| 3815 | `(doom-modeline-unread-number ((,class :inherit italic :foreground ,fg-active))) | ||
| 3816 | `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active))) | ||
| 3817 | `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 3818 | ;;;;; dynamic-ruler | ||
| 3819 | `(dynamic-ruler-negative-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 3820 | `(dynamic-ruler-positive-face ((,class :inherit modus-theme-intense-yellow))) | ||
| 3821 | ;;;;; easy-jekyll | ||
| 3822 | `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other))) | ||
| 3823 | ;;;;; easy-kill | ||
| 3824 | `(easy-kill-origin ((,class :inherit modus-theme-subtle-red))) | ||
| 3825 | `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow))) | ||
| 3826 | ;;;;; ebdb | ||
| 3827 | `(ebdb-address-default ((,class :foreground ,fg-special-calm))) | ||
| 3828 | `(ebdb-defunct ((,class :inherit shadow))) | ||
| 3829 | `(ebdb-field-hidden ((,class :foreground ,magenta))) | ||
| 3830 | `(ebdb-label ((,class :foreground ,cyan-alt-other))) | ||
| 3831 | `(ebdb-mail-default ((,class :foreground ,fg-main))) | ||
| 3832 | `(ebdb-mail-primary ((,class :foreground ,magenta-alt))) | ||
| 3833 | `(ebdb-marked ((,class :background ,cyan-intense-bg))) | ||
| 3834 | `(ebdb-organization-name ((,class :foreground ,red-alt-other))) | ||
| 3835 | `(ebdb-person-name ((,class :foreground ,magenta-alt-other))) | ||
| 3836 | `(ebdb-phone-default ((,class :foreground ,cyan))) | ||
| 3837 | `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt))) | ||
| 3838 | ;;;;; ediff | ||
| 3839 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 3840 | ;; modus-theme-diff-* faces. | ||
| 3841 | `(ediff-current-diff-A ((,class ,@(modus-themes--diff | ||
| 3842 | bg-dim red | ||
| 3843 | bg-diff-removed fg-diff-removed | ||
| 3844 | red-nuanced-bg red-faint)))) | ||
| 3845 | `(ediff-current-diff-Ancestor ((,class ,@(modus-themes--diff | ||
| 3846 | bg-dim fg-special-cold | ||
| 3847 | bg-special-cold fg-special-cold | ||
| 3848 | blue-nuanced-bg blue)))) | ||
| 3849 | `(ediff-current-diff-B ((,class ,@(modus-themes--diff | ||
| 3850 | bg-dim green | ||
| 3851 | bg-diff-added fg-diff-added | ||
| 3852 | green-nuanced-bg green-faint | ||
| 3853 | bg-diff-added-deuteran fg-diff-added-deuteran)))) | ||
| 3854 | `(ediff-current-diff-C ((,class ,@(modus-themes--diff | ||
| 3855 | bg-dim yellow | ||
| 3856 | bg-diff-changed fg-diff-changed | ||
| 3857 | yellow-nuanced-bg yellow-faint)))) | ||
| 3858 | `(ediff-even-diff-A ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 3859 | `(ediff-even-diff-Ancestor ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1))) | ||
| 3860 | `(ediff-even-diff-B ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 3861 | `(ediff-even-diff-C ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 3862 | `(ediff-fine-diff-A ((,class :background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed))) | ||
| 3863 | `(ediff-fine-diff-Ancestor ((,class :inherit modus-theme-refine-cyan))) | ||
| 3864 | `(ediff-fine-diff-B | ||
| 3865 | ((,class :background ,@(modus-themes--diff-deuteran bg-diff-focus-added-deuteran bg-diff-focus-added) | ||
| 3866 | :foreground ,@(modus-themes--diff-deuteran fg-diff-focus-added-deuteran fg-diff-focus-added)))) | ||
| 3867 | `(ediff-fine-diff-C ((,class :background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed))) | ||
| 3868 | `(ediff-odd-diff-A ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 3869 | `(ediff-odd-diff-Ancestor ((,class :background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0))) | ||
| 3870 | `(ediff-odd-diff-B ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 3871 | `(ediff-odd-diff-C ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 3872 | ;;;;; eglot | ||
| 3873 | `(eglot-mode-line ((,class :inherit modus-theme-bold :foreground ,magenta-active))) | ||
| 3874 | ;;;;; el-search | ||
| 3875 | `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3876 | `(el-search-match ((,class :inherit modus-theme-intense-green))) | ||
| 3877 | `(el-search-other-match ((,class :inherit modus-theme-special-mild))) | ||
| 3878 | `(el-search-occur-match ((,class :inherit modus-theme-special-calm))) | ||
| 3879 | ;;;;; eldoc | ||
| 3880 | ;; NOTE: see https://github.com/purcell/package-lint/issues/187 | ||
| 3881 | (list 'eldoc-highlight-function-argument `((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3882 | ;;;;; eldoc-box | ||
| 3883 | `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 3884 | `(eldoc-box-border ((,class :background ,fg-alt))) | ||
| 3885 | ;;;;; elfeed | ||
| 3886 | `(elfeed-log-date-face ((,class :inherit elfeed-search-date-face))) | ||
| 3887 | `(elfeed-log-debug-level-face ((,class :inherit elfeed-search-filter-face))) | ||
| 3888 | `(elfeed-log-error-level-face ((,class :inherit error))) | ||
| 3889 | `(elfeed-log-info-level-face ((,class :inherit success))) | ||
| 3890 | `(elfeed-log-warn-level-face ((,class :inherit warning))) | ||
| 3891 | `(elfeed-search-date-face ((,class :foreground ,cyan))) | ||
| 3892 | `(elfeed-search-feed-face ((,class :foreground ,blue-faint))) | ||
| 3893 | `(elfeed-search-filter-face ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3894 | `(elfeed-search-last-update-face ((,class :foreground ,cyan-active))) | ||
| 3895 | `(elfeed-search-tag-face ((,class :foreground ,cyan-alt-other))) | ||
| 3896 | `(elfeed-search-title-face ((,class :foreground ,fg-dim))) | ||
| 3897 | `(elfeed-search-unread-count-face ((,class :foreground ,green-active))) | ||
| 3898 | `(elfeed-search-unread-title-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 3899 | ;;;;; elfeed-score | ||
| 3900 | `(elfeed-score-date-face ((,class :foreground ,blue))) | ||
| 3901 | `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other))) | ||
| 3902 | `(elfeed-score-error-level-face ((,class :foreground ,red))) | ||
| 3903 | `(elfeed-score-info-level-face ((,class :foreground ,cyan))) | ||
| 3904 | `(elfeed-score-warn-level-face ((,class :foreground ,yellow))) | ||
| 3905 | ;;;;; emms | ||
| 3906 | `(emms-playlist-track-face ((,class :foreground ,blue))) | ||
| 3907 | `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta))) | ||
| 3908 | ;;;;; enhanced-ruby-mode | ||
| 3909 | `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other))) | ||
| 3910 | `(enh-ruby-op-face ((,class :foreground ,fg-main))) | ||
| 3911 | `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green))) | ||
| 3912 | `(enh-ruby-regexp-face ((,class :foreground ,magenta))) | ||
| 3913 | `(enh-ruby-string-delimiter-face ((,class :foreground ,blue-alt))) | ||
| 3914 | `(erm-syn-errline ((,class :foreground ,red :underline t))) | ||
| 3915 | `(erm-syn-warnline ((,class :foreground ,yellow :underline t))) | ||
| 3916 | ;;;;; epa | ||
| 3917 | `(epa-field-body ((,class :foreground ,fg-main))) | ||
| 3918 | `(epa-field-name ((,class :inherit bold :foreground ,fg-dim))) | ||
| 3919 | `(epa-mark ((,class :inherit bold :foreground ,magenta))) | ||
| 3920 | `(epa-string ((,class :foreground ,blue-alt))) | ||
| 3921 | `(epa-validity-disabled ((,class :inherit modus-theme-refine-red))) | ||
| 3922 | `(epa-validity-high ((,class :inherit bold :foreground ,green-alt-other))) | ||
| 3923 | `(epa-validity-low ((,class :inherit shadow))) | ||
| 3924 | `(epa-validity-medium ((,class :foreground ,green-alt))) | ||
| 3925 | ;;;;; equake | ||
| 3926 | `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 3927 | `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground ,green-active))) | ||
| 3928 | `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground ,red-active))) | ||
| 3929 | `(equake-shell-type-shell ((,class :background ,bg-inactive :foreground ,cyan-active))) | ||
| 3930 | `(equake-shell-type-term ((,class :background ,bg-inactive :foreground ,yellow-active))) | ||
| 3931 | `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground ,magenta-active))) | ||
| 3932 | `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt))) | ||
| 3933 | `(equake-tab-inactive ((,class :foreground ,fg-inactive))) | ||
| 3934 | ;;;;; erc | ||
| 3935 | `(erc-action-face ((,class :inherit bold :foreground ,cyan))) | ||
| 3936 | `(erc-bold-face ((,class :inherit bold))) | ||
| 3937 | `(erc-button ((,class :inherit button))) | ||
| 3938 | `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3939 | `(erc-current-nick-face ((,class :foreground ,magenta-alt-other))) | ||
| 3940 | `(erc-dangerous-host-face ((,class :inherit modus-theme-intense-red))) | ||
| 3941 | `(erc-direct-msg-face ((,class :foreground ,magenta))) | ||
| 3942 | `(erc-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3943 | `(erc-fool-face ((,class :foreground ,fg-inactive))) | ||
| 3944 | `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 3945 | `(erc-input-face ((,class :foreground ,fg-special-calm))) | ||
| 3946 | `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t))) | ||
| 3947 | `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3948 | `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta))) | ||
| 3949 | `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face))) | ||
| 3950 | `(erc-nick-default-face ((,class :inherit bold :foreground ,blue))) | ||
| 3951 | `(erc-nick-msg-face ((,class :inherit bold :foreground ,green))) | ||
| 3952 | `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face))) | ||
| 3953 | `(erc-notice-face ((,class :foreground ,fg-unfocused))) | ||
| 3954 | `(erc-pal-face ((,class :inherit bold :foreground ,red-alt))) | ||
| 3955 | `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3956 | `(erc-timestamp-face ((,class :foreground ,blue-nuanced-fg))) | ||
| 3957 | `(erc-underline-face ((,class :underline t))) | ||
| 3958 | `(bg:erc-color-face0 ((,class :background "white"))) | ||
| 3959 | `(bg:erc-color-face1 ((,class :background "black"))) | ||
| 3960 | `(bg:erc-color-face10 ((,class :background ,cyan-subtle-bg))) | ||
| 3961 | `(bg:erc-color-face11 ((,class :background ,cyan-intense-bg))) | ||
| 3962 | `(bg:erc-color-face12 ((,class :background ,blue-subtle-bg))) | ||
| 3963 | `(bg:erc-color-face13 ((,class :background ,magenta-subtle-bg))) | ||
| 3964 | `(bg:erc-color-face14 ((,class :background "gray60"))) | ||
| 3965 | `(bg:erc-color-face15 ((,class :background "gray80"))) | ||
| 3966 | `(bg:erc-color-face2 ((,class :background ,blue-intense-bg))) | ||
| 3967 | `(bg:erc-color-face3 ((,class :background ,green-intense-bg))) | ||
| 3968 | `(bg:erc-color-face4 ((,class :background ,red-subtle-bg))) | ||
| 3969 | `(bg:erc-color-face5 ((,class :background ,red-intense-bg))) | ||
| 3970 | `(bg:erc-color-face6 ((,class :background ,magenta-refine-bg))) | ||
| 3971 | `(bg:erc-color-face7 ((,class :background ,yellow-subtle-bg))) | ||
| 3972 | `(bg:erc-color-face8 ((,class :background ,yellow-refine-bg))) | ||
| 3973 | `(bg:erc-color-face9 ((,class :background ,green-subtle-bg))) | ||
| 3974 | `(fg:erc-color-face0 ((,class :foreground "white"))) | ||
| 3975 | `(fg:erc-color-face1 ((,class :foreground "black"))) | ||
| 3976 | `(fg:erc-color-face10 ((,class :foreground ,cyan))) | ||
| 3977 | `(fg:erc-color-face11 ((,class :foreground ,cyan-alt-other))) | ||
| 3978 | `(fg:erc-color-face12 ((,class :foreground ,blue))) | ||
| 3979 | `(fg:erc-color-face13 ((,class :foreground ,magenta-alt))) | ||
| 3980 | `(fg:erc-color-face14 ((,class :foreground "gray60"))) | ||
| 3981 | `(fg:erc-color-face15 ((,class :foreground "gray80"))) | ||
| 3982 | `(fg:erc-color-face2 ((,class :foreground ,blue-alt-other))) | ||
| 3983 | `(fg:erc-color-face3 ((,class :foreground ,green))) | ||
| 3984 | `(fg:erc-color-face4 ((,class :foreground ,red))) | ||
| 3985 | `(fg:erc-color-face5 ((,class :foreground ,red-alt))) | ||
| 3986 | `(fg:erc-color-face6 ((,class :foreground ,magenta-alt-other))) | ||
| 3987 | `(fg:erc-color-face7 ((,class :foreground ,yellow-alt-other))) | ||
| 3988 | `(fg:erc-color-face8 ((,class :foreground ,yellow-alt))) | ||
| 3989 | `(fg:erc-color-face9 ((,class :foreground ,green-alt-other))) | ||
| 3990 | ;;;;; eros | ||
| 3991 | `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue) | ||
| 3992 | :background ,bg-dim :foreground ,fg-dim))) | ||
| 3993 | ;;;;; ert | ||
| 3994 | `(ert-test-result-expected ((,class :inherit modus-theme-intense-green))) | ||
| 3995 | `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red))) | ||
| 3996 | ;;;;; eshell | ||
| 3997 | `(eshell-ls-archive ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3998 | `(eshell-ls-backup ((,class :foreground ,yellow-alt))) | ||
| 3999 | `(eshell-ls-clutter ((,class :foreground ,red-alt))) | ||
| 4000 | `(eshell-ls-directory ((,class :inherit bold :foreground ,blue-alt))) | ||
| 4001 | `(eshell-ls-executable ((,class :foreground ,magenta-alt))) | ||
| 4002 | `(eshell-ls-missing ((,class :inherit modus-theme-intense-red))) | ||
| 4003 | `(eshell-ls-product ((,class :foreground ,fg-special-warm))) | ||
| 4004 | `(eshell-ls-readonly ((,class :foreground ,fg-special-cold))) | ||
| 4005 | `(eshell-ls-special ((,class :inherit bold :foreground ,magenta))) | ||
| 4006 | `(eshell-ls-symlink ((,class :inherit button | ||
| 4007 | ,@(modus-themes--link-color | ||
| 4008 | cyan cyan-faint)))) | ||
| 4009 | `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 4010 | `(eshell-prompt ((,class :inherit modus-theme-bold | ||
| 4011 | ,@(modus-themes--prompt | ||
| 4012 | green-alt-other | ||
| 4013 | green-nuanced-bg green-alt | ||
| 4014 | green-refine-bg fg-main)))) | ||
| 4015 | ;;;;; eshell-fringe-status | ||
| 4016 | `(eshell-fringe-status-failure ((,class :foreground ,red))) | ||
| 4017 | `(eshell-fringe-status-success ((,class :foreground ,green))) | ||
| 4018 | ;;;;; eshell-git-prompt | ||
| 4019 | `(eshell-git-prompt-add-face ((,class :inherit shadow))) | ||
| 4020 | `(eshell-git-prompt-branch-face ((,class :inherit shadow))) | ||
| 4021 | `(eshell-git-prompt-directory-face ((,class :foreground ,cyan))) | ||
| 4022 | `(eshell-git-prompt-exit-fail-face ((,class :foreground ,red))) | ||
| 4023 | `(eshell-git-prompt-exit-success-face ((,class :foreground ,green))) | ||
| 4024 | `(eshell-git-prompt-modified-face ((,class :foreground ,yellow))) | ||
| 4025 | `(eshell-git-prompt-powerline-clean-face ((,class :background ,green-refine-bg))) | ||
| 4026 | `(eshell-git-prompt-powerline-dir-face ((,class :background ,blue-refine-bg))) | ||
| 4027 | `(eshell-git-prompt-powerline-not-clean-face ((,class :background ,magenta-refine-bg))) | ||
| 4028 | `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,red))) | ||
| 4029 | `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow))) | ||
| 4030 | `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,blue))) | ||
| 4031 | ;;;;; eshell-prompt-extras (epe) | ||
| 4032 | `(epe-dir-face ((,class :inherit modus-theme-bold :foreground ,blue))) | ||
| 4033 | `(epe-git-dir-face ((,class :foreground ,red-alt-other))) | ||
| 4034 | `(epe-git-face ((,class :foreground ,cyan-alt))) | ||
| 4035 | `(epe-pipeline-delimiter-face ((,class :foreground ,green-alt))) | ||
| 4036 | `(epe-pipeline-host-face ((,class :foreground ,blue))) | ||
| 4037 | `(epe-pipeline-time-face ((,class :foreground ,fg-special-warm))) | ||
| 4038 | `(epe-pipeline-user-face ((,class :foreground ,magenta))) | ||
| 4039 | `(epe-remote-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) | ||
| 4040 | `(epe-status-face ((,class :foreground ,magenta-alt-other))) | ||
| 4041 | `(epe-venv-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) | ||
| 4042 | ;;;;; eshell-syntax-highlighting | ||
| 4043 | `(eshell-syntax-highlighting-alias-face ((,class :foreground ,cyan))) | ||
| 4044 | `(eshell-syntax-highlighting-comment-face ((,class :inherit shadow))) | ||
| 4045 | `(eshell-syntax-highlighting-directory-face ((,class :foreground ,blue))) | ||
| 4046 | `(eshell-syntax-highlighting-envvar-face ((,class :foreground ,magenta-alt))) | ||
| 4047 | `(eshell-syntax-highlighting-invalid-face ((,class :foreground ,red))) | ||
| 4048 | `(eshell-syntax-highlighting-lisp-function-face ((,class :foreground ,magenta))) | ||
| 4049 | `(eshell-syntax-highlighting-shell-command-face ((,class :foreground ,cyan-alt-other))) | ||
| 4050 | `(eshell-syntax-highlighting-string-face ((,class :foreground ,blue-alt))) | ||
| 4051 | ;;;;; evil-mode | ||
| 4052 | `(evil-ex-commands ((,class :foreground ,magenta-alt-other))) | ||
| 4053 | `(evil-ex-info ((,class :foreground ,cyan-alt-other))) | ||
| 4054 | `(evil-ex-lazy-highlight ((,class :inherit modus-theme-refine-cyan))) | ||
| 4055 | `(evil-ex-search ((,class :inherit modus-theme-intense-green))) | ||
| 4056 | `(evil-ex-substitute-matches ((,class :inherit modus-theme-refine-yellow :underline t))) | ||
| 4057 | `(evil-ex-substitute-replacement ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 4058 | ;;;;; evil-goggles | ||
| 4059 | `(evil-goggles-change-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 4060 | `(evil-goggles-commentary-face ((,class :inherit (modus-theme-subtle-neutral modus-theme-slant)))) | ||
| 4061 | `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral))) | ||
| 4062 | `(evil-goggles-delete-face ((,class :inherit modus-theme-refine-red))) | ||
| 4063 | `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face))) | ||
| 4064 | `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face))) | ||
| 4065 | `(evil-goggles-join-face ((,class :inherit modus-theme-subtle-green))) | ||
| 4066 | `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face))) | ||
| 4067 | `(evil-goggles-paste-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 4068 | `(evil-goggles-record-macro-face ((,class :inherit modus-theme-special-cold))) | ||
| 4069 | `(evil-goggles-replace-with-register-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 4070 | `(evil-goggles-set-marker-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 4071 | `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face))) | ||
| 4072 | `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face))) | ||
| 4073 | `(evil-goggles-yank-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 4074 | ;;;;; evil-snipe | ||
| 4075 | `(evil-snipe-first-match-face ((,class :inherit (bold modus-theme-intense-blue)))) | ||
| 4076 | `(evil-snipe-matches-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 4077 | ;;;;; evil-visual-mark-mode | ||
| 4078 | `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 4079 | ;;;;; eww | ||
| 4080 | `(eww-invalid-certificate ((,class :foreground ,red-active))) | ||
| 4081 | `(eww-valid-certificate ((,class :foreground ,green-active))) | ||
| 4082 | `(eww-form-checkbox ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main))) | ||
| 4083 | `(eww-form-file ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main))) | ||
| 4084 | `(eww-form-select ((,class :inherit eww-form-checkbox))) | ||
| 4085 | `(eww-form-submit ((,class :inherit eww-form-file))) | ||
| 4086 | `(eww-form-text ((,class :box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active))) | ||
| 4087 | `(eww-form-textarea ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 4088 | ;;;;; eyebrowse | ||
| 4089 | `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active))) | ||
| 4090 | ;;;;; fancy-dabbrev | ||
| 4091 | `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 4092 | `(fancy-dabbrev-preview-face ((,class :inherit shadow :underline t))) | ||
| 4093 | `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan bold)))) | ||
| 4094 | ;;;;; flycheck | ||
| 4095 | `(flycheck-error ((,class :inherit modus-theme-lang-error))) | ||
| 4096 | `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active))) | ||
| 4097 | `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold))) | ||
| 4098 | `(flycheck-error-list-error ((,class :inherit modus-theme-bold :foreground ,red))) | ||
| 4099 | `(flycheck-error-list-filename ((,class :foreground ,blue))) | ||
| 4100 | `(flycheck-error-list-highlight ((,class :inherit modus-theme-hl-line))) | ||
| 4101 | `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other))) | ||
| 4102 | `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t))) | ||
| 4103 | `(flycheck-error-list-info ((,class :foreground ,cyan))) | ||
| 4104 | `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm))) | ||
| 4105 | `(flycheck-error-list-warning ((,class :foreground ,yellow))) | ||
| 4106 | `(flycheck-fringe-error ((,class :inherit modus-theme-fringe-red))) | ||
| 4107 | `(flycheck-fringe-info ((,class :inherit modus-theme-fringe-cyan))) | ||
| 4108 | `(flycheck-fringe-warning ((,class :inherit modus-theme-fringe-yellow))) | ||
| 4109 | `(flycheck-info ((,class :inherit modus-theme-lang-note))) | ||
| 4110 | `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button)))) | ||
| 4111 | `(flycheck-warning ((,class :inherit modus-theme-lang-warning))) | ||
| 4112 | ;;;;; flycheck-color-mode-line | ||
| 4113 | `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error))) | ||
| 4114 | `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info))) | ||
| 4115 | `(flycheck-color-mode-line-running-face ((,class :inherit italic :foreground ,fg-inactive))) | ||
| 4116 | `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning))) | ||
| 4117 | ;;;;; flycheck-indicator | ||
| 4118 | `(flycheck-indicator-disabled ((,class :inherit modus-theme-slant :foreground ,fg-inactive))) | ||
| 4119 | `(flycheck-indicator-error ((,class :inherit modus-theme-bold :foreground ,red-active))) | ||
| 4120 | `(flycheck-indicator-info ((,class :inherit modus-theme-bold :foreground ,blue-active))) | ||
| 4121 | `(flycheck-indicator-running ((,class :inherit modus-theme-bold :foreground ,magenta-active))) | ||
| 4122 | `(flycheck-indicator-success ((,class :inherit modus-theme-bold :foreground ,green-active))) | ||
| 4123 | `(flycheck-indicator-warning ((,class :inherit modus-theme-bold :foreground ,yellow-active))) | ||
| 4124 | ;;;;; flycheck-posframe | ||
| 4125 | `(flycheck-posframe-background-face ((,class :background ,bg-alt))) | ||
| 4126 | `(flycheck-posframe-border-face ((,class :inherit shadow))) | ||
| 4127 | `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red))) | ||
| 4128 | `(flycheck-posframe-face ((,class :inherit modus-theme-slant :foreground ,fg-main))) | ||
| 4129 | `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan))) | ||
| 4130 | `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 4131 | ;;;;; flymake | ||
| 4132 | `(flymake-error ((,class :inherit modus-theme-lang-error))) | ||
| 4133 | `(flymake-note ((,class :inherit modus-theme-lang-note))) | ||
| 4134 | `(flymake-warning ((,class :inherit modus-theme-lang-warning))) | ||
| 4135 | ;;;;; flyspell | ||
| 4136 | `(flyspell-duplicate ((,class :inherit modus-theme-lang-warning))) | ||
| 4137 | `(flyspell-incorrect ((,class :inherit modus-theme-lang-error))) | ||
| 4138 | ;;;;; flyspell-correct | ||
| 4139 | `(flyspell-correct-highlight-face ((,class :inherit modus-theme-refine-green))) | ||
| 4140 | ;;;;; flx | ||
| 4141 | `(flx-highlight-face ((,class ,@(modus-themes--extra-completions | ||
| 4142 | 'modus-theme-subtle-magenta | ||
| 4143 | 'modus-theme-intense-magenta | ||
| 4144 | 'modus-theme-nuanced-magenta | ||
| 4145 | magenta-alt | ||
| 4146 | 'bold)))) | ||
| 4147 | ;;;;; freeze-it | ||
| 4148 | `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm))) | ||
| 4149 | ;;;;; frog-menu | ||
| 4150 | `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other))) | ||
| 4151 | `(frog-menu-actions-face ((,class :foreground ,magenta))) | ||
| 4152 | `(frog-menu-border ((,class :background ,bg-active))) | ||
| 4153 | `(frog-menu-candidates-face ((,class :foreground ,fg-main))) | ||
| 4154 | `(frog-menu-posframe-background-face ((,class :background ,bg-dim))) | ||
| 4155 | `(frog-menu-prompt-face ((,class :foreground ,cyan))) | ||
| 4156 | ;;;;; focus | ||
| 4157 | `(focus-unfocused ((,class :foreground ,fg-unfocused))) | ||
| 4158 | ;;;;; fold-this | ||
| 4159 | `(fold-this-overlay ((,class :inherit modus-theme-special-mild))) | ||
| 4160 | ;;;;; font-lock | ||
| 4161 | `(font-lock-builtin-face ((,class :inherit modus-theme-bold | ||
| 4162 | ,@(modus-themes--syntax-extra | ||
| 4163 | magenta-alt magenta-alt-faint blue-alt)))) | ||
| 4164 | `(font-lock-comment-delimiter-face ((,class :inherit font-lock-comment-face))) | ||
| 4165 | `(font-lock-comment-face ((,class :inherit modus-theme-slant | ||
| 4166 | ,@(modus-themes--syntax-comment | ||
| 4167 | fg-alt fg-comment-yellow)))) | ||
| 4168 | `(font-lock-constant-face ((,class ,@(modus-themes--syntax-extra | ||
| 4169 | blue-alt-other blue-alt-other-faint magenta-alt-other)))) | ||
| 4170 | `(font-lock-doc-face ((,class :inherit modus-theme-slant | ||
| 4171 | ,@(modus-themes--syntax-docstring | ||
| 4172 | fg-docstring green-alt-other-faint | ||
| 4173 | green-alt-other-faint magenta-nuanced-fg)))) | ||
| 4174 | `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra | ||
| 4175 | magenta magenta-faint magenta-alt)))) | ||
| 4176 | `(font-lock-keyword-face ((,class :inherit modus-theme-bold | ||
| 4177 | ,@(modus-themes--syntax-extra | ||
| 4178 | magenta-alt-other magenta-alt-other-faint cyan-alt-other)))) | ||
| 4179 | `(font-lock-negation-char-face ((,class :inherit modus-theme-bold | ||
| 4180 | ,@(modus-themes--syntax-foreground | ||
| 4181 | yellow yellow-faint)))) | ||
| 4182 | `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-foreground | ||
| 4183 | red-alt-other red-alt-other-faint)))) | ||
| 4184 | `(font-lock-regexp-grouping-backslash ((,class :inherit bold | ||
| 4185 | ,@(modus-themes--syntax-string | ||
| 4186 | fg-escape-char-backslash yellow-alt-faint | ||
| 4187 | magenta-alt-other blue-alt)))) | ||
| 4188 | `(font-lock-regexp-grouping-construct ((,class :inherit bold | ||
| 4189 | ,@(modus-themes--syntax-string | ||
| 4190 | fg-escape-char-construct red-alt-other-faint | ||
| 4191 | red magenta-alt)))) | ||
| 4192 | `(font-lock-string-face ((,class ,@(modus-themes--syntax-string | ||
| 4193 | blue-alt blue-alt-faint green green-alt)))) | ||
| 4194 | `(font-lock-type-face ((,class :inherit modus-theme-bold | ||
| 4195 | ,@(modus-themes--syntax-extra | ||
| 4196 | cyan-alt-other cyan-alt-faint cyan-alt)))) | ||
| 4197 | `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra | ||
| 4198 | cyan cyan-faint blue-alt-faint)))) | ||
| 4199 | `(font-lock-warning-face ((,class :inherit modus-theme-bold | ||
| 4200 | ,@(modus-themes--syntax-foreground | ||
| 4201 | yellow-active yellow-alt-faint)))) | ||
| 4202 | ;;;;; forge | ||
| 4203 | `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) | ||
| 4204 | `(forge-post-date ((,class :foreground ,fg-special-cold))) | ||
| 4205 | `(forge-topic-closed ((,class :inherit shadow))) | ||
| 4206 | `(forge-topic-merged ((,class :inherit shadow))) | ||
| 4207 | `(forge-topic-open ((,class :foreground ,fg-special-mild))) | ||
| 4208 | `(forge-topic-unmerged ((,class :inherit modus-theme-slant :foreground ,magenta))) | ||
| 4209 | `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main))) | ||
| 4210 | ;;;;; fountain-mode | ||
| 4211 | `(fountain-character ((,class :foreground ,blue-alt-other))) | ||
| 4212 | `(fountain-comment ((,class :inherit modus-theme-slant :foreground ,fg-alt))) | ||
| 4213 | `(fountain-dialog ((,class :foreground ,blue-alt))) | ||
| 4214 | `(fountain-metadata-key ((,class :foreground ,green-alt-other))) | ||
| 4215 | `(fountain-metadata-value ((,class :foreground ,blue))) | ||
| 4216 | `(fountain-non-printing ((,class :inherit shadow))) | ||
| 4217 | `(fountain-note ((,class :inherit modus-theme-slant :foreground ,yellow))) | ||
| 4218 | `(fountain-page-break ((,class :inherit bold :foreground ,red-alt))) | ||
| 4219 | `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 4220 | `(fountain-paren ((,class :foreground ,cyan))) | ||
| 4221 | `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced-fg))) | ||
| 4222 | `(fountain-section-heading ((,class :inherit modus-theme-heading-1))) | ||
| 4223 | `(fountain-section-heading-1 ((,class :inherit modus-theme-heading-1))) | ||
| 4224 | `(fountain-section-heading-2 ((,class :inherit modus-theme-heading-2))) | ||
| 4225 | `(fountain-section-heading-3 ((,class :inherit modus-theme-heading-3))) | ||
| 4226 | `(fountain-section-heading-4 ((,class :inherit modus-theme-heading-4))) | ||
| 4227 | `(fountain-section-heading-5 ((,class :inherit modus-theme-heading-5))) | ||
| 4228 | `(fountain-synopsis ((,class :foreground ,cyan-alt))) | ||
| 4229 | `(fountain-trans ((,class :foreground ,yellow-alt-other))) | ||
| 4230 | ;;;;; geiser | ||
| 4231 | `(geiser-font-lock-autodoc-current-arg ((,class :inherit font-lock-function-name-face))) | ||
| 4232 | `(geiser-font-lock-autodoc-identifier ((,class :inherit font-lock-constant-face))) | ||
| 4233 | `(geiser-font-lock-doc-button ((,class :inherit button :foreground ,fg-docstring))) | ||
| 4234 | `(geiser-font-lock-doc-link ((,class :inherit button))) | ||
| 4235 | `(geiser-font-lock-error-link ((,class :inherit button :foreground ,red))) | ||
| 4236 | `(geiser-font-lock-image-button ((,class :inherit button :foreground ,green-alt))) | ||
| 4237 | `(geiser-font-lock-repl-input ((,class :inherit bold))) | ||
| 4238 | `(geiser-font-lock-repl-output ((,class :inherit font-lock-keyword-face))) | ||
| 4239 | `(geiser-font-lock-repl-prompt ((,class :inherit minibuffer-prompt))) | ||
| 4240 | `(geiser-font-lock-xref-header ((,class :inherit bold))) | ||
| 4241 | `(geiser-font-lock-xref-link ((,class :inherit button))) | ||
| 4242 | ;;;;; git-commit | ||
| 4243 | `(git-commit-comment-action ((,class :inherit font-lock-comment-face))) | ||
| 4244 | `(git-commit-comment-branch-local ((,class :inherit modus-theme-slant :foreground ,blue-alt))) | ||
| 4245 | `(git-commit-comment-branch-remote ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) | ||
| 4246 | `(git-commit-comment-detached ((,class :inherit modus-theme-slant :foreground ,cyan-alt))) | ||
| 4247 | `(git-commit-comment-file ((,class :inherit modus-theme-slant | ||
| 4248 | ,@(modus-themes--syntax-comment | ||
| 4249 | fg-special-cold red-nuanced-fg)))) | ||
| 4250 | `(git-commit-comment-heading ((,class :inherit (bold modus-theme-slant) | ||
| 4251 | ,@(modus-themes--syntax-comment | ||
| 4252 | fg-dim fg-special-warm)))) | ||
| 4253 | `(git-commit-keyword ((,class :foreground ,magenta))) | ||
| 4254 | `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other))) | ||
| 4255 | `(git-commit-nonempty-second-line ((,class :inherit modus-theme-refine-yellow))) | ||
| 4256 | `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow))) | ||
| 4257 | `(git-commit-pseudo-header ((,class :foreground ,blue))) | ||
| 4258 | `(git-commit-summary ((,class :inherit bold :foreground ,cyan))) | ||
| 4259 | ;;;;; git-gutter | ||
| 4260 | `(git-gutter:added ((,class :inherit modus-theme-fringe-green))) | ||
| 4261 | `(git-gutter:deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 4262 | `(git-gutter:modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 4263 | `(git-gutter:separator ((,class :inherit modus-theme-fringe-cyan))) | ||
| 4264 | `(git-gutter:unchanged ((,class :inherit modus-theme-fringe-magenta))) | ||
| 4265 | ;;;;; git-gutter-fr | ||
| 4266 | `(git-gutter-fr:added ((,class :inherit modus-theme-fringe-green))) | ||
| 4267 | `(git-gutter-fr:deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 4268 | `(git-gutter-fr:modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 4269 | ;;;;; git-{gutter,fringe}+ | ||
| 4270 | `(git-gutter+-added ((,class :inherit modus-theme-fringe-green))) | ||
| 4271 | `(git-gutter+-deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 4272 | `(git-gutter+-modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 4273 | `(git-gutter+-separator ((,class :inherit modus-theme-fringe-cyan))) | ||
| 4274 | `(git-gutter+-unchanged ((,class :inherit modus-theme-fringe-magenta))) | ||
| 4275 | `(git-gutter-fr+-added ((,class :inherit modus-theme-fringe-green))) | ||
| 4276 | `(git-gutter-fr+-deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 4277 | `(git-gutter-fr+-modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 4278 | ;;;;; git-lens | ||
| 4279 | `(git-lens-added ((,class :inherit bold :foreground ,green))) | ||
| 4280 | `(git-lens-deleted ((,class :inherit bold :foreground ,red))) | ||
| 4281 | `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan))) | ||
| 4282 | `(git-lens-modified ((,class :inherit bold :foreground ,yellow))) | ||
| 4283 | `(git-lens-renamed ((,class :inherit bold :foreground ,magenta))) | ||
| 4284 | ;;;;; git-rebase | ||
| 4285 | `(git-rebase-comment-hash ((,class :inherit modus-theme-slant | ||
| 4286 | ,@(modus-themes--syntax-comment | ||
| 4287 | fg-special-cold red-nuanced-fg)))) | ||
| 4288 | `(git-rebase-comment-heading ((,class :inherit (bold modus-theme-slant) | ||
| 4289 | ,@(modus-themes--syntax-comment | ||
| 4290 | fg-dim fg-special-warm)))) | ||
| 4291 | `(git-rebase-description ((,class :foreground ,fg-main))) | ||
| 4292 | `(git-rebase-hash ((,class :foreground ,cyan-alt-other))) | ||
| 4293 | ;;;;; git-timemachine | ||
| 4294 | `(git-timemachine-commit ((,class :inherit bold :foreground ,yellow-active))) | ||
| 4295 | `(git-timemachine-minibuffer-author-face ((,class :foreground ,fg-special-warm))) | ||
| 4296 | `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt))) | ||
| 4297 | ;;;;; git-walktree | ||
| 4298 | `(git-walktree-commit-face ((,class :foreground ,yellow))) | ||
| 4299 | `(git-walktree-symlink-face ((,class :inherit button))) | ||
| 4300 | `(git-walktree-tree-face ((,class :foreground ,magenta))) | ||
| 4301 | ;;;;; gnus | ||
| 4302 | `(gnus-button ((,class :inherit button))) | ||
| 4303 | `(gnus-cite-1 ((,class :foreground ,blue-faint))) | ||
| 4304 | `(gnus-cite-10 ((,class :foreground ,yellow-alt-other))) | ||
| 4305 | `(gnus-cite-11 ((,class :foreground ,magenta-alt))) | ||
| 4306 | `(gnus-cite-2 ((,class :foreground ,green-alt-other))) | ||
| 4307 | `(gnus-cite-3 ((,class :foreground ,red-alt-other))) | ||
| 4308 | `(gnus-cite-4 ((,class :foreground ,cyan))) | ||
| 4309 | `(gnus-cite-5 ((,class :foreground ,yellow-alt))) | ||
| 4310 | `(gnus-cite-6 ((,class :foreground ,magenta))) | ||
| 4311 | `(gnus-cite-7 ((,class :foreground ,green-alt))) | ||
| 4312 | `(gnus-cite-8 ((,class :foreground ,magenta-alt-other))) | ||
| 4313 | `(gnus-cite-9 ((,class :foreground ,cyan-alt))) | ||
| 4314 | `(gnus-cite-attribution ((,class :inherit italic :foreground ,fg-main))) | ||
| 4315 | `(gnus-emphasis-bold ((,class :inherit bold))) | ||
| 4316 | `(gnus-emphasis-bold-italic ((,class :inherit bold-italic))) | ||
| 4317 | `(gnus-emphasis-highlight-words ((,class :inherit modus-theme-refine-yellow))) | ||
| 4318 | `(gnus-emphasis-italic ((,class :inherit italic))) | ||
| 4319 | `(gnus-emphasis-underline-bold ((,class :inherit gnus-emphasis-bold :underline t))) | ||
| 4320 | `(gnus-emphasis-underline-bold-italic ((,class :inherit gnus-emphasis-bold-italic :underline t))) | ||
| 4321 | `(gnus-emphasis-underline-italic ((,class :inherit gnus-emphasis-italic :underline t))) | ||
| 4322 | `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 4323 | `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt))) | ||
| 4324 | `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta))) | ||
| 4325 | `(gnus-group-mail-2-empty ((,class :foreground ,magenta))) | ||
| 4326 | `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 4327 | `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other))) | ||
| 4328 | `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced-fg))) | ||
| 4329 | `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced-fg))) | ||
| 4330 | `(gnus-group-news-1 ((,class :inherit bold :foreground ,green))) | ||
| 4331 | `(gnus-group-news-1-empty ((,class :foreground ,green))) | ||
| 4332 | `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan))) | ||
| 4333 | `(gnus-group-news-2-empty ((,class :foreground ,cyan))) | ||
| 4334 | `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced-fg))) | ||
| 4335 | `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced-fg))) | ||
| 4336 | `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced-fg))) | ||
| 4337 | `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced-fg))) | ||
| 4338 | `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced-fg))) | ||
| 4339 | `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced-fg))) | ||
| 4340 | `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-alt))) | ||
| 4341 | `(gnus-group-news-6-empty ((,class :inherit shadow))) | ||
| 4342 | `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced-fg))) | ||
| 4343 | `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced-fg))) | ||
| 4344 | `(gnus-header-content ((,class :inherit message-header-other))) | ||
| 4345 | `(gnus-header-from ((,class :inherit message-header-to :underline nil))) | ||
| 4346 | `(gnus-header-name ((,class :inherit message-header-name))) | ||
| 4347 | `(gnus-header-newsgroups ((,class :inherit message-header-newsgroups))) | ||
| 4348 | `(gnus-header-subject ((,class :inherit message-header-subject))) | ||
| 4349 | `(gnus-server-agent ((,class :inherit bold :foreground ,cyan))) | ||
| 4350 | `(gnus-server-closed ((,class :inherit bold :foreground ,magenta))) | ||
| 4351 | `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 4352 | `(gnus-server-cloud-host ((,class :inherit modus-theme-refine-cyan))) | ||
| 4353 | `(gnus-server-denied ((,class :inherit bold :foreground ,red))) | ||
| 4354 | `(gnus-server-offline ((,class :inherit bold :foreground ,yellow))) | ||
| 4355 | `(gnus-server-opened ((,class :inherit bold :foreground ,green))) | ||
| 4356 | `(gnus-signature ((,class :inherit italic :foreground ,fg-special-cold))) | ||
| 4357 | `(gnus-splash ((,class :inherit shadow))) | ||
| 4358 | `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt))) | ||
| 4359 | `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt))) | ||
| 4360 | `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4361 | `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 4362 | `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground ,yellow))) | ||
| 4363 | `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main))) | ||
| 4364 | `(gnus-summary-low-ancient ((,class :inherit italic :foreground ,fg-alt))) | ||
| 4365 | `(gnus-summary-low-read ((,class :inherit italic :foreground ,fg-alt))) | ||
| 4366 | `(gnus-summary-low-ticked ((,class :inherit italic :foreground ,red-refine-fg))) | ||
| 4367 | `(gnus-summary-low-undownloaded ((,class :inherit italic :foreground ,yellow-refine-fg))) | ||
| 4368 | `(gnus-summary-low-unread ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4369 | `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm))) | ||
| 4370 | `(gnus-summary-normal-read ((,class :inherit shadow))) | ||
| 4371 | `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other))) | ||
| 4372 | `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow))) | ||
| 4373 | `(gnus-summary-normal-unread ((,class :foreground ,fg-main))) | ||
| 4374 | `(gnus-summary-selected ((,class :inherit modus-theme-subtle-blue))) | ||
| 4375 | ;;;;; golden-ratio-scroll-screen | ||
| 4376 | `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) | ||
| 4377 | ;;;;; helm | ||
| 4378 | `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 4379 | `(helm-action ((,class :underline t))) | ||
| 4380 | `(helm-bookmark-addressbook ((,class :foreground ,green-alt))) | ||
| 4381 | `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue))) | ||
| 4382 | `(helm-bookmark-file ((,class :foreground ,fg-main))) | ||
| 4383 | `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 4384 | `(helm-bookmark-gnus ((,class :foreground ,magenta))) | ||
| 4385 | `(helm-bookmark-info ((,class :foreground ,cyan-alt))) | ||
| 4386 | `(helm-bookmark-man ((,class :foreground ,yellow-alt))) | ||
| 4387 | `(helm-bookmark-w3m ((,class :foreground ,blue-alt))) | ||
| 4388 | `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan))) | ||
| 4389 | `(helm-buffer-directory ((,class :inherit bold :foreground ,blue))) | ||
| 4390 | `(helm-buffer-file ((,class :foreground ,fg-main))) | ||
| 4391 | `(helm-buffer-modified ((,class :foreground ,yellow-alt))) | ||
| 4392 | `(helm-buffer-not-saved ((,class :foreground ,red-alt))) | ||
| 4393 | `(helm-buffer-process ((,class :foreground ,magenta))) | ||
| 4394 | `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt :foreground ,red))) | ||
| 4395 | `(helm-buffer-size ((,class :inherit shadow))) | ||
| 4396 | `(helm-candidate-number ((,class :foreground ,cyan-active))) | ||
| 4397 | `(helm-candidate-number-suspended ((,class :foreground ,yellow-active))) | ||
| 4398 | `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active))) | ||
| 4399 | `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active))) | ||
| 4400 | `(helm-delete-async-message ((,class :inherit bold :foreground ,magenta-active))) | ||
| 4401 | `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 4402 | `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active))) | ||
| 4403 | `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active))) | ||
| 4404 | `(helm-etags-file ((,class :foreground ,fg-dim :underline t))) | ||
| 4405 | `(helm-ff-backup-file ((,class :inherit shadow))) | ||
| 4406 | `(helm-ff-denied ((,class ,@(modus-themes--extra-completions | ||
| 4407 | 'modus-theme-subtle-red | ||
| 4408 | 'modus-theme-intense-red | ||
| 4409 | 'modus-theme-nuanced-red | ||
| 4410 | red)))) | ||
| 4411 | `(helm-ff-directory ((,class :inherit helm-buffer-directory))) | ||
| 4412 | `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 4413 | `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt :foreground ,fg-alt))) | ||
| 4414 | `(helm-ff-dotted-symlink-directory ((,class :inherit (button helm-ff-dotted-directory)))) | ||
| 4415 | `(helm-ff-executable ((,class :foreground ,magenta-alt))) | ||
| 4416 | `(helm-ff-file ((,class :foreground ,fg-main))) | ||
| 4417 | `(helm-ff-file-extension ((,class :foreground ,fg-special-warm))) | ||
| 4418 | `(helm-ff-invalid-symlink ((,class :inherit button | ||
| 4419 | ,@(modus-themes--link-color | ||
| 4420 | red red-faint)))) | ||
| 4421 | `(helm-ff-pipe ((,class ,@(modus-themes--extra-completions | ||
| 4422 | 'modus-theme-refine-magenta | ||
| 4423 | 'modus-theme-subtle-magenta | ||
| 4424 | 'modus-theme-nuanced-magenta | ||
| 4425 | magenta)))) | ||
| 4426 | `(helm-ff-prefix ((,class ,@(modus-themes--extra-completions | ||
| 4427 | 'modus-theme-refine-yellow | ||
| 4428 | 'modus-theme-subtle-yellow | ||
| 4429 | 'modus-theme-nuanced-yellow | ||
| 4430 | yellow-alt-other)))) | ||
| 4431 | `(helm-ff-socket ((,class :foreground ,red-alt-other))) | ||
| 4432 | `(helm-ff-suid ((,class ,@(modus-themes--extra-completions | ||
| 4433 | 'modus-theme-subtle-red | ||
| 4434 | 'modus-theme-refine-red | ||
| 4435 | 'modus-theme-nuanced-yellow | ||
| 4436 | red-alt)))) | ||
| 4437 | `(helm-ff-symlink ((,class :inherit button | ||
| 4438 | ,@(modus-themes--link-color | ||
| 4439 | cyan cyan-faint)))) | ||
| 4440 | `(helm-ff-truename ((,class :foreground ,blue-alt-other))) | ||
| 4441 | `(helm-fd-finish ((,class :foreground ,green-active))) | ||
| 4442 | `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other))) | ||
| 4443 | `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4444 | `(helm-grep-finish ((,class :foreground ,green-active))) | ||
| 4445 | `(helm-grep-lineno ((,class :foreground ,fg-special-warm))) | ||
| 4446 | `(helm-grep-match ((,class :inherit modus-theme-special-calm))) | ||
| 4447 | `(helm-header ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4448 | `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense))) | ||
| 4449 | `(helm-history-deleted ((,class ,@(modus-themes--extra-completions | ||
| 4450 | 'modus-theme-subtle-red | ||
| 4451 | 'modus-theme-intense-red | ||
| 4452 | 'modus-theme-nuanced-red | ||
| 4453 | red | ||
| 4454 | 'bold)))) | ||
| 4455 | `(helm-history-remote ((,class :foreground ,red-alt-other))) | ||
| 4456 | `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm))) | ||
| 4457 | `(helm-lisp-show-completion ((,class ,@(modus-themes--extra-completions | ||
| 4458 | 'modus-theme-subtle-yellow | ||
| 4459 | 'modus-theme-refine-yellow | ||
| 4460 | 'modus-theme-nuanced-yellow | ||
| 4461 | yellow | ||
| 4462 | 'bold)))) | ||
| 4463 | `(helm-locate-finish ((,class :foreground ,green-active))) | ||
| 4464 | `(helm-match ((,class ,@(modus-themes--extra-completions | ||
| 4465 | 'modus-theme-subtle-cyan | ||
| 4466 | 'modus-theme-refine-cyan | ||
| 4467 | 'modus-theme-nuanced-cyan | ||
| 4468 | cyan | ||
| 4469 | 'bold)))) | ||
| 4470 | `(helm-match-item ((,class ,@(modus-themes--extra-completions | ||
| 4471 | 'modus-theme-subtle-neutral | ||
| 4472 | 'modus-theme-subtle-cyan | ||
| 4473 | 'modus-theme-nuanced-cyan | ||
| 4474 | cyan-alt-other)))) | ||
| 4475 | `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt))) | ||
| 4476 | `(helm-moccur-buffer ((,class :inherit button | ||
| 4477 | ,@(modus-themes--link-color | ||
| 4478 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4479 | `(helm-mode-prefix ((,class ,@(modus-themes--extra-completions | ||
| 4480 | 'modus-theme-subtle-magenta | ||
| 4481 | 'modus-theme-intense-magenta | ||
| 4482 | 'modus-theme-nuanced-magenta | ||
| 4483 | magenta-alt | ||
| 4484 | 'bold)))) | ||
| 4485 | `(helm-non-file-buffer ((,class :inherit shadow))) | ||
| 4486 | `(helm-prefarg ((,class :foreground ,red-active))) | ||
| 4487 | `(helm-resume-need-update ((,class ,@(modus-themes--extra-completions | ||
| 4488 | 'modus-theme-subtle-magenta | ||
| 4489 | 'modus-theme-refine-magenta | ||
| 4490 | 'modus-theme-nuanced-magenta | ||
| 4491 | magenta-alt-other)))) | ||
| 4492 | `(helm-selection ((,class ,@(modus-themes--extra-completions | ||
| 4493 | 'modus-theme-subtle-blue | ||
| 4494 | 'modus-theme-refine-blue | ||
| 4495 | 'modus-theme-special-cold | ||
| 4496 | nil | ||
| 4497 | 'bold)))) | ||
| 4498 | `(helm-selection-line ((,class :inherit modus-theme-special-cold))) | ||
| 4499 | `(helm-separator ((,class :foreground ,fg-special-mild))) | ||
| 4500 | `(helm-time-zone-current ((,class :foreground ,green))) | ||
| 4501 | `(helm-time-zone-home ((,class :foreground ,magenta))) | ||
| 4502 | `(helm-source-header ((,class :inherit bold :foreground ,red-alt | ||
| 4503 | ,@(modus-themes--scale modus-themes-scale-4)))) | ||
| 4504 | `(helm-top-columns ((,class :inherit helm-header))) | ||
| 4505 | `(helm-ucs-char ((,class :foreground ,yellow-alt-other))) | ||
| 4506 | `(helm-visible-mark ((,class :inherit modus-theme-subtle-cyan))) | ||
| 4507 | ;;;;; helm-ls-git | ||
| 4508 | `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense))) | ||
| 4509 | `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense))) | ||
| 4510 | `(helm-ls-git-conflict-face ((,class :inherit bold :foreground ,red-intense))) | ||
| 4511 | `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced-fg))) | ||
| 4512 | `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red))) | ||
| 4513 | `(helm-ls-git-modified-and-staged-face ((,class :foreground ,yellow-nuanced-fg))) | ||
| 4514 | `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow))) | ||
| 4515 | `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta))) | ||
| 4516 | `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold))) | ||
| 4517 | ;;;;; helm-switch-shell | ||
| 4518 | `(helm-switch-shell-new-shell-face ((,class ,@(modus-themes--extra-completions | ||
| 4519 | 'modus-theme-subtle-magenta | ||
| 4520 | 'modus-theme-refine-magenta | ||
| 4521 | 'modus-theme-nuanced-magenta | ||
| 4522 | magenta-alt-other | ||
| 4523 | 'bold)))) | ||
| 4524 | ;;;;; helm-xref | ||
| 4525 | `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4526 | `(helm-xref-file-name ((,class :foreground ,fg-special-warm))) | ||
| 4527 | ;;;;; helpful | ||
| 4528 | `(helpful-heading ((,class :inherit modus-theme-heading-1))) | ||
| 4529 | ;;;;; highlight region or ad-hoc regexp | ||
| 4530 | `(hi-aquamarine ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) | ||
| 4531 | `(hi-black-b ((,class :inherit bold :background ,fg-main :foreground ,bg-main))) | ||
| 4532 | `(hi-black-hb ((,class :inherit bold :background ,fg-alt :foreground ,bg-main))) | ||
| 4533 | `(hi-blue ((,class :background ,blue-subtle-bg :foreground ,fg-main))) | ||
| 4534 | `(hi-blue-b ((,class :inherit (bold hi-blue)))) | ||
| 4535 | `(hi-green ((,class :background ,green-subtle-bg :foreground ,fg-main))) | ||
| 4536 | `(hi-green-b ((,class :inherit (bold hi-green)))) | ||
| 4537 | `(hi-pink ((,class :background ,magenta-subtle-bg :foreground ,fg-main))) | ||
| 4538 | `(hi-pink-b ((,class :inherit (bold hi-pink)))) | ||
| 4539 | `(hi-red-b ((,class :inherit bold :background ,red-intense-bg :foreground ,fg-main))) | ||
| 4540 | `(hi-salmon ((,class :background ,red-subtle-bg :foreground ,fg-main))) | ||
| 4541 | `(hi-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-main))) | ||
| 4542 | `(highlight ((,class :inherit modus-theme-subtle-blue))) | ||
| 4543 | `(highlight-changes ((,class :foreground ,yellow-alt-other))) | ||
| 4544 | `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline t))) | ||
| 4545 | `(hl-line ((,class :inherit modus-theme-hl-line))) | ||
| 4546 | ;;;;; highlight-blocks | ||
| 4547 | `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 4548 | `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 4549 | `(highlight-blocks-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 4550 | `(highlight-blocks-depth-4-face ((,class :background ,bg-special-calm :foreground ,fg-main))) | ||
| 4551 | `(highlight-blocks-depth-5-face ((,class :background ,bg-special-warm :foreground ,fg-main))) | ||
| 4552 | `(highlight-blocks-depth-6-face ((,class :background ,bg-special-mild :foreground ,fg-main))) | ||
| 4553 | `(highlight-blocks-depth-7-face ((,class :background ,bg-inactive :foreground ,fg-main))) | ||
| 4554 | `(highlight-blocks-depth-8-face ((,class :background ,bg-active :foreground ,fg-main))) | ||
| 4555 | `(highlight-blocks-depth-9-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) | ||
| 4556 | ;;;;; highlight-defined | ||
| 4557 | `(highlight-defined-builtin-function-name-face ((,class :foreground ,magenta))) | ||
| 4558 | `(highlight-defined-face-name-face ((,class :foreground ,fg-main))) | ||
| 4559 | `(highlight-defined-function-name-face ((,class :foreground ,magenta))) | ||
| 4560 | `(highlight-defined-macro-name-face ((,class :foreground ,magenta-alt))) | ||
| 4561 | `(highlight-defined-special-form-name-face ((,class :foreground ,magenta-alt-other))) | ||
| 4562 | `(highlight-defined-variable-name-face ((,class :foreground ,cyan))) | ||
| 4563 | ;;;;; highlight-escape-sequences (`hes-mode') | ||
| 4564 | `(hes-escape-backslash-face ((,class :inherit bold :foreground ,fg-escape-char-construct))) | ||
| 4565 | `(hes-escape-sequence-face ((,class :inherit bold :foreground ,fg-escape-char-backslash))) | ||
| 4566 | ;;;;; highlight-indentation | ||
| 4567 | `(highlight-indentation-face ((,class :inherit modus-theme-hl-line))) | ||
| 4568 | `(highlight-indentation-current-column-face ((,class :background ,bg-active))) | ||
| 4569 | ;;;;; highlight-numbers | ||
| 4570 | `(highlight-numbers-number ((,class :foreground ,blue-alt-other))) | ||
| 4571 | ;;;;; highlight-symbol | ||
| 4572 | `(highlight-symbol-face ((,class :inherit modus-theme-special-mild))) | ||
| 4573 | ;;;;; highlight-thing | ||
| 4574 | `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan))) | ||
| 4575 | ;;;;; hl-defined | ||
| 4576 | `(hdefd-functions ((,class :foreground ,blue))) | ||
| 4577 | `(hdefd-undefined ((,class :foreground ,red-alt))) | ||
| 4578 | `(hdefd-variables ((,class :foreground ,cyan-alt))) | ||
| 4579 | ;;;;; hl-fill-column | ||
| 4580 | `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 4581 | ;;;;; hl-todo | ||
| 4582 | `(hl-todo ((,class :inherit (bold modus-theme-slant) :foreground ,red-alt-other))) | ||
| 4583 | ;;;;; hydra | ||
| 4584 | `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow))) | ||
| 4585 | `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt))) | ||
| 4586 | `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 4587 | `(hydra-face-red ((,class :inherit bold :foreground ,red))) | ||
| 4588 | `(hydra-face-teal ((,class :inherit bold :foreground ,cyan))) | ||
| 4589 | ;;;;; hyperlist | ||
| 4590 | `(hyperlist-condition ((,class :foreground ,green))) | ||
| 4591 | `(hyperlist-hashtag ((,class :foreground ,yellow))) | ||
| 4592 | `(hyperlist-operator ((,class :foreground ,blue-alt))) | ||
| 4593 | `(hyperlist-paren ((,class :foreground ,cyan-alt-other))) | ||
| 4594 | `(hyperlist-quote ((,class :foreground ,cyan-alt))) | ||
| 4595 | `(hyperlist-ref ((,class :foreground ,magenta-alt-other))) | ||
| 4596 | `(hyperlist-stars ((,class :inherit shadow))) | ||
| 4597 | `(hyperlist-tag ((,class :foreground ,red))) | ||
| 4598 | `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main))) | ||
| 4599 | ;;;;; icomplete | ||
| 4600 | `(icomplete-first-match ((,class :inherit bold | ||
| 4601 | ,@(modus-themes--standard-completions | ||
| 4602 | magenta bg-alt | ||
| 4603 | bg-active fg-main)))) | ||
| 4604 | ;;;;; icomplete-vertical | ||
| 4605 | `(icomplete-vertical-separator ((,class :inherit shadow))) | ||
| 4606 | ;;;;; ido-mode | ||
| 4607 | `(ido-first-match ((,class :inherit bold | ||
| 4608 | ,@(modus-themes--standard-completions | ||
| 4609 | magenta bg-alt | ||
| 4610 | bg-active fg-main)))) | ||
| 4611 | `(ido-incomplete-regexp ((,class :inherit error))) | ||
| 4612 | `(ido-indicator ((,class :inherit modus-theme-subtle-yellow))) | ||
| 4613 | `(ido-only-match ((,class :inherit bold | ||
| 4614 | ,@(modus-themes--standard-completions | ||
| 4615 | green green-nuanced-bg | ||
| 4616 | green-intense-bg fg-main)))) | ||
| 4617 | `(ido-subdir ((,class :foreground ,blue))) | ||
| 4618 | `(ido-virtual ((,class :foreground ,fg-special-warm))) | ||
| 4619 | ;;;;; iedit | ||
| 4620 | `(iedit-occurrence ((,class :inherit modus-theme-refine-blue))) | ||
| 4621 | `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow))) | ||
| 4622 | ;;;;; iflipb | ||
| 4623 | `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 4624 | `(iflipb-other-buffer-face ((,class :inherit shadow))) | ||
| 4625 | ;;;;; imenu-list | ||
| 4626 | `(imenu-list-entry-face-0 ((,class :foreground ,cyan))) | ||
| 4627 | `(imenu-list-entry-face-1 ((,class :foreground ,blue))) | ||
| 4628 | `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other))) | ||
| 4629 | `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt))) | ||
| 4630 | `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground ,magenta-alt-other :underline t))) | ||
| 4631 | `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground ,magenta :underline t))) | ||
| 4632 | `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground ,green-alt-other :underline t))) | ||
| 4633 | `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground ,red-alt-other :underline t))) | ||
| 4634 | ;;;;; indium | ||
| 4635 | `(indium-breakpoint-face ((,class :foreground ,red-active))) | ||
| 4636 | `(indium-frame-url-face ((,class :inherit button :foreground ,fg-alt))) | ||
| 4637 | `(indium-keyword-face ((,class :foreground ,magenta-alt-other))) | ||
| 4638 | `(indium-litable-face ((,class :inherit modus-theme-slant :foreground ,fg-special-warm))) | ||
| 4639 | `(indium-repl-error-face ((,class :inherit bold :foreground ,red))) | ||
| 4640 | `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other))) | ||
| 4641 | `(indium-repl-stdout-face ((,class :foreground ,fg-main))) | ||
| 4642 | ;;;;; info | ||
| 4643 | `(Info-quoted ((,class ,@(modus-themes--mixed-fonts) ; the capitalization is canonical | ||
| 4644 | :background ,bg-alt :foreground ,fg-special-calm))) | ||
| 4645 | `(info-header-node ((,class :inherit bold :foreground ,fg-alt))) | ||
| 4646 | `(info-header-xref ((,class :foreground ,blue-active))) | ||
| 4647 | `(info-index-match ((,class :inherit match))) | ||
| 4648 | `(info-menu-header ((,class :inherit modus-theme-heading-3))) | ||
| 4649 | `(info-menu-star ((,class :foreground ,red))) | ||
| 4650 | `(info-node ((,class :inherit bold))) | ||
| 4651 | `(info-title-1 ((,class :inherit modus-theme-heading-1))) | ||
| 4652 | `(info-title-2 ((,class :inherit modus-theme-heading-2))) | ||
| 4653 | `(info-title-3 ((,class :inherit modus-theme-heading-3))) | ||
| 4654 | `(info-title-4 ((,class :inherit modus-theme-heading-4))) | ||
| 4655 | ;;;;; info-colors | ||
| 4656 | `(info-colors-lisp-code-block ((,class :inherit fixed-pitch))) | ||
| 4657 | `(info-colors-ref-item-command ((,class :foreground ,magenta))) | ||
| 4658 | `(info-colors-ref-item-constant ((,class :inherit font-lock-constant-face))) | ||
| 4659 | `(info-colors-ref-item-function ((,class :inherit font-lock-function-name-face))) | ||
| 4660 | `(info-colors-ref-item-macro ((,class :inherit font-lock-keyword-face))) | ||
| 4661 | `(info-colors-ref-item-other ((,class :inherit font-lock-doc-face))) | ||
| 4662 | `(info-colors-ref-item-special-form ((,class :inherit font-lock-keyword-face))) | ||
| 4663 | `(info-colors-ref-item-syntax-class ((,class :inherit font-lock-builtin-face))) | ||
| 4664 | `(info-colors-ref-item-type ((,class :inherit font-lock-type-face))) | ||
| 4665 | `(info-colors-ref-item-user-option ((,class :inherit font-lock-variable-name-face))) | ||
| 4666 | `(info-colors-ref-item-variable ((,class :inherit font-lock-variable-name-face))) | ||
| 4667 | ;;;;; interaction-log | ||
| 4668 | `(ilog-buffer-face ((,class :foreground ,magenta-alt-other))) | ||
| 4669 | `(ilog-change-face ((,class :foreground ,magenta-alt))) | ||
| 4670 | `(ilog-echo-face ((,class :foreground ,yellow-alt-other))) | ||
| 4671 | `(ilog-load-face ((,class :foreground ,green))) | ||
| 4672 | `(ilog-message-face ((,class :inherit shadow))) | ||
| 4673 | `(ilog-non-change-face ((,class :foreground ,blue))) | ||
| 4674 | ;;;;; ioccur | ||
| 4675 | `(ioccur-cursor ((,class :foreground ,fg-main))) | ||
| 4676 | `(ioccur-invalid-regexp ((,class :foreground ,red))) | ||
| 4677 | `(ioccur-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 4678 | `(ioccur-match-overlay-face ((,class :inherit modus-theme-special-cold :extend t))) | ||
| 4679 | `(ioccur-num-line-face ((,class :foreground ,fg-special-warm))) | ||
| 4680 | `(ioccur-overlay-face ((,class :inherit modus-theme-refine-blue :extend t))) | ||
| 4681 | `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold)))) | ||
| 4682 | `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt | ||
| 4683 | ,@(modus-themes--scale modus-themes-scale-4)))) | ||
| 4684 | ;;;;; isearch, occur, and the like | ||
| 4685 | `(isearch ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 4686 | `(isearch-fail ((,class :inherit modus-theme-refine-red))) | ||
| 4687 | `(isearch-group-1 ((,class :inherit modus-theme-intense-blue))) | ||
| 4688 | `(isearch-group-2 ((,class :inherit modus-theme-intense-magenta))) | ||
| 4689 | `(lazy-highlight ((,class :inherit modus-theme-refine-cyan))) | ||
| 4690 | `(match ((,class :inherit modus-theme-special-calm))) | ||
| 4691 | `(query-replace ((,class :inherit (modus-theme-intense-yellow bold)))) | ||
| 4692 | ;;;;; isl (isearch-light) | ||
| 4693 | `(isl-line ((,class :inherit modus-theme-subtle-green))) | ||
| 4694 | `(isl-match ((,class :inherit modus-theme-refine-cyan))) | ||
| 4695 | `(isl-number ((,class :inherit modus-theme-bold :foreground ,green-active))) | ||
| 4696 | `(isl-on ((,class :inherit (bold modus-theme-intense-green)))) | ||
| 4697 | `(isl-string ((,class :inherit modus-theme-bold :foreground ,cyan-active))) | ||
| 4698 | ;;;;; ivy | ||
| 4699 | `(ivy-action ((,class :inherit bold :foreground ,red-alt))) | ||
| 4700 | `(ivy-completions-annotations ((,class :inherit completions-annotations))) | ||
| 4701 | `(ivy-confirm-face ((,class :foreground ,cyan))) | ||
| 4702 | `(ivy-current-match ((,class ,@(modus-themes--extra-completions | ||
| 4703 | 'modus-theme-refine-cyan | ||
| 4704 | 'modus-theme-intense-cyan | ||
| 4705 | 'modus-theme-special-cold | ||
| 4706 | nil | ||
| 4707 | 'bold)))) | ||
| 4708 | `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 4709 | `(ivy-grep-info ((,class :foreground ,cyan-alt))) | ||
| 4710 | `(ivy-grep-line-number ((,class :foreground ,fg-special-warm))) | ||
| 4711 | `(ivy-highlight-face ((,class :foreground ,magenta))) | ||
| 4712 | `(ivy-match-required-face ((,class :inherit error))) | ||
| 4713 | `(ivy-minibuffer-match-face-1 ((,class ,@(modus-themes--extra-completions | ||
| 4714 | 'modus-theme-subtle-neutral | ||
| 4715 | 'modus-theme-intense-neutral | ||
| 4716 | 'modus-theme-nuanced-cyan | ||
| 4717 | fg-alt)))) | ||
| 4718 | `(ivy-minibuffer-match-face-2 ((,class ,@(modus-themes--extra-completions | ||
| 4719 | 'modus-theme-subtle-green | ||
| 4720 | 'modus-theme-refine-green | ||
| 4721 | 'modus-theme-nuanced-green | ||
| 4722 | green-alt-other | ||
| 4723 | 'bold)))) | ||
| 4724 | `(ivy-minibuffer-match-face-3 ((,class ,@(modus-themes--extra-completions | ||
| 4725 | 'modus-theme-subtle-blue | ||
| 4726 | 'modus-theme-refine-blue | ||
| 4727 | 'modus-theme-nuanced-blue | ||
| 4728 | blue-alt-other | ||
| 4729 | 'bold)))) | ||
| 4730 | `(ivy-minibuffer-match-face-4 ((,class ,@(modus-themes--extra-completions | ||
| 4731 | 'modus-theme-subtle-magenta | ||
| 4732 | 'modus-theme-refine-magenta | ||
| 4733 | 'modus-theme-nuanced-magenta | ||
| 4734 | magenta-alt-other | ||
| 4735 | 'bold)))) | ||
| 4736 | `(ivy-minibuffer-match-highlight ((,class ,@(modus-themes--extra-completions | ||
| 4737 | 'modus-theme-subtle-cyan | ||
| 4738 | 'modus-theme-intense-cyan | ||
| 4739 | 'modus-theme-nuanced-cyan | ||
| 4740 | cyan-alt-other | ||
| 4741 | 'bold)))) | ||
| 4742 | `(ivy-modified-buffer ((,class :inherit modus-theme-slant :foreground ,yellow))) | ||
| 4743 | `(ivy-modified-outside-buffer ((,class :inherit modus-theme-slant :foreground ,yellow-alt))) | ||
| 4744 | `(ivy-org ((,class :foreground ,cyan-alt-other))) | ||
| 4745 | `(ivy-prompt-match ((,class :inherit ivy-current-match))) | ||
| 4746 | `(ivy-remote ((,class :foreground ,magenta))) | ||
| 4747 | `(ivy-separator ((,class :inherit shadow))) | ||
| 4748 | `(ivy-subdir ((,class :foreground ,blue-alt-other))) | ||
| 4749 | `(ivy-virtual ((,class :foreground ,magenta-alt-other))) | ||
| 4750 | `(ivy-yanked-word ((,class ,@(modus-themes--extra-completions | ||
| 4751 | 'modus-theme-subtle-blue | ||
| 4752 | 'modus-theme-refine-blue | ||
| 4753 | 'modus-theme-nuanced-blue | ||
| 4754 | blue-alt)))) | ||
| 4755 | ;;;;; ivy-posframe | ||
| 4756 | `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 4757 | `(ivy-posframe-border ((,class :background ,fg-window-divider-inner))) | ||
| 4758 | `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 4759 | ;;;;; jira (org-jira) | ||
| 4760 | `(jiralib-comment-face ((,class :background ,bg-alt))) | ||
| 4761 | `(jiralib-comment-header-face ((,class :inherit bold))) | ||
| 4762 | `(jiralib-issue-info-face ((,class :inherit modus-theme-special-warm))) | ||
| 4763 | `(jiralib-issue-info-header-face ((,class :inherit (modus-theme-special-warm bold)))) | ||
| 4764 | `(jiralib-issue-summary-face ((,class :inherit bold))) | ||
| 4765 | `(jiralib-link-filter-face ((,class :underline t))) | ||
| 4766 | `(jiralib-link-issue-face ((,class :underline t))) | ||
| 4767 | `(jiralib-link-project-face ((,class :underline t))) | ||
| 4768 | ;;;;; journalctl-mode | ||
| 4769 | `(journalctl-error-face ((,class :inherit bold :foreground ,red))) | ||
| 4770 | `(journalctl-finished-face ((,class :inherit bold :foreground ,green))) | ||
| 4771 | `(journalctl-host-face ((,class :foreground ,blue))) | ||
| 4772 | `(journalctl-process-face ((,class :foreground ,cyan-alt-other))) | ||
| 4773 | `(journalctl-starting-face ((,class :foreground ,green))) | ||
| 4774 | `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold))) | ||
| 4775 | `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 4776 | ;;;;; js2-mode | ||
| 4777 | `(js2-error ((,class :foreground ,red))) | ||
| 4778 | `(js2-external-variable ((,class :foreground ,cyan-alt-other))) | ||
| 4779 | `(js2-function-call ((,class :foreground ,magenta))) | ||
| 4780 | `(js2-function-param ((,class :foreground ,blue))) | ||
| 4781 | `(js2-instance-member ((,class :foreground ,magenta-alt-other))) | ||
| 4782 | `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main))) | ||
| 4783 | `(js2-jsdoc-html-tag-name ((,class :foreground ,cyan))) | ||
| 4784 | `(js2-jsdoc-tag ((,class :foreground ,fg-special-calm))) | ||
| 4785 | `(js2-jsdoc-type ((,class :foreground ,fg-special-cold))) | ||
| 4786 | `(js2-jsdoc-value ((,class :foreground ,fg-special-warm))) | ||
| 4787 | `(js2-object-property ((,class :foreground ,fg-main))) | ||
| 4788 | `(js2-object-property-access ((,class :foreground ,fg-main))) | ||
| 4789 | `(js2-private-function-call ((,class :foreground ,green-alt-other))) | ||
| 4790 | `(js2-private-member ((,class :foreground ,fg-special-mild))) | ||
| 4791 | `(js2-warning ((,class :foreground ,yellow-alt :underline t))) | ||
| 4792 | ;;;;; julia | ||
| 4793 | `(julia-macro-face ((,class :inherit modus-theme-bold :foreground ,magenta))) | ||
| 4794 | `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other))) | ||
| 4795 | ;;;;; jupyter | ||
| 4796 | `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue))) | ||
| 4797 | `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other))) | ||
| 4798 | `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other))) | ||
| 4799 | `(jupyter-repl-traceback ((,class :inherit modus-theme-intense-red))) | ||
| 4800 | ;;;;; kaocha-runner | ||
| 4801 | `(kaocha-runner-error-face ((,class :foreground ,red))) | ||
| 4802 | `(kaocha-runner-success-face ((,class :foreground ,green))) | ||
| 4803 | `(kaocha-runner-warning-face ((,class :foreground ,yellow))) | ||
| 4804 | ;;;;; keycast | ||
| 4805 | `(keycast-command ((,class :inherit bold :foreground ,blue-active))) | ||
| 4806 | `(keycast-key ((,class ,@(modus-themes--mode-line-attrs | ||
| 4807 | bg-main blue-active | ||
| 4808 | bg-main blue-active | ||
| 4809 | blue-active blue-intense | ||
| 4810 | 'alt-style -3)))) | ||
| 4811 | ;;;;; line numbers (display-line-numbers-mode and global variant) | ||
| 4812 | `(line-number | ||
| 4813 | ((,class :inherit default | ||
| 4814 | ,@(modus-themes--line-numbers | ||
| 4815 | fg-alt bg-dim | ||
| 4816 | fg-unfocused)))) | ||
| 4817 | `(line-number-current-line | ||
| 4818 | ((,class :inherit (bold default) | ||
| 4819 | ,@(modus-themes--line-numbers | ||
| 4820 | fg-main bg-active | ||
| 4821 | blue-alt-other)))) | ||
| 4822 | `(line-number-major-tick | ||
| 4823 | ((,class :inherit (bold default) | ||
| 4824 | ,@(modus-themes--line-numbers | ||
| 4825 | yellow-nuanced-fg yellow-nuanced-bg | ||
| 4826 | red-alt)))) | ||
| 4827 | `(line-number-minor-tick | ||
| 4828 | ((,class :inherit (bold default) | ||
| 4829 | ,@(modus-themes--line-numbers | ||
| 4830 | fg-alt bg-inactive | ||
| 4831 | fg-inactive)))) | ||
| 4832 | ;;;;; lsp-mode | ||
| 4833 | `(lsp-face-highlight-read ((,class :inherit modus-theme-subtle-blue :underline t))) | ||
| 4834 | `(lsp-face-highlight-textual ((,class :inherit modus-theme-subtle-blue))) | ||
| 4835 | `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue bold)))) | ||
| 4836 | `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other))) | ||
| 4837 | `(lsp-face-semhl-deprecated | ||
| 4838 | ((,(append '((supports :underline (:style wave))) class) | ||
| 4839 | :foreground ,yellow :underline (:style wave)) | ||
| 4840 | (,class :foreground ,yellow :underline t))) | ||
| 4841 | `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other))) | ||
| 4842 | `(lsp-face-semhl-field ((,class :foreground ,cyan-alt))) | ||
| 4843 | `(lsp-face-semhl-field-static ((,class :inherit modus-theme-slant :foreground ,cyan-alt))) | ||
| 4844 | `(lsp-face-semhl-function ((,class :foreground ,magenta))) | ||
| 4845 | `(lsp-face-semhl-method ((,class :foreground ,magenta))) | ||
| 4846 | `(lsp-face-semhl-namespace ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) | ||
| 4847 | `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other))) | ||
| 4848 | `(lsp-face-semhl-static-method ((,class :inherit modus-theme-slant :foreground ,magenta))) | ||
| 4849 | `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt))) | ||
| 4850 | `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt))) | ||
| 4851 | `(lsp-face-semhl-type-primitive ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) | ||
| 4852 | `(lsp-face-semhl-type-template ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) | ||
| 4853 | `(lsp-face-semhl-type-typedef ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) | ||
| 4854 | `(lsp-face-semhl-variable ((,class :foreground ,cyan))) | ||
| 4855 | `(lsp-face-semhl-variable-local ((,class :foreground ,cyan))) | ||
| 4856 | `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other))) | ||
| 4857 | `(lsp-lens-face ((,class :height 0.8 :foreground ,fg-alt))) | ||
| 4858 | `(lsp-lens-mouse-face ((,class :height 0.8 :foreground ,blue-alt-other :underline t))) | ||
| 4859 | `(lsp-ui-doc-background ((,class :background ,bg-alt))) | ||
| 4860 | `(lsp-ui-doc-header ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 4861 | `(lsp-ui-doc-url ((,class :inherit button))) | ||
| 4862 | `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm))) | ||
| 4863 | `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 4864 | `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 4865 | `(lsp-ui-peek-highlight ((,class :inherit modus-theme-subtle-blue))) | ||
| 4866 | `(lsp-ui-peek-line-number ((,class :inherit shadow))) | ||
| 4867 | `(lsp-ui-peek-list ((,class :background ,bg-dim))) | ||
| 4868 | `(lsp-ui-peek-peek ((,class :background ,bg-alt))) | ||
| 4869 | `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan))) | ||
| 4870 | `(lsp-ui-sideline-code-action ((,class :foreground ,yellow))) | ||
| 4871 | `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main))) | ||
| 4872 | `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt))) | ||
| 4873 | `(lsp-ui-sideline-symbol-info ((,class :inherit italic :height 0.99))) | ||
| 4874 | ;;;;; macrostep | ||
| 4875 | `(macrostep-compiler-macro-face ((,class :inherit italic))) | ||
| 4876 | `(macrostep-expansion-highlight-face ((,class :background ,blue-nuanced-bg))) | ||
| 4877 | `(macrostep-gensym-1 ((,class :inherit bold :foreground ,blue :box t))) | ||
| 4878 | `(macrostep-gensym-2 ((,class :inherit bold :foreground ,green :box t))) | ||
| 4879 | `(macrostep-gensym-3 ((,class :inherit bold :foreground ,yellow :box t))) | ||
| 4880 | `(macrostep-gensym-4 ((,class :inherit bold :foreground ,red :box t))) | ||
| 4881 | `(macrostep-gensym-5 ((,class :inherit bold :foreground ,magenta :box t))) | ||
| 4882 | `(macrostep-macro-face ((,class :inherit button :foreground ,green-alt))) | ||
| 4883 | ;;;;; magit | ||
| 4884 | `(magit-bisect-bad ((,class :foreground ,red-alt-other))) | ||
| 4885 | `(magit-bisect-good ((,class :foreground ,green-alt-other))) | ||
| 4886 | `(magit-bisect-skip ((,class :foreground ,yellow-alt-other))) | ||
| 4887 | `(magit-blame-date ((,class :foreground ,blue))) | ||
| 4888 | `(magit-blame-dimmed ((,class :inherit shadow))) | ||
| 4889 | `(magit-blame-hash ((,class :foreground ,fg-special-warm))) | ||
| 4890 | `(magit-blame-heading ((,class :background ,bg-alt))) | ||
| 4891 | `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan))) | ||
| 4892 | `(magit-blame-margin ((,class :inherit magit-blame-highlight))) | ||
| 4893 | `(magit-blame-name ((,class :foreground ,magenta-alt-other))) | ||
| 4894 | `(magit-blame-summary ((,class :foreground ,cyan-alt-other))) | ||
| 4895 | `(magit-branch-current ((,class :foreground ,blue-alt-other :box t))) | ||
| 4896 | `(magit-branch-local ((,class :foreground ,blue-alt))) | ||
| 4897 | `(magit-branch-remote ((,class :foreground ,magenta-alt))) | ||
| 4898 | `(magit-branch-remote-head ((,class :foreground ,magenta-alt-other :box t))) | ||
| 4899 | `(magit-branch-upstream ((,class :inherit italic))) | ||
| 4900 | `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 4901 | `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 4902 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 4903 | ;; modus-theme-diff-* faces, though only for the standard actions, | ||
| 4904 | ;; not the highlighted ones. This is because Magit's interaction | ||
| 4905 | ;; model relies on highlighting the current diff hunk. | ||
| 4906 | `(magit-diff-added ((,class ,@(modus-themes--diff | ||
| 4907 | bg-main green | ||
| 4908 | bg-diff-added fg-diff-added | ||
| 4909 | green-nuanced-bg fg-diff-added | ||
| 4910 | bg-diff-added-deuteran fg-diff-added-deuteran)))) | ||
| 4911 | `(magit-diff-added-highlight ((,class :inherit modus-theme-diff-focus-added))) | ||
| 4912 | `(magit-diff-base ((,class ,@(modus-themes--diff | ||
| 4913 | bg-main yellow | ||
| 4914 | bg-diff-changed fg-diff-changed | ||
| 4915 | yellow-nuanced-bg fg-diff-changed)))) | ||
| 4916 | `(magit-diff-base-highlight ((,class :inherit modus-theme-diff-focus-changed))) | ||
| 4917 | `(magit-diff-context ((,class :foreground ,fg-unfocused))) | ||
| 4918 | `(magit-diff-context-highlight ((,class ,@(modus-themes--diff | ||
| 4919 | bg-dim fg-dim | ||
| 4920 | bg-inactive fg-inactive | ||
| 4921 | bg-dim fg-alt)))) | ||
| 4922 | `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4923 | `(magit-diff-file-heading-highlight ((,class :inherit (modus-theme-special-cold bold)))) | ||
| 4924 | `(magit-diff-file-heading-selection ((,class :inherit modus-theme-refine-cyan))) | ||
| 4925 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 4926 | ;; modus-theme-diff-* faces. | ||
| 4927 | `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active | ||
| 4928 | :foreground ,fg-inactive))) | ||
| 4929 | `(magit-diff-hunk-heading-highlight | ||
| 4930 | ((,class :inherit bold | ||
| 4931 | :background ,@(modus-themes--diff-deuteran bg-region bg-diff-heading) | ||
| 4932 | :foreground ,@(modus-themes--diff-deuteran fg-main fg-diff-heading)))) | ||
| 4933 | `(magit-diff-hunk-heading-selection ((,class :inherit modus-theme-refine-blue))) | ||
| 4934 | `(magit-diff-hunk-region ((,class :inherit bold))) | ||
| 4935 | `(magit-diff-lines-boundary ((,class :background ,fg-main))) | ||
| 4936 | `(magit-diff-lines-heading ((,class :inherit modus-theme-refine-magenta))) | ||
| 4937 | `(magit-diff-removed ((,class ,@(modus-themes--diff | ||
| 4938 | bg-main red | ||
| 4939 | bg-diff-removed fg-diff-removed | ||
| 4940 | red-nuanced-bg fg-diff-removed)))) | ||
| 4941 | `(magit-diff-removed-highlight ((,class :inherit modus-theme-diff-focus-removed))) | ||
| 4942 | `(magit-diffstat-added ((,class :foreground ,@(modus-themes--diff-deuteran blue green)))) | ||
| 4943 | `(magit-diffstat-removed ((,class :foreground ,red))) | ||
| 4944 | `(magit-dimmed ((,class :foreground ,fg-unfocused))) | ||
| 4945 | `(magit-filename ((,class :foreground ,fg-special-cold))) | ||
| 4946 | `(magit-hash ((,class :inherit shadow))) | ||
| 4947 | `(magit-head ((,class :inherit magit-branch-local))) | ||
| 4948 | `(magit-header-line ((,class :inherit bold :foreground ,magenta-active))) | ||
| 4949 | `(magit-header-line-key ((,class :inherit bold :foreground ,blue-active))) | ||
| 4950 | `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main))) | ||
| 4951 | `(magit-keyword ((,class :foreground ,magenta))) | ||
| 4952 | `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 4953 | `(magit-log-author ((,class :foreground ,cyan))) | ||
| 4954 | `(magit-log-date ((,class :inherit shadow))) | ||
| 4955 | `(magit-log-graph ((,class :foreground ,fg-dim))) | ||
| 4956 | `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active))) | ||
| 4957 | `(magit-mode-line-process-error ((,class :inherit bold :foreground ,red-active))) | ||
| 4958 | `(magit-process-ng ((,class :inherit error))) | ||
| 4959 | `(magit-process-ok ((,class :inherit success))) | ||
| 4960 | `(magit-reflog-amend ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 4961 | `(magit-reflog-checkout ((,class :background ,bg-main :foreground ,blue-intense))) | ||
| 4962 | `(magit-reflog-cherry-pick ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 4963 | `(magit-reflog-commit ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 4964 | `(magit-reflog-merge ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 4965 | `(magit-reflog-other ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 4966 | `(magit-reflog-rebase ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 4967 | `(magit-reflog-remote ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 4968 | `(magit-reflog-reset ((,class :background ,bg-main :foreground ,red-intense))) | ||
| 4969 | `(magit-refname ((,class :inherit shadow))) | ||
| 4970 | `(magit-refname-pullreq ((,class :inherit shadow))) | ||
| 4971 | `(magit-refname-stash ((,class :inherit shadow))) | ||
| 4972 | `(magit-refname-wip ((,class :inherit shadow))) | ||
| 4973 | `(magit-section ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 4974 | `(magit-section-heading ((,class :inherit bold :foreground ,cyan))) | ||
| 4975 | `(magit-section-heading-selection ((,class :inherit (modus-theme-refine-cyan bold)))) | ||
| 4976 | `(magit-section-highlight ((,class :background ,bg-alt))) | ||
| 4977 | `(magit-sequence-done ((,class :foreground ,green-alt))) | ||
| 4978 | `(magit-sequence-drop ((,class :foreground ,red-alt))) | ||
| 4979 | `(magit-sequence-exec ((,class :foreground ,magenta-alt))) | ||
| 4980 | `(magit-sequence-head ((,class :foreground ,cyan-alt))) | ||
| 4981 | `(magit-sequence-onto ((,class :inherit shadow))) | ||
| 4982 | `(magit-sequence-part ((,class :foreground ,yellow-alt))) | ||
| 4983 | `(magit-sequence-pick ((,class :foreground ,blue-alt))) | ||
| 4984 | `(magit-sequence-stop ((,class :foreground ,red))) | ||
| 4985 | `(magit-signature-bad ((,class :inherit bold :foreground ,red))) | ||
| 4986 | `(magit-signature-error ((,class :foreground ,red-alt))) | ||
| 4987 | `(magit-signature-expired ((,class :foreground ,yellow))) | ||
| 4988 | `(magit-signature-expired-key ((,class :foreground ,yellow))) | ||
| 4989 | `(magit-signature-good ((,class :foreground ,green))) | ||
| 4990 | `(magit-signature-revoked ((,class :foreground ,magenta))) | ||
| 4991 | `(magit-signature-untrusted ((,class :foreground ,cyan))) | ||
| 4992 | `(magit-tag ((,class :foreground ,yellow-alt-other))) | ||
| 4993 | ;;;;; magit-imerge | ||
| 4994 | `(magit-imerge-overriding-value ((,class :inherit bold :foreground ,red-alt))) | ||
| 4995 | ;;;;; make-mode (makefiles) | ||
| 4996 | `(makefile-makepp-perl ((,class :background ,cyan-nuanced-bg))) | ||
| 4997 | `(makefile-space ((,class :background ,magenta-nuanced-bg))) | ||
| 4998 | ;;;;; man | ||
| 4999 | `(Man-overstrike ((,class :inherit bold :foreground ,magenta))) | ||
| 5000 | `(Man-reverse ((,class :inherit modus-theme-subtle-magenta))) | ||
| 5001 | `(Man-underline ((,class :foreground ,cyan :underline t))) | ||
| 5002 | ;;;;; marginalia | ||
| 5003 | `(marginalia-archive ((,class :foreground ,green-nuanced-fg))) | ||
| 5004 | `(marginalia-date ((,class :foreground ,blue-nuanced-fg))) | ||
| 5005 | `(marginalia-char ((,class :foreground ,red-active))) | ||
| 5006 | `(marginalia-documentation ((,class :foreground ,fg-special-cold :inherit modus-theme-slant))) | ||
| 5007 | `(marginalia-file-modes ((,class :inherit shadow))) | ||
| 5008 | `(marginalia-file-name ((,class :foreground ,fg-special-mild))) | ||
| 5009 | `(marginalia-file-owner ((,class :foreground ,red-nuanced-fg))) | ||
| 5010 | `(marginalia-key ((,class :foreground ,magenta-active))) | ||
| 5011 | `(marginalia-mode ((,class :foreground ,cyan-active))) | ||
| 5012 | `(marginalia-modified ((,class :foreground ,yellow-active))) | ||
| 5013 | `(marginalia-number ((,class :foreground ,blue-active))) | ||
| 5014 | `(marginalia-size ((,class :foreground ,green-active))) | ||
| 5015 | `(marginalia-type ((,class :foreground ,fg-special-warm))) | ||
| 5016 | `(marginalia-variable ((,class :foreground ,yellow-nuanced-fg))) | ||
| 5017 | `(marginalia-version ((,class :foreground ,cyan-active))) | ||
| 5018 | ;;;;; markdown-mode | ||
| 5019 | `(markdown-blockquote-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) | ||
| 5020 | `(markdown-bold-face ((,class :inherit bold))) | ||
| 5021 | `(markdown-code-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-dim :extend t))) | ||
| 5022 | `(markdown-comment-face ((,class :inherit font-lock-comment-face))) | ||
| 5023 | `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 5024 | `(markdown-footnote-text-face ((,class :inherit modus-theme-slant :foreground ,fg-main))) | ||
| 5025 | `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other))) | ||
| 5026 | `(markdown-header-delimiter-face ((,class :inherit modus-theme-bold :foreground ,fg-dim))) | ||
| 5027 | `(markdown-header-face ((t nil))) | ||
| 5028 | `(markdown-header-face-1 ((,class :inherit modus-theme-heading-1))) | ||
| 5029 | `(markdown-header-face-2 ((,class :inherit modus-theme-heading-2))) | ||
| 5030 | `(markdown-header-face-3 ((,class :inherit modus-theme-heading-3))) | ||
| 5031 | `(markdown-header-face-4 ((,class :inherit modus-theme-heading-4))) | ||
| 5032 | `(markdown-header-face-5 ((,class :inherit modus-theme-heading-5))) | ||
| 5033 | `(markdown-header-face-6 ((,class :inherit modus-theme-heading-6))) | ||
| 5034 | `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 5035 | `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 5036 | `(markdown-html-attr-name-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5037 | :foreground ,cyan))) | ||
| 5038 | `(markdown-html-attr-value-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5039 | :foreground ,blue))) | ||
| 5040 | `(markdown-html-entity-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5041 | :foreground ,cyan))) | ||
| 5042 | `(markdown-html-tag-delimiter-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5043 | :foreground ,fg-special-mild))) | ||
| 5044 | `(markdown-html-tag-name-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5045 | :foreground ,magenta-alt))) | ||
| 5046 | `(markdown-inline-code-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5047 | :background ,bg-alt :foreground ,fg-special-calm))) | ||
| 5048 | `(markdown-italic-face ((,class :inherit italic :foreground ,fg-special-cold))) | ||
| 5049 | `(markdown-language-info-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5050 | :foreground ,fg-special-cold))) | ||
| 5051 | `(markdown-language-keyword-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5052 | :background ,bg-alt | ||
| 5053 | :foreground ,fg-alt))) | ||
| 5054 | `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan :underline t))) | ||
| 5055 | `(markdown-link-face ((,class :inherit button))) | ||
| 5056 | `(markdown-link-title-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) | ||
| 5057 | `(markdown-list-face ((,class :foreground ,fg-dim))) | ||
| 5058 | `(markdown-markup-face ((,class :inherit shadow))) | ||
| 5059 | `(markdown-math-face ((,class :foreground ,magenta-alt-other))) | ||
| 5060 | `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other))) | ||
| 5061 | `(markdown-metadata-value-face ((,class :foreground ,blue-alt))) | ||
| 5062 | `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow))) | ||
| 5063 | `(markdown-plain-url-face ((,class :inherit markdown-link-face))) | ||
| 5064 | `(markdown-pre-face ((,class :inherit markdown-code-face :foreground ,fg-special-mild))) | ||
| 5065 | `(markdown-reference-face ((,class :inherit markdown-markup-face))) | ||
| 5066 | `(markdown-strike-through-face ((,class :strike-through t))) | ||
| 5067 | `(markdown-table-face ((,class ,@(modus-themes--mixed-fonts) | ||
| 5068 | :foreground ,fg-special-cold))) | ||
| 5069 | `(markdown-url-face ((,class :foreground ,blue-alt))) | ||
| 5070 | ;;;;; markup-faces (`adoc-mode') | ||
| 5071 | `(markup-anchor-face ((,class :foreground ,fg-inactive))) | ||
| 5072 | `(markup-attribute-face ((,class :inherit italic :foreground ,fg-inactive))) | ||
| 5073 | `(markup-big-face ((,class :height 1.3 :foreground ,blue-nuanced-fg))) | ||
| 5074 | `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced-fg))) | ||
| 5075 | `(markup-code-face ((,class :inherit fixed-pitch :foreground ,magenta))) | ||
| 5076 | `(markup-command-face ((,class :foreground ,fg-inactive))) | ||
| 5077 | `(markup-comment-face ((,class :inherit font-lock-comment-face))) | ||
| 5078 | `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 5079 | :inherit modus-theme-refine-magenta))) | ||
| 5080 | `(markup-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold))) | ||
| 5081 | `(markup-error-face ((,class :inherit bold :foreground ,red))) | ||
| 5082 | `(markup-gen-face ((,class :foreground ,magenta-alt))) | ||
| 5083 | `(markup-internal-reference-face ((,class :inherit button :foreground ,fg-alt))) | ||
| 5084 | `(markup-italic-face ((,class :inherit italic :foreground ,fg-special-cold))) | ||
| 5085 | `(markup-list-face ((,class :inherit modus-theme-special-calm))) | ||
| 5086 | `(markup-meta-face ((,class :foreground ,fg-inactive))) | ||
| 5087 | `(markup-meta-hide-face ((,class :inherit shadow))) | ||
| 5088 | `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan))) | ||
| 5089 | `(markup-preprocessor-face ((,class :foreground ,red-alt-other))) | ||
| 5090 | `(markup-replacement-face ((,class :foreground ,yellow-alt-other))) | ||
| 5091 | `(markup-secondary-text-face ((,class :height 0.8 :foreground ,magenta-nuanced-fg))) | ||
| 5092 | `(markup-small-face ((,class :height 0.8 :foreground ,fg-main))) | ||
| 5093 | `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced-fg))) | ||
| 5094 | `(markup-subscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) | ||
| 5095 | `(markup-superscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) | ||
| 5096 | `(markup-table-cell-face ((,class :inherit modus-theme-special-cold))) | ||
| 5097 | `(markup-table-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 5098 | `(markup-table-row-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 5099 | `(markup-title-0-face ((,class :height 3.0 :foreground ,blue-nuanced-fg))) | ||
| 5100 | `(markup-title-1-face ((,class :height 2.4 :foreground ,blue-nuanced-fg))) | ||
| 5101 | `(markup-title-2-face ((,class :height 1.8 :foreground ,blue-nuanced-fg))) | ||
| 5102 | `(markup-title-3-face ((,class :height 1.4 :foreground ,blue-nuanced-fg))) | ||
| 5103 | `(markup-title-4-face ((,class :height 1.2 :foreground ,blue-nuanced-fg))) | ||
| 5104 | `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced-fg :underline t))) | ||
| 5105 | `(markup-value-face ((,class :foreground ,fg-inactive))) | ||
| 5106 | `(markup-verbatim-face ((,class :inherit modus-theme-special-mild))) | ||
| 5107 | ;;;;; mentor | ||
| 5108 | `(mentor-download-message ((,class :foreground ,fg-special-warm))) | ||
| 5109 | `(mentor-download-name ((,class :foreground ,fg-special-cold))) | ||
| 5110 | `(mentor-download-progress ((,class :foreground ,blue-alt-other))) | ||
| 5111 | `(mentor-download-size ((,class :foreground ,magenta-alt-other))) | ||
| 5112 | `(mentor-download-speed-down ((,class :foreground ,cyan-alt))) | ||
| 5113 | `(mentor-download-speed-up ((,class :foreground ,red-alt))) | ||
| 5114 | `(mentor-download-state ((,class :foreground ,yellow-alt))) | ||
| 5115 | `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 5116 | `(mentor-tracker-name ((,class :foreground ,magenta-alt))) | ||
| 5117 | ;;;;; messages | ||
| 5118 | `(message-cited-text-1 ((,class :foreground ,blue-faint))) | ||
| 5119 | `(message-cited-text-2 ((,class :foreground ,green-alt-other))) | ||
| 5120 | `(message-cited-text-3 ((,class :foreground ,red-alt-other))) | ||
| 5121 | `(message-cited-text-4 ((,class :foreground ,cyan))) | ||
| 5122 | `(message-header-cc ((,class :foreground ,blue-alt-other))) | ||
| 5123 | `(message-header-name ((,class :inherit bold :foreground ,cyan))) | ||
| 5124 | `(message-header-newsgroups ((,class :inherit message-header-other))) | ||
| 5125 | `(message-header-other ((,class :foreground ,fg-special-calm))) | ||
| 5126 | `(message-header-subject ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 5127 | `(message-header-to ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 5128 | `(message-header-xheader ((,class :foreground ,blue-alt))) | ||
| 5129 | `(message-mml ((,class :foreground ,yellow))) | ||
| 5130 | `(message-separator ((,class :inherit modus-theme-intense-neutral))) | ||
| 5131 | ;;;;; minibuffer-line | ||
| 5132 | `(minibuffer-line ((,class :foreground ,fg-main))) | ||
| 5133 | ;;;;; minimap | ||
| 5134 | `(minimap-active-region-background ((,class :background ,bg-active))) | ||
| 5135 | `(minimap-current-line-face ((,class :background ,cyan-intense-bg :foreground ,fg-main))) | ||
| 5136 | ;;;;; mmm-mode | ||
| 5137 | `(mmm-cleanup-submode-face ((,class :background ,yellow-nuanced-bg))) | ||
| 5138 | `(mmm-code-submode-face ((,class :background ,bg-alt))) | ||
| 5139 | `(mmm-comment-submode-face ((,class :background ,blue-nuanced-bg))) | ||
| 5140 | `(mmm-declaration-submode-face ((,class :background ,cyan-nuanced-bg))) | ||
| 5141 | `(mmm-default-submode-face ((,class :background ,bg-dim))) | ||
| 5142 | `(mmm-init-submode-face ((,class :background ,magenta-nuanced-bg))) | ||
| 5143 | `(mmm-output-submode-face ((,class :background ,red-nuanced-bg))) | ||
| 5144 | `(mmm-special-submode-face ((,class :background ,green-nuanced-bg))) | ||
| 5145 | ;;;;; modeline | ||
| 5146 | `(mode-line ((,class ,@(modus-themes--variable-pitch-ui) | ||
| 5147 | ,@(modus-themes--mode-line-attrs | ||
| 5148 | fg-active bg-active fg-dim bg-active | ||
| 5149 | fg-alt bg-active 'alt-style nil bg-main)))) | ||
| 5150 | `(mode-line-buffer-id ((,class :inherit bold))) | ||
| 5151 | `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active))) | ||
| 5152 | `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button)))) | ||
| 5153 | `(mode-line-inactive ((,class ,@(modus-themes--variable-pitch-ui) | ||
| 5154 | ,@(modus-themes--mode-line-attrs | ||
| 5155 | fg-inactive bg-inactive fg-alt bg-dim | ||
| 5156 | bg-region bg-active)))) | ||
| 5157 | ;;;;; mood-line | ||
| 5158 | `(mood-line-modified ((,class :foreground ,magenta-active))) | ||
| 5159 | `(mood-line-status-error ((,class :inherit bold :foreground ,red-active))) | ||
| 5160 | `(mood-line-status-info ((,class :foreground ,cyan-active))) | ||
| 5161 | `(mood-line-status-neutral ((,class :foreground ,blue-active))) | ||
| 5162 | `(mood-line-status-success ((,class :foreground ,green-active))) | ||
| 5163 | `(mood-line-status-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 5164 | `(mood-line-unimportant ((,class :foreground ,fg-inactive))) | ||
| 5165 | ;;;;; mpdel | ||
| 5166 | `(mpdel-browser-directory-face ((,class :foreground ,blue))) | ||
| 5167 | `(mpdel-playlist-current-song-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 5168 | ;;;;; mu4e | ||
| 5169 | `(mu4e-attach-number-face ((,class :inherit bold :foreground ,fg-dim))) | ||
| 5170 | `(mu4e-cited-1-face ((,class :foreground ,blue-faint))) | ||
| 5171 | `(mu4e-cited-2-face ((,class :foreground ,green-alt-other))) | ||
| 5172 | `(mu4e-cited-3-face ((,class :foreground ,red-alt-other))) | ||
| 5173 | `(mu4e-cited-4-face ((,class :foreground ,cyan))) | ||
| 5174 | `(mu4e-cited-5-face ((,class :foreground ,yellow-alt))) | ||
| 5175 | `(mu4e-cited-6-face ((,class :foreground ,magenta))) | ||
| 5176 | `(mu4e-cited-7-face ((,class :foreground ,green-alt))) | ||
| 5177 | `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face))) | ||
| 5178 | `(mu4e-compose-separator-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 5179 | `(mu4e-contact-face ((,class :inherit message-header-to))) | ||
| 5180 | `(mu4e-context-face ((,class :foreground ,blue-active))) | ||
| 5181 | `(mu4e-draft-face ((,class :foreground ,magenta-alt))) | ||
| 5182 | `(mu4e-flagged-face ((,class :foreground ,red-alt))) | ||
| 5183 | `(mu4e-footer-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) | ||
| 5184 | `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other))) | ||
| 5185 | `(mu4e-header-face ((,class :inherit shadow))) | ||
| 5186 | `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line))) | ||
| 5187 | `(mu4e-header-key-face ((,class :inherit message-header-name))) | ||
| 5188 | `(mu4e-header-marks-face ((,class :inherit mu4e-special-header-value-face))) | ||
| 5189 | `(mu4e-header-title-face ((,class :foreground ,fg-special-mild))) | ||
| 5190 | `(mu4e-header-value-face ((,class :inherit message-header-other))) | ||
| 5191 | `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 5192 | `(mu4e-link-face ((,class :inherit button))) | ||
| 5193 | `(mu4e-modeline-face ((,class :foreground ,magenta-active))) | ||
| 5194 | `(mu4e-moved-face ((,class :inherit modus-theme-slant :foreground ,yellow))) | ||
| 5195 | `(mu4e-ok-face ((,class :inherit bold :foreground ,green))) | ||
| 5196 | `(mu4e-region-code ((,class :inherit modus-theme-special-calm))) | ||
| 5197 | `(mu4e-replied-face ((,class :foreground ,blue))) | ||
| 5198 | `(mu4e-special-header-value-face ((,class :inherit message-header-subject))) | ||
| 5199 | `(mu4e-system-face ((,class :inherit modus-theme-slant :foreground ,fg-mark-del))) | ||
| 5200 | `(mu4e-title-face ((,class :foreground ,fg-main))) | ||
| 5201 | `(mu4e-trashed-face ((,class :foreground ,red))) | ||
| 5202 | `(mu4e-unread-face ((,class :inherit bold))) | ||
| 5203 | `(mu4e-url-number-face ((,class :foreground ,fg-alt))) | ||
| 5204 | `(mu4e-view-body-face ((,class :foreground ,fg-main))) | ||
| 5205 | `(mu4e-warning-face ((,class :inherit warning))) | ||
| 5206 | ;;;;; mu4e-conversation | ||
| 5207 | `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold))) | ||
| 5208 | `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm))) | ||
| 5209 | `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold))) | ||
| 5210 | `(mu4e-conversation-sender-3 ((,class :foreground ,fg-special-mild))) | ||
| 5211 | `(mu4e-conversation-sender-4 ((,class :inherit shadow))) | ||
| 5212 | `(mu4e-conversation-sender-5 ((,class :foreground ,yellow-refine-fg))) | ||
| 5213 | `(mu4e-conversation-sender-6 ((,class :foreground ,cyan-refine-fg))) | ||
| 5214 | `(mu4e-conversation-sender-7 ((,class :foreground ,green-refine-fg))) | ||
| 5215 | `(mu4e-conversation-sender-8 ((,class :foreground ,blue-refine-fg))) | ||
| 5216 | `(mu4e-conversation-sender-me ((,class :foreground ,fg-main))) | ||
| 5217 | `(mu4e-conversation-unread ((,class :inherit bold))) | ||
| 5218 | ;;;;; multiple-cursors | ||
| 5219 | `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main))) | ||
| 5220 | `(mc/cursor-face ((,class :inverse-video t))) | ||
| 5221 | `(mc/region-face ((,class :inherit region))) | ||
| 5222 | ;;;;; neotree | ||
| 5223 | `(neo-banner-face ((,class :foreground ,magenta))) | ||
| 5224 | `(neo-button-face ((,class :inherit button))) | ||
| 5225 | `(neo-dir-link-face ((,class :inherit bold :foreground ,blue))) | ||
| 5226 | `(neo-expand-btn-face ((,class :foreground ,cyan))) | ||
| 5227 | `(neo-file-link-face ((,class :foreground ,fg-main))) | ||
| 5228 | `(neo-header-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 5229 | `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 5230 | `(neo-vc-added-face ((,class :foreground ,green))) | ||
| 5231 | `(neo-vc-conflict-face ((,class :inherit bold :foreground ,red))) | ||
| 5232 | `(neo-vc-default-face ((,class :foreground ,fg-main))) | ||
| 5233 | `(neo-vc-edited-face ((,class :foreground ,yellow))) | ||
| 5234 | `(neo-vc-ignored-face ((,class :foreground ,fg-inactive))) | ||
| 5235 | `(neo-vc-missing-face ((,class :foreground ,red-alt))) | ||
| 5236 | `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt))) | ||
| 5237 | `(neo-vc-needs-update-face ((,class :underline t))) | ||
| 5238 | `(neo-vc-removed-face ((,class :strike-through t))) | ||
| 5239 | `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue))) | ||
| 5240 | `(neo-vc-up-to-date-face ((,class :inherit shadow))) | ||
| 5241 | `(neo-vc-user-face ((,class :foreground ,magenta))) | ||
| 5242 | ;;;;; no-emoji | ||
| 5243 | `(no-emoji ((,class :foreground ,cyan))) | ||
| 5244 | ;;;;; notmuch | ||
| 5245 | `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta))) | ||
| 5246 | `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other))) | ||
| 5247 | `(notmuch-crypto-signature-bad ((,class :inherit modus-theme-intense-red))) | ||
| 5248 | `(notmuch-crypto-signature-good ((,class :inherit modus-theme-refine-green))) | ||
| 5249 | `(notmuch-crypto-signature-good-key ((,class :inherit modus-theme-refine-yellow))) | ||
| 5250 | `(notmuch-crypto-signature-unknown ((,class :inherit modus-theme-refine-red))) | ||
| 5251 | `(notmuch-hello-logo-background ((,class :background "gray50"))) | ||
| 5252 | `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan))) | ||
| 5253 | `(notmuch-search-count ((,class :inherit shadow))) | ||
| 5254 | `(notmuch-search-date ((,class :foreground ,cyan))) | ||
| 5255 | `(notmuch-search-flagged-face ((,class :foreground ,red-alt))) | ||
| 5256 | `(notmuch-search-matching-authors ((,class :foreground ,fg-main))) | ||
| 5257 | `(notmuch-search-non-matching-authors ((,class :inherit shadow))) | ||
| 5258 | `(notmuch-search-subject ((,class :foreground ,fg-dim))) | ||
| 5259 | `(notmuch-search-unread-face ((,class :inherit bold))) | ||
| 5260 | `(notmuch-tag-added | ||
| 5261 | ((,(append '((supports :underline (:style wave))) class) | ||
| 5262 | :underline (:color ,green :style wave)) | ||
| 5263 | (,class :foreground ,green :underline t))) | ||
| 5264 | `(notmuch-tag-deleted | ||
| 5265 | ((,(append '((supports :underline (:style wave))) class) | ||
| 5266 | :underline (:color ,red :style wave)) | ||
| 5267 | (,class :foreground ,red :underline t))) | ||
| 5268 | `(notmuch-tag-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 5269 | `(notmuch-tag-flagged ((,class :foreground ,red-alt))) | ||
| 5270 | `(notmuch-tag-unread ((,class :foreground ,magenta-alt))) | ||
| 5271 | `(notmuch-tree-match-author-face ((,class :foreground ,fg-special-cold))) | ||
| 5272 | `(notmuch-tree-match-date-face ((,class :inherit notmuch-search-date))) | ||
| 5273 | `(notmuch-tree-match-face ((,class :foreground ,fg-main))) | ||
| 5274 | `(notmuch-tree-match-tag-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 5275 | `(notmuch-tree-no-match-face ((,class :inherit shadow))) | ||
| 5276 | `(notmuch-tree-no-match-date-face ((,class :inherit shadow))) | ||
| 5277 | `(notmuch-wash-cited-text ((,class :foreground ,cyan))) | ||
| 5278 | `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 5279 | ;;;;; num3-mode | ||
| 5280 | `(num3-face-even ((,class :inherit bold :background ,bg-alt))) | ||
| 5281 | ;;;;; nxml-mode | ||
| 5282 | `(nxml-attribute-colon ((,class :foreground ,fg-main))) | ||
| 5283 | `(nxml-attribute-local-name ((,class :inherit font-lock-variable-name-face))) | ||
| 5284 | `(nxml-attribute-prefix ((,class :inherit font-lock-type-face))) | ||
| 5285 | `(nxml-attribute-value ((,class :inherit font-lock-constant-face))) | ||
| 5286 | `(nxml-cdata-section-CDATA ((,class :inherit error))) | ||
| 5287 | `(nxml-cdata-section-delimiter ((,class :inherit error))) | ||
| 5288 | `(nxml-char-ref-delimiter ((,class :foreground ,fg-special-mild))) | ||
| 5289 | `(nxml-char-ref-number ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) | ||
| 5290 | `(nxml-delimited-data ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) | ||
| 5291 | `(nxml-delimiter ((,class :foreground ,fg-dim))) | ||
| 5292 | `(nxml-element-colon ((,class :foreground ,fg-main))) | ||
| 5293 | `(nxml-element-local-name ((,class :inherit font-lock-function-name-face))) | ||
| 5294 | `(nxml-element-prefix ((,class :inherit font-lock-builtin-face))) | ||
| 5295 | `(nxml-entity-ref-delimiter ((,class :foreground ,fg-special-mild))) | ||
| 5296 | `(nxml-entity-ref-name ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) | ||
| 5297 | `(nxml-glyph ((,class :inherit modus-theme-intense-neutral))) | ||
| 5298 | `(nxml-hash ((,class :inherit (bold font-lock-string-face)))) | ||
| 5299 | `(nxml-heading ((,class :inherit bold))) | ||
| 5300 | `(nxml-name ((,class :inherit font-lock-builtin-face))) | ||
| 5301 | `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main))) | ||
| 5302 | `(nxml-namespace-attribute-prefix ((,class :inherit font-lock-variable-name-face))) | ||
| 5303 | `(nxml-processing-instruction-target ((,class :inherit font-lock-keyword-face))) | ||
| 5304 | `(nxml-prolog-keyword ((,class :inherit font-lock-keyword-face))) | ||
| 5305 | `(nxml-ref ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) | ||
| 5306 | `(rng-error ((,class :inherit error))) | ||
| 5307 | ;;;;; objed | ||
| 5308 | `(objed-hl ((,class :background ,(if modus-themes-intense-hl-line | ||
| 5309 | bg-hl-alt-intense bg-hl-alt)))) | ||
| 5310 | `(objed-mark ((,class :background ,bg-active))) | ||
| 5311 | `(objed-mode-line ((,class :foreground ,cyan-active))) | ||
| 5312 | ;;;;; orderless | ||
| 5313 | `(orderless-match-face-0 ((,class :inherit bold | ||
| 5314 | ,@(modus-themes--standard-completions | ||
| 5315 | blue-alt-other blue-nuanced-bg | ||
| 5316 | blue-refine-bg blue-refine-fg)))) | ||
| 5317 | `(orderless-match-face-1 ((,class :inherit bold | ||
| 5318 | ,@(modus-themes--standard-completions | ||
| 5319 | magenta-alt magenta-nuanced-bg | ||
| 5320 | magenta-refine-bg magenta-refine-fg)))) | ||
| 5321 | `(orderless-match-face-2 ((,class :inherit bold | ||
| 5322 | ,@(modus-themes--standard-completions | ||
| 5323 | green green-nuanced-bg | ||
| 5324 | green-refine-bg green-refine-fg)))) | ||
| 5325 | `(orderless-match-face-3 ((,class :inherit bold | ||
| 5326 | ,@(modus-themes--standard-completions | ||
| 5327 | yellow yellow-nuanced-bg | ||
| 5328 | yellow-refine-bg yellow-refine-fg)))) | ||
| 5329 | ;;;;; org | ||
| 5330 | `(org-agenda-calendar-event ((,class :foreground ,fg-main))) | ||
| 5331 | `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt))) | ||
| 5332 | `(org-agenda-clocking ((,class :inherit modus-theme-special-cold :extend t))) | ||
| 5333 | `(org-agenda-column-dateline ((,class :background ,bg-alt))) | ||
| 5334 | `(org-agenda-current-time ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 5335 | `(org-agenda-date ((,class :foreground ,cyan))) | ||
| 5336 | `(org-agenda-date-today ((,class :inherit bold :foreground ,fg-main :underline t))) | ||
| 5337 | `(org-agenda-date-weekend ((,class :foreground ,cyan-alt-other))) | ||
| 5338 | `(org-agenda-diary ((,class :foreground ,fg-main))) | ||
| 5339 | `(org-agenda-dimmed-todo-face ((,class :inherit bold :foreground ,fg-alt))) | ||
| 5340 | `(org-agenda-done ((,class :foreground ,green-alt))) | ||
| 5341 | `(org-agenda-filter-category ((,class :inherit bold :foreground ,magenta-active))) | ||
| 5342 | `(org-agenda-filter-effort ((,class :inherit bold :foreground ,magenta-active))) | ||
| 5343 | `(org-agenda-filter-regexp ((,class :inherit bold :foreground ,magenta-active))) | ||
| 5344 | `(org-agenda-filter-tags ((,class :inherit bold :foreground ,magenta-active))) | ||
| 5345 | `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 5346 | `(org-agenda-structure ((,class ,@(modus-themes--scale modus-themes-scale-5) | ||
| 5347 | :foreground ,blue-alt))) | ||
| 5348 | `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 5349 | `(org-block ((,class ,@(modus-themes--mixed-fonts) | ||
| 5350 | ,@(modus-themes--org-block bg-dim) | ||
| 5351 | :foreground ,fg-main))) | ||
| 5352 | `(org-block-begin-line ((,class ,@(modus-themes--mixed-fonts) | ||
| 5353 | ,@(modus-themes--org-block-delim | ||
| 5354 | bg-dim fg-special-cold | ||
| 5355 | bg-alt fg-special-mild)))) | ||
| 5356 | `(org-block-end-line ((,class :inherit org-block-begin-line))) | ||
| 5357 | `(org-checkbox ((,class :box (:line-width 1 :color ,bg-active) | ||
| 5358 | :background ,bg-inactive :foreground ,fg-active))) | ||
| 5359 | `(org-checkbox-statistics-done ((,class :inherit org-done))) | ||
| 5360 | `(org-checkbox-statistics-todo ((,class :inherit org-todo))) | ||
| 5361 | `(org-clock-overlay ((,class :inherit modus-theme-special-cold))) | ||
| 5362 | `(org-code ((,class ,@(modus-themes--mixed-fonts) | ||
| 5363 | :background ,red-nuanced-bg :foreground ,magenta))) | ||
| 5364 | `(org-column ((,class :background ,bg-alt))) | ||
| 5365 | `(org-column-title ((,class :inherit bold :underline t :background ,bg-alt))) | ||
| 5366 | `(org-date ((,class :inherit ,(if modus-themes-no-mixed-fonts | ||
| 5367 | 'button | ||
| 5368 | '(button fixed-pitch)) | ||
| 5369 | ,@(modus-themes--link-color | ||
| 5370 | cyan cyan-faint)))) | ||
| 5371 | `(org-date-selected ((,class :inherit bold :foreground ,blue-alt :inverse-video t))) | ||
| 5372 | `(org-dispatcher-highlight ((,class :inherit (bold modus-theme-mark-alt)))) | ||
| 5373 | `(org-document-info ((,class :foreground ,fg-special-cold))) | ||
| 5374 | `(org-document-info-keyword ((,class ,@(modus-themes--mixed-fonts) | ||
| 5375 | :foreground ,fg-alt))) | ||
| 5376 | `(org-document-title ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,fg-special-cold | ||
| 5377 | ,@(modus-themes--scale modus-themes-scale-5)))) | ||
| 5378 | `(org-done ((,class :foreground ,green))) | ||
| 5379 | `(org-drawer ((,class ,@(modus-themes--mixed-fonts) | ||
| 5380 | :foreground ,fg-alt))) | ||
| 5381 | `(org-ellipsis ((,class))) ; inherits from the heading's color | ||
| 5382 | `(org-footnote ((,class :inherit button | ||
| 5383 | ,@(modus-themes--link-color | ||
| 5384 | blue-alt blue-alt-faint)))) | ||
| 5385 | `(org-formula ((,class ,@(modus-themes--mixed-fonts) | ||
| 5386 | :foreground ,red-alt))) | ||
| 5387 | `(org-habit-alert-face ((,class ,@(modus-themes--org-habit | ||
| 5388 | yellow-graph-0-bg | ||
| 5389 | yellow-graph-0-bg | ||
| 5390 | yellow-graph-1-bg)))) | ||
| 5391 | `(org-habit-alert-future-face ((,class ,@(modus-themes--org-habit | ||
| 5392 | yellow-graph-1-bg | ||
| 5393 | yellow-graph-0-bg | ||
| 5394 | yellow-graph-1-bg)))) | ||
| 5395 | `(org-habit-clear-face ((,class ,@(modus-themes--org-habit | ||
| 5396 | blue-graph-0-bg | ||
| 5397 | green-graph-1-bg | ||
| 5398 | blue-graph-1-bg)))) | ||
| 5399 | `(org-habit-clear-future-face ((,class ,@(modus-themes--org-habit | ||
| 5400 | blue-graph-1-bg | ||
| 5401 | green-graph-1-bg | ||
| 5402 | blue-graph-1-bg)))) | ||
| 5403 | `(org-habit-overdue-face ((,class ,@(modus-themes--org-habit | ||
| 5404 | red-graph-0-bg | ||
| 5405 | red-graph-0-bg | ||
| 5406 | red-graph-1-bg)))) | ||
| 5407 | `(org-habit-overdue-future-face ((,class ,@(modus-themes--org-habit | ||
| 5408 | red-graph-1-bg | ||
| 5409 | red-graph-0-bg | ||
| 5410 | red-graph-1-bg)))) | ||
| 5411 | `(org-habit-ready-face ((,class ,@(modus-themes--org-habit | ||
| 5412 | green-graph-0-bg | ||
| 5413 | green-graph-0-bg | ||
| 5414 | green-graph-1-bg)))) | ||
| 5415 | `(org-habit-ready-future-face ((,class ,@(modus-themes--org-habit | ||
| 5416 | green-graph-1-bg | ||
| 5417 | green-graph-0-bg | ||
| 5418 | green-graph-1-bg)))) | ||
| 5419 | `(org-headline-done ((,class :inherit modus-theme-variable-pitch :foreground ,green-nuanced-fg))) | ||
| 5420 | `(org-headline-todo ((,class :inherit modus-theme-variable-pitch :foreground ,red-nuanced-fg))) | ||
| 5421 | `(org-hide ((,class :foreground ,bg-main))) | ||
| 5422 | `(org-indent ((,class :inherit (fixed-pitch org-hide)))) | ||
| 5423 | `(org-latex-and-related ((,class :foreground ,magenta-refine-fg))) | ||
| 5424 | `(org-level-1 ((,class :inherit modus-theme-heading-1))) | ||
| 5425 | `(org-level-2 ((,class :inherit modus-theme-heading-2))) | ||
| 5426 | `(org-level-3 ((,class :inherit modus-theme-heading-3))) | ||
| 5427 | `(org-level-4 ((,class :inherit modus-theme-heading-4))) | ||
| 5428 | `(org-level-5 ((,class :inherit modus-theme-heading-5))) | ||
| 5429 | `(org-level-6 ((,class :inherit modus-theme-heading-6))) | ||
| 5430 | `(org-level-7 ((,class :inherit modus-theme-heading-7))) | ||
| 5431 | `(org-level-8 ((,class :inherit modus-theme-heading-8))) | ||
| 5432 | `(org-link ((,class :inherit button))) | ||
| 5433 | `(org-list-dt ((,class :inherit bold))) | ||
| 5434 | `(org-macro ((,class ,@(modus-themes--mixed-fonts) | ||
| 5435 | :background ,blue-nuanced-bg :foreground ,magenta-alt-other))) | ||
| 5436 | `(org-meta-line ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) | ||
| 5437 | `(org-mode-line-clock ((,class :foreground ,fg-main))) | ||
| 5438 | `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red))) | ||
| 5439 | `(org-priority ((,class :foreground ,magenta))) | ||
| 5440 | `(org-property-value ((,class ,@(modus-themes--mixed-fonts) | ||
| 5441 | :foreground ,fg-special-cold))) | ||
| 5442 | `(org-quote ((,class :inherit modus-theme-slant | ||
| 5443 | ,@(modus-themes--org-block bg-dim) | ||
| 5444 | :foreground ,fg-special-cold))) | ||
| 5445 | `(org-scheduled ((,class :foreground ,magenta-alt))) | ||
| 5446 | `(org-scheduled-previously ((,class :foreground ,yellow-alt-other))) | ||
| 5447 | `(org-scheduled-today ((,class :foreground ,magenta-alt-other))) | ||
| 5448 | `(org-sexp-date ((,class :inherit org-date))) | ||
| 5449 | `(org-special-keyword ((,class ,@(modus-themes--mixed-fonts) | ||
| 5450 | :foreground ,fg-alt))) | ||
| 5451 | `(org-table ((,class ,@(modus-themes--mixed-fonts) | ||
| 5452 | :foreground ,fg-special-cold))) | ||
| 5453 | `(org-table-header ((,class :inherit (fixed-pitch modus-theme-intense-neutral)))) | ||
| 5454 | `(org-tag ((,class :foreground ,magenta-nuanced-fg))) | ||
| 5455 | `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced-fg))) | ||
| 5456 | `(org-target ((,class :underline t))) | ||
| 5457 | `(org-time-grid ((,class :foreground ,fg-unfocused))) | ||
| 5458 | `(org-todo ((,class :foreground ,red))) | ||
| 5459 | `(org-upcoming-deadline ((,class :foreground ,red-alt-other))) | ||
| 5460 | `(org-upcoming-distant-deadline ((,class :foreground ,red-nuanced-fg))) | ||
| 5461 | `(org-verbatim ((,class ,@(modus-themes--mixed-fonts) | ||
| 5462 | :background ,bg-alt :foreground ,fg-special-calm))) | ||
| 5463 | `(org-verse ((,class :inherit org-quote))) | ||
| 5464 | `(org-warning ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 5465 | ;;;;; org-journal | ||
| 5466 | `(org-journal-calendar-entry-face ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other))) | ||
| 5467 | `(org-journal-calendar-scheduled-face ((,class :inherit modus-theme-slant :foreground ,red-alt-other))) | ||
| 5468 | `(org-journal-highlight ((,class :foreground ,magenta-alt))) | ||
| 5469 | ;;;;; org-noter | ||
| 5470 | `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active))) | ||
| 5471 | `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active))) | ||
| 5472 | ;;;;; org-pomodoro | ||
| 5473 | `(org-pomodoro-mode-line ((,class :foreground ,red-active))) | ||
| 5474 | `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active))) | ||
| 5475 | `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground ,red-active))) | ||
| 5476 | ;;;;; org-recur | ||
| 5477 | `(org-recur ((,class :foreground ,magenta-active))) | ||
| 5478 | ;;;;; org-roam | ||
| 5479 | `(org-roam-link ((,class :inherit button | ||
| 5480 | ,@(modus-themes--link-color | ||
| 5481 | green green-faint)))) | ||
| 5482 | `(org-roam-link-current ((,class :inherit button | ||
| 5483 | ,@(modus-themes--link-color | ||
| 5484 | green-alt green-alt-faint)))) | ||
| 5485 | `(org-roam-link-invalid ((,class :inherit button | ||
| 5486 | ,@(modus-themes--link-color | ||
| 5487 | red red-faint)))) | ||
| 5488 | `(org-roam-link-shielded ((,class :inherit button | ||
| 5489 | ,@(modus-themes--link-color | ||
| 5490 | yellow yellow-faint)))) | ||
| 5491 | `(org-roam-tag ((,class :inherit italic :foreground ,fg-alt))) | ||
| 5492 | ;;;;; org-superstar | ||
| 5493 | `(org-superstar-item ((,class :foreground ,fg-main))) | ||
| 5494 | `(org-superstar-leading ((,class :foreground ,fg-whitespace))) | ||
| 5495 | ;;;;; org-table-sticky-header | ||
| 5496 | `(org-table-sticky-header-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 5497 | ;;;;; org-tree-slide | ||
| 5498 | `(org-tree-slide-header-overlay-face | ||
| 5499 | ((,class :inherit (bold modus-theme-variable-pitch) :background ,bg-main | ||
| 5500 | :foreground ,fg-special-cold :overline nil | ||
| 5501 | ,@(modus-themes--scale modus-themes-scale-5)))) | ||
| 5502 | ;;;;; org-treescope | ||
| 5503 | `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-theme-intense-blue))) | ||
| 5504 | `(org-treescope-faces--markerinternal-range ((,class :inherit modus-theme-special-mild))) | ||
| 5505 | ;;;;; origami | ||
| 5506 | `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t))) | ||
| 5507 | `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 5508 | ;;;;; outline-mode | ||
| 5509 | `(outline-1 ((,class :inherit modus-theme-heading-1))) | ||
| 5510 | `(outline-2 ((,class :inherit modus-theme-heading-2))) | ||
| 5511 | `(outline-3 ((,class :inherit modus-theme-heading-3))) | ||
| 5512 | `(outline-4 ((,class :inherit modus-theme-heading-4))) | ||
| 5513 | `(outline-5 ((,class :inherit modus-theme-heading-5))) | ||
| 5514 | `(outline-6 ((,class :inherit modus-theme-heading-6))) | ||
| 5515 | `(outline-7 ((,class :inherit modus-theme-heading-7))) | ||
| 5516 | `(outline-8 ((,class :inherit modus-theme-heading-8))) | ||
| 5517 | ;;;;; outline-minor-faces | ||
| 5518 | `(outline-minor-0 ((,class :background ,bg-alt))) | ||
| 5519 | ;;;;; package (M-x list-packages) | ||
| 5520 | `(package-description ((,class :foreground ,fg-special-cold))) | ||
| 5521 | `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 5522 | `(package-name ((,class :inherit button))) | ||
| 5523 | `(package-status-avail-obso ((,class :inherit bold :foreground ,red))) | ||
| 5524 | `(package-status-available ((,class :foreground ,fg-special-mild))) | ||
| 5525 | `(package-status-built-in ((,class :foreground ,magenta))) | ||
| 5526 | `(package-status-dependency ((,class :foreground ,magenta-alt-other))) | ||
| 5527 | `(package-status-disabled ((,class :inherit modus-theme-subtle-red))) | ||
| 5528 | `(package-status-external ((,class :foreground ,cyan-alt-other))) | ||
| 5529 | `(package-status-held ((,class :foreground ,yellow-alt))) | ||
| 5530 | `(package-status-incompat ((,class :inherit bold :foreground ,yellow))) | ||
| 5531 | `(package-status-installed ((,class :foreground ,fg-special-warm))) | ||
| 5532 | `(package-status-new ((,class :inherit bold :foreground ,green))) | ||
| 5533 | `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt))) | ||
| 5534 | ;;;;; page-break-lines | ||
| 5535 | `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer))) | ||
| 5536 | ;;;;; paradox | ||
| 5537 | `(paradox-archive-face ((,class :foreground ,fg-special-mild))) | ||
| 5538 | `(paradox-comment-face ((,class :inherit font-lock-comment-face))) | ||
| 5539 | `(paradox-commit-tag-face ((,class :inherit modus-theme-refine-magenta :box t))) | ||
| 5540 | `(paradox-description-face ((,class :foreground ,fg-special-cold))) | ||
| 5541 | `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold))) | ||
| 5542 | `(paradox-download-face ((,class :inherit modus-theme-bold :foreground ,blue-alt-other))) | ||
| 5543 | `(paradox-highlight-face ((,class :inherit modus-theme-bold :foreground ,cyan-alt-other))) | ||
| 5544 | `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t))) | ||
| 5545 | `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active))) | ||
| 5546 | `(paradox-name-face ((,class :foreground ,blue :underline t))) | ||
| 5547 | `(paradox-star-face ((,class :foreground ,magenta))) | ||
| 5548 | `(paradox-starred-face ((,class :foreground ,magenta-alt))) | ||
| 5549 | ;;;;; paren-face | ||
| 5550 | `(parenthesis ((,class :foreground ,fg-unfocused))) | ||
| 5551 | ;;;;; parrot | ||
| 5552 | `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 5553 | ;;;;; pass | ||
| 5554 | `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 5555 | `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 5556 | `(pass-mode-header-face ((,class :foreground ,fg-special-warm))) | ||
| 5557 | ;;;;; pdf-tools | ||
| 5558 | `(pdf-links-read-link ((,class :background ,fg-main :foreground ,magenta-intense-bg :inherit bold))) ; Foreground is background and vice versa | ||
| 5559 | `(pdf-occur-document-face ((,class :inherit shadow))) | ||
| 5560 | `(pdf-occur-page-face ((,class :inherit shadow))) | ||
| 5561 | ;;;;; persp-mode | ||
| 5562 | `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-theme-intense-red))) | ||
| 5563 | `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active))) | ||
| 5564 | `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active))) | ||
| 5565 | ;;;;; perspective | ||
| 5566 | `(persp-selected-face ((,class :inherit bold :foreground ,blue-active))) | ||
| 5567 | ;;;;; phi-grep | ||
| 5568 | `(phi-grep-heading-face ((,class :inherit bold :foreground ,red-alt | ||
| 5569 | ,@(modus-themes--scale modus-themes-scale-4)))) | ||
| 5570 | `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 5571 | `(phi-grep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 5572 | `(phi-grep-modified-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 5573 | `(phi-grep-overlay-face ((,class :inherit modus-theme-refine-blue))) | ||
| 5574 | ;;;;; phi-search | ||
| 5575 | `(phi-replace-preview-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 5576 | `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red))) | ||
| 5577 | `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan))) | ||
| 5578 | `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 5579 | ;;;;; pkgbuild-mode | ||
| 5580 | `(pkgbuild-error-face ((,class :inherit modus-theme-lang-error))) | ||
| 5581 | ;;;;; pomidor | ||
| 5582 | `(pomidor-break-face ((,class :foreground ,blue-alt-other))) | ||
| 5583 | `(pomidor-overwork-face ((,class :foreground ,red-alt-other))) | ||
| 5584 | `(pomidor-skip-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) | ||
| 5585 | `(pomidor-work-face ((,class :foreground ,green-alt-other))) | ||
| 5586 | ;;;;; popup | ||
| 5587 | `(popup-face ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 5588 | `(popup-isearch-match ((,class :inherit (modus-theme-refine-cyan bold)))) | ||
| 5589 | `(popup-menu-mouse-face ((,class :inherit modus-theme-intense-blue))) | ||
| 5590 | `(popup-menu-selection-face ((,class :inherit (modus-theme-subtle-cyan bold)))) | ||
| 5591 | `(popup-scroll-bar-background-face ((,class :background ,bg-active))) | ||
| 5592 | `(popup-scroll-bar-foreground-face ((,class :foreground ,fg-active))) | ||
| 5593 | `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive))) | ||
| 5594 | `(popup-tip-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 5595 | ;;;;; powerline | ||
| 5596 | `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t))) | ||
| 5597 | `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg))) | ||
| 5598 | `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 5599 | `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 5600 | `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive))) | ||
| 5601 | `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 5602 | ;;;;; powerline-evil | ||
| 5603 | `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 5604 | `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta))) | ||
| 5605 | `(powerline-evil-insert-face ((,class :inherit modus-theme-active-green))) | ||
| 5606 | `(powerline-evil-motion-face ((,class :inherit modus-theme-active-blue))) | ||
| 5607 | `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main))) | ||
| 5608 | `(powerline-evil-operator-face ((,class :inherit modus-theme-active-yellow))) | ||
| 5609 | `(powerline-evil-replace-face ((,class :inherit modus-theme-active-red))) | ||
| 5610 | `(powerline-evil-visual-face ((,class :inherit modus-theme-active-cyan))) | ||
| 5611 | ;;;;; proced | ||
| 5612 | `(proced-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 5613 | `(proced-marked ((,class :inherit modus-theme-mark-alt))) | ||
| 5614 | `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t))) | ||
| 5615 | ;;;;; prodigy | ||
| 5616 | `(prodigy-green-face ((,class :foreground ,green))) | ||
| 5617 | `(prodigy-red-face ((,class :foreground ,red))) | ||
| 5618 | `(prodigy-yellow-face ((,class :foreground ,yellow))) | ||
| 5619 | ;;;;; quick-peek | ||
| 5620 | `(quick-peek-background-face ((,class :background ,bg-alt))) | ||
| 5621 | `(quick-peek-border-face ((,class :background ,fg-window-divider-inner :height 1))) | ||
| 5622 | `(quick-peek-padding-face ((,class :background ,bg-alt :height 0.15))) | ||
| 5623 | ;;;;; racket-mode | ||
| 5624 | `(racket-debug-break-face ((,class :inherit modus-theme-intense-red))) | ||
| 5625 | `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil) | ||
| 5626 | :foreground ,green-alt-other))) | ||
| 5627 | `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil) | ||
| 5628 | :foreground ,green))) | ||
| 5629 | `(racket-here-string-face ((,class :foreground ,blue-alt))) | ||
| 5630 | `(racket-keyword-argument-face ((,class :foreground ,red-alt))) | ||
| 5631 | `(racket-logger-config-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) | ||
| 5632 | `(racket-logger-debug-face ((,class :foreground ,blue-alt-other))) | ||
| 5633 | `(racket-logger-info-face ((,class :foreground ,fg-lang-note))) | ||
| 5634 | `(racket-logger-topic-face ((,class :inherit modus-theme-slant :foreground ,magenta))) | ||
| 5635 | `(racket-selfeval-face ((,class :foreground ,green-alt))) | ||
| 5636 | `(racket-xp-error-face ((,class :inherit modus-theme-lang-error))) | ||
| 5637 | ;;;;; rainbow-blocks | ||
| 5638 | `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other))) | ||
| 5639 | `(rainbow-blocks-depth-2-face ((,class :foreground ,blue))) | ||
| 5640 | `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt))) | ||
| 5641 | `(rainbow-blocks-depth-4-face ((,class :foreground ,green))) | ||
| 5642 | `(rainbow-blocks-depth-5-face ((,class :foreground ,magenta))) | ||
| 5643 | `(rainbow-blocks-depth-6-face ((,class :foreground ,cyan))) | ||
| 5644 | `(rainbow-blocks-depth-7-face ((,class :foreground ,yellow))) | ||
| 5645 | `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt))) | ||
| 5646 | `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt))) | ||
| 5647 | `(rainbow-blocks-unmatched-face ((,class :foreground ,red))) | ||
| 5648 | ;;;;; rainbow-identifiers | ||
| 5649 | `(rainbow-identifiers-identifier-1 ((,class :foreground ,green-alt-other))) | ||
| 5650 | `(rainbow-identifiers-identifier-2 ((,class :foreground ,magenta-alt-other))) | ||
| 5651 | `(rainbow-identifiers-identifier-3 ((,class :foreground ,cyan-alt-other))) | ||
| 5652 | `(rainbow-identifiers-identifier-4 ((,class :foreground ,yellow-alt-other))) | ||
| 5653 | `(rainbow-identifiers-identifier-5 ((,class :foreground ,blue-alt-other))) | ||
| 5654 | `(rainbow-identifiers-identifier-6 ((,class :foreground ,green-alt))) | ||
| 5655 | `(rainbow-identifiers-identifier-7 ((,class :foreground ,magenta-alt))) | ||
| 5656 | `(rainbow-identifiers-identifier-8 ((,class :foreground ,cyan-alt))) | ||
| 5657 | `(rainbow-identifiers-identifier-9 ((,class :foreground ,yellow-alt))) | ||
| 5658 | `(rainbow-identifiers-identifier-10 ((,class :foreground ,green))) | ||
| 5659 | `(rainbow-identifiers-identifier-11 ((,class :foreground ,magenta))) | ||
| 5660 | `(rainbow-identifiers-identifier-12 ((,class :foreground ,cyan))) | ||
| 5661 | `(rainbow-identifiers-identifier-13 ((,class :foreground ,yellow))) | ||
| 5662 | `(rainbow-identifiers-identifier-14 ((,class :foreground ,blue-alt))) | ||
| 5663 | `(rainbow-identifiers-identifier-15 ((,class :foreground ,red-alt))) | ||
| 5664 | ;;;;; rainbow-delimiters | ||
| 5665 | `(rainbow-delimiters-base-error-face ((,class :background ,red-subtle-bg :foreground ,fg-main))) | ||
| 5666 | `(rainbow-delimiters-base-face ((,class :foreground ,fg-main))) | ||
| 5667 | `(rainbow-delimiters-depth-1-face ((,class :foreground ,fg-main))) | ||
| 5668 | `(rainbow-delimiters-depth-2-face ((,class :foreground ,magenta-intense))) | ||
| 5669 | `(rainbow-delimiters-depth-3-face ((,class :foreground ,cyan-intense))) | ||
| 5670 | `(rainbow-delimiters-depth-4-face ((,class :foreground ,orange-intense))) | ||
| 5671 | `(rainbow-delimiters-depth-5-face ((,class :foreground ,purple-intense))) | ||
| 5672 | `(rainbow-delimiters-depth-6-face ((,class :foreground ,green-intense))) | ||
| 5673 | `(rainbow-delimiters-depth-7-face ((,class :foreground ,red-intense))) | ||
| 5674 | `(rainbow-delimiters-depth-8-face ((,class :foreground ,blue-intense))) | ||
| 5675 | `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-intense))) | ||
| 5676 | `(rainbow-delimiters-mismatched-face ((,class :inherit (bold modus-theme-refine-yellow)))) | ||
| 5677 | `(rainbow-delimiters-unmatched-face ((,class :inherit (bold modus-theme-refine-red)))) | ||
| 5678 | ;;;;; rcirc | ||
| 5679 | `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 5680 | `(rcirc-dim-nick ((,class :inherit shadow))) | ||
| 5681 | `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta))) | ||
| 5682 | `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other))) | ||
| 5683 | `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 5684 | `(rcirc-other-nick ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 5685 | `(rcirc-prompt ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 5686 | `(rcirc-server ((,class :foreground ,fg-unfocused))) | ||
| 5687 | `(rcirc-timestamp ((,class :foreground ,blue-nuanced-fg))) | ||
| 5688 | `(rcirc-url ((,class :foreground ,blue :underline t))) | ||
| 5689 | ;;;;; recursion-indicator | ||
| 5690 | `(recursion-indicator-general ((,class :foreground ,blue-active))) | ||
| 5691 | `(recursion-indicator-minibuffer ((,class :foreground ,red-active))) | ||
| 5692 | ;;;;; regexp-builder (re-builder) | ||
| 5693 | `(reb-match-0 ((,class :inherit modus-theme-refine-cyan))) | ||
| 5694 | `(reb-match-1 ((,class :inherit modus-theme-subtle-magenta))) | ||
| 5695 | `(reb-match-2 ((,class :inherit modus-theme-subtle-green))) | ||
| 5696 | `(reb-match-3 ((,class :inherit modus-theme-refine-yellow))) | ||
| 5697 | `(reb-regexp-grouping-backslash ((,class :inherit font-lock-regexp-grouping-backslash))) | ||
| 5698 | `(reb-regexp-grouping-construct ((,class :inherit font-lock-regexp-grouping-construct))) | ||
| 5699 | ;;;;; rg (rg.el) | ||
| 5700 | `(rg-column-number-face ((,class :foreground ,magenta-alt-other))) | ||
| 5701 | `(rg-context-face ((,class :foreground ,fg-unfocused))) | ||
| 5702 | `(rg-error-face ((,class :inherit bold :foreground ,red))) | ||
| 5703 | `(rg-file-tag-face ((,class :foreground ,fg-special-cold))) | ||
| 5704 | `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 5705 | `(rg-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 5706 | `(rg-literal-face ((,class :foreground ,blue-alt))) | ||
| 5707 | `(rg-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 5708 | `(rg-regexp-face ((,class :foreground ,magenta-active))) | ||
| 5709 | `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive))) | ||
| 5710 | `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active))) | ||
| 5711 | `(rg-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 5712 | ;;;;; ripgrep | ||
| 5713 | `(ripgrep-context-face ((,class :foreground ,fg-unfocused))) | ||
| 5714 | `(ripgrep-error-face ((,class :inherit bold :foreground ,red))) | ||
| 5715 | `(ripgrep-hit-face ((,class :foreground ,cyan))) | ||
| 5716 | `(ripgrep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 5717 | ;;;;; rmail | ||
| 5718 | `(rmail-header-name ((,class :foreground ,cyan-alt-other))) | ||
| 5719 | `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 5720 | ;;;;; ruler-mode | ||
| 5721 | `(ruler-mode-column-number ((,class :inherit ruler-mode-default :foreground ,fg-main))) | ||
| 5722 | `(ruler-mode-comment-column ((,class :inherit ruler-mode-default :foreground ,red))) | ||
| 5723 | `(ruler-mode-current-column ((,class :inherit ruler-mode-default :background ,blue-subtle-bg :foreground ,fg-main))) | ||
| 5724 | `(ruler-mode-default ((,class :inherit default :background ,bg-alt :foreground ,fg-unfocused))) | ||
| 5725 | `(ruler-mode-fill-column ((,class :inherit ruler-mode-default :foreground ,green))) | ||
| 5726 | `(ruler-mode-fringes ((,class :inherit ruler-mode-default :foreground ,cyan))) | ||
| 5727 | `(ruler-mode-goal-column ((,class :inherit ruler-mode-default :foreground ,blue))) | ||
| 5728 | `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground ,bg-main))) | ||
| 5729 | `(ruler-mode-pad ((,class :inherit ruler-mode-default :background ,bg-active :foreground ,fg-inactive))) | ||
| 5730 | `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground ,fg-special-warm))) | ||
| 5731 | ;;;;; sallet | ||
| 5732 | `(sallet-buffer-compressed ((,class :inherit italic :foreground ,yellow-nuanced-fg))) | ||
| 5733 | `(sallet-buffer-default-directory ((,class :foreground ,cyan-nuanced-fg))) | ||
| 5734 | `(sallet-buffer-directory ((,class :foreground ,blue-nuanced-fg))) | ||
| 5735 | `(sallet-buffer-help ((,class :foreground ,fg-special-cold))) | ||
| 5736 | `(sallet-buffer-modified ((,class :inherit italic :foreground ,yellow-alt-other))) | ||
| 5737 | `(sallet-buffer-ordinary ((,class :foreground ,fg-main))) | ||
| 5738 | `(sallet-buffer-read-only ((,class :foreground ,yellow-alt))) | ||
| 5739 | `(sallet-buffer-size ((,class :foreground ,fg-special-calm))) | ||
| 5740 | `(sallet-buffer-special ((,class :foreground ,magenta-alt-other))) | ||
| 5741 | `(sallet-flx-match ((,class ,@(modus-themes--extra-completions | ||
| 5742 | 'modus-theme-subtle-cyan | ||
| 5743 | 'modus-theme-refine-cyan | ||
| 5744 | 'modus-theme-nuanced-cyan | ||
| 5745 | cyan-alt-other)))) | ||
| 5746 | `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced-fg))) | ||
| 5747 | `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild))) | ||
| 5748 | `(sallet-regexp-match ((,class ,@(modus-themes--extra-completions | ||
| 5749 | 'modus-theme-subtle-magenta | ||
| 5750 | 'modus-theme-refine-magenta | ||
| 5751 | 'modus-theme-nuanced-magenta | ||
| 5752 | magenta-alt-other)))) | ||
| 5753 | `(sallet-source-header ((,class :inherit bold :foreground ,red-alt | ||
| 5754 | ,@(modus-themes--scale modus-themes-scale-4)))) | ||
| 5755 | `(sallet-substring-match ((,class ,@(modus-themes--extra-completions | ||
| 5756 | 'modus-theme-subtle-blue | ||
| 5757 | 'modus-theme-refine-blue | ||
| 5758 | 'modus-theme-nuanced-blue | ||
| 5759 | blue-alt-other)))) | ||
| 5760 | ;;;;; selectrum | ||
| 5761 | ;; NOTE 2021-02-22: The `selectrum-primary-highlight' and | ||
| 5762 | ;; `selectrum-secondary-highlight' are deprecated upstream in favour of | ||
| 5763 | ;; their selectrum-prescient counterparts. We shall remove those faces | ||
| 5764 | ;; from the themes once we are certain that they are no longer relevant. | ||
| 5765 | `(selectrum-current-candidate | ||
| 5766 | ((,class :inherit bold :foreground ,fg-main | ||
| 5767 | :background ,@(pcase modus-themes-completions | ||
| 5768 | ('opinionated (list bg-active)) | ||
| 5769 | (_ (list bg-inactive)))))) | ||
| 5770 | `(selectrum-primary-highlight | ||
| 5771 | ((,class :inherit bold | ||
| 5772 | ,@(modus-themes--standard-completions | ||
| 5773 | magenta-alt magenta-nuanced-bg | ||
| 5774 | magenta-refine-bg magenta-refine-fg)))) | ||
| 5775 | `(selectrum-secondary-highlight | ||
| 5776 | ((,class :inherit bold | ||
| 5777 | ,@(modus-themes--standard-completions | ||
| 5778 | cyan-alt-other cyan-nuanced-bg | ||
| 5779 | cyan-refine-bg cyan-refine-fg)))) | ||
| 5780 | ;;;;; selectrum-prescient | ||
| 5781 | `(selectrum-prescient-primary-highlight | ||
| 5782 | ((,class :inherit bold | ||
| 5783 | ,@(modus-themes--standard-completions | ||
| 5784 | magenta-alt magenta-nuanced-bg | ||
| 5785 | magenta-refine-bg magenta-refine-fg)))) | ||
| 5786 | `(selectrum-prescient-secondary-highlight | ||
| 5787 | ((,class :inherit bold | ||
| 5788 | ,@(modus-themes--standard-completions | ||
| 5789 | cyan-alt-other cyan-nuanced-bg | ||
| 5790 | cyan-refine-bg cyan-refine-fg)))) | ||
| 5791 | ;;;;; semantic | ||
| 5792 | `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t))) | ||
| 5793 | `(semantic-decoration-on-fileless-includes ((,class :inherit modus-theme-refine-green))) | ||
| 5794 | `(semantic-decoration-on-private-members-face ((,class :inherit modus-theme-refine-cyan))) | ||
| 5795 | `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim))) | ||
| 5796 | `(semantic-decoration-on-unknown-includes ((,class :inherit modus-theme-refine-red))) | ||
| 5797 | `(semantic-decoration-on-unparsed-includes ((,class :inherit modus-theme-refine-yellow))) | ||
| 5798 | `(semantic-highlight-edits-face ((,class :background ,bg-alt))) | ||
| 5799 | `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt))) | ||
| 5800 | `(semantic-idle-symbol-highlight ((,class :inherit modus-theme-special-mild))) | ||
| 5801 | `(semantic-tag-boundary-face ((,class :overline ,blue-intense))) | ||
| 5802 | `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error))) | ||
| 5803 | ;;;;; sesman | ||
| 5804 | `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t))) | ||
| 5805 | `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 5806 | `(sesman-buffer-face ((,class :foreground ,magenta))) | ||
| 5807 | `(sesman-directory-face ((,class :inherit bold :foreground ,blue))) | ||
| 5808 | `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 5809 | ;;;;; shell-script-mode | ||
| 5810 | `(sh-heredoc ((,class :foreground ,blue-alt))) | ||
| 5811 | `(sh-quoted-exec ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) | ||
| 5812 | ;;;;; shortdoc | ||
| 5813 | `(shortdoc-heading ((,class :inherit modus-theme-pseudo-header))) | ||
| 5814 | `(shortdoc-section ((,class))) ; remove the default's variable-pitch style | ||
| 5815 | ;;;;; show-paren-mode | ||
| 5816 | `(show-paren-match ((,class ,@(modus-themes--paren bg-paren-match | ||
| 5817 | bg-paren-match-intense) | ||
| 5818 | :foreground ,fg-main))) | ||
| 5819 | `(show-paren-match-expression ((,class :inherit modus-theme-special-calm))) | ||
| 5820 | `(show-paren-mismatch ((,class :inherit modus-theme-intense-red))) | ||
| 5821 | ;;;;; shr | ||
| 5822 | `(shr-abbreviation | ||
| 5823 | ((,(append '((supports :underline (:style wave))) class) | ||
| 5824 | :foreground ,fg-docstring :underline (:color ,fg-alt :style wave)) | ||
| 5825 | (,class :foreground ,fg-docstring :underline t))) | ||
| 5826 | `(shr-selected-link ((,class :inherit modus-theme-subtle-cyan))) | ||
| 5827 | ;;;;; side-notes | ||
| 5828 | `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 5829 | ;;;;; sieve-mode | ||
| 5830 | `(sieve-action-commands ((,class :inherit font-lock-builtin-face))) | ||
| 5831 | `(sieve-control-commands ((,class :inherit font-lock-keyword-face))) | ||
| 5832 | `(sieve-tagged-arguments ((,class :inherit font-lock-type-face))) | ||
| 5833 | `(sieve-test-commands ((,class :inherit font-lock-function-name-face))) | ||
| 5834 | ;;;;; skewer-mode | ||
| 5835 | `(skewer-error-face ((,class :foreground ,red :underline t))) | ||
| 5836 | ;;;;; smart-mode-line | ||
| 5837 | `(sml/charging ((,class :foreground ,green-active))) | ||
| 5838 | `(sml/discharging ((,class :foreground ,red-active))) | ||
| 5839 | `(sml/filename ((,class :inherit bold :foreground ,blue-active))) | ||
| 5840 | `(sml/folder ((,class :foreground ,fg-active))) | ||
| 5841 | `(sml/git ((,class :inherit bold :foreground ,green-active))) | ||
| 5842 | `(sml/global ((,class :foreground ,fg-active))) | ||
| 5843 | `(sml/line-number ((,class :inherit sml/global))) | ||
| 5844 | `(sml/minor-modes ((,class :inherit sml/global))) | ||
| 5845 | `(sml/modes ((,class :inherit bold :foreground ,fg-active))) | ||
| 5846 | `(sml/modified ((,class :inherit bold :foreground ,magenta-active))) | ||
| 5847 | `(sml/mule-info ((,class :inherit sml/global))) | ||
| 5848 | `(sml/name-filling ((,class :foreground ,yellow-active))) | ||
| 5849 | `(sml/not-modified ((,class :inherit sml/global))) | ||
| 5850 | `(sml/numbers-separator ((,class :inherit sml/global))) | ||
| 5851 | `(sml/outside-modified ((,class :inherit modus-theme-intense-red))) | ||
| 5852 | `(sml/position-percentage ((,class :inherit sml/global))) | ||
| 5853 | `(sml/prefix ((,class :foreground ,green-active))) | ||
| 5854 | `(sml/process ((,class :inherit sml/prefix))) | ||
| 5855 | `(sml/projectile ((,class :inherit sml/git))) | ||
| 5856 | `(sml/read-only ((,class :inherit bold :foreground ,cyan-active))) | ||
| 5857 | `(sml/remote ((,class :inherit sml/global))) | ||
| 5858 | `(sml/sudo ((,class :inherit modus-theme-subtle-red))) | ||
| 5859 | `(sml/time ((,class :inherit sml/global))) | ||
| 5860 | `(sml/vc ((,class :inherit sml/git))) | ||
| 5861 | `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active))) | ||
| 5862 | ;;;;; smartparens | ||
| 5863 | `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm))) | ||
| 5864 | `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild))) | ||
| 5865 | `(sp-show-pair-match-face ((,class ,@(modus-themes--paren bg-paren-match | ||
| 5866 | bg-paren-match-intense) | ||
| 5867 | :foreground ,fg-main))) | ||
| 5868 | `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red))) | ||
| 5869 | `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face))) | ||
| 5870 | `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face))) | ||
| 5871 | `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face))) | ||
| 5872 | `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face))) | ||
| 5873 | ;;;;; smerge | ||
| 5874 | `(smerge-base ((,class :inherit modus-theme-diff-changed))) | ||
| 5875 | `(smerge-lower ((,class :inherit modus-theme-diff-added))) | ||
| 5876 | `(smerge-markers ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 5877 | `(smerge-refined-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 5878 | `(smerge-refined-changed ((,class))) | ||
| 5879 | `(smerge-refined-removed ((,class :inherit modus-theme-diff-refine-removed))) | ||
| 5880 | `(smerge-upper ((,class :inherit modus-theme-diff-removed))) | ||
| 5881 | ;;;;; solaire | ||
| 5882 | `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim))) | ||
| 5883 | `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused))) | ||
| 5884 | `(solaire-hl-line-face ((,class :background ,bg-active))) | ||
| 5885 | `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt))) | ||
| 5886 | ;;;;; spaceline | ||
| 5887 | `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta))) | ||
| 5888 | `(spaceline-evil-insert ((,class :inherit modus-theme-active-green))) | ||
| 5889 | `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue))) | ||
| 5890 | `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt))) | ||
| 5891 | `(spaceline-evil-replace ((,class :inherit modus-theme-active-red))) | ||
| 5892 | `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan))) | ||
| 5893 | `(spaceline-flycheck-error ((,class :foreground ,red-active))) | ||
| 5894 | `(spaceline-flycheck-info ((,class :foreground ,cyan-active))) | ||
| 5895 | `(spaceline-flycheck-warning ((,class :foreground ,yellow-active))) | ||
| 5896 | `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue))) | ||
| 5897 | `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta))) | ||
| 5898 | `(spaceline-python-venv ((,class :foreground ,magenta-active))) | ||
| 5899 | `(spaceline-read-only ((,class :inherit modus-theme-fringe-red))) | ||
| 5900 | `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan))) | ||
| 5901 | ;;;;; speedbar | ||
| 5902 | `(speedbar-button-face ((,class :inherit button))) | ||
| 5903 | `(speedbar-directory-face ((,class :inherit bold :foreground ,blue))) | ||
| 5904 | `(speedbar-file-face ((,class :foreground ,fg-main))) | ||
| 5905 | `(speedbar-highlight-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 5906 | `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan))) | ||
| 5907 | `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 5908 | `(speedbar-tag-face ((,class :foreground ,yellow-alt-other))) | ||
| 5909 | ;;;;; spell-fu | ||
| 5910 | `(spell-fu-incorrect-face ((,class :inherit modus-theme-lang-error))) | ||
| 5911 | ;;;;; spray | ||
| 5912 | `(spray-accent-face ((,class :foreground ,red-intense))) | ||
| 5913 | `(spray-base-face ((,class :inherit default :foreground ,fg-special-cold))) | ||
| 5914 | ;;;;; stripes | ||
| 5915 | `(stripes ((,class :inherit modus-theme-hl-line))) | ||
| 5916 | ;;;;; success | ||
| 5917 | `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 5918 | ;;;;; switch-window | ||
| 5919 | `(switch-window-background ((,class :background ,bg-dim))) | ||
| 5920 | `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense))) | ||
| 5921 | ;;;;; swiper | ||
| 5922 | `(swiper-background-match-face-1 ((,class :inherit modus-theme-subtle-neutral))) | ||
| 5923 | `(swiper-background-match-face-2 ((,class :inherit modus-theme-refine-cyan))) | ||
| 5924 | `(swiper-background-match-face-3 ((,class :inherit modus-theme-refine-magenta))) | ||
| 5925 | `(swiper-background-match-face-4 ((,class :inherit modus-theme-refine-yellow))) | ||
| 5926 | `(swiper-line-face ((,class :inherit modus-theme-special-cold))) | ||
| 5927 | `(swiper-match-face-1 ((,class :inherit (bold modus-theme-intense-neutral)))) | ||
| 5928 | `(swiper-match-face-2 ((,class :inherit (bold modus-theme-intense-green)))) | ||
| 5929 | `(swiper-match-face-3 ((,class :inherit (bold modus-theme-intense-blue)))) | ||
| 5930 | `(swiper-match-face-4 ((,class :inherit (bold modus-theme-intense-red)))) | ||
| 5931 | ;;;;; swoop | ||
| 5932 | `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt | ||
| 5933 | ,@(modus-themes--scale modus-themes-scale-3)))) | ||
| 5934 | `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt | ||
| 5935 | ,@(modus-themes--scale modus-themes-scale-4)))) | ||
| 5936 | `(swoop-face-line-number ((,class :foreground ,fg-special-warm))) | ||
| 5937 | `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue :extend t))) | ||
| 5938 | `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan))) | ||
| 5939 | ;;;;; sx | ||
| 5940 | `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other))) | ||
| 5941 | `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold)))) | ||
| 5942 | `(sx-question-list-answers ((,class :foreground ,green))) | ||
| 5943 | `(sx-question-list-answers-accepted ((,class :box t :foreground ,green))) | ||
| 5944 | `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt :foreground ,yellow))) | ||
| 5945 | `(sx-question-list-date ((,class :foreground ,fg-special-cold))) | ||
| 5946 | `(sx-question-list-favorite ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 5947 | `(sx-question-list-parent ((,class :foreground ,fg-main))) | ||
| 5948 | `(sx-question-list-read-question ((,class :inherit shadow))) | ||
| 5949 | `(sx-question-list-score ((,class :foreground ,fg-special-mild))) | ||
| 5950 | `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold)))) | ||
| 5951 | `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main))) | ||
| 5952 | `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green))) | ||
| 5953 | `(sx-question-mode-closed ((,class :inherit modus-theme-active-yellow :box (:line-width 2 :color nil)))) | ||
| 5954 | `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main))) | ||
| 5955 | `(sx-question-mode-content-face ((,class :background ,bg-dim))) | ||
| 5956 | `(sx-question-mode-date ((,class :foreground ,blue))) | ||
| 5957 | `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan))) | ||
| 5958 | `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main))) | ||
| 5959 | `(sx-question-mode-score ((,class :foreground ,fg-dim))) | ||
| 5960 | `(sx-question-mode-score-downvoted ((,class :foreground ,yellow))) | ||
| 5961 | `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground ,magenta))) | ||
| 5962 | `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main))) | ||
| 5963 | `(sx-question-mode-title-comments ((,class :inherit bold :foreground ,fg-alt))) | ||
| 5964 | `(sx-tag ((,class :foreground ,magenta-alt))) | ||
| 5965 | `(sx-user-name ((,class :foreground ,blue-alt))) | ||
| 5966 | `(sx-user-reputation ((,class :inherit shadow))) | ||
| 5967 | ;;;;; symbol-overlay | ||
| 5968 | `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm))) | ||
| 5969 | `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue))) | ||
| 5970 | `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta))) | ||
| 5971 | `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow))) | ||
| 5972 | `(symbol-overlay-face-4 ((,class :inherit modus-theme-intense-magenta))) | ||
| 5973 | `(symbol-overlay-face-5 ((,class :inherit modus-theme-intense-red))) | ||
| 5974 | `(symbol-overlay-face-6 ((,class :inherit modus-theme-refine-red))) | ||
| 5975 | `(symbol-overlay-face-7 ((,class :inherit modus-theme-intense-cyan))) | ||
| 5976 | `(symbol-overlay-face-8 ((,class :inherit modus-theme-refine-cyan))) | ||
| 5977 | ;;;;; syslog-mode | ||
| 5978 | `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 5979 | `(syslog-error ((,class :inherit bold :foreground ,red))) | ||
| 5980 | `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 5981 | `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 5982 | `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 5983 | `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 5984 | `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t))) | ||
| 5985 | `(syslog-su ((,class :inherit bold :foreground ,red-alt))) | ||
| 5986 | `(syslog-warn ((,class :inherit bold :foreground ,yellow))) | ||
| 5987 | ;;;;; tab-bar-mode | ||
| 5988 | `(tab-bar ((,class ,@(modus-themes--variable-pitch-ui) | ||
| 5989 | :background ,bg-tab-bar :foreground ,fg-main))) | ||
| 5990 | `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) | ||
| 5991 | :background ,bg-tab-active :foreground ,fg-main))) | ||
| 5992 | `(tab-bar-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) | ||
| 5993 | :background ,bg-tab-inactive :foreground ,fg-dim))) | ||
| 5994 | ;;;;; tab-line-mode | ||
| 5995 | `(tab-line ((,class ,@(modus-themes--variable-pitch-ui) | ||
| 5996 | :height 0.95 :background ,bg-tab-bar :foreground ,fg-main))) | ||
| 5997 | `(tab-line-close-highlight ((,class :foreground ,red))) | ||
| 5998 | `(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) | ||
| 5999 | `(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) | ||
| 6000 | :background ,bg-tab-active :foreground ,fg-main))) | ||
| 6001 | `(tab-line-tab-current ((,class :inherit tab-line-tab))) | ||
| 6002 | `(tab-line-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) | ||
| 6003 | :background ,bg-tab-inactive :foreground ,fg-dim))) | ||
| 6004 | `(tab-line-tab-inactive-alternate ((,class :box (:line-width 2 :color ,bg-tab-inactive-alt) | ||
| 6005 | :background ,bg-tab-inactive-alt :foreground ,fg-main))) | ||
| 6006 | ;;;;; table (built-in table.el) | ||
| 6007 | `(table-cell ((,class :background ,blue-nuanced-bg))) | ||
| 6008 | ;;;;; telephone-line | ||
| 6009 | `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive))) | ||
| 6010 | `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 6011 | `(telephone-line-error ((,class :inherit bold :foreground ,red-active))) | ||
| 6012 | `(telephone-line-evil ((,class :foreground ,fg-main))) | ||
| 6013 | `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil :background ,magenta-intense-bg))) | ||
| 6014 | `(telephone-line-evil-insert ((,class :inherit telephone-line-evil :background ,green-intense-bg))) | ||
| 6015 | `(telephone-line-evil-motion ((,class :inherit telephone-line-evil :background ,yellow-intense-bg))) | ||
| 6016 | `(telephone-line-evil-normal ((,class :inherit telephone-line-evil :background ,bg-alt))) | ||
| 6017 | `(telephone-line-evil-operator ((,class :inherit telephone-line-evil :background ,yellow-subtle-bg))) | ||
| 6018 | `(telephone-line-evil-replace ((,class :inherit telephone-line-evil :background ,red-intense-bg))) | ||
| 6019 | `(telephone-line-evil-visual ((,class :inherit telephone-line-evil :background ,cyan-intense-bg))) | ||
| 6020 | `(telephone-line-projectile ((,class :foreground ,cyan-active))) | ||
| 6021 | `(telephone-line-unimportant ((,class :foreground ,fg-inactive))) | ||
| 6022 | `(telephone-line-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 6023 | ;;;;; terraform-mode | ||
| 6024 | `(terraform--resource-name-face ((,class ,@(modus-themes--syntax-string | ||
| 6025 | magenta-alt-other magenta-alt-other-faint | ||
| 6026 | red-alt red-alt)))) | ||
| 6027 | `(terraform--resource-type-face ((,class ,@(modus-themes--syntax-string | ||
| 6028 | green green-faint | ||
| 6029 | blue-alt magenta-alt)))) | ||
| 6030 | ;;;;; term | ||
| 6031 | `(term ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 6032 | `(term-bold ((,class :inherit bold))) | ||
| 6033 | `(term-color-black ((,class :background "gray35" :foreground "gray35"))) | ||
| 6034 | `(term-color-blue ((,class :background ,blue :foreground ,blue))) | ||
| 6035 | `(term-color-cyan ((,class :background ,cyan :foreground ,cyan))) | ||
| 6036 | `(term-color-green ((,class :background ,green :foreground ,green))) | ||
| 6037 | `(term-color-magenta ((,class :background ,magenta :foreground ,magenta))) | ||
| 6038 | `(term-color-red ((,class :background ,red :foreground ,red))) | ||
| 6039 | `(term-color-white ((,class :background "gray65" :foreground "gray65"))) | ||
| 6040 | `(term-color-yellow ((,class :background ,yellow :foreground ,yellow))) | ||
| 6041 | `(term-underline ((,class :underline t))) | ||
| 6042 | ;;;;; tomatinho | ||
| 6043 | `(tomatinho-ok-face ((,class :foreground ,blue-intense))) | ||
| 6044 | `(tomatinho-pause-face ((,class :foreground ,yellow-intense))) | ||
| 6045 | `(tomatinho-reset-face ((,class :inherit shadow))) | ||
| 6046 | ;;;;; transient | ||
| 6047 | `(transient-active-infix ((,class :inherit modus-theme-special-mild))) | ||
| 6048 | `(transient-amaranth ((,class :inherit bold :foreground ,yellow))) | ||
| 6049 | `(transient-argument ((,class :inherit bold :foreground ,red-alt))) | ||
| 6050 | `(transient-blue ((,class :inherit bold :foreground ,blue))) | ||
| 6051 | `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red))) | ||
| 6052 | `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green))) | ||
| 6053 | `(transient-heading ((,class :inherit bold :foreground ,fg-main))) | ||
| 6054 | `(transient-inactive-argument ((,class :inherit shadow))) | ||
| 6055 | `(transient-inactive-value ((,class :inherit shadow))) | ||
| 6056 | `(transient-key ((,class :inherit bold :foreground ,blue))) | ||
| 6057 | `(transient-mismatched-key ((,class :underline t))) | ||
| 6058 | `(transient-nonstandard-key ((,class :underline t))) | ||
| 6059 | `(transient-pink ((,class :inherit bold :foreground ,magenta))) | ||
| 6060 | `(transient-red ((,class :inherit bold :foreground ,red-intense))) | ||
| 6061 | `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 6062 | `(transient-unreachable ((,class :foreground ,fg-unfocused))) | ||
| 6063 | `(transient-unreachable-key ((,class :foreground ,fg-unfocused))) | ||
| 6064 | `(transient-value ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 6065 | ;;;;; trashed | ||
| 6066 | `(trashed-deleted ((,class :inherit modus-theme-mark-del))) | ||
| 6067 | `(trashed-directory ((,class :foreground ,blue))) | ||
| 6068 | `(trashed-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 6069 | `(trashed-marked ((,class :inherit modus-theme-mark-alt))) | ||
| 6070 | `(trashed-restored ((,class :inherit modus-theme-mark-sel))) | ||
| 6071 | `(trashed-symlink ((,class :inherit button | ||
| 6072 | ,@(modus-themes--link-color | ||
| 6073 | cyan-alt cyan-alt-faint)))) | ||
| 6074 | ;;;;; treemacs | ||
| 6075 | `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt))) | ||
| 6076 | `(treemacs-directory-face ((,class :inherit dired-directory))) | ||
| 6077 | `(treemacs-file-face ((,class :foreground ,fg-main))) | ||
| 6078 | `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main))) | ||
| 6079 | `(treemacs-git-added-face ((,class :foreground ,green-intense))) | ||
| 6080 | `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 6081 | `(treemacs-git-ignored-face ((,class :inherit shadow))) | ||
| 6082 | `(treemacs-git-modified-face ((,class :foreground ,yellow-alt-other))) | ||
| 6083 | `(treemacs-git-renamed-face ((,class :foreground ,cyan-alt-other))) | ||
| 6084 | `(treemacs-git-unmodified-face ((,class :foreground ,fg-main))) | ||
| 6085 | `(treemacs-git-untracked-face ((,class :foreground ,red-alt-other))) | ||
| 6086 | `(treemacs-help-column-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other :underline t))) | ||
| 6087 | `(treemacs-help-title-face ((,class :foreground ,blue-alt-other))) | ||
| 6088 | `(treemacs-on-failure-pulse-face ((,class :inherit modus-theme-intense-red))) | ||
| 6089 | `(treemacs-on-success-pulse-face ((,class :inherit modus-theme-intense-green))) | ||
| 6090 | `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t))) | ||
| 6091 | `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow))) | ||
| 6092 | `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta))) | ||
| 6093 | `(treemacs-root-remote-unreadable-face ((,class :inherit treemacs-root-unreadable-face))) | ||
| 6094 | `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face :strike-through t))) | ||
| 6095 | `(treemacs-tags-face ((,class :foreground ,blue-alt))) | ||
| 6096 | `(treemacs-tags-face ((,class :foreground ,magenta-alt))) | ||
| 6097 | ;;;;; tty-menu | ||
| 6098 | `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 6099 | `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main))) | ||
| 6100 | `(tty-menu-selected-face ((,class :inherit modus-theme-intense-blue))) | ||
| 6101 | ;;;;; tuareg | ||
| 6102 | `(caml-types-def-face ((,class :inherit modus-theme-subtle-red))) | ||
| 6103 | `(caml-types-expr-face ((,class :inherit modus-theme-subtle-green))) | ||
| 6104 | `(caml-types-occ-face ((,class :inherit modus-theme-subtle-green))) | ||
| 6105 | `(caml-types-scope-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 6106 | `(caml-types-typed-face ((,class :inherit modus-theme-subtle-magenta))) | ||
| 6107 | `(tuareg-font-double-semicolon-face ((,class :inherit font-lock-preprocessor-face))) | ||
| 6108 | `(tuareg-font-lock-attribute-face ((,class :inherit font-lock-function-name-face))) | ||
| 6109 | `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main))) | ||
| 6110 | `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 6111 | `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta))) | ||
| 6112 | `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 6113 | `(tuareg-font-lock-infix-extension-node-face ((,class :inherit font-lock-function-name-face))) | ||
| 6114 | `(tuareg-font-lock-interactive-directive-face ((,class :foreground ,fg-special-cold))) | ||
| 6115 | `(tuareg-font-lock-interactive-error-face ((,class :inherit error))) | ||
| 6116 | `(tuareg-font-lock-interactive-output-face ((,class :inherit font-lock-constant-face))) | ||
| 6117 | `(tuareg-font-lock-label-face ((,class :inherit font-lock-type-face))) | ||
| 6118 | `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 6119 | `(tuareg-font-lock-module-face ((,class :inherit font-lock-builtin-face))) | ||
| 6120 | `(tuareg-font-lock-multistage-face ((,class :inherit bold :background ,bg-alt :foreground ,blue))) | ||
| 6121 | `(tuareg-font-lock-operator-face ((,class :inherit font-lock-preprocessor-face))) | ||
| 6122 | `(tuareg-opam-error-face ((,class :inherit error))) | ||
| 6123 | `(tuareg-opam-pkg-variable-name-face ((,class :inherit font-lock-variable-name-face))) | ||
| 6124 | ;;;;; typescript | ||
| 6125 | `(typescript-jsdoc-tag ((,class :inherit modus-theme-slant :foreground ,fg-special-mild))) | ||
| 6126 | `(typescript-jsdoc-type ((,class :inherit modus-theme-slant :foreground ,fg-special-calm))) | ||
| 6127 | `(typescript-jsdoc-value ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) | ||
| 6128 | ;;;;; undo-tree | ||
| 6129 | `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 6130 | `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense))) | ||
| 6131 | `(undo-tree-visualizer-default-face ((,class :inherit shadow))) | ||
| 6132 | `(undo-tree-visualizer-register-face ((,class :foreground ,magenta-intense))) | ||
| 6133 | `(undo-tree-visualizer-unmodified-face ((,class :foreground ,green-intense))) | ||
| 6134 | ;;;;; vc (vc-dir.el, vc-hooks.el) | ||
| 6135 | `(vc-dir-directory ((,class :foreground ,blue))) | ||
| 6136 | `(vc-dir-file ((,class :foreground ,fg-main))) | ||
| 6137 | `(vc-dir-header ((,class :foreground ,cyan-alt-other))) | ||
| 6138 | `(vc-dir-header-value ((,class :foreground ,magenta-alt-other))) | ||
| 6139 | `(vc-dir-mark-indicator ((,class :foreground ,blue-alt-other))) | ||
| 6140 | `(vc-dir-status-edited ((,class :foreground ,yellow))) | ||
| 6141 | `(vc-dir-status-ignored ((,class :foreground ,fg-unfocused))) | ||
| 6142 | `(vc-dir-status-up-to-date ((,class :foreground ,cyan))) | ||
| 6143 | `(vc-dir-status-warning ((,class :foreground ,red))) | ||
| 6144 | `(vc-conflict-state ((,class :inherit modus-theme-slant :foreground ,red-active))) | ||
| 6145 | `(vc-edited-state ((,class :foreground ,yellow-active))) | ||
| 6146 | `(vc-locally-added-state ((,class :foreground ,cyan-active))) | ||
| 6147 | `(vc-locked-state ((,class :foreground ,blue-active))) | ||
| 6148 | `(vc-missing-state ((,class :inherit modus-theme-slant :foreground ,magenta-active))) | ||
| 6149 | `(vc-needs-update-state ((,class :inherit modus-theme-slant :foreground ,green-active))) | ||
| 6150 | `(vc-removed-state ((,class :foreground ,red-active))) | ||
| 6151 | `(vc-state-base ((,class :foreground ,fg-active))) | ||
| 6152 | `(vc-up-to-date-state ((,class :foreground ,fg-special-cold))) | ||
| 6153 | ;;;;; vdiff | ||
| 6154 | `(vdiff-addition-face ((,class :inherit modus-theme-diff-added))) | ||
| 6155 | `(vdiff-change-face ((,class :inherit modus-theme-diff-changed))) | ||
| 6156 | `(vdiff-closed-fold-face ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 6157 | `(vdiff-refine-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 6158 | `(vdiff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) | ||
| 6159 | `(vdiff-subtraction-face ((,class :inherit modus-theme-diff-removed))) | ||
| 6160 | `(vdiff-target-face ((,class :inherit modus-theme-intense-blue))) | ||
| 6161 | ;;;;; vimish-fold | ||
| 6162 | `(vimish-fold-fringe ((,class :foreground ,cyan-active))) | ||
| 6163 | `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue))) | ||
| 6164 | `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold))) | ||
| 6165 | ;;;;; visible-mark | ||
| 6166 | `(visible-mark-active ((,class :background ,blue-intense-bg))) | ||
| 6167 | `(visible-mark-face1 ((,class :background ,cyan-intense-bg))) | ||
| 6168 | `(visible-mark-face2 ((,class :background ,yellow-intense-bg))) | ||
| 6169 | `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg))) | ||
| 6170 | `(visible-mark-forward-face2 ((,class :background ,green-intense-bg))) | ||
| 6171 | ;;;;; visual-regexp | ||
| 6172 | `(vr/group-0 ((,class :inherit modus-theme-intense-blue))) | ||
| 6173 | `(vr/group-1 ((,class :inherit modus-theme-intense-magenta))) | ||
| 6174 | `(vr/group-2 ((,class :inherit modus-theme-intense-green))) | ||
| 6175 | `(vr/match-0 ((,class :inherit modus-theme-refine-yellow))) | ||
| 6176 | `(vr/match-1 ((,class :inherit modus-theme-refine-yellow))) | ||
| 6177 | `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral bold)))) | ||
| 6178 | ;;;;; volatile-highlights | ||
| 6179 | `(vhl/default-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg :extend t))) | ||
| 6180 | ;;;;; vterm | ||
| 6181 | `(vterm-color-black ((,class :background "gray35" :foreground "gray35"))) | ||
| 6182 | `(vterm-color-blue ((,class :background ,blue :foreground ,blue))) | ||
| 6183 | `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan))) | ||
| 6184 | `(vterm-color-default ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 6185 | `(vterm-color-green ((,class :background ,green :foreground ,green))) | ||
| 6186 | `(vterm-color-inverse-video ((,class :background ,bg-main :inverse-video t))) | ||
| 6187 | `(vterm-color-magenta ((,class :background ,magenta :foreground ,magenta))) | ||
| 6188 | `(vterm-color-red ((,class :background ,red :foreground ,red))) | ||
| 6189 | `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t))) | ||
| 6190 | `(vterm-color-white ((,class :background "gray65" :foreground "gray65"))) | ||
| 6191 | `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow))) | ||
| 6192 | ;;;;; wcheck-mode | ||
| 6193 | `(wcheck-default-face ((,class :foreground ,red :underline t))) | ||
| 6194 | ;;;;; web-mode | ||
| 6195 | `(web-mode-annotation-face ((,class :inherit web-mode-comment-face))) | ||
| 6196 | `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face))) | ||
| 6197 | `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face :underline t))) | ||
| 6198 | `(web-mode-block-attr-name-face ((,class :inherit font-lock-constant-face))) | ||
| 6199 | `(web-mode-block-attr-value-face ((,class :inherit font-lock-type-face))) | ||
| 6200 | `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 6201 | `(web-mode-block-control-face ((,class :inherit font-lock-builtin-face))) | ||
| 6202 | `(web-mode-block-delimiter-face ((,class :foreground ,fg-main))) | ||
| 6203 | `(web-mode-block-face ((,class :background ,bg-dim))) | ||
| 6204 | `(web-mode-block-string-face ((,class :inherit web-mode-string-face))) | ||
| 6205 | `(web-mode-bold-face ((,class :inherit bold))) | ||
| 6206 | `(web-mode-builtin-face ((,class :inherit font-lock-builtin-face))) | ||
| 6207 | `(web-mode-comment-face ((,class :inherit font-lock-comment-face))) | ||
| 6208 | `(web-mode-comment-keyword-face ((,class :inherit font-lock-warning-face))) | ||
| 6209 | `(web-mode-constant-face ((,class :inherit font-lock-constant-face))) | ||
| 6210 | `(web-mode-css-at-rule-face ((,class :inherit font-lock-constant-face))) | ||
| 6211 | `(web-mode-css-color-face ((,class :inherit font-lock-builtin-face))) | ||
| 6212 | `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 6213 | `(web-mode-css-function-face ((,class :inherit font-lock-builtin-face))) | ||
| 6214 | `(web-mode-css-priority-face ((,class :inherit font-lock-warning-face))) | ||
| 6215 | `(web-mode-css-property-name-face ((,class :inherit font-lock-keyword-face))) | ||
| 6216 | `(web-mode-css-pseudo-class-face ((,class :inherit font-lock-doc-face))) | ||
| 6217 | `(web-mode-css-selector-face ((,class :inherit font-lock-keyword-face))) | ||
| 6218 | `(web-mode-css-string-face ((,class :inherit web-mode-string-face))) | ||
| 6219 | `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm))) | ||
| 6220 | `(web-mode-current-column-highlight-face ((,class :background ,bg-alt))) | ||
| 6221 | `(web-mode-current-element-highlight-face ((,class :inherit modus-theme-special-mild))) | ||
| 6222 | `(web-mode-doctype-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) | ||
| 6223 | `(web-mode-error-face ((,class :inherit modus-theme-intense-red))) | ||
| 6224 | `(web-mode-filter-face ((,class :inherit font-lock-function-name-face))) | ||
| 6225 | `(web-mode-folded-face ((,class :underline t))) | ||
| 6226 | `(web-mode-function-call-face ((,class :inherit font-lock-function-name-face))) | ||
| 6227 | `(web-mode-function-name-face ((,class :inherit font-lock-function-name-face))) | ||
| 6228 | `(web-mode-html-attr-custom-face ((,class :inherit font-lock-variable-name-face))) | ||
| 6229 | `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main))) | ||
| 6230 | `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main))) | ||
| 6231 | `(web-mode-html-attr-name-face ((,class :inherit font-lock-variable-name-face))) | ||
| 6232 | `(web-mode-html-attr-value-face ((,class :inherit font-lock-constant-face))) | ||
| 6233 | `(web-mode-html-entity-face ((,class :inherit font-lock-negation-char-face))) | ||
| 6234 | `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim))) | ||
| 6235 | `(web-mode-html-tag-custom-face ((,class :inherit font-lock-function-name-face))) | ||
| 6236 | `(web-mode-html-tag-face ((,class :inherit font-lock-function-name-face))) | ||
| 6237 | `(web-mode-html-tag-namespaced-face ((,class :inherit font-lock-builtin-face))) | ||
| 6238 | `(web-mode-html-tag-unclosed-face ((,class :inherit error :underline t))) | ||
| 6239 | `(web-mode-inlay-face ((,class :background ,bg-alt))) | ||
| 6240 | `(web-mode-italic-face ((,class :inherit italic))) | ||
| 6241 | `(web-mode-javascript-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 6242 | `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face))) | ||
| 6243 | `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 6244 | `(web-mode-json-context-face ((,class :inherit font-lock-builtin-face))) | ||
| 6245 | `(web-mode-json-key-face ((,class :foreground ,blue-nuanced-fg))) | ||
| 6246 | `(web-mode-json-string-face ((,class :inherit web-mode-string-face))) | ||
| 6247 | `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg :foreground ,fg-main))) | ||
| 6248 | `(web-mode-jsx-depth-2-face ((,class :background ,blue-subtle-bg :foreground ,fg-main))) | ||
| 6249 | `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 6250 | `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg))) | ||
| 6251 | `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg))) | ||
| 6252 | `(web-mode-keyword-face ((,class :inherit :inherit font-lock-keyword-face))) | ||
| 6253 | `(web-mode-param-name-face ((,class :inherit font-lock-function-name-face))) | ||
| 6254 | `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 6255 | `(web-mode-part-face ((,class :inherit web-mode-block-face))) | ||
| 6256 | `(web-mode-part-string-face ((,class :inherit web-mode-string-face))) | ||
| 6257 | `(web-mode-preprocessor-face ((,class :inherit font-lock-preprocessor-face))) | ||
| 6258 | `(web-mode-script-face ((,class :inherit web-mode-part-face))) | ||
| 6259 | `(web-mode-sql-keyword-face ((,class :inherit font-lock-negation-char-face))) | ||
| 6260 | `(web-mode-string-face ((,class :inherit font-lock-string-face))) | ||
| 6261 | `(web-mode-style-face ((,class :inherit web-mode-part-face))) | ||
| 6262 | `(web-mode-symbol-face ((,class :inherit font-lock-constant-face))) | ||
| 6263 | `(web-mode-type-face ((,class :inherit font-lock-builtin-face))) | ||
| 6264 | `(web-mode-underline-face ((,class :underline t))) | ||
| 6265 | `(web-mode-variable-name-face ((,class :inherit font-lock-variable-name-face))) | ||
| 6266 | `(web-mode-warning-face ((,class :inherit font-lock-warning-face))) | ||
| 6267 | `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 6268 | ;;;;; wgrep | ||
| 6269 | `(wgrep-delete-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 6270 | `(wgrep-done-face ((,class :inherit modus-theme-refine-blue))) | ||
| 6271 | `(wgrep-face ((,class :inherit modus-theme-refine-green))) | ||
| 6272 | `(wgrep-file-face ((,class :foreground ,fg-special-warm))) | ||
| 6273 | `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 6274 | ;;;;; which-function-mode | ||
| 6275 | `(which-func ((,class :foreground ,magenta-active))) | ||
| 6276 | ;;;;; which-key | ||
| 6277 | `(which-key-command-description-face ((,class :foreground ,fg-main))) | ||
| 6278 | `(which-key-group-description-face ((,class :foreground ,magenta-alt))) | ||
| 6279 | `(which-key-highlighted-command-face ((,class :foreground ,yellow :underline t))) | ||
| 6280 | `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense))) | ||
| 6281 | `(which-key-local-map-description-face ((,class :foreground ,fg-main))) | ||
| 6282 | `(which-key-note-face ((,class :foreground ,fg-special-warm))) | ||
| 6283 | `(which-key-separator-face ((,class :inherit shadow))) | ||
| 6284 | `(which-key-special-key-face ((,class :inherit bold :foreground ,orange-intense))) | ||
| 6285 | ;;;;; whitespace-mode | ||
| 6286 | `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red))) | ||
| 6287 | `(whitespace-empty ((,class :inherit modus-theme-intense-magenta))) | ||
| 6288 | `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 6289 | `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 6290 | `(whitespace-line ((,class :background ,bg-alt))) | ||
| 6291 | `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 6292 | `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 6293 | `(whitespace-space-after-tab ((,class :inherit modus-theme-subtle-magenta))) | ||
| 6294 | `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan))) | ||
| 6295 | `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 6296 | `(whitespace-trailing ((,class :inherit modus-theme-intense-red))) | ||
| 6297 | ;;;;; window-divider-mode | ||
| 6298 | `(window-divider ((,class :foreground ,fg-window-divider-inner))) | ||
| 6299 | `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer))) | ||
| 6300 | `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer))) | ||
| 6301 | ;;;;; winum | ||
| 6302 | `(winum-face ((,class :inherit modus-theme-bold :foreground ,cyan-active))) | ||
| 6303 | ;;;;; writegood-mode | ||
| 6304 | `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) | ||
| 6305 | `(writegood-passive-voice-face ((,class :inherit modus-theme-lang-warning))) | ||
| 6306 | `(writegood-weasels-face ((,class :inherit modus-theme-lang-error))) | ||
| 6307 | ;;;;; woman | ||
| 6308 | `(woman-addition ((,class :foreground ,magenta-alt-other))) | ||
| 6309 | `(woman-bold ((,class :inherit bold :foreground ,magenta))) | ||
| 6310 | `(woman-italic ((,class :inherit italic :foreground ,cyan))) | ||
| 6311 | `(woman-unknown ((,class :inherit italic :foreground ,yellow))) | ||
| 6312 | ;;;;; xah-elisp-mode | ||
| 6313 | `(xah-elisp-at-symbol ((,class :inherit font-lock-warning-face))) | ||
| 6314 | `(xah-elisp-cap-variable ((,class :inherit font-lock-preprocessor-face))) | ||
| 6315 | `(xah-elisp-command-face ((,class :inherit font-lock-type-face))) | ||
| 6316 | `(xah-elisp-dollar-symbol ((,class :inherit font-lock-variable-name-face))) | ||
| 6317 | ;;;;; xref | ||
| 6318 | `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 6319 | `(xref-line-number ((,class :inherit shadow))) | ||
| 6320 | `(xref-match ((,class :inherit match))) | ||
| 6321 | ;;;;; yaml-mode | ||
| 6322 | `(yaml-tab-face ((,class :inherit modus-theme-intense-red))) | ||
| 6323 | ;;;;; yasnippet | ||
| 6324 | `(yas-field-highlight-face ((,class :background ,bg-hl-alt-intense))) | ||
| 6325 | ;;;;; ztree | ||
| 6326 | `(ztreep-arrow-face ((,class :foreground ,fg-inactive))) | ||
| 6327 | `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) | ||
| 6328 | `(ztreep-diff-header-small-face ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 6329 | `(ztreep-diff-model-add-face ((,class :foreground ,green))) | ||
| 6330 | `(ztreep-diff-model-diff-face ((,class :foreground ,red))) | ||
| 6331 | `(ztreep-diff-model-ignored-face ((,class :inherit shadow :strike-through t))) | ||
| 6332 | `(ztreep-diff-model-normal-face ((,class :inherit shadow))) | ||
| 6333 | `(ztreep-expand-sign-face ((,class :foreground ,blue))) | ||
| 6334 | `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) | ||
| 6335 | `(ztreep-leaf-face ((,class :foreground ,cyan))) | ||
| 6336 | `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm))) | ||
| 6337 | `(ztreep-node-face ((,class :foreground ,fg-main)))) | ||
| 6338 | "Face specs for use with `modus-themes-theme'.") | ||
| 6339 | |||
| 6340 | (defconst modus-themes-custom-variables | ||
| 6341 | '( | ||
| 6342 | ;;;; ansi-colors | ||
| 6343 | `(ansi-color-faces-vector [default bold shadow italic underline success warning error]) | ||
| 6344 | `(ansi-color-names-vector ["gray35" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"]) | ||
| 6345 | ;;;; awesome-tray | ||
| 6346 | `(awesome-tray-mode-line-active-color ,blue) | ||
| 6347 | `(awesome-tray-mode-line-inactive-color ,bg-active) | ||
| 6348 | ;;;; exwm | ||
| 6349 | `(exwm-floating-border-color ,fg-window-divider-inner) | ||
| 6350 | ;;;; flymake fringe indicators | ||
| 6351 | `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red)) | ||
| 6352 | `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow)) | ||
| 6353 | `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan)) | ||
| 6354 | ;;;; ibuffer | ||
| 6355 | `(ibuffer-deletion-face 'modus-theme-mark-del) | ||
| 6356 | `(ibuffer-filter-group-name-face 'modus-theme-mark-symbol) | ||
| 6357 | `(ibuffer-marked-face 'modus-theme-mark-sel) | ||
| 6358 | `(ibuffer-title-face 'modus-theme-pseudo-header) | ||
| 6359 | ;;;; highlight-tail | ||
| 6360 | `(highlight-tail-colors | ||
| 6361 | '((,green-subtle-bg . 0) | ||
| 6362 | (,cyan-subtle-bg . 20))) | ||
| 6363 | ;;;; hl-todo | ||
| 6364 | `(hl-todo-keyword-faces | ||
| 6365 | '(("HOLD" . ,yellow-alt) | ||
| 6366 | ("TODO" . ,magenta) | ||
| 6367 | ("NEXT" . ,magenta-alt-other) | ||
| 6368 | ("THEM" . ,magenta-alt) | ||
| 6369 | ("PROG" . ,cyan) | ||
| 6370 | ("OKAY" . ,cyan-alt) | ||
| 6371 | ("DONT" . ,green-alt) | ||
| 6372 | ("FAIL" . ,red) | ||
| 6373 | ("BUG" . ,red) | ||
| 6374 | ("DONE" . ,green) | ||
| 6375 | ("NOTE" . ,yellow-alt-other) | ||
| 6376 | ("KLUDGE" . ,yellow) | ||
| 6377 | ("HACK" . ,yellow) | ||
| 6378 | ("TEMP" . ,red-nuanced-fg) | ||
| 6379 | ("FIXME" . ,red-alt-other) | ||
| 6380 | ("XXX+" . ,red-alt) | ||
| 6381 | ("REVIEW" . ,cyan-alt-other) | ||
| 6382 | ("DEPRECATED" . ,blue-nuanced-fg))) | ||
| 6383 | ;;;; pdf-tools | ||
| 6384 | `(pdf-view-midnight-colors | ||
| 6385 | '(,fg-main . ,bg-dim)) | ||
| 6386 | ;;;; vc-annotate (C-x v g) | ||
| 6387 | `(vc-annotate-background nil) | ||
| 6388 | `(vc-annotate-background-mode nil) | ||
| 6389 | `(vc-annotate-color-map | ||
| 6390 | '((20 . ,red) | ||
| 6391 | (40 . ,magenta) | ||
| 6392 | (60 . ,magenta-alt) | ||
| 6393 | (80 . ,red-alt) | ||
| 6394 | (100 . ,yellow) | ||
| 6395 | (120 . ,yellow-alt) | ||
| 6396 | (140 . ,fg-special-warm) | ||
| 6397 | (160 . ,fg-special-mild) | ||
| 6398 | (180 . ,green) | ||
| 6399 | (200 . ,green-alt) | ||
| 6400 | (220 . ,cyan-alt-other) | ||
| 6401 | (240 . ,cyan-alt) | ||
| 6402 | (260 . ,cyan) | ||
| 6403 | (280 . ,fg-special-cold) | ||
| 6404 | (300 . ,blue) | ||
| 6405 | (320 . ,blue-alt) | ||
| 6406 | (340 . ,blue-alt-other) | ||
| 6407 | (360 . ,magenta-alt-other))) | ||
| 6408 | `(vc-annotate-very-old-color nil) | ||
| 6409 | ;;;; xterm-color | ||
| 6410 | `(xterm-color-names ["black" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"]) | ||
| 6411 | `(xterm-color-names-bright ["gray35" ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt "white"]) | ||
| 6412 | (if (eq modus-themes-org-blocks 'rainbow) | ||
| 6413 | `(org-src-block-faces ; TODO this list should be expanded | ||
| 6414 | `(("emacs-lisp" modus-theme-nuanced-magenta) | ||
| 6415 | ("elisp" modus-theme-nuanced-magenta) | ||
| 6416 | ("clojure" modus-theme-nuanced-magenta) | ||
| 6417 | ("clojurescript" modus-theme-nuanced-magenta) | ||
| 6418 | ("c" modus-theme-nuanced-blue) | ||
| 6419 | ("c++" modus-theme-nuanced-blue) | ||
| 6420 | ("sh" modus-theme-nuanced-green) | ||
| 6421 | ("shell" modus-theme-nuanced-green) | ||
| 6422 | ("html" modus-theme-nuanced-yellow) | ||
| 6423 | ("xml" modus-theme-nuanced-yellow) | ||
| 6424 | ("css" modus-theme-nuanced-red) | ||
| 6425 | ("scss" modus-theme-nuanced-red) | ||
| 6426 | ("python" modus-theme-nuanced-green) | ||
| 6427 | ("ipython" modus-theme-nuanced-magenta) | ||
| 6428 | ("r" modus-theme-nuanced-cyan) | ||
| 6429 | ("yaml" modus-theme-nuanced-cyan) | ||
| 6430 | ("conf" modus-theme-nuanced-cyan) | ||
| 6431 | ("docker" modus-theme-nuanced-cyan))) | ||
| 6432 | `(org-src-block-faces '()))) | ||
| 6433 | "Custom variables for `modus-themes-theme'.") | ||
| 6434 | |||
| 6435 | (provide 'modus-themes) | ||
| 6436 | ;;; modus-themes.el ends here | ||
diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el index 171313244b5..fd7f5df24d7 100644 --- a/etc/themes/modus-vivendi-theme.el +++ b/etc/themes/modus-vivendi-theme.el | |||
| @@ -1,4663 +1,65 @@ | |||
| 1 | ;;; modus-vivendi-theme.el --- Accessible dark theme (WCAG AAA) -*- lexical-binding:t -*- | 1 | ;;; modus-vivendi-theme.el --- Accessible dark theme (WCAG AAA) -*- lexical-binding:t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> | 5 | ;; Author: Protesilaos Stavrou <info@protesilaos.com> |
| 6 | ;; URL: https://gitlab.com/protesilaos/modus-themes | 6 | ;; URL: https://gitlab.com/protesilaos/modus-themes |
| 7 | ;; Version: 0.13.0 | 7 | ;; Version: 1.2.0 |
| 8 | ;; Package-Requires: ((emacs "26.1")) | 8 | ;; Package-Requires: ((emacs "26.1")) |
| 9 | ;; Keywords: faces, theme, accessibility | 9 | ;; Keywords: faces, theme, accessibility |
| 10 | 10 | ||
| 11 | ;; This file is part of GNU Emacs. | 11 | ;; This file is part of GNU Emacs. |
| 12 | 12 | ||
| 13 | ;; GNU Emacs is free software: you can redistribute it and/or modify | 13 | ;; This program is free software; you can redistribute it and/or modify |
| 14 | ;; it under the terms of the GNU General Public License as published by | 14 | ;; it under the terms of the GNU General Public License as published by |
| 15 | ;; the Free Software Foundation, either version 3 of the License, or | 15 | ;; the Free Software Foundation, either version 3 of the License, or (at |
| 16 | ;; (at your option) any later version. | 16 | ;; your option) any later version. |
| 17 | 17 | ;; | |
| 18 | ;; GNU Emacs is distributed in the hope that it will be useful, | 18 | ;; This program is distributed in the hope that it will be useful, but |
| 19 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | 19 | ;; WITHOUT ANY WARRANTY; without even the implied warranty of |
| 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 20 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 21 | ;; GNU General Public License for more details. | 21 | ;; General Public License for more details. |
| 22 | 22 | ;; | |
| 23 | ;; You should have received a copy of the GNU General Public License | 23 | ;; You should have received a copy of the GNU General Public License |
| 24 | ;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | 24 | ;; along with this program. If not, see <https://www.gnu.org/licenses/>. |
| 25 | 25 | ||
| 26 | ;;; Commentary: | 26 | ;;; Commentary: |
| 27 | ;; | 27 | ;; |
| 28 | ;; This theme is designed for colour-contrast accessibility. | 28 | ;; Modus Vivendi is the dark variant of the Modus themes (Modus Operandi |
| 29 | ;; | 29 | ;; is the light one). The themes are designed for color-contrast |
| 30 | ;; 1. Provide a consistent minimum contrast ratio between background and | 30 | ;; accessibility. More specifically: |
| 31 | ;; foreground values of 7:1 or higher. This meets the highest such | ||
| 32 | ;; accessibility criterion per the guidelines of the Worldwide Web | ||
| 33 | ;; Consortium's Working Group on Accessibility (WCAG AAA standard). | ||
| 34 | ;; | 31 | ;; |
| 35 | ;; 2. Offer as close to full face coverage as possible. The list is | 32 | ;; 1. Provide a consistent minimum contrast ratio between background |
| 36 | ;; already quite long (see further below), with more additions to follow | 33 | ;; and foreground values of 7:1 or higher. This meets the highest |
| 37 | ;; as part of the ongoing development process. | 34 | ;; such accessibility criterion per the guidelines of the Worldwide |
| 35 | ;; Web Consortium's Working Group on Accessibility (WCAG AAA | ||
| 36 | ;; standard). | ||
| 38 | ;; | 37 | ;; |
| 39 | ;; The theme provides the following customisation options, all of which | 38 | ;; 2. Offer as close to full face coverage as possible. The list is |
| 40 | ;; are disabled by default: | 39 | ;; already quite long, with more additions to follow as part of the |
| 40 | ;; ongoing development process. | ||
| 41 | ;; | 41 | ;; |
| 42 | ;; modus-vivendi-theme-slanted-constructs (boolean) | 42 | ;; For a complete view of the project, also refer to the following files |
| 43 | ;; modus-vivendi-theme-bold-constructs (boolean) | 43 | ;; (should be distributed in the same repository/directory as the |
| 44 | ;; modus-vivendi-theme-variable-pitch-headings (boolean) | 44 | ;; current item): |
| 45 | ;; modus-vivendi-theme-no-mixed-fonts (boolean) | ||
| 46 | ;; modus-vivendi-theme-headings (alist) | ||
| 47 | ;; modus-vivendi-theme-scale-headings (boolean) | ||
| 48 | ;; modus-vivendi-theme-fringes (choice) | ||
| 49 | ;; modus-vivendi-theme-org-blocks (choice) | ||
| 50 | ;; modus-vivendi-theme-prompts (choice) | ||
| 51 | ;; modus-vivendi-theme-mode-line (choice) | ||
| 52 | ;; modus-vivendi-theme-diffs (choice) | ||
| 53 | ;; modus-vivendi-theme-faint-syntax (boolean) | ||
| 54 | ;; modus-vivendi-theme-intense-hl-line (boolean) | ||
| 55 | ;; modus-vivendi-theme-intense-paren-match (boolean) | ||
| 56 | ;; modus-vivendi-theme-no-link-underline (boolean) | ||
| 57 | ;; modus-vivendi-theme-completions (choice) | ||
| 58 | ;; modus-vivendi-theme-override-colors-alist (alist) | ||
| 59 | ;; | 45 | ;; |
| 60 | ;; The default scale is as follows (it can be customised as well): | 46 | ;; - modus-themes.el (Main code shared between the themes) |
| 61 | ;; | 47 | ;; - modus-operandi-theme.el (Light theme) |
| 62 | ;; modus-vivendi-theme-scale-1 1.05 | ||
| 63 | ;; modus-vivendi-theme-scale-2 1.1 | ||
| 64 | ;; modus-vivendi-theme-scale-3 1.15 | ||
| 65 | ;; modus-vivendi-theme-scale-4 1.2 | ||
| 66 | ;; modus-vivendi-theme-scale-5 1.3 | ||
| 67 | ;; | ||
| 68 | ;; What follows is the list of explicitly supported packages or face | ||
| 69 | ;; groups (there are implicitly supported packages as well, which | ||
| 70 | ;; inherit from font-lock or some basic group). You are encouraged to | ||
| 71 | ;; notify me of any missing package or change you would like to see. | ||
| 72 | ;; | ||
| 73 | ;; ace-window | ||
| 74 | ;; ag | ||
| 75 | ;; alert | ||
| 76 | ;; all-the-icons | ||
| 77 | ;; annotate | ||
| 78 | ;; anzu | ||
| 79 | ;; apropos | ||
| 80 | ;; apt-sources-list | ||
| 81 | ;; artbollocks-mode | ||
| 82 | ;; auctex and TeX | ||
| 83 | ;; auto-dim-other-buffers | ||
| 84 | ;; avy | ||
| 85 | ;; awesome-tray | ||
| 86 | ;; binder | ||
| 87 | ;; bm | ||
| 88 | ;; bongo | ||
| 89 | ;; boon | ||
| 90 | ;; breakpoint (provided by built-in gdb-mi.el) | ||
| 91 | ;; buffer-expose | ||
| 92 | ;; calendar and diary | ||
| 93 | ;; calfw | ||
| 94 | ;; centaur-tabs | ||
| 95 | ;; change-log and log-view (`vc-print-log' and `vc-print-root-log') | ||
| 96 | ;; cider | ||
| 97 | ;; circe | ||
| 98 | ;; color-rg | ||
| 99 | ;; column-enforce-mode | ||
| 100 | ;; company-mode | ||
| 101 | ;; company-posframe | ||
| 102 | ;; compilation-mode | ||
| 103 | ;; completions | ||
| 104 | ;; counsel | ||
| 105 | ;; counsel-css | ||
| 106 | ;; counsel-notmuch | ||
| 107 | ;; counsel-org-capture-string | ||
| 108 | ;; cov | ||
| 109 | ;; cperl-mode | ||
| 110 | ;; csv-mode | ||
| 111 | ;; ctrlf | ||
| 112 | ;; custom (M-x customize) | ||
| 113 | ;; dap-mode | ||
| 114 | ;; dashboard (emacs-dashboard) | ||
| 115 | ;; deadgrep | ||
| 116 | ;; debbugs | ||
| 117 | ;; define-word | ||
| 118 | ;; deft | ||
| 119 | ;; dictionary | ||
| 120 | ;; diff-hl | ||
| 121 | ;; diff-mode | ||
| 122 | ;; dim-autoload | ||
| 123 | ;; dir-treeview | ||
| 124 | ;; dired | ||
| 125 | ;; dired-async | ||
| 126 | ;; dired-git | ||
| 127 | ;; dired-git-info | ||
| 128 | ;; dired-narrow | ||
| 129 | ;; dired-subtree | ||
| 130 | ;; diredfl | ||
| 131 | ;; disk-usage | ||
| 132 | ;; doom-modeline | ||
| 133 | ;; dynamic-ruler | ||
| 134 | ;; easy-jekyll | ||
| 135 | ;; easy-kill | ||
| 136 | ;; ebdb | ||
| 137 | ;; ediff | ||
| 138 | ;; eglot | ||
| 139 | ;; el-search | ||
| 140 | ;; eldoc | ||
| 141 | ;; eldoc-box | ||
| 142 | ;; elfeed | ||
| 143 | ;; elfeed-score | ||
| 144 | ;; emms | ||
| 145 | ;; enhanced-ruby-mode | ||
| 146 | ;; epa | ||
| 147 | ;; equake | ||
| 148 | ;; erc | ||
| 149 | ;; eros | ||
| 150 | ;; ert | ||
| 151 | ;; eshell | ||
| 152 | ;; eshell-fringe-status | ||
| 153 | ;; eshell-git-prompt | ||
| 154 | ;; eshell-prompt-extras (epe) | ||
| 155 | ;; eshell-syntax-highlighting | ||
| 156 | ;; evil (evil-mode) | ||
| 157 | ;; evil-goggles | ||
| 158 | ;; evil-visual-mark-mode | ||
| 159 | ;; eww | ||
| 160 | ;; eyebrowse | ||
| 161 | ;; fancy-dabbrev | ||
| 162 | ;; flycheck | ||
| 163 | ;; flycheck-color-mode-line | ||
| 164 | ;; flycheck-indicator | ||
| 165 | ;; flycheck-posframe | ||
| 166 | ;; flymake | ||
| 167 | ;; flyspell | ||
| 168 | ;; flyspell-correct | ||
| 169 | ;; flx | ||
| 170 | ;; freeze-it | ||
| 171 | ;; frog-menu | ||
| 172 | ;; focus | ||
| 173 | ;; fold-this | ||
| 174 | ;; font-lock (generic syntax highlighting) | ||
| 175 | ;; forge | ||
| 176 | ;; fountain (fountain-mode) | ||
| 177 | ;; geiser | ||
| 178 | ;; git-commit | ||
| 179 | ;; git-gutter (and variants) | ||
| 180 | ;; git-lens | ||
| 181 | ;; git-rebase | ||
| 182 | ;; git-timemachine | ||
| 183 | ;; git-walktree | ||
| 184 | ;; gnus | ||
| 185 | ;; golden-ratio-scroll-screen | ||
| 186 | ;; helm | ||
| 187 | ;; helm-ls-git | ||
| 188 | ;; helm-switch-shell | ||
| 189 | ;; helm-xref | ||
| 190 | ;; helpful | ||
| 191 | ;; highlight-blocks | ||
| 192 | ;; highlight-defined | ||
| 193 | ;; highlight-escape-sequences (`hes-mode') | ||
| 194 | ;; highlight-indentation | ||
| 195 | ;; highlight-numbers | ||
| 196 | ;; highlight-symbol | ||
| 197 | ;; highlight-tail | ||
| 198 | ;; highlight-thing | ||
| 199 | ;; hl-defined | ||
| 200 | ;; hl-fill-column | ||
| 201 | ;; hl-line-mode | ||
| 202 | ;; hl-todo | ||
| 203 | ;; hydra | ||
| 204 | ;; hyperlist | ||
| 205 | ;; ibuffer | ||
| 206 | ;; icomplete | ||
| 207 | ;; ido-mode | ||
| 208 | ;; iedit | ||
| 209 | ;; iflipb | ||
| 210 | ;; imenu-list | ||
| 211 | ;; indium | ||
| 212 | ;; info | ||
| 213 | ;; info-colors | ||
| 214 | ;; interaction-log | ||
| 215 | ;; ioccur | ||
| 216 | ;; isearch, occur, etc. | ||
| 217 | ;; ivy | ||
| 218 | ;; ivy-posframe | ||
| 219 | ;; jira (org-jira) | ||
| 220 | ;; journalctl-mode | ||
| 221 | ;; js2-mode | ||
| 222 | ;; julia | ||
| 223 | ;; jupyter | ||
| 224 | ;; kaocha-runner | ||
| 225 | ;; keycast | ||
| 226 | ;; line numbers (`display-line-numbers-mode' and global variant) | ||
| 227 | ;; lsp-mode | ||
| 228 | ;; lsp-ui | ||
| 229 | ;; magit | ||
| 230 | ;; magit-imerge | ||
| 231 | ;; man | ||
| 232 | ;; markdown-mode | ||
| 233 | ;; markup-faces (`adoc-mode') | ||
| 234 | ;; mentor | ||
| 235 | ;; messages | ||
| 236 | ;; minibuffer-line | ||
| 237 | ;; minimap | ||
| 238 | ;; modeline | ||
| 239 | ;; mood-line | ||
| 240 | ;; mpdel | ||
| 241 | ;; mu4e | ||
| 242 | ;; mu4e-conversation | ||
| 243 | ;; multiple-cursors | ||
| 244 | ;; neotree | ||
| 245 | ;; no-emoji | ||
| 246 | ;; notmuch | ||
| 247 | ;; num3-mode | ||
| 248 | ;; nxml-mode | ||
| 249 | ;; objed | ||
| 250 | ;; orderless | ||
| 251 | ;; org | ||
| 252 | ;; org-journal | ||
| 253 | ;; org-noter | ||
| 254 | ;; org-pomodoro | ||
| 255 | ;; org-recur | ||
| 256 | ;; org-roam | ||
| 257 | ;; org-superstar | ||
| 258 | ;; org-table-sticky-header | ||
| 259 | ;; org-treescope | ||
| 260 | ;; origami | ||
| 261 | ;; outline-mode | ||
| 262 | ;; outline-minor-faces | ||
| 263 | ;; package (M-x list-packages) | ||
| 264 | ;; page-break-lines | ||
| 265 | ;; paradox | ||
| 266 | ;; paren-face | ||
| 267 | ;; parrot | ||
| 268 | ;; pass | ||
| 269 | ;; persp-mode | ||
| 270 | ;; perspective | ||
| 271 | ;; phi-grep | ||
| 272 | ;; phi-search | ||
| 273 | ;; pkgbuild-mode | ||
| 274 | ;; pomidor | ||
| 275 | ;; powerline | ||
| 276 | ;; powerline-evil | ||
| 277 | ;; proced | ||
| 278 | ;; prodigy | ||
| 279 | ;; racket-mode | ||
| 280 | ;; rainbow-blocks | ||
| 281 | ;; rainbow-identifiers | ||
| 282 | ;; rainbow-delimiters | ||
| 283 | ;; rcirc | ||
| 284 | ;; regexp-builder (also known as `re-builder') | ||
| 285 | ;; rg | ||
| 286 | ;; ripgrep | ||
| 287 | ;; rmail | ||
| 288 | ;; ruler-mode | ||
| 289 | ;; sallet | ||
| 290 | ;; selectrum | ||
| 291 | ;; semantic | ||
| 292 | ;; sesman | ||
| 293 | ;; shell-script-mode | ||
| 294 | ;; show-paren-mode | ||
| 295 | ;; side-notes | ||
| 296 | ;; skewer-mode | ||
| 297 | ;; smart-mode-line | ||
| 298 | ;; smartparens | ||
| 299 | ;; smerge | ||
| 300 | ;; spaceline | ||
| 301 | ;; speedbar | ||
| 302 | ;; spell-fu | ||
| 303 | ;; stripes | ||
| 304 | ;; suggest | ||
| 305 | ;; switch-window | ||
| 306 | ;; swiper | ||
| 307 | ;; swoop | ||
| 308 | ;; sx | ||
| 309 | ;; symbol-overlay | ||
| 310 | ;; tab-bar-mode | ||
| 311 | ;; tab-line-mode | ||
| 312 | ;; syslog-mode | ||
| 313 | ;; table (built-in table.el) | ||
| 314 | ;; telephone-line | ||
| 315 | ;; term | ||
| 316 | ;; tomatinho | ||
| 317 | ;; transient (pop-up windows like Magit's) | ||
| 318 | ;; trashed | ||
| 319 | ;; treemacs | ||
| 320 | ;; tty-menu | ||
| 321 | ;; tuareg | ||
| 322 | ;; typescript | ||
| 323 | ;; undo-tree | ||
| 324 | ;; vc (built-in mode line status for version control) | ||
| 325 | ;; vc-annotate (C-x v g) | ||
| 326 | ;; vdiff | ||
| 327 | ;; vimish-fold | ||
| 328 | ;; visible-mark | ||
| 329 | ;; visual-regexp | ||
| 330 | ;; volatile-highlights | ||
| 331 | ;; vterm | ||
| 332 | ;; wcheck-mode | ||
| 333 | ;; web-mode | ||
| 334 | ;; wgrep | ||
| 335 | ;; which-function-mode | ||
| 336 | ;; which-key | ||
| 337 | ;; whitespace-mode | ||
| 338 | ;; window-divider-mode | ||
| 339 | ;; winum | ||
| 340 | ;; writegood-mode | ||
| 341 | ;; woman | ||
| 342 | ;; xah-elisp-mode | ||
| 343 | ;; xref | ||
| 344 | ;; xterm-color (and ansi-colors) | ||
| 345 | ;; yaml-mode | ||
| 346 | ;; yasnippet | ||
| 347 | ;; ztree | ||
| 348 | 48 | ||
| 349 | ;;; Code: | 49 | ;;; Code: |
| 350 | 50 | ||
| 351 | 51 | ||
| 352 | 52 | ||
| 353 | (deftheme modus-vivendi | 53 | (require-theme 'modus-themes) |
| 354 | "Dark theme that conforms with the highest accessibility | ||
| 355 | standard for colour contrast between background and | ||
| 356 | foreground elements (WCAG AAA).") | ||
| 357 | |||
| 358 | ;;; Custom faces | ||
| 359 | |||
| 360 | ;; These faces will be inherited by actual constructs. They are meant | ||
| 361 | ;; for those cases where a face needs to distinguish its output from | ||
| 362 | ;; the rest of the text, such as `isearch' and `occur'… We define | ||
| 363 | ;; these separately in order to combine each colour with its | ||
| 364 | ;; appropriate foreground value. This is to ensure a consistent | ||
| 365 | ;; contrast ratio of >= 7:1. | ||
| 366 | (defgroup modus-theme () | ||
| 367 | "Theme that ensures WCAG AAA accessibility (contrast ratio | ||
| 368 | between foreground and background is >= 7:1)." | ||
| 369 | :group 'faces | ||
| 370 | :prefix "modus-theme-" | ||
| 371 | :link '(url-link :tag "GitLab" "https://gitlab.com/protesilaos/modus-themes") | ||
| 372 | :tag "Modus Vivendi") | ||
| 373 | |||
| 374 | (defface modus-theme-subtle-red nil nil) | ||
| 375 | (defface modus-theme-subtle-green nil nil) | ||
| 376 | (defface modus-theme-subtle-yellow nil nil) | ||
| 377 | (defface modus-theme-subtle-blue nil nil) | ||
| 378 | (defface modus-theme-subtle-magenta nil nil) | ||
| 379 | (defface modus-theme-subtle-cyan nil nil) | ||
| 380 | (defface modus-theme-subtle-neutral nil nil) | ||
| 381 | (defface modus-theme-intense-red nil nil) | ||
| 382 | (defface modus-theme-intense-green nil nil) | ||
| 383 | (defface modus-theme-intense-yellow nil nil) | ||
| 384 | (defface modus-theme-intense-blue nil nil) | ||
| 385 | (defface modus-theme-intense-magenta nil nil) | ||
| 386 | (defface modus-theme-intense-cyan nil nil) | ||
| 387 | (defface modus-theme-intense-neutral nil nil) | ||
| 388 | (defface modus-theme-refine-red nil nil) | ||
| 389 | (defface modus-theme-refine-green nil nil) | ||
| 390 | (defface modus-theme-refine-yellow nil nil) | ||
| 391 | (defface modus-theme-refine-blue nil nil) | ||
| 392 | (defface modus-theme-refine-magenta nil nil) | ||
| 393 | (defface modus-theme-refine-cyan nil nil) | ||
| 394 | (defface modus-theme-active-red nil nil) | ||
| 395 | (defface modus-theme-active-green nil nil) | ||
| 396 | (defface modus-theme-active-yellow nil nil) | ||
| 397 | (defface modus-theme-active-blue nil nil) | ||
| 398 | (defface modus-theme-active-magenta nil nil) | ||
| 399 | (defface modus-theme-active-cyan nil nil) | ||
| 400 | (defface modus-theme-fringe-red nil nil) | ||
| 401 | (defface modus-theme-fringe-green nil nil) | ||
| 402 | (defface modus-theme-fringe-yellow nil nil) | ||
| 403 | (defface modus-theme-fringe-blue nil nil) | ||
| 404 | (defface modus-theme-fringe-magenta nil nil) | ||
| 405 | (defface modus-theme-fringe-cyan nil nil) | ||
| 406 | (defface modus-theme-nuanced-red nil nil) | ||
| 407 | (defface modus-theme-nuanced-green nil nil) | ||
| 408 | (defface modus-theme-nuanced-yellow nil nil) | ||
| 409 | (defface modus-theme-nuanced-blue nil nil) | ||
| 410 | (defface modus-theme-nuanced-magenta nil nil) | ||
| 411 | (defface modus-theme-nuanced-cyan nil nil) | ||
| 412 | (defface modus-theme-special-cold nil nil) | ||
| 413 | (defface modus-theme-special-mild nil nil) | ||
| 414 | (defface modus-theme-special-warm nil nil) | ||
| 415 | (defface modus-theme-special-calm nil nil) | ||
| 416 | (defface modus-theme-diff-added nil nil) | ||
| 417 | (defface modus-theme-diff-changed nil nil) | ||
| 418 | (defface modus-theme-diff-removed nil nil) | ||
| 419 | (defface modus-theme-diff-refine-added nil nil) | ||
| 420 | (defface modus-theme-diff-refine-changed nil nil) | ||
| 421 | (defface modus-theme-diff-refine-removed nil nil) | ||
| 422 | (defface modus-theme-diff-focus-added nil nil) | ||
| 423 | (defface modus-theme-diff-focus-changed nil nil) | ||
| 424 | (defface modus-theme-diff-focus-removed nil nil) | ||
| 425 | (defface modus-theme-diff-heading nil nil) | ||
| 426 | (defface modus-theme-pseudo-header nil nil) | ||
| 427 | (defface modus-theme-mark-alt nil nil) | ||
| 428 | (defface modus-theme-mark-del nil nil) | ||
| 429 | (defface modus-theme-mark-sel nil nil) | ||
| 430 | (defface modus-theme-mark-symbol nil nil) | ||
| 431 | (defface modus-theme-heading-1 nil nil) | ||
| 432 | (defface modus-theme-heading-2 nil nil) | ||
| 433 | (defface modus-theme-heading-3 nil nil) | ||
| 434 | (defface modus-theme-heading-4 nil nil) | ||
| 435 | (defface modus-theme-heading-5 nil nil) | ||
| 436 | (defface modus-theme-heading-6 nil nil) | ||
| 437 | (defface modus-theme-heading-7 nil nil) | ||
| 438 | (defface modus-theme-heading-8 nil nil) | ||
| 439 | (defface modus-theme-hl-line nil nil) | ||
| 440 | |||
| 441 | ;;; Customisation options | ||
| 442 | |||
| 443 | ;; User-facing customisation options. They are all deactivated by | ||
| 444 | ;; default (users must opt in). | ||
| 445 | (defcustom modus-vivendi-theme-slanted-constructs nil | ||
| 446 | "Use slanted text in more code constructs (italics or oblique)." | ||
| 447 | :type 'boolean) | ||
| 448 | |||
| 449 | (defcustom modus-vivendi-theme-bold-constructs nil | ||
| 450 | "Use bold text in more code constructs." | ||
| 451 | :type 'boolean) | ||
| 452 | |||
| 453 | (define-obsolete-variable-alias 'modus-vivendi-theme-proportional-fonts | ||
| 454 | 'modus-vivendi-theme-variable-pitch-headings "`modus-vivendi-theme' 0.11.0") | ||
| 455 | |||
| 456 | (defcustom modus-vivendi-theme-proportional-fonts nil | ||
| 457 | "Use proportional fonts (variable-pitch) in headings." | ||
| 458 | :type 'boolean) | ||
| 459 | |||
| 460 | (defcustom modus-vivendi-theme-variable-pitch-headings nil | ||
| 461 | "Use proportional fonts (variable-pitch) in headings." | ||
| 462 | :type 'boolean) | ||
| 463 | |||
| 464 | (defcustom modus-vivendi-theme-no-mixed-fonts nil | ||
| 465 | "Disable inheritance from `fixed-pitch' in some faces. | ||
| 466 | |||
| 467 | This is done by default to allow spacing-sensitive constructs, | ||
| 468 | such as Org tables and code blocks, to remain monospaced when | ||
| 469 | users opt for something like the command `variable-pitch-mode'. | ||
| 470 | The downside with the default is that users need to explicitly | ||
| 471 | configure the font family of `fixed-pitch' in order to get a | ||
| 472 | consistent experience. That may be something they do not want to | ||
| 473 | do. Hence this option to disable any kind of technique for | ||
| 474 | mixing fonts." | ||
| 475 | :type 'boolean) | ||
| 476 | |||
| 477 | (make-obsolete 'modus-vivendi-theme-rainbow-headings | ||
| 478 | 'modus-vivendi-theme-headings | ||
| 479 | "`modus-vivendi-theme' 0.13.0") | ||
| 480 | |||
| 481 | (defcustom modus-vivendi-theme-rainbow-headings nil | ||
| 482 | "Use more saturated colours for headings." | ||
| 483 | :type 'boolean) | ||
| 484 | |||
| 485 | (make-obsolete 'modus-vivendi-theme-section-headings | ||
| 486 | 'modus-vivendi-theme-headings | ||
| 487 | "`modus-vivendi-theme' 0.13.0") | ||
| 488 | |||
| 489 | (defcustom modus-vivendi-theme-section-headings nil | ||
| 490 | "Use a background and an overline in headings." | ||
| 491 | :type 'boolean) | ||
| 492 | |||
| 493 | (defcustom modus-vivendi-theme-headings | ||
| 494 | '((t . nil)) | ||
| 495 | "Alist of styles for headings, with optional value per level. | ||
| 496 | |||
| 497 | To control faces per level from 1-8, use something like this: | ||
| 498 | |||
| 499 | (setq modus-vivendi-theme-headings | ||
| 500 | '((1 . highlight) | ||
| 501 | (2 . line) | ||
| 502 | (t . rainbow-line-no-bold))) | ||
| 503 | |||
| 504 | To set a uniform value for all heading levels, use this pattern: | ||
| 505 | |||
| 506 | (setq modus-vivendi-theme-headings | ||
| 507 | '((t . rainbow-line-no-bold))) | ||
| 508 | |||
| 509 | The default uses a fairly desaturated foreground value in | ||
| 510 | combination with a bold typographic weight. To specify this | ||
| 511 | style for a given level N (assuming you wish to have another | ||
| 512 | fallback option), just specify the value t like this: | ||
| 513 | |||
| 514 | (setq modus-vivendi-theme-headings | ||
| 515 | '((1 . t) | ||
| 516 | (2 . line) | ||
| 517 | (t . rainbow-line-no-bold))) | ||
| 518 | |||
| 519 | A description of all possible values: | ||
| 520 | |||
| 521 | + `no-bold' retains the default text colour while removing | ||
| 522 | the typographic weight. | ||
| 523 | |||
| 524 | + `line' is the same as the default plus an overline over the | ||
| 525 | heading. | ||
| 526 | |||
| 527 | + `line-no-bold' is the same as `line' without bold weight. | ||
| 528 | |||
| 529 | + `rainbow' uses a more colourful foreground in combination | ||
| 530 | with bold weight. | ||
| 531 | |||
| 532 | + `rainbow-line' is the same as `rainbow' plus an overline. | ||
| 533 | |||
| 534 | + `rainbow-line-no-bold' is the same as `rainbow-line' without | ||
| 535 | the bold weight. | ||
| 536 | |||
| 537 | + `highlight' retains the default style of a fairly desaturated | ||
| 538 | foreground combined with a bold weight and add to it a subtle | ||
| 539 | accented background. | ||
| 540 | |||
| 541 | + `highlight-no-bold' is the same as `highlight' without a bold | ||
| 542 | weight. | ||
| 543 | |||
| 544 | + `rainbow-highlight' is the same as `highlight' but with a more | ||
| 545 | colourful foreground. | ||
| 546 | |||
| 547 | + `rainbow-highlight-no-bold' is the same as `rainbow-highlight' | ||
| 548 | without a bold weight. | ||
| 549 | |||
| 550 | + `section' retains the default looks and adds to them both an | ||
| 551 | overline and a slightly accented background. It is, in effect, | ||
| 552 | a combination of the `line' and `highlight' values. | ||
| 553 | |||
| 554 | + `section-no-bold' is the same as `section' without a bold | ||
| 555 | weight. | ||
| 556 | |||
| 557 | + `rainbow-section' is the same as `section' but with a more | ||
| 558 | colourful foreground. | ||
| 559 | |||
| 560 | + `rainbow-section-no-bold' is the same as `rainbow-section' | ||
| 561 | without a bold weight." | ||
| 562 | :type | ||
| 563 | '(alist | ||
| 564 | :key-type symbol | ||
| 565 | :value-type | ||
| 566 | (choice (const :tag "Fairly desaturated foreground with bold weight (default)" t) | ||
| 567 | (const :tag "Like the default without bold weight" no-bold) | ||
| 568 | (const :tag "Like the default plus overline" line) | ||
| 569 | (const :tag "Like `line' without bold weight" line-no-bold) | ||
| 570 | (const :tag "Like the default but with more colourful foreground" rainbow) | ||
| 571 | (const :tag "Like `rainbow' plus overline" rainbow-line) | ||
| 572 | (const :tag "Like `rainbow' without bold weight" rainbow-no-bold) | ||
| 573 | (const :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold) | ||
| 574 | (const :tag "Like the default plus subtle background" highlight) | ||
| 575 | (const :tag "Like `highlight' without bold weight" highlight-no-bold) | ||
| 576 | (const :tag "Like `highlight' with more colourful foreground" rainbow-highlight) | ||
| 577 | (const :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold) | ||
| 578 | (const :tag "Like `highlight' plus overline" section) | ||
| 579 | (const :tag "Like `section' without bold weight" section-no-bold) | ||
| 580 | (const :tag "Like `section' with more colourful foreground" rainbow-section) | ||
| 581 | (const :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold)))) | ||
| 582 | |||
| 583 | (defcustom modus-vivendi-theme-scale-headings nil | ||
| 584 | "Use font scaling for headings." | ||
| 585 | :type 'boolean) | ||
| 586 | |||
| 587 | (defcustom modus-vivendi-theme-scale-1 1.05 | ||
| 588 | "Font size that is slightly larger than the base value. | ||
| 589 | The default is a floating point that is interpreted as a multiple | ||
| 590 | of the base font size. However, the variable also accepts an | ||
| 591 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 592 | the same as setting the font at 14 point size). | ||
| 593 | |||
| 594 | For more on the matter, read the documentation of | ||
| 595 | `set-face-attribute', specifically the ':height' section." | ||
| 596 | :type 'number) | ||
| 597 | |||
| 598 | (defcustom modus-vivendi-theme-scale-2 1.1 | ||
| 599 | "Font size slightly larger than `modus-vivendi-theme-scale-1'. | ||
| 600 | The default is a floating point that is interpreted as a multiple | ||
| 601 | of the base font size. However, the variable also accepts an | ||
| 602 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 603 | the same as setting the font at 14 point size). | ||
| 604 | |||
| 605 | For more on the matter, read the documentation of | ||
| 606 | `set-face-attribute', specifically the ':height' section." | ||
| 607 | :type 'number) | ||
| 608 | |||
| 609 | (defcustom modus-vivendi-theme-scale-3 1.15 | ||
| 610 | "Font size slightly larger than `modus-vivendi-theme-scale-2'. | ||
| 611 | The default is a floating point that is interpreted as a multiple | ||
| 612 | of the base font size. However, the variable also accepts an | ||
| 613 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 614 | the same as setting the font at 14 point size). | ||
| 615 | |||
| 616 | For more on the matter, read the documentation of | ||
| 617 | `set-face-attribute', specifically the ':height' section." | ||
| 618 | :type 'number) | ||
| 619 | |||
| 620 | (defcustom modus-vivendi-theme-scale-4 1.2 | ||
| 621 | "Font size slightly larger than `modus-vivendi-theme-scale-3'. | ||
| 622 | The default is a floating point that is interpreted as a multiple | ||
| 623 | of the base font size. However, the variable also accepts an | ||
| 624 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 625 | the same as setting the font at 14 point size). | ||
| 626 | |||
| 627 | For more on the matter, read the documentation of | ||
| 628 | `set-face-attribute', specifically the ':height' section." | ||
| 629 | :type 'number) | ||
| 630 | |||
| 631 | (defcustom modus-vivendi-theme-scale-5 1.3 | ||
| 632 | "Font size slightly larger than `modus-vivendi-theme-scale-4'. | ||
| 633 | The default is a floating point that is interpreted as a multiple | ||
| 634 | of the base font size. However, the variable also accepts an | ||
| 635 | integer, understood as an absolute height (e.g. a value of 140 is | ||
| 636 | the same as setting the font at 14 point size). | ||
| 637 | |||
| 638 | For more on the matter, read the documentation of | ||
| 639 | `set-face-attribute', specifically the ':height' section." | ||
| 640 | :type 'number) | ||
| 641 | |||
| 642 | (make-obsolete 'modus-vivendi-theme-visible-fringes | ||
| 643 | 'modus-vivendi-theme-fringes | ||
| 644 | "`modus-vivendi-theme' 0.12.0") | ||
| 645 | |||
| 646 | (defcustom modus-vivendi-theme-visible-fringes nil | ||
| 647 | "Use a visible style for fringes." | ||
| 648 | :type 'boolean) | ||
| 649 | |||
| 650 | (defcustom modus-vivendi-theme-fringes nil | ||
| 651 | "Define the visibility of fringes. | ||
| 652 | |||
| 653 | Nil means the fringes have no background colour. Option `subtle' | ||
| 654 | will apply a greyscale value that is visible yet close to the | ||
| 655 | main buffer background colour. Option `intense' will use a more | ||
| 656 | pronounced greyscale value." | ||
| 657 | :type '(choice | ||
| 658 | (const :tag "No visible fringes (default)" nil) | ||
| 659 | (const :tag "Subtle greyscale background" subtle) | ||
| 660 | (const :tag "Intense greyscale background" intense))) | ||
| 661 | |||
| 662 | (make-obsolete 'modus-vivendi-theme-distinct-org-blocks | ||
| 663 | 'modus-vivendi-theme-org-blocks | ||
| 664 | "`modus-vivendi-theme' 0.11.0") | ||
| 665 | |||
| 666 | (defcustom modus-vivendi-theme-distinct-org-blocks nil | ||
| 667 | "Use a distinct neutral background for `org-mode' blocks." | ||
| 668 | :type 'boolean) | ||
| 669 | |||
| 670 | (make-obsolete 'modus-vivendi-theme-rainbow-org-src-blocks | ||
| 671 | 'modus-vivendi-theme-org-blocks | ||
| 672 | "`modus-vivendi-theme' 0.11.0") | ||
| 673 | |||
| 674 | (defcustom modus-vivendi-theme-rainbow-org-src-blocks nil | ||
| 675 | "Use colour-coded backgrounds for `org-mode' source blocks. | ||
| 676 | The colour in use depends on the language (send feedback to | ||
| 677 | include more languages)." | ||
| 678 | :type 'boolean) | ||
| 679 | |||
| 680 | (defcustom modus-vivendi-theme-org-blocks nil | ||
| 681 | "Use a subtle grey or colour-coded background for Org blocks. | ||
| 682 | |||
| 683 | Nil means that the block will have no background of its own and | ||
| 684 | will use the default that applies to the rest of the buffer. | ||
| 685 | |||
| 686 | Option `greyscale' will apply a subtle neutral grey background to | ||
| 687 | the block's contents. It also affects the begin and end lines of | ||
| 688 | the block: their background will be extended to the edge of the | ||
| 689 | window for Emacs version >= 27 where the ':extend' keyword is | ||
| 690 | recognised by `set-face-attribute'. | ||
| 691 | |||
| 692 | Option `rainbow' will use an accented background for the contents | ||
| 693 | of the block. The exact colour will depend on the programming | ||
| 694 | language and is controlled by the `org-src-block-faces' | ||
| 695 | variable (refer to the theme's source code for the current | ||
| 696 | association list)." | ||
| 697 | :type '(choice | ||
| 698 | (const :tag "No Org block background (default)" nil) | ||
| 699 | (const :tag "Subtle grey block background" greyscale) | ||
| 700 | (const :tag "Colour-coded background per programming language" rainbow))) | ||
| 701 | |||
| 702 | (make-obsolete 'modus-vivendi-theme-3d-modeline | ||
| 703 | 'modus-vivendi-theme-mode-line | ||
| 704 | "`modus-vivendi-theme' 0.13.0") | ||
| 705 | |||
| 706 | (defcustom modus-vivendi-theme-3d-modeline nil | ||
| 707 | "Use a three-dimensional style for the active mode line." | ||
| 708 | :type 'boolean) | ||
| 709 | |||
| 710 | (defcustom modus-vivendi-theme-mode-line nil | ||
| 711 | "Adjust the overall style of the mode line. | ||
| 712 | |||
| 713 | Nil is a two-dimensional rectangle with a border around it. The | ||
| 714 | active and the inactive modelines use different shades of | ||
| 715 | greyscale values for the background and foreground. | ||
| 716 | |||
| 717 | A `3d' value will apply a three-dimensional effect to the active | ||
| 718 | modeline. The inactive modelines remain two-dimensional and are | ||
| 719 | toned down a bit, relative to the nil value. | ||
| 720 | |||
| 721 | The `moody' option is meant to optimise the modeline for use with | ||
| 722 | the library of the same name. This practically means to remove | ||
| 723 | the box effect and rely on underline and overline properties | ||
| 724 | instead. It also tones down the inactive modelines. Despite its | ||
| 725 | intended purpose, this option can also be used without the | ||
| 726 | `moody' library." | ||
| 727 | :type '(choice | ||
| 728 | (const :tag "Two-dimensional box (default)" nil) | ||
| 729 | (const :tag "Three-dimensional style for the active mode line" 3d) | ||
| 730 | (const :tag "No box effects, which are optimal for use with the `moody' library" moody))) | ||
| 731 | |||
| 732 | (make-obsolete 'modus-vivendi-theme-subtle-diffs | ||
| 733 | 'modus-vivendi-theme-diffs | ||
| 734 | "`modus-vivendi-theme' 0.13.0") | ||
| 735 | |||
| 736 | (defcustom modus-vivendi-theme-subtle-diffs nil | ||
| 737 | "Use fewer/dim backgrounds in `diff-mode', `ediff',`magit'." | ||
| 738 | :type 'boolean) | ||
| 739 | 54 | ||
| 740 | (defcustom modus-vivendi-theme-diffs nil | 55 | (deftheme modus-vivendi |
| 741 | "Adjust the overall styles of diffs. | 56 | "Accessible and customizable dark theme (WCAG AAA standard). |
| 742 | 57 | Conforms with the highest legibility standard for color contrast | |
| 743 | Nil means to use fairly intense colour combinations for diffs. | 58 | between background and foreground in any given piece of text, |
| 744 | For example, you get a rich green background with a green | 59 | which corresponds to a minimum contrast in relative luminance of |
| 745 | foreground for added lines. Word-wise or 'refined' diffs follow | 60 | 7:1.") |
| 746 | the same pattern but use different shades of those colours to | ||
| 747 | remain distinct. | ||
| 748 | |||
| 749 | A `desaturated' value follows the same principles as with the nil | ||
| 750 | option, while it tones down all relevant colours. | ||
| 751 | |||
| 752 | Option `fg-only' will remove all accented backgrounds, except | ||
| 753 | from word-wise changes. It instead uses colour-coded foreground | ||
| 754 | values to differentiate between added/removed/changed lines. If | ||
| 755 | a background is necessary, such as with `ediff', then a subtle | ||
| 756 | greyscale value is used." | ||
| 757 | :type '(choice | ||
| 758 | (const :tag "Intensely coloured backgrounds (default)" nil) | ||
| 759 | (const :tag "Slightly accented backgrounds with tinted text" desaturated) | ||
| 760 | (const :tag "No backgrounds, except for refined diffs" fg-only))) | ||
| 761 | |||
| 762 | (make-obsolete 'modus-vivendi-theme-intense-standard-completions | ||
| 763 | 'modus-vivendi-theme-completions | ||
| 764 | "`modus-vivendi-theme' 0.12.0") | ||
| 765 | |||
| 766 | (defcustom modus-vivendi-theme-intense-standard-completions nil | ||
| 767 | "Use prominent backgrounds for Icomplete, Ido, or similar." | ||
| 768 | :type 'boolean) | ||
| 769 | |||
| 770 | (defcustom modus-vivendi-theme-completions nil | ||
| 771 | "Apply special styles to the UI of completion frameworks. | ||
| 772 | |||
| 773 | This concerns Icomplete, Ivy, Helm, Selectrum, Ido, as well as | ||
| 774 | any other tool meant to enhance their experience. The effect | ||
| 775 | will vary depending on the completion framework. | ||
| 776 | |||
| 777 | Nil means to remain faithful to the metaphors that each UI | ||
| 778 | establishes. For example, Icomplete and Ido only use foreground | ||
| 779 | colours to style their matches, whereas Ivy or Helm rely on an | ||
| 780 | aesthetic that combines coloured backgrounds with appropriate | ||
| 781 | text colour. | ||
| 782 | |||
| 783 | Option `moderate' will apply a combination of background and | ||
| 784 | foreground that is fairly subtle. For Icomplete and the like, | ||
| 785 | this constitutes a departure from their standard style. While | ||
| 786 | Ivy, Helm, and the others, will use less pronounced colours for | ||
| 787 | applicable contexts. | ||
| 788 | |||
| 789 | Option `opinionated' will apply colour combinations that | ||
| 790 | refashion the completion UI. So Icomplete et al will now use | ||
| 791 | styles that resemble the defaults of Ivy and co., while the | ||
| 792 | latter group will revert to an even more nuanced aesthetic." | ||
| 793 | :type '(choice | ||
| 794 | (const :tag "Respect the framework's established aesthetic (default)" nil) | ||
| 795 | (const :tag "Subtle backgrounds for various elements" moderate) | ||
| 796 | (const :tag "Radical alternative to the framework's looks" opinionated))) | ||
| 797 | |||
| 798 | (defcustom modus-vivendi-theme-prompts nil | ||
| 799 | "Use subtle or intense styles for minibuffer and REPL prompts. | ||
| 800 | |||
| 801 | Nil means to only use an accented foreground colour. | ||
| 802 | |||
| 803 | Options `subtle' and `intense' will change both the background | ||
| 804 | and the foreground values. The latter has a more pronounced | ||
| 805 | effect than the former." | ||
| 806 | :type '(choice | ||
| 807 | (const :tag "No prompt background (default)" nil) | ||
| 808 | (const :tag "Subtle accented background for the prompt" subtle) | ||
| 809 | (const :tag "Intense background and foreground for the prompt" intense))) | ||
| 810 | |||
| 811 | (defcustom modus-vivendi-theme-intense-hl-line nil | ||
| 812 | "Use more prominent background for command `hl-line-mode'." | ||
| 813 | :type 'boolean) | ||
| 814 | |||
| 815 | (defcustom modus-vivendi-theme-intense-paren-match nil | ||
| 816 | "Use more prominent colour for parenthesis matching." | ||
| 817 | :type 'boolean) | ||
| 818 | |||
| 819 | (defcustom modus-vivendi-theme-faint-syntax nil | ||
| 820 | "Use less saturated colours for code syntax highlighting." | ||
| 821 | :type 'boolean) | ||
| 822 | |||
| 823 | (defcustom modus-vivendi-theme-no-link-underline nil | ||
| 824 | "Do not underline links." | ||
| 825 | :type 'boolean) | ||
| 826 | |||
| 827 | ;;; Internal functions | ||
| 828 | |||
| 829 | ;; Helper functions that are meant to ease the implementation of the | ||
| 830 | ;; above customisation options. | ||
| 831 | (defun modus-vivendi-theme-bold-weight () | ||
| 832 | "Conditional use of a heavier text weight." | ||
| 833 | (when modus-vivendi-theme-bold-constructs | ||
| 834 | (list :inherit 'bold))) | ||
| 835 | |||
| 836 | (defun modus-vivendi-theme-mixed-fonts () | ||
| 837 | "Conditional application of `fixed-pitch' inheritance." | ||
| 838 | (unless modus-vivendi-theme-no-mixed-fonts | ||
| 839 | (list :inherit 'fixed-pitch))) | ||
| 840 | |||
| 841 | (defun modus-vivendi-theme-fringe (subtlebg intensebg) | ||
| 842 | "Conditional use of background colours for fringes. | ||
| 843 | SUBTLEBG should be a subtle greyscale value. INTENSEBG must be a | ||
| 844 | more pronounced greyscale colour." | ||
| 845 | (pcase modus-vivendi-theme-fringes | ||
| 846 | ('intense (list :background intensebg)) | ||
| 847 | ('subtle (list :background subtlebg)) | ||
| 848 | (_ (list :background nil)))) | ||
| 849 | |||
| 850 | (defun modus-vivendi-theme-prompt (mainfg subtlebg subtlefg intensebg intensefg) | ||
| 851 | "Conditional use of background colours for prompts. | ||
| 852 | MAINFG is the prompt's standard foreground. SUBTLEBG should be a | ||
| 853 | subtle accented background that works with SUBTLEFG. INTENSEBG | ||
| 854 | must be a more pronounced accented colour that should be | ||
| 855 | combinable with INTENSEFG." | ||
| 856 | (pcase modus-vivendi-theme-prompts | ||
| 857 | ('intense (list :background intensebg :foreground intensefg)) | ||
| 858 | ('subtle (list :background subtlebg :foreground subtlefg)) | ||
| 859 | (_ (list :background nil :foreground mainfg)))) | ||
| 860 | |||
| 861 | (defun modus-vivendi-theme-paren (normalbg intensebg) | ||
| 862 | "Conditional use of intense colours for matching parentheses. | ||
| 863 | NORMALBG should the special palette colour 'bg-paren-match' or | ||
| 864 | something similar. INTENSEBG must be easier to discern next to | ||
| 865 | other backgrounds, such as the special palette colour | ||
| 866 | 'bg-paren-match-intense'." | ||
| 867 | (if modus-vivendi-theme-intense-paren-match | ||
| 868 | (list :background intensebg) | ||
| 869 | (list :background normalbg))) | ||
| 870 | |||
| 871 | (defun modus-vivendi-theme-syntax-foreground (normal faint) | ||
| 872 | "Apply foreground value to code syntax. | ||
| 873 | NORMAL is the more saturated colour, which should be the default. | ||
| 874 | FAINT is the less saturated colour." | ||
| 875 | (if modus-vivendi-theme-faint-syntax | ||
| 876 | (list :foreground faint) | ||
| 877 | (list :foreground normal))) | ||
| 878 | |||
| 879 | (defun modus-vivendi-theme-heading-p (key) | ||
| 880 | "Query style of KEY in `modus-vivendi-theme-headings'." | ||
| 881 | (cdr (assoc key modus-vivendi-theme-headings))) | ||
| 882 | |||
| 883 | (defun modus-vivendi-theme-heading (level fg fg-alt bg border) | ||
| 884 | "Conditional styles for `modus-vivendi-theme-headings'. | ||
| 885 | |||
| 886 | LEVEL is the heading's position in their order. FG is the | ||
| 887 | default text colour. FG-ALT is an accented, more saturated value | ||
| 888 | than the default. BG is a nuanced, typically accented, | ||
| 889 | background that can work well with either of the foreground | ||
| 890 | values. BORDER is a colour value that combines well with the | ||
| 891 | background and alternative foreground." | ||
| 892 | (let* ((key (modus-vivendi-theme-heading-p `,level)) | ||
| 893 | (style (or key (modus-vivendi-theme-heading-p t))) | ||
| 894 | (var (if modus-vivendi-theme-variable-pitch-headings | ||
| 895 | 'variable-pitch | ||
| 896 | 'default))) | ||
| 897 | (pcase style | ||
| 898 | ('no-bold | ||
| 899 | (list :inherit `,var :foreground fg)) | ||
| 900 | ('line | ||
| 901 | (list :inherit `(bold ,var) :foreground fg :overline border)) | ||
| 902 | ('line-no-bold | ||
| 903 | (list :inherit `,var :foreground fg :overline border)) | ||
| 904 | ('rainbow | ||
| 905 | (list :inherit `(bold ,var) :foreground fg-alt)) | ||
| 906 | ('rainbow-no-bold | ||
| 907 | (list :inherit `,var :foreground fg-alt)) | ||
| 908 | ('rainbow-line | ||
| 909 | (list :inherit `(bold ,var) :foreground fg-alt :overline border)) | ||
| 910 | ('rainbow-line-no-bold | ||
| 911 | (list :inherit `,var :foreground fg-alt :overline border)) | ||
| 912 | ('highlight | ||
| 913 | (list :inherit `(bold ,var) :background bg :foreground fg)) | ||
| 914 | ('highlight-no-bold | ||
| 915 | (list :inherit `,var :background bg :foreground fg)) | ||
| 916 | ('rainbow-highlight | ||
| 917 | (list :inherit `(bold ,var) :background bg :foreground fg-alt)) | ||
| 918 | ('rainbow-highlight-no-bold | ||
| 919 | (list :inherit `,var :background bg :foreground fg-alt)) | ||
| 920 | ('section | ||
| 921 | (append | ||
| 922 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 923 | (list :inherit `(bold ,var) :background bg :foreground fg :overline border))) | ||
| 924 | ('section-no-bold | ||
| 925 | (append | ||
| 926 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 927 | (list :inherit `,var :background bg :foreground fg :overline border))) | ||
| 928 | ('rainbow-section | ||
| 929 | (append | ||
| 930 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 931 | (list :inherit `(bold ,var) :background bg :foreground fg-alt :overline border))) | ||
| 932 | ('rainbow-section-no-bold | ||
| 933 | (append | ||
| 934 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 935 | (list :inherit `,var :background bg :foreground fg-alt :overline border))) | ||
| 936 | (_ | ||
| 937 | (list :inherit `(bold ,var) :foreground fg))))) | ||
| 938 | |||
| 939 | (defun modus-vivendi-theme-org-block (bgblk) | ||
| 940 | "Conditionally set the background of Org blocks. | ||
| 941 | BGBLK applies to a distinct neutral background. Else blocks have | ||
| 942 | no background of their own (the default), so they look the same | ||
| 943 | as the rest of the buffer. | ||
| 944 | |||
| 945 | `modus-vivendi-theme-org-blocks' also accepts a `rainbow' option | ||
| 946 | which is applied conditionally to `org-src-block-faces' (see the | ||
| 947 | theme's source code)." | ||
| 948 | (if (eq modus-vivendi-theme-org-blocks 'greyscale) | ||
| 949 | (append | ||
| 950 | (and (>= emacs-major-version 27) '(:extend t)) | ||
| 951 | (list :background bgblk)) | ||
| 952 | (list :background nil))) | ||
| 953 | |||
| 954 | (defun modus-vivendi-theme-org-block-delim (bgaccent fgaccent bg fg) | ||
| 955 | "Conditionally set the styles of Org block delimiters. | ||
| 956 | BG, FG, BGACCENT, FGACCENT apply a background and foreground | ||
| 957 | colour respectively. | ||
| 958 | |||
| 959 | The former pair is a greyscale combination that should be more | ||
| 960 | distinct than the background of the block. It is applied to the | ||
| 961 | default styles or when `modus-vivendi-theme-org-blocks' is set | ||
| 962 | to `greyscale'. | ||
| 963 | |||
| 964 | The latter pair should be more subtle than the background of the | ||
| 965 | block, as it is used when `modus-vivendi-theme-org-blocks' is | ||
| 966 | set to `rainbow'." | ||
| 967 | (pcase modus-vivendi-theme-org-blocks | ||
| 968 | ('greyscale (append (and (>= emacs-major-version 27) '(:extend t)) | ||
| 969 | (list :background bg :foreground fg))) | ||
| 970 | ('rainbow (list :background bgaccent :foreground fgaccent)) | ||
| 971 | (_ (list :background bg :foreground fg)))) | ||
| 972 | |||
| 973 | (defun modus-vivendi-theme-mode-line-attrs | ||
| 974 | (fg bg fg-alt bg-alt border border-3d &optional alt-style border-width fg-distant) | ||
| 975 | "Colour combinations for `modus-vivendi-theme-mode-line'. | ||
| 976 | |||
| 977 | FG and BG are the default colours. FG-ALT and BG-ALT are meant | ||
| 978 | to accommodate the options for a 3D modeline or a `moody' | ||
| 979 | compliant one. BORDER applies to all permutations of the | ||
| 980 | modeline, except the three-dimensional effect, where BORDER-3D is | ||
| 981 | used instead. | ||
| 982 | |||
| 983 | Optional ALT-STYLE applies an appropriate style to the mode | ||
| 984 | line's box property. | ||
| 985 | |||
| 986 | Optional BORDER-WIDTH specifies an integer for the width of the | ||
| 987 | rectangle that produces the box effect. | ||
| 988 | |||
| 989 | Optional FG-DISTANT should be close to the main background | ||
| 990 | values. It is intended to be used as a distant-foreground | ||
| 991 | property." | ||
| 992 | (pcase modus-vivendi-theme-mode-line | ||
| 993 | ('3d | ||
| 994 | `(:background ,bg-alt :foreground ,fg-alt | ||
| 995 | :box (:line-width ,(or border-width 1) | ||
| 996 | :color ,border-3d | ||
| 997 | :style ,(and alt-style 'released-button)))) | ||
| 998 | ('moody | ||
| 999 | `(:background ,bg-alt :foreground ,fg-alt :underline ,border :overline ,border | ||
| 1000 | :distant-foreground ,fg-distant)) | ||
| 1001 | (_ | ||
| 1002 | `(:foreground ,fg :background ,bg :box ,border)))) | ||
| 1003 | |||
| 1004 | (defun modus-vivendi-theme-diff (fg-only-bg fg-only-fg mainbg mainfg altbg altfg) | ||
| 1005 | "Colour combinations for `modus-vivendi-theme-diffs'. | ||
| 1006 | |||
| 1007 | FG-ONLY-BG should be similar or the same as the main background. | ||
| 1008 | FG-ONLY-FG should be a saturated accent value that can be | ||
| 1009 | combined with the former. | ||
| 1010 | |||
| 1011 | MAINBG must be one of the dedicated backgrounds for diffs while | ||
| 1012 | MAINFG must be the same for the foreground. | ||
| 1013 | |||
| 1014 | ALTBG needs to be a slightly accented background that is meant to | ||
| 1015 | be combined with ALTFG. Both must be less intense than MAINBG | ||
| 1016 | and MAINFG respectively." | ||
| 1017 | (pcase modus-vivendi-theme-diffs | ||
| 1018 | ('fg-only (list :background fg-only-bg :foreground fg-only-fg)) | ||
| 1019 | ('desaturated (list :background altbg :foreground altfg)) | ||
| 1020 | (_ (list :background mainbg :foreground mainfg)))) | ||
| 1021 | |||
| 1022 | (defun modus-vivendi-theme-standard-completions (mainfg subtlebg intensebg intensefg) | ||
| 1023 | "Combinations for `modus-vivendi-theme-completions'. | ||
| 1024 | |||
| 1025 | MAINFG is an accented foreground value. SUBTLEBG is an accented | ||
| 1026 | background value that can be combined with MAINFG. INTENSEBG and | ||
| 1027 | INTENSEFG are accented colours that are designed to be used in | ||
| 1028 | tandem. | ||
| 1029 | |||
| 1030 | These are intended for Icomplete, Ido, and related." | ||
| 1031 | (pcase modus-vivendi-theme-completions | ||
| 1032 | ('opinionated (list :background intensebg :foreground intensefg)) | ||
| 1033 | ('moderate (list :background subtlebg :foreground mainfg)) | ||
| 1034 | (_ (list :foreground mainfg)))) | ||
| 1035 | |||
| 1036 | (defun modus-vivendi-theme-extra-completions (subtleface intenseface altface &optional altfg bold) | ||
| 1037 | "Combinations for `modus-vivendi-theme-completions'. | ||
| 1038 | |||
| 1039 | SUBTLEFACE and INTENSEFACE are custom theme faces that combine a | ||
| 1040 | background and foreground value. The difference between the two | ||
| 1041 | is a matter of degree. | ||
| 1042 | |||
| 1043 | ALTFACE is a combination of colours that represents a departure | ||
| 1044 | from the UI's default aesthetics. Optional ALTFG is meant to be | ||
| 1045 | used in tandem with it. | ||
| 1046 | |||
| 1047 | Optional BOLD will apply a heavier weight to the text. | ||
| 1048 | |||
| 1049 | These are intended for Helm, Ivy, etc." | ||
| 1050 | (pcase modus-vivendi-theme-completions | ||
| 1051 | ('opinionated (list :inherit (list altface bold) | ||
| 1052 | :foreground (or altfg 'unspecified))) | ||
| 1053 | ('moderate (list :inherit (list subtleface bold))) | ||
| 1054 | (_ (list :inherit (list intenseface bold))))) | ||
| 1055 | |||
| 1056 | (defun modus-vivendi-theme-scale (amount) | ||
| 1057 | "Scale heading by AMOUNT. | ||
| 1058 | |||
| 1059 | AMOUNT is a customisation option." | ||
| 1060 | (when modus-vivendi-theme-scale-headings | ||
| 1061 | (list :height amount))) | ||
| 1062 | |||
| 1063 | ;;; Colour palette | ||
| 1064 | |||
| 1065 | ;; Define colour palette. Each colour must have a >= 7:1 contrast | ||
| 1066 | ;; ratio relative to the foreground/background colour it is rendered | ||
| 1067 | ;; against. | ||
| 1068 | ;; | ||
| 1069 | ;; The design of the colour palette as a macro that maps it to faces is | ||
| 1070 | ;; adapted from zenbern-theme.el, last seen at commit 7dd7968: | ||
| 1071 | ;; https://github.com/bbatsov/zenburn-emacs | ||
| 1072 | (eval-and-compile | ||
| 1073 | (defconst modus-vivendi-theme-default-colors-alist | ||
| 1074 | '(;; base values | ||
| 1075 | ("bg-main" . "#000000") ("fg-main" . "#ffffff") | ||
| 1076 | ("bg-alt" . "#181a20") ("fg-alt" . "#a8a8a8") | ||
| 1077 | ("bg-dim" . "#110b11") ("fg-dim" . "#e0e6f0") | ||
| 1078 | ;; specifically for on/off states (e.g. `mode-line') | ||
| 1079 | ;; | ||
| 1080 | ;; must be combined with themselves | ||
| 1081 | ("bg-active" . "#323232") ("fg-active" . "#f4f4f4") | ||
| 1082 | ("bg-inactive" . "#1e1e1e") ("fg-inactive" . "#bfc0c4") | ||
| 1083 | ;; special base values, used only for cases where the above | ||
| 1084 | ;; fg-* or bg-* cannot or should not be used (to avoid confusion) | ||
| 1085 | ;; must be combined with: {fg,bg}-{main,alt,dim} | ||
| 1086 | ("bg-special-cold" . "#203448") ("fg-special-cold" . "#c6eaff") | ||
| 1087 | ("bg-special-mild" . "#00322e") ("fg-special-mild" . "#bfebe0") | ||
| 1088 | ("bg-special-warm" . "#382f27") ("fg-special-warm" . "#f8dec0") | ||
| 1089 | ("bg-special-calm" . "#392a48") ("fg-special-calm" . "#fbd6f4") | ||
| 1090 | ;; styles for the main constructs | ||
| 1091 | ;; | ||
| 1092 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' | ||
| 1093 | ("red" . "#ff8059") ("green" . "#44bc44") | ||
| 1094 | ("yellow" . "#eecc00") ("blue" . "#2fafff") | ||
| 1095 | ("magenta" . "#feacd0") ("cyan" . "#00d3d0") | ||
| 1096 | ;; styles for common, but still specialised constructs | ||
| 1097 | ;; | ||
| 1098 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' | ||
| 1099 | ("red-alt" . "#f4923b") ("green-alt" . "#80d200") | ||
| 1100 | ("yellow-alt" . "#cfdf30") ("blue-alt" . "#79a8ff") | ||
| 1101 | ("magenta-alt" . "#f78fe7") ("cyan-alt" . "#4ae8fc") | ||
| 1102 | ;; same purpose as above, just slight differences | ||
| 1103 | ;; | ||
| 1104 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' | ||
| 1105 | ("red-alt-other" . "#ff9977") ("green-alt-other" . "#00cd68") | ||
| 1106 | ("yellow-alt-other" . "#f0ce43") ("blue-alt-other" . "#00bcff") | ||
| 1107 | ("magenta-alt-other" . "#b6a0ff") ("cyan-alt-other" . "#6ae4b9") | ||
| 1108 | ;; styles for desaturated foreground text, intended for use with | ||
| 1109 | ;; the `modus-vivendi-theme-faint-syntax' option | ||
| 1110 | ;; | ||
| 1111 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' | ||
| 1112 | ("red-faint" . "#ffa0a0") ("green-faint" . "#88cf88") | ||
| 1113 | ("yellow-faint" . "#d2b580") ("blue-faint" . "#92baff") | ||
| 1114 | ("magenta-faint" . "#e0b2d6") ("cyan-faint" . "#a0bfdf") | ||
| 1115 | |||
| 1116 | ("red-alt-faint" . "#f5aa80") ("green-alt-faint" . "#a8cf88") | ||
| 1117 | ("yellow-alt-faint" . "#cabf77") ("blue-alt-faint" . "#a4b0ff") | ||
| 1118 | ("magenta-alt-faint" . "#ef9fe4") ("cyan-alt-faint" . "#90c4ed") | ||
| 1119 | |||
| 1120 | ("red-alt-other-faint" . "#ff9fbf") ("green-alt-other-faint" . "#88cfaf") | ||
| 1121 | ("yellow-alt-other-faint" . "#d0ba95") ("blue-alt-other-faint" . "#8fc5ff") | ||
| 1122 | ("magenta-alt-other-faint" . "#d0b4ff") ("cyan-alt-other-faint" . "#a4d0bb") | ||
| 1123 | ;; styles for elements that should be very subtle, yet accented | ||
| 1124 | ;; | ||
| 1125 | ;; must be combined with: `bg-main', `bg-alt', `bg-dim' or any of | ||
| 1126 | ;; the "nuanced" backgrounds | ||
| 1127 | ("red-nuanced" . "#ffcccc") ("green-nuanced" . "#b8e2b8") | ||
| 1128 | ("yellow-nuanced" . "#dfdfb0") ("blue-nuanced" . "#bfd9ff") | ||
| 1129 | ("magenta-nuanced" . "#e5cfef") ("cyan-nuanced" . "#a8e5e5") | ||
| 1130 | ;; styles for slightly accented background | ||
| 1131 | ;; | ||
| 1132 | ;; must be combined with any of the above foreground values | ||
| 1133 | ("red-nuanced-bg" . "#2c0614") ("green-nuanced-bg" . "#001904") | ||
| 1134 | ("yellow-nuanced-bg" . "#221000") ("blue-nuanced-bg" . "#0f0e39") | ||
| 1135 | ("magenta-nuanced-bg" . "#230631") ("cyan-nuanced-bg" . "#041529") | ||
| 1136 | ;; styles for elements that should draw attention to themselves | ||
| 1137 | ;; | ||
| 1138 | ;; must be combined with: `bg-main' | ||
| 1139 | ("red-intense" . "#fb6859") ("green-intense" . "#00fc50") | ||
| 1140 | ("yellow-intense" . "#ffdd00") ("blue-intense" . "#00a2ff") | ||
| 1141 | ("magenta-intense" . "#ff8bd4") ("cyan-intense" . "#30ffc0") | ||
| 1142 | ;; styles for background elements that should be visible yet | ||
| 1143 | ;; subtle | ||
| 1144 | ;; | ||
| 1145 | ;; must be combined with: `fg-dim' | ||
| 1146 | ("red-subtle-bg" . "#762422") ("green-subtle-bg" . "#2f4a00") | ||
| 1147 | ("yellow-subtle-bg" . "#604200") ("blue-subtle-bg" . "#10387c") | ||
| 1148 | ("magenta-subtle-bg" . "#49366e") ("cyan-subtle-bg" . "#00415e") | ||
| 1149 | ;; styles for background elements that should be visible and | ||
| 1150 | ;; distinguishable | ||
| 1151 | ;; | ||
| 1152 | ;; must be combined with: `fg-main' | ||
| 1153 | ("red-intense-bg" . "#a4202a") ("green-intense-bg" . "#006800") | ||
| 1154 | ("yellow-intense-bg" . "#874900") ("blue-intense-bg" . "#2a40b8") | ||
| 1155 | ("magenta-intense-bg" . "#7042a2") ("cyan-intense-bg" . "#005f88") | ||
| 1156 | ;; styles for refined contexts where both the foreground and the | ||
| 1157 | ;; background need to have the same/similar hue | ||
| 1158 | ;; | ||
| 1159 | ;; must be combined with themselves OR the foregrounds can be | ||
| 1160 | ;; combined with any of the base backgrounds | ||
| 1161 | ("red-refine-bg" . "#77002a") ("red-refine-fg" . "#ffb9ab") | ||
| 1162 | ("green-refine-bg" . "#00422a") ("green-refine-fg" . "#9ff0cf") | ||
| 1163 | ("yellow-refine-bg" . "#693200") ("yellow-refine-fg" . "#e2d980") | ||
| 1164 | ("blue-refine-bg" . "#242679") ("blue-refine-fg" . "#8ec6ff") | ||
| 1165 | ("magenta-refine-bg" . "#71206a") ("magenta-refine-fg" . "#ffcaf0") | ||
| 1166 | ("cyan-refine-bg" . "#004065") ("cyan-refine-fg" . "#8ae4f2") | ||
| 1167 | ;; styles that are meant exclusively for the mode line | ||
| 1168 | ;; | ||
| 1169 | ;; must be combined with: `bg-active', `bg-inactive' | ||
| 1170 | ("red-active" . "#ffa7ba") ("green-active" . "#70d73f") | ||
| 1171 | ("yellow-active" . "#dbbe5f") ("blue-active" . "#34cfff") | ||
| 1172 | ("magenta-active" . "#d5b1ff") ("cyan-active" . "#00d8b4") | ||
| 1173 | ;; styles that are meant exclusively for the fringes | ||
| 1174 | ;; | ||
| 1175 | ;; must be combined with `fg-main' | ||
| 1176 | ("red-fringe-bg" . "#8f1f4b") ("green-fringe-bg" . "#006700") | ||
| 1177 | ("yellow-fringe-bg" . "#6f4f00") ("blue-fringe-bg" . "#3f33af") | ||
| 1178 | ("magenta-fringe-bg" . "#6f2f89") ("cyan-fringe-bg" . "#004f8f") | ||
| 1179 | ;; styles reserved for specific faces | ||
| 1180 | ;; | ||
| 1181 | ;; `bg-hl-line' is between `bg-dim' and `bg-alt', so it should | ||
| 1182 | ;; work with all accents that cover those two, plus `bg-main' | ||
| 1183 | ;; | ||
| 1184 | ;; `bg-hl-alt' and `bg-hl-alt-intense' should only be used when no | ||
| 1185 | ;; other greyscale or fairly neutral background is available to | ||
| 1186 | ;; properly draw attention to a given construct | ||
| 1187 | ;; | ||
| 1188 | ;; `bg-header' is between `bg-active' and `bg-inactive', so it | ||
| 1189 | ;; can be combined with any of the "active" values, plus the | ||
| 1190 | ;; "special" and base foreground colours | ||
| 1191 | ;; | ||
| 1192 | ;; `bg-paren-match', `bg-paren-match-intense', `bg-region' and | ||
| 1193 | ;; `bg-tab-active' must be combined with `fg-main', while | ||
| 1194 | ;; `bg-tab-inactive' should be combined with `fg-dim' | ||
| 1195 | ;; | ||
| 1196 | ;; `bg-tab-bar' is only intended for the bar that holds the tabs and | ||
| 1197 | ;; can only be combined with `fg-main' | ||
| 1198 | ;; | ||
| 1199 | ;; `fg-tab-active' is meant to be combined with `bg-tab-active', | ||
| 1200 | ;; though only for styling special elements, such as underlining | ||
| 1201 | ;; the current tab | ||
| 1202 | ;; | ||
| 1203 | ;; `fg-escape-char-construct' and `fg-escape-char-backslash' can | ||
| 1204 | ;; be combined `bg-main', `bg-dim', `bg-alt' | ||
| 1205 | ;; | ||
| 1206 | ;; `fg-lang-error', `fg-lang-warning', `fg-lang-note' can be | ||
| 1207 | ;; combined with `bg-main', `bg-dim', `bg-alt' | ||
| 1208 | ;; | ||
| 1209 | ;; `fg-mark-sel', `fg-mark-del', `fg-mark-alt' can be combined | ||
| 1210 | ;; with `bg-main', `bg-dim', `bg-alt', `bg-hl-line' | ||
| 1211 | ;; | ||
| 1212 | ;; `fg-unfocused' must be combined with `fg-main' | ||
| 1213 | ;; | ||
| 1214 | ;; the window divider colours apply to faces with just an fg value | ||
| 1215 | ;; | ||
| 1216 | ;; all pairs are combinable with themselves | ||
| 1217 | ("bg-hl-line" . "#151823") | ||
| 1218 | ("bg-hl-line-intense" . "#2f2f2f") | ||
| 1219 | ("bg-hl-alt" . "#181732") | ||
| 1220 | ("bg-hl-alt-intense" . "#282e46") | ||
| 1221 | ("bg-paren-match" . "#5f362f") | ||
| 1222 | ("bg-paren-match-intense" . "#7416b5") | ||
| 1223 | ("bg-region" . "#3c3c3c") | ||
| 1224 | |||
| 1225 | ("bg-tab-bar" . "#2c2c2c") | ||
| 1226 | ("bg-tab-active" . "#0e0e0e") | ||
| 1227 | ("bg-tab-inactive" . "#3d3d3d") | ||
| 1228 | ("fg-tab-active" . "#5ac3cf") | ||
| 1229 | |||
| 1230 | ("fg-escape-char-construct" . "#e7a59a") | ||
| 1231 | ("fg-escape-char-backslash" . "#abab00") | ||
| 1232 | |||
| 1233 | ("fg-lang-error" . "#ef8690") | ||
| 1234 | ("fg-lang-warning" . "#b0aa00") | ||
| 1235 | ("fg-lang-note" . "#9d9def") | ||
| 1236 | |||
| 1237 | ("fg-window-divider-inner" . "#646464") | ||
| 1238 | ("fg-window-divider-outer" . "#969696") | ||
| 1239 | |||
| 1240 | ("fg-unfocused" . "#93959b") | ||
| 1241 | |||
| 1242 | ("bg-header" . "#212121") ("fg-header" . "#dddddd") | ||
| 1243 | |||
| 1244 | ("bg-whitespace" . "#170016") ("fg-whitespace" . "#a4959f") | ||
| 1245 | |||
| 1246 | ("bg-diff-heading" . "#304466") ("fg-diff-heading" . "#dadffe") | ||
| 1247 | ("bg-diff-added" . "#0a280a") ("fg-diff-added" . "#94ba94") | ||
| 1248 | ("bg-diff-changed" . "#2a2000") ("fg-diff-changed" . "#b0ba9f") | ||
| 1249 | ("bg-diff-removed" . "#40160f") ("fg-diff-removed" . "#c6adaa") | ||
| 1250 | |||
| 1251 | ("bg-diff-refine-added" . "#005a36") ("fg-diff-refine-added" . "#e0f6e0") | ||
| 1252 | ("bg-diff-refine-changed" . "#585800") ("fg-diff-refine-changed" . "#ffffcc") | ||
| 1253 | ("bg-diff-refine-removed" . "#852828") ("fg-diff-refine-removed" . "#ffd9eb") | ||
| 1254 | |||
| 1255 | ("bg-diff-focus-added" . "#203d20") ("fg-diff-focus-added" . "#b4ddb4") | ||
| 1256 | ("bg-diff-focus-changed" . "#4a3a10") ("fg-diff-focus-changed" . "#d0daaf") | ||
| 1257 | ("bg-diff-focus-removed" . "#5e2526") ("fg-diff-focus-removed" . "#eebdba") | ||
| 1258 | |||
| 1259 | ("bg-diff-neutral-0" . "#575757") ("fg-diff-neutral-0" . "#fcfcfc") | ||
| 1260 | ("bg-diff-neutral-1" . "#454545") ("fg-diff-neutral-1" . "#dddddd") | ||
| 1261 | ("bg-diff-neutral-2" . "#313131") ("fg-diff-neutral-2" . "#bfbfbf") | ||
| 1262 | |||
| 1263 | ("bg-mark-sel" . "#002f2f") ("fg-mark-sel" . "#60cfa2") | ||
| 1264 | ("bg-mark-del" . "#5a0000") ("fg-mark-del" . "#ff99aa") | ||
| 1265 | ("bg-mark-alt" . "#3f2210") ("fg-mark-alt" . "#f0aa20")) | ||
| 1266 | "The entire palette of `modus-vivendi-theme'. | ||
| 1267 | Each element has the form (NAME . HEX).") | ||
| 1268 | |||
| 1269 | (defcustom modus-vivendi-theme-override-colors-alist '() | ||
| 1270 | "Association list of palette colour overrides. | ||
| 1271 | Values can be mapped to variables, using the same syntax as the | ||
| 1272 | one present in `modus-vivendi-theme-default-colors-alist'. | ||
| 1273 | |||
| 1274 | This is only meant for do-it-yourself usage, with the | ||
| 1275 | understanding that the user is responsible for the resulting | ||
| 1276 | contrast ratio between new and existing colours." | ||
| 1277 | :type '(alist | ||
| 1278 | :key-type (string :tag "Name") | ||
| 1279 | :value-type (string :tag " Hex"))) | ||
| 1280 | |||
| 1281 | (defmacro modus-vivendi-theme-with-color-variables (&rest body) | ||
| 1282 | "`let' bind all colours around BODY. | ||
| 1283 | Also bind `class' to ((class color) (min-colors 89))." | ||
| 1284 | (declare (indent 0)) | ||
| 1285 | `(let ((class '((class color) (min-colors 89))) | ||
| 1286 | ,@(mapcar (lambda (cons) | ||
| 1287 | (list (intern (car cons)) (cdr cons))) | ||
| 1288 | (append modus-vivendi-theme-default-colors-alist | ||
| 1289 | modus-vivendi-theme-override-colors-alist)) | ||
| 1290 | ;; simple conditional styles that evaluate user-facing | ||
| 1291 | ;; customisation options | ||
| 1292 | (modus-theme-slant | ||
| 1293 | (if modus-vivendi-theme-slanted-constructs 'italic 'normal)) | ||
| 1294 | (modus-theme-variable-pitch | ||
| 1295 | (if modus-vivendi-theme-variable-pitch-headings 'variable-pitch 'default))) | ||
| 1296 | ,@body))) | ||
| 1297 | |||
| 1298 | |||
| 1299 | |||
| 1300 | ;;; Faces | ||
| 1301 | |||
| 1302 | (modus-vivendi-theme-with-color-variables | ||
| 1303 | (custom-theme-set-faces | ||
| 1304 | 'modus-vivendi | ||
| 1305 | ;;;; custom faces | ||
| 1306 | ;; these bespoke faces are inherited by other constructs below | ||
| 1307 | ;;;;; subtle coloured backgrounds | ||
| 1308 | `(modus-theme-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim))) | ||
| 1309 | `(modus-theme-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim))) | ||
| 1310 | `(modus-theme-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim))) | ||
| 1311 | `(modus-theme-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) | ||
| 1312 | `(modus-theme-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim))) | ||
| 1313 | `(modus-theme-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim))) | ||
| 1314 | `(modus-theme-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 1315 | ;;;;; intense coloured backgrounds | ||
| 1316 | `(modus-theme-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main))) | ||
| 1317 | `(modus-theme-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main))) | ||
| 1318 | `(modus-theme-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main))) | ||
| 1319 | `(modus-theme-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main))) | ||
| 1320 | `(modus-theme-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main))) | ||
| 1321 | `(modus-theme-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main))) | ||
| 1322 | `(modus-theme-intense-neutral ((,class :background ,bg-active :foreground ,fg-main))) | ||
| 1323 | ;;;;; refined background and foreground combinations | ||
| 1324 | ;; general purpose styles that use an accented foreground against an | ||
| 1325 | ;; accented background | ||
| 1326 | `(modus-theme-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg))) | ||
| 1327 | `(modus-theme-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg))) | ||
| 1328 | `(modus-theme-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg))) | ||
| 1329 | `(modus-theme-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg))) | ||
| 1330 | `(modus-theme-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg))) | ||
| 1331 | `(modus-theme-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg))) | ||
| 1332 | ;;;;; "active" combinations, mostly for use on the mode line | ||
| 1333 | `(modus-theme-active-red ((,class :background ,red-active :foreground ,bg-active))) | ||
| 1334 | `(modus-theme-active-green ((,class :background ,green-active :foreground ,bg-active))) | ||
| 1335 | `(modus-theme-active-yellow ((,class :background ,yellow-active :foreground ,bg-active))) | ||
| 1336 | `(modus-theme-active-blue ((,class :background ,blue-active :foreground ,bg-active))) | ||
| 1337 | `(modus-theme-active-magenta ((,class :background ,magenta-active :foreground ,bg-active))) | ||
| 1338 | `(modus-theme-active-cyan ((,class :background ,cyan-active :foreground ,bg-active))) | ||
| 1339 | ;;;;; nuanced backgrounds | ||
| 1340 | ;; useful for adding an accented background that is suitable for all | ||
| 1341 | ;; main foreground colours (intended for use in Org source blocks) | ||
| 1342 | `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg | ||
| 1343 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1344 | `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg | ||
| 1345 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1346 | `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg | ||
| 1347 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1348 | `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg | ||
| 1349 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1350 | `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg | ||
| 1351 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1352 | `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg | ||
| 1353 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1354 | ;;;;; fringe-specific combinations | ||
| 1355 | `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main))) | ||
| 1356 | `(modus-theme-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main))) | ||
| 1357 | `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main))) | ||
| 1358 | `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main))) | ||
| 1359 | `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main))) | ||
| 1360 | `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main))) | ||
| 1361 | ;;;;; special base values | ||
| 1362 | ;; these are closer to the grayscale than the accents defined above | ||
| 1363 | ;; and should only be used when the next closest alternative would be | ||
| 1364 | ;; a greyscale value than an accented one | ||
| 1365 | `(modus-theme-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 1366 | `(modus-theme-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild))) | ||
| 1367 | `(modus-theme-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm))) | ||
| 1368 | `(modus-theme-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm))) | ||
| 1369 | ;;;;; diff-specific combinations | ||
| 1370 | ;; intended for `diff-mode' or equivalent | ||
| 1371 | `(modus-theme-diff-added | ||
| 1372 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1373 | bg-main green | ||
| 1374 | bg-diff-focus-added fg-diff-focus-added | ||
| 1375 | green-nuanced-bg fg-diff-added)))) | ||
| 1376 | `(modus-theme-diff-changed | ||
| 1377 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1378 | bg-main yellow | ||
| 1379 | bg-diff-focus-changed fg-diff-focus-changed | ||
| 1380 | yellow-nuanced-bg fg-diff-changed)))) | ||
| 1381 | `(modus-theme-diff-removed | ||
| 1382 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1383 | bg-main red | ||
| 1384 | bg-diff-focus-removed fg-diff-focus-removed | ||
| 1385 | red-nuanced-bg fg-diff-removed)))) | ||
| 1386 | `(modus-theme-diff-refine-added | ||
| 1387 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1388 | bg-diff-added fg-diff-added | ||
| 1389 | bg-diff-refine-added fg-diff-refine-added | ||
| 1390 | bg-diff-focus-added fg-diff-focus-added)))) | ||
| 1391 | `(modus-theme-diff-refine-changed | ||
| 1392 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1393 | bg-diff-changed fg-diff-changed | ||
| 1394 | bg-diff-refine-changed fg-diff-refine-changed | ||
| 1395 | bg-diff-focus-changed fg-diff-focus-changed)))) | ||
| 1396 | `(modus-theme-diff-refine-removed | ||
| 1397 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1398 | bg-diff-removed fg-diff-removed | ||
| 1399 | bg-diff-refine-removed fg-diff-refine-removed | ||
| 1400 | bg-diff-focus-removed fg-diff-focus-removed)))) | ||
| 1401 | `(modus-theme-diff-focus-added | ||
| 1402 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1403 | bg-dim green | ||
| 1404 | bg-diff-focus-added fg-diff-focus-added | ||
| 1405 | bg-diff-added fg-diff-added)))) | ||
| 1406 | `(modus-theme-diff-focus-changed | ||
| 1407 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1408 | bg-dim yellow | ||
| 1409 | bg-diff-focus-changed fg-diff-focus-changed | ||
| 1410 | bg-diff-changed fg-diff-changed)))) | ||
| 1411 | `(modus-theme-diff-focus-removed | ||
| 1412 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1413 | bg-dim red | ||
| 1414 | bg-diff-focus-removed fg-diff-focus-removed | ||
| 1415 | bg-diff-removed fg-diff-removed)))) | ||
| 1416 | `(modus-theme-diff-heading | ||
| 1417 | ((,class ,@(modus-vivendi-theme-diff | ||
| 1418 | bg-alt blue-alt | ||
| 1419 | bg-diff-heading fg-diff-heading | ||
| 1420 | blue-nuanced-bg blue)))) | ||
| 1421 | ;;;;; mark indicators | ||
| 1422 | ;; colour combinations intended for Dired, Ibuffer, or equivalent | ||
| 1423 | `(modus-theme-pseudo-header ((,class :inherit bold :foreground ,fg-main))) | ||
| 1424 | `(modus-theme-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt))) | ||
| 1425 | `(modus-theme-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del))) | ||
| 1426 | `(modus-theme-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel))) | ||
| 1427 | `(modus-theme-mark-symbol ((,class :inherit bold :foreground ,blue-alt))) | ||
| 1428 | ;;;;; heading levels | ||
| 1429 | ;; styles for regular headings used in Org, Markdown, Info, etc. | ||
| 1430 | `(modus-theme-heading-1 | ||
| 1431 | ((,class ,@(modus-vivendi-theme-heading | ||
| 1432 | 1 fg-main magenta-alt-other magenta-nuanced-bg bg-region) | ||
| 1433 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 1434 | `(modus-theme-heading-2 | ||
| 1435 | ((,class ,@(modus-vivendi-theme-heading | ||
| 1436 | 2 fg-special-warm magenta-alt red-nuanced-bg bg-region) | ||
| 1437 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-3)))) | ||
| 1438 | `(modus-theme-heading-3 | ||
| 1439 | ((,class ,@(modus-vivendi-theme-heading | ||
| 1440 | 3 fg-special-cold blue blue-nuanced-bg bg-region) | ||
| 1441 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-2)))) | ||
| 1442 | `(modus-theme-heading-4 | ||
| 1443 | ((,class ,@(modus-vivendi-theme-heading | ||
| 1444 | 4 fg-special-mild cyan cyan-nuanced-bg bg-region) | ||
| 1445 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-1)))) | ||
| 1446 | `(modus-theme-heading-5 | ||
| 1447 | ((,class ,@(modus-vivendi-theme-heading | ||
| 1448 | 5 fg-special-calm green-alt-other green-nuanced-bg bg-region)))) | ||
| 1449 | `(modus-theme-heading-6 | ||
| 1450 | ((,class ,@(modus-vivendi-theme-heading | ||
| 1451 | 6 yellow-nuanced yellow-alt-other yellow-nuanced-bg bg-region)))) | ||
| 1452 | `(modus-theme-heading-7 | ||
| 1453 | ((,class ,@(modus-vivendi-theme-heading | ||
| 1454 | 7 red-nuanced red-alt red-nuanced-bg bg-region)))) | ||
| 1455 | `(modus-theme-heading-8 | ||
| 1456 | ((,class ,@(modus-vivendi-theme-heading | ||
| 1457 | 8 fg-dim magenta bg-alt bg-region)))) | ||
| 1458 | ;;;;; other custom faces | ||
| 1459 | `(modus-theme-hl-line ((,class :background ,(if modus-vivendi-theme-intense-hl-line | ||
| 1460 | bg-hl-line-intense bg-hl-line) | ||
| 1461 | (and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1462 | ;;;; standard faces | ||
| 1463 | ;;;;; absolute essentials | ||
| 1464 | `(default ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 1465 | `(cursor ((,class :background ,fg-main))) | ||
| 1466 | `(fringe ((,class ,@(modus-vivendi-theme-fringe bg-inactive bg-active) | ||
| 1467 | :foreground ,fg-main))) | ||
| 1468 | `(vertical-border ((,class :foreground ,fg-window-divider-inner))) | ||
| 1469 | ;;;;; basic and/or ungrouped styles | ||
| 1470 | ;; Modify the `bold' face to change the weight of all "bold" elements | ||
| 1471 | ;; defined by the theme. You need a typeface that supports a | ||
| 1472 | ;; multitude of heavier weights than the regular one and then you | ||
| 1473 | ;; must specify the exact name of the one you wish to apply. Example | ||
| 1474 | ;; for your init.el: | ||
| 1475 | ;; | ||
| 1476 | ;; (set-face-attribute 'bold nil :weight 'semibold) | ||
| 1477 | `(bold ((,class :weight bold))) | ||
| 1478 | `(comint-highlight-input ((,class :inherit bold))) | ||
| 1479 | `(comint-highlight-prompt ((,class ,@(modus-vivendi-theme-bold-weight) | ||
| 1480 | ,@(modus-vivendi-theme-prompt | ||
| 1481 | cyan | ||
| 1482 | blue-nuanced-bg blue-alt | ||
| 1483 | blue-refine-bg fg-main)))) | ||
| 1484 | `(error ((,class :inherit bold :foreground ,red))) | ||
| 1485 | `(escape-glyph ((,class :foreground ,fg-escape-char-construct))) | ||
| 1486 | `(file-name-shadow ((,class :foreground ,fg-unfocused))) | ||
| 1487 | `(header-line ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 1488 | `(header-line-highlight ((,class :inherit modus-theme-active-blue))) | ||
| 1489 | `(help-argument-name ((,class :foreground ,cyan :slant ,modus-theme-slant))) | ||
| 1490 | `(homoglyph ((,class :foreground ,fg-escape-char-construct))) | ||
| 1491 | `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other))) | ||
| 1492 | `(italic ((,class :slant italic))) | ||
| 1493 | `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct))) | ||
| 1494 | `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t))) | ||
| 1495 | `(minibuffer-prompt ((,class ,@(modus-vivendi-theme-prompt | ||
| 1496 | cyan-alt-other | ||
| 1497 | cyan-nuanced-bg cyan | ||
| 1498 | cyan-refine-bg fg-main)))) | ||
| 1499 | `(mm-command-output ((,class :foreground ,red-alt-other))) | ||
| 1500 | `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 1501 | `(next-error ((,class :inherit modus-theme-subtle-red))) | ||
| 1502 | `(rectangle-preview ((,class :inherit modus-theme-special-mild))) | ||
| 1503 | `(region ((,class :background ,bg-region :foreground ,fg-main))) | ||
| 1504 | `(secondary-selection ((,class :inherit modus-theme-special-cold))) | ||
| 1505 | `(shadow ((,class :foreground ,fg-alt))) | ||
| 1506 | `(success ((,class :inherit bold :foreground ,green))) | ||
| 1507 | `(trailing-whitespace ((,class :background ,red-intense-bg))) | ||
| 1508 | `(warning ((,class :inherit bold :foreground ,yellow))) | ||
| 1509 | ;;;;; buttons, links, widgets | ||
| 1510 | `(button ((,class :foreground ,blue-alt-other | ||
| 1511 | ,@(unless modus-vivendi-theme-no-link-underline | ||
| 1512 | (list :underline t))))) | ||
| 1513 | `(link ((,class :inherit button))) | ||
| 1514 | `(link-visited ((,class :inherit link :foreground ,magenta-alt-other))) | ||
| 1515 | `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 1516 | `(widget-button ((,class :inherit button))) | ||
| 1517 | `(widget-button-pressed ((,class :inherit button :foreground ,magenta))) | ||
| 1518 | `(widget-documentation ((,class :foreground ,green))) | ||
| 1519 | `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim))) | ||
| 1520 | `(widget-inactive ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 1521 | `(widget-single-line-field ((,class :inherit widget-field))) | ||
| 1522 | ;;;;; ag | ||
| 1523 | `(ag-hit-face ((,class :foreground ,fg-special-cold))) | ||
| 1524 | `(ag-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 1525 | ;;;;; alert | ||
| 1526 | `(alert-high-face ((,class :inherit bold :foreground ,red-alt))) | ||
| 1527 | `(alert-low-face ((,class :foreground ,fg-special-mild))) | ||
| 1528 | `(alert-moderate-face ((,class :inherit bold :foreground ,yellow))) | ||
| 1529 | `(alert-trivial-face ((,class :foreground ,fg-special-calm))) | ||
| 1530 | `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense))) | ||
| 1531 | ;;;;; all-the-icons | ||
| 1532 | `(all-the-icons-blue ((,class :foreground ,blue))) | ||
| 1533 | `(all-the-icons-blue-alt ((,class :foreground ,blue-alt))) | ||
| 1534 | `(all-the-icons-cyan ((,class :foreground ,cyan))) | ||
| 1535 | `(all-the-icons-cyan-alt ((,class :foreground ,cyan-alt))) | ||
| 1536 | `(all-the-icons-dblue ((,class :foreground ,blue-alt-other))) | ||
| 1537 | `(all-the-icons-dcyan ((,class :foreground ,cyan-alt-other))) | ||
| 1538 | `(all-the-icons-dgreen ((,class :foreground ,green-alt-other))) | ||
| 1539 | `(all-the-icons-dired-dir-face ((,class :foreground ,blue))) | ||
| 1540 | `(all-the-icons-dmaroon ((,class :foreground ,magenta-alt-other))) | ||
| 1541 | `(all-the-icons-dorange ((,class :foreground ,red-alt-other))) | ||
| 1542 | `(all-the-icons-dpink ((,class :foreground ,magenta))) | ||
| 1543 | `(all-the-icons-dpurple ((,class :foreground ,magenta-alt))) | ||
| 1544 | `(all-the-icons-dred ((,class :foreground ,red))) | ||
| 1545 | `(all-the-icons-dsilver ((,class :foreground ,fg-special-cold))) | ||
| 1546 | `(all-the-icons-dyellow ((,class :foreground ,yellow))) | ||
| 1547 | `(all-the-icons-green ((,class :foreground ,green))) | ||
| 1548 | `(all-the-icons-lblue ((,class :foreground ,blue-refine-fg))) | ||
| 1549 | `(all-the-icons-lcyan ((,class :foreground ,cyan-refine-fg))) | ||
| 1550 | `(all-the-icons-lgreen ((,class :foreground ,green-refine-fg))) | ||
| 1551 | `(all-the-icons-lmaroon ((,class :foreground ,magenta-refine-fg))) | ||
| 1552 | `(all-the-icons-lorange ((,class :foreground ,red-refine-fg))) | ||
| 1553 | `(all-the-icons-lpink ((,class :foreground ,magenta-refine-fg))) | ||
| 1554 | `(all-the-icons-lpurple ((,class :foreground ,magenta-refine-fg))) | ||
| 1555 | `(all-the-icons-lred ((,class :foreground ,red-refine-fg))) | ||
| 1556 | `(all-the-icons-lsilver ((,class :foreground ,fg-special-cold))) | ||
| 1557 | `(all-the-icons-lyellow ((,class :foreground ,yellow-refine-fg))) | ||
| 1558 | `(all-the-icons-maroon ((,class :foreground ,magenta))) | ||
| 1559 | `(all-the-icons-orange ((,class :foreground ,red-alt))) | ||
| 1560 | `(all-the-icons-pink ((,class :foreground ,magenta))) | ||
| 1561 | `(all-the-icons-purple ((,class :foreground ,magenta-alt))) | ||
| 1562 | `(all-the-icons-purple-alt ((,class :foreground ,magenta-alt-other))) | ||
| 1563 | `(all-the-icons-red ((,class :foreground ,red))) | ||
| 1564 | `(all-the-icons-red-alt ((,class :foreground ,red-alt))) | ||
| 1565 | `(all-the-icons-silver ((,class :foreground ,fg-special-cold))) | ||
| 1566 | `(all-the-icons-yellow ((,class :foreground ,yellow))) | ||
| 1567 | ;;;;; annotate | ||
| 1568 | `(annotate-annotation ((,class :inherit modus-theme-subtle-blue))) | ||
| 1569 | `(annotate-annotation-secondary ((,class :inherit modus-theme-subtle-green))) | ||
| 1570 | `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense))) | ||
| 1571 | `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense))) | ||
| 1572 | ;;;;; anzu | ||
| 1573 | `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan))) | ||
| 1574 | `(anzu-match-2 ((,class :inherit modus-theme-subtle-green))) | ||
| 1575 | `(anzu-match-3 ((,class :inherit modus-theme-subtle-yellow))) | ||
| 1576 | `(anzu-mode-line ((,class :inherit bold :foreground ,green-active))) | ||
| 1577 | `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active))) | ||
| 1578 | `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow :underline t))) | ||
| 1579 | `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 1580 | ;;;;; apropos | ||
| 1581 | `(apropos-function-button ((,class :inherit button :foreground ,magenta-alt-other))) | ||
| 1582 | `(apropos-keybinding ((,class :inherit bold :foreground ,cyan))) | ||
| 1583 | `(apropos-misc-button ((,class :inherit button :foreground ,cyan-alt-other))) | ||
| 1584 | `(apropos-property ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt))) | ||
| 1585 | `(apropos-symbol ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue-alt-other))) | ||
| 1586 | `(apropos-user-option-button ((,class :inherit button :foreground ,green-alt-other))) | ||
| 1587 | `(apropos-variable-button ((,class :inherit button :foreground ,blue))) | ||
| 1588 | ;;;;; apt-sources-list | ||
| 1589 | `(apt-sources-list-components ((,class :foreground ,cyan))) | ||
| 1590 | `(apt-sources-list-options ((,class :foreground ,yellow))) | ||
| 1591 | `(apt-sources-list-suite ((,class :foreground ,green))) | ||
| 1592 | `(apt-sources-list-type ((,class :foreground ,magenta))) | ||
| 1593 | `(apt-sources-list-uri ((,class :foreground ,blue))) | ||
| 1594 | ;;;;; artbollocks-mode | ||
| 1595 | `(artbollocks-face ((,class :foreground ,cyan-nuanced :underline ,fg-lang-note))) | ||
| 1596 | `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) | ||
| 1597 | `(artbollocks-passive-voice-face ((,class :foreground ,yellow-nuanced :underline ,fg-lang-warning))) | ||
| 1598 | `(artbollocks-weasel-words-face ((,class :foreground ,red-nuanced :underline ,fg-lang-error))) | ||
| 1599 | ;;;;; auctex and Tex | ||
| 1600 | `(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm))) | ||
| 1601 | `(font-latex-doctex-documentation-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 1602 | `(font-latex-doctex-preprocessor-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red-alt-other))) | ||
| 1603 | `(font-latex-italic-face ((,class :foreground ,fg-special-calm :slant italic))) | ||
| 1604 | `(font-latex-math-face ((,class :foreground ,cyan-alt-other))) | ||
| 1605 | `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other))) | ||
| 1606 | `(font-latex-sectioning-0-face ((,class :inherit ,modus-theme-variable-pitch :foreground ,blue-nuanced))) | ||
| 1607 | `(font-latex-sectioning-1-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced))) | ||
| 1608 | `(font-latex-sectioning-2-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced))) | ||
| 1609 | `(font-latex-sectioning-3-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced))) | ||
| 1610 | `(font-latex-sectioning-4-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,blue-nuanced))) | ||
| 1611 | `(font-latex-sectioning-5-face ((,class :inherit ,modus-theme-variable-pitch :foreground ,blue-nuanced))) | ||
| 1612 | `(font-latex-sedate-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other))) | ||
| 1613 | `(font-latex-slide-title-face ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,cyan-nuanced | ||
| 1614 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 1615 | `(font-latex-string-face ((,class :foreground ,blue-alt))) | ||
| 1616 | `(font-latex-subscript-face ((,class :height 0.95))) | ||
| 1617 | `(font-latex-superscript-face ((,class :height 0.95))) | ||
| 1618 | `(font-latex-verbatim-face ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 1619 | `(font-latex-warning-face ((,class :foreground ,yellow-alt-other))) | ||
| 1620 | `(tex-match ((,class :foreground ,blue-alt-other))) | ||
| 1621 | `(tex-verbatim ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 1622 | `(texinfo-heading ((,class :foreground ,magenta))) | ||
| 1623 | `(TeX-error-description-error ((,class :inherit bold :foreground ,red))) | ||
| 1624 | `(TeX-error-description-help ((,class :foreground ,blue))) | ||
| 1625 | `(TeX-error-description-tex-said ((,class :foreground ,blue))) | ||
| 1626 | `(TeX-error-description-warning ((,class :inherit bold :foreground ,yellow))) | ||
| 1627 | ;;;;; auto-dim-other-buffers | ||
| 1628 | `(auto-dim-other-buffers-face ((,class :background ,bg-alt))) | ||
| 1629 | ;;;;; avy | ||
| 1630 | `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 1631 | `(avy-goto-char-timer-face ((,class :inherit (modus-theme-intense-yellow bold)))) | ||
| 1632 | `(avy-lead-face ((,class :inherit (modus-theme-intense-magenta bold)))) | ||
| 1633 | `(avy-lead-face-0 ((,class :inherit (modus-theme-intense-blue bold)))) | ||
| 1634 | `(avy-lead-face-1 ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 1635 | `(avy-lead-face-2 ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 1636 | ;;;;; aw (ace-window) | ||
| 1637 | `(aw-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 1638 | `(aw-key-face ((,class :inherit bold :foreground ,blue-intense))) | ||
| 1639 | `(aw-leading-char-face ((,class :inherit bold :height 1.5 :background ,bg-main :foreground ,red-intense))) | ||
| 1640 | `(aw-minibuffer-leading-char-face ((,class :foreground ,magenta-active))) | ||
| 1641 | `(aw-mode-line-face ((,class :inherit bold))) | ||
| 1642 | ;;;;; awesome-tray | ||
| 1643 | `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 1644 | `(awesome-tray-module-battery-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 1645 | `(awesome-tray-module-buffer-name-face ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 1646 | `(awesome-tray-module-circe-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 1647 | `(awesome-tray-module-date-face ((,class :inherit bold :foreground ,fg-dim))) | ||
| 1648 | `(awesome-tray-module-evil-face ((,class :inherit bold :foreground ,green-alt))) | ||
| 1649 | `(awesome-tray-module-git-face ((,class :inherit bold :foreground ,magenta))) | ||
| 1650 | `(awesome-tray-module-last-command-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 1651 | `(awesome-tray-module-location-face ((,class :inherit bold :foreground ,yellow))) | ||
| 1652 | `(awesome-tray-module-mode-name-face ((,class :inherit bold :foreground ,green))) | ||
| 1653 | `(awesome-tray-module-parent-dir-face ((,class :inherit bold :foreground ,cyan))) | ||
| 1654 | `(awesome-tray-module-rvm-face ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 1655 | ;;;;; binder | ||
| 1656 | `(binder-sidebar-highlight ((,class :inherit modus-theme-subtle-cyan))) | ||
| 1657 | `(binder-sidebar-marked ((,class :inherit modus-theme-mark-sel))) | ||
| 1658 | `(binder-sidebar-missing ((,class :inherit modus-theme-subtle-red))) | ||
| 1659 | `(binder-sidebar-tags ((,class :foreground ,cyan))) | ||
| 1660 | ;;;;; bm | ||
| 1661 | `(bm-face ((,class :inherit modus-theme-subtle-yellow | ||
| 1662 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1663 | `(bm-fringe-face ((,class :inherit modus-theme-fringe-yellow))) | ||
| 1664 | `(bm-fringe-persistent-face ((,class :inherit modus-theme-fringe-blue))) | ||
| 1665 | `(bm-persistent-face ((,class :inherit modus-theme-intense-blue | ||
| 1666 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 1667 | ;;;;; bongo | ||
| 1668 | `(bongo-album-title ((,class :foreground ,cyan-active))) | ||
| 1669 | `(bongo-artist ((,class :foreground ,magenta-active))) | ||
| 1670 | `(bongo-currently-playing-track ((,class :inherit bold))) | ||
| 1671 | `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta :underline t))) | ||
| 1672 | `(bongo-filled-seek-bar ((,class :background ,blue-subtle-bg :foreground ,fg-main))) | ||
| 1673 | `(bongo-marked-track ((,class :foreground ,fg-mark-alt))) | ||
| 1674 | `(bongo-marked-track-line ((,class :background ,bg-mark-alt))) | ||
| 1675 | `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t))) | ||
| 1676 | `(bongo-track-length ((,class :foreground ,blue-alt-other))) | ||
| 1677 | `(bongo-track-title ((,class :foreground ,blue-active))) | ||
| 1678 | `(bongo-unfilled-seek-bar ((,class :background ,blue-nuanced-bg :foreground ,fg-main))) | ||
| 1679 | ;;;;; boon | ||
| 1680 | `(boon-modeline-cmd ((,class :inherit modus-theme-active-blue))) | ||
| 1681 | `(boon-modeline-ins ((,class :inherit modus-theme-active-red))) | ||
| 1682 | `(boon-modeline-off ((,class :inherit modus-theme-active-yellow))) | ||
| 1683 | `(boon-modeline-spc ((,class :inherit modus-theme-active-green))) | ||
| 1684 | ;;;;; breakpoint (built-in gdb-mi.el) | ||
| 1685 | `(breakpoint-disabled ((,class :foreground ,fg-alt))) | ||
| 1686 | `(breakpoint-enabled ((,class :inherit bold :foreground ,red))) | ||
| 1687 | ;;;;; buffer-expose | ||
| 1688 | `(buffer-expose-ace-char-face ((,class :inherit bold :foreground ,red-active))) | ||
| 1689 | `(buffer-expose-mode-line-face ((,class :foreground ,cyan-active))) | ||
| 1690 | `(buffer-expose-selected-face ((,class :inherit modus-theme-special-mild))) | ||
| 1691 | ;;;;; calendar and diary | ||
| 1692 | `(calendar-month-header ((,class :inherit bold :foreground ,fg-main))) | ||
| 1693 | `(calendar-today ((,class :underline t))) | ||
| 1694 | `(calendar-weekday-header ((,class :foreground ,fg-dim))) | ||
| 1695 | `(calendar-weekend-header ((,class :foreground ,fg-alt))) | ||
| 1696 | `(diary ((,class :foreground ,cyan-alt-other))) | ||
| 1697 | `(diary-anniversary ((,class :foreground ,red-alt-other))) | ||
| 1698 | `(diary-time ((,class :foreground ,blue-alt))) | ||
| 1699 | `(holiday ((,class :foreground ,magenta-alt))) | ||
| 1700 | ;;;;; calfw | ||
| 1701 | `(cfw:face-annotation ((,class :foreground ,fg-special-warm))) | ||
| 1702 | `(cfw:face-day-title ((,class :foreground ,fg-main))) | ||
| 1703 | `(cfw:face-default-content ((,class :foreground ,green-alt))) | ||
| 1704 | `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold)))) | ||
| 1705 | `(cfw:face-disable ((,class :foreground ,fg-unfocused))) | ||
| 1706 | `(cfw:face-grid ((,class :foreground ,fg-window-divider-outer))) | ||
| 1707 | `(cfw:face-header ((,class :inherit bold :foreground ,fg-main))) | ||
| 1708 | `(cfw:face-holiday ((,class :foreground ,magenta-alt-other))) | ||
| 1709 | `(cfw:face-periods ((,class :foreground ,cyan-alt-other))) | ||
| 1710 | `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 1711 | `(cfw:face-select ((,class :inherit modus-theme-intense-blue))) | ||
| 1712 | `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 1713 | `(cfw:face-title ((,class :inherit ,modus-theme-variable-pitch | ||
| 1714 | :foreground ,fg-special-cold | ||
| 1715 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-5)))) | ||
| 1716 | `(cfw:face-today ((,class :background ,bg-inactive))) | ||
| 1717 | `(cfw:face-today-title ((,class :background ,bg-active))) | ||
| 1718 | `(cfw:face-toolbar ((,class :background ,bg-alt :foreground ,bg-alt))) | ||
| 1719 | `(cfw:face-toolbar-button-off ((,class :foreground ,fg-alt))) | ||
| 1720 | `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg | ||
| 1721 | :foreground ,blue-alt))) | ||
| 1722 | ;;;;; centaur-tabs | ||
| 1723 | `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active))) | ||
| 1724 | `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) | ||
| 1725 | `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected))) | ||
| 1726 | `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected))) | ||
| 1727 | `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected))) | ||
| 1728 | `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected))) | ||
| 1729 | `(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main))) | ||
| 1730 | `(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active :foreground ,fg-main))) | ||
| 1731 | `(centaur-tabs-selected-modified ((,class :background ,bg-tab-active :foreground ,fg-main :slant italic))) | ||
| 1732 | `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground ,fg-dim))) | ||
| 1733 | `(centaur-tabs-unselected-modified ((,class :background ,bg-tab-inactive :foreground ,fg-dim :slant italic))) | ||
| 1734 | ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') | ||
| 1735 | `(change-log-acknowledgment ((,class :foreground ,fg-alt))) | ||
| 1736 | `(change-log-conditionals ((,class :foreground ,magenta-alt))) | ||
| 1737 | `(change-log-date ((,class :foreground ,cyan-alt-other))) | ||
| 1738 | `(change-log-email ((,class :foreground ,cyan))) | ||
| 1739 | `(change-log-file ((,class :foreground ,blue))) | ||
| 1740 | `(change-log-function ((,class :foreground ,green-alt-other))) | ||
| 1741 | `(change-log-list ((,class :foreground ,magenta-alt-other))) | ||
| 1742 | `(change-log-name ((,class :foreground ,cyan))) | ||
| 1743 | `(log-edit-header ((,class :foreground ,fg-special-warm))) | ||
| 1744 | `(log-edit-summary ((,class :inherit bold :foreground ,cyan))) | ||
| 1745 | `(log-edit-unknown-header ((,class :foreground ,fg-alt))) | ||
| 1746 | `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1747 | `(log-view-message ((,class :foreground ,fg-alt))) | ||
| 1748 | ;;;;; cider | ||
| 1749 | `(cider-debug-code-overlay-face ((,class :background ,bg-alt))) | ||
| 1750 | `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t))) | ||
| 1751 | `(cider-deprecated-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 1752 | `(cider-docview-emphasis-face ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 1753 | `(cider-docview-literal-face ((,class :foreground ,blue-alt))) | ||
| 1754 | `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1755 | `(cider-docview-table-border-face ((,class :foreground ,fg-alt))) | ||
| 1756 | `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim))) | ||
| 1757 | `(cider-enlightened-local-face ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 1758 | `(cider-error-highlight-face ((,class :foreground ,red :underline t))) | ||
| 1759 | `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,yellow))) | ||
| 1760 | `(cider-fringe-good-face ((,class :foreground ,green-active))) | ||
| 1761 | `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim))) | ||
| 1762 | `(cider-reader-conditional-face ((,class :foreground ,fg-special-warm :slant italic))) | ||
| 1763 | `(cider-repl-input-face ((,class :inherit bold))) | ||
| 1764 | `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other))) | ||
| 1765 | `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red))) | ||
| 1766 | `(cider-repl-stdout-face ((,class :foreground ,blue))) | ||
| 1767 | `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim))) | ||
| 1768 | `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground ,red))) | ||
| 1769 | `(cider-stacktrace-error-message-face ((,class :foreground ,red-alt-other :slant italic))) | ||
| 1770 | `(cider-stacktrace-face ((,class :foreground ,fg-main))) | ||
| 1771 | `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt :underline t))) | ||
| 1772 | `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt))) | ||
| 1773 | `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 1774 | `(cider-stacktrace-ns-face ((,class :foreground ,fg-alt :slant italic))) | ||
| 1775 | `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red))) | ||
| 1776 | `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button) | ||
| 1777 | :background ,bg-alt :foreground ,fg-alt))) | ||
| 1778 | `(cider-test-error-face ((,class :inherit modus-theme-subtle-red))) | ||
| 1779 | `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 1780 | `(cider-test-success-face ((,class :inherit modus-theme-intense-green))) | ||
| 1781 | `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim))) | ||
| 1782 | `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t))) | ||
| 1783 | ;;;;; circe (and lui) | ||
| 1784 | `(circe-fool-face ((,class :foreground ,fg-alt))) | ||
| 1785 | `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue))) | ||
| 1786 | `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 1787 | `(circe-server-face ((,class :foreground ,fg-unfocused))) | ||
| 1788 | `(lui-button-face ((,class :inherit button :foreground ,blue))) | ||
| 1789 | `(lui-highlight-face ((,class :foreground ,magenta-alt))) | ||
| 1790 | `(lui-time-stamp-face ((,class :foreground ,blue-nuanced))) | ||
| 1791 | ;;;;; color-rg | ||
| 1792 | `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other))) | ||
| 1793 | `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main))) | ||
| 1794 | `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1795 | `(color-rg-font-lock-flash ((,class :inherit modus-theme-intense-blue))) | ||
| 1796 | `(color-rg-font-lock-function-location ((,class :inherit modus-theme-special-calm))) | ||
| 1797 | `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active))) | ||
| 1798 | `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active))) | ||
| 1799 | `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active))) | ||
| 1800 | `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active))) | ||
| 1801 | `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm))) | ||
| 1802 | `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue))) | ||
| 1803 | `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red))) | ||
| 1804 | `(color-rg-font-lock-match ((,class :inherit modus-theme-special-calm))) | ||
| 1805 | `(color-rg-font-lock-position-splitter ((,class :foreground ,fg-alt))) | ||
| 1806 | ;;;;; column-enforce-mode | ||
| 1807 | `(column-enforce-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 1808 | ;;;;; company-mode | ||
| 1809 | `(company-echo-common ((,class :foreground ,magenta-alt-other))) | ||
| 1810 | `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 1811 | `(company-preview-common ((,class :foreground ,blue-alt))) | ||
| 1812 | `(company-preview-search ((,class :inherit modus-theme-special-calm))) | ||
| 1813 | `(company-scrollbar-bg ((,class :background ,bg-active))) | ||
| 1814 | `(company-scrollbar-fg ((,class :background ,fg-active))) | ||
| 1815 | `(company-template-field ((,class :inherit modus-theme-intense-magenta))) | ||
| 1816 | `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 1817 | `(company-tooltip-annotation ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 1818 | `(company-tooltip-annotation-selection ((,class :inherit bold :foreground ,fg-main))) | ||
| 1819 | `(company-tooltip-common ((,class :inherit bold :foreground ,blue-alt))) | ||
| 1820 | `(company-tooltip-common-selection ((,class :foreground ,fg-main))) | ||
| 1821 | `(company-tooltip-mouse ((,class :inherit modus-theme-intense-blue))) | ||
| 1822 | `(company-tooltip-search ((,class :inherit (modus-theme-refine-cyan bold)))) | ||
| 1823 | `(company-tooltip-search-selection ((,class :inherit (modus-theme-intense-green bold) :underline t))) | ||
| 1824 | `(company-tooltip-selection ((,class :inherit (modus-theme-subtle-cyan bold)))) | ||
| 1825 | ;;;;; company-posframe | ||
| 1826 | `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active))) | ||
| 1827 | `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 1828 | `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 1829 | ;;;;; compilation feedback | ||
| 1830 | `(compilation-column-number ((,class :foreground ,magenta-alt-other))) | ||
| 1831 | `(compilation-error ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red))) | ||
| 1832 | `(compilation-info ((,class :foreground ,fg-special-cold))) | ||
| 1833 | `(compilation-line-number ((,class :foreground ,fg-special-warm))) | ||
| 1834 | `(compilation-mode-line-exit ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue-active))) | ||
| 1835 | `(compilation-mode-line-fail ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red-active))) | ||
| 1836 | `(compilation-mode-line-run ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-active))) | ||
| 1837 | `(compilation-warning ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,yellow))) | ||
| 1838 | ;;;;; completions | ||
| 1839 | `(completions-annotations ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 1840 | `(completions-common-part ((,class ,@(modus-vivendi-theme-standard-completions | ||
| 1841 | blue-alt blue-nuanced-bg | ||
| 1842 | cyan-refine-bg cyan-refine-fg)))) | ||
| 1843 | `(completions-first-difference ((,class :inherit bold | ||
| 1844 | ,@(modus-vivendi-theme-standard-completions | ||
| 1845 | magenta-alt blue-nuanced-bg | ||
| 1846 | magenta-intense-bg fg-main)))) | ||
| 1847 | ;;;;; counsel | ||
| 1848 | `(counsel-active-mode ((,class :foreground ,magenta-alt-other))) | ||
| 1849 | `(counsel-application-name ((,class :foreground ,red-alt-other))) | ||
| 1850 | `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 1851 | `(counsel-outline-1 ((,class :inherit outline-1))) | ||
| 1852 | `(counsel-outline-2 ((,class :inherit outline-2))) | ||
| 1853 | `(counsel-outline-3 ((,class :inherit outline-3))) | ||
| 1854 | `(counsel-outline-4 ((,class :inherit outline-4))) | ||
| 1855 | `(counsel-outline-5 ((,class :inherit outline-5))) | ||
| 1856 | `(counsel-outline-6 ((,class :inherit outline-6))) | ||
| 1857 | `(counsel-outline-7 ((,class :inherit outline-7))) | ||
| 1858 | `(counsel-outline-8 ((,class :inherit outline-8))) | ||
| 1859 | `(counsel-outline-default ((,class :inherit bold :foreground ,green-alt-other))) | ||
| 1860 | `(counsel-variable-documentation ((,class :foreground ,yellow-alt-other :slant ,modus-theme-slant))) | ||
| 1861 | ;;;;; counsel-css | ||
| 1862 | `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue))) | ||
| 1863 | `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan))) | ||
| 1864 | `(counsel-css-selector-depth-face-3 ((,class :foreground ,green))) | ||
| 1865 | `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow))) | ||
| 1866 | `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta))) | ||
| 1867 | `(counsel-css-selector-depth-face-6 ((,class :foreground ,red))) | ||
| 1868 | ;;;;; counsel-notmuch | ||
| 1869 | `(counsel-notmuch-count-face ((,class :foreground ,cyan))) | ||
| 1870 | `(counsel-notmuch-date-face ((,class :foreground ,blue))) | ||
| 1871 | `(counsel-notmuch-people-face ((,class :foreground ,magenta))) | ||
| 1872 | `(counsel-notmuch-subject-face ((,class :foreground ,magenta-alt-other))) | ||
| 1873 | ;;;;; counsel-org-capture-string | ||
| 1874 | `(counsel-org-capture-string-template-body-face ((,class :foreground ,fg-special-cold))) | ||
| 1875 | ;;;;; cov | ||
| 1876 | `(cov-coverage-not-run-face ((,class :foreground ,red-intense))) | ||
| 1877 | `(cov-coverage-run-face ((,class :foreground ,green-intense))) | ||
| 1878 | `(cov-heavy-face ((,class :foreground ,magenta-intense))) | ||
| 1879 | `(cov-light-face ((,class :foreground ,blue-intense))) | ||
| 1880 | `(cov-med-face ((,class :foreground ,yellow-intense))) | ||
| 1881 | `(cov-none-face ((,class :foreground ,cyan-intense))) | ||
| 1882 | ;;;;; cperl-mode | ||
| 1883 | `(cperl-nonoverridable-face ((,class :foreground ,yellow-alt-other))) | ||
| 1884 | `(cperl-array-face ((,class :inherit bold :background ,bg-alt :foreground ,magenta-alt))) | ||
| 1885 | `(cperl-hash-face ((,class :inherit bold :background ,bg-alt :foreground ,red-alt :slant ,modus-theme-slant))) | ||
| 1886 | ;;;;; csv-mode | ||
| 1887 | `(csv-separator-face ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 1888 | ;;;;; ctrlf | ||
| 1889 | `(ctrlf-highlight-active ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 1890 | `(ctrlf-highlight-line ((,class :inherit modus-theme-hl-line))) | ||
| 1891 | `(ctrlf-highlight-passive ((,class :inherit modus-theme-refine-cyan))) | ||
| 1892 | ;;;;; custom (M-x customize) | ||
| 1893 | `(custom-button ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 1894 | :background ,bg-active :foreground ,fg-main))) | ||
| 1895 | `(custom-button-mouse ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 1896 | :background ,bg-active :foreground ,fg-active))) | ||
| 1897 | `(custom-button-pressed ((,class :box (:line-width 2 :color nil :style pressed-button) | ||
| 1898 | :background ,bg-active :foreground ,fg-main))) | ||
| 1899 | `(custom-changed ((,class :inherit modus-theme-subtle-cyan))) | ||
| 1900 | `(custom-comment ((,class :foreground ,fg-alt))) | ||
| 1901 | `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other))) | ||
| 1902 | `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense))) | ||
| 1903 | `(custom-group-tag ((,class :inherit bold :foreground ,green-intense))) | ||
| 1904 | `(custom-group-tag-1 ((,class :inherit modus-theme-special-warm))) | ||
| 1905 | `(custom-invalid ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 1906 | `(custom-modified ((,class :inherit modus-theme-subtle-cyan))) | ||
| 1907 | `(custom-rogue ((,class :inherit modus-theme-refine-magenta))) | ||
| 1908 | `(custom-set ((,class :foreground ,blue-alt))) | ||
| 1909 | `(custom-state ((,class :foreground ,cyan-alt-other))) | ||
| 1910 | `(custom-themed ((,class :inherit modus-theme-subtle-blue))) | ||
| 1911 | `(custom-variable-tag ((,class :inherit bold :foreground ,cyan))) | ||
| 1912 | ;;;;; dap-mode | ||
| 1913 | `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil) | ||
| 1914 | :background ,bg-active :foreground ,fg-main))) | ||
| 1915 | `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active :style nil) | ||
| 1916 | :background ,bg-active :foreground ,fg-main))) | ||
| 1917 | `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground ,green-active))) | ||
| 1918 | `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense))) | ||
| 1919 | `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t))) | ||
| 1920 | `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan))) | ||
| 1921 | `(dap-ui-locals-variable-leaf-face ((,class :foreground ,cyan-alt-other :slant italic))) | ||
| 1922 | `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 1923 | `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 1924 | `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt))) | ||
| 1925 | `(dap-ui-sessions-terminated-face ((,class :foreground ,fg-alt))) | ||
| 1926 | ;;;;; dashboard (emacs-dashboard) | ||
| 1927 | `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1928 | `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 1929 | `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 1930 | `(dashboard-navigator ((,class :foreground ,cyan-alt-other))) | ||
| 1931 | `(dashboard-text-banner ((,class :foreground ,fg-dim))) | ||
| 1932 | ;;;;; deadgrep | ||
| 1933 | `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1934 | `(deadgrep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 1935 | `(deadgrep-meta-face ((,class :foreground ,fg-alt))) | ||
| 1936 | `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense))) | ||
| 1937 | `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense))) | ||
| 1938 | ;;;;; debbugs | ||
| 1939 | `(debbugs-gnu-archived ((,class :inverse-video t))) | ||
| 1940 | `(debbugs-gnu-done ((,class :foreground ,fg-alt))) | ||
| 1941 | `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm))) | ||
| 1942 | `(debbugs-gnu-handled ((,class :foreground ,green))) | ||
| 1943 | `(debbugs-gnu-new ((,class :foreground ,red))) | ||
| 1944 | `(debbugs-gnu-pending ((,class :foreground ,cyan))) | ||
| 1945 | `(debbugs-gnu-stale-1 ((,class :foreground ,yellow-nuanced))) | ||
| 1946 | `(debbugs-gnu-stale-2 ((,class :foreground ,yellow))) | ||
| 1947 | `(debbugs-gnu-stale-3 ((,class :foreground ,yellow-alt))) | ||
| 1948 | `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other))) | ||
| 1949 | `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt))) | ||
| 1950 | `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt))) | ||
| 1951 | ;;;;; define-word | ||
| 1952 | `(define-word-face-1 ((,class :foreground ,yellow))) | ||
| 1953 | `(define-word-face-2 ((,class :foreground ,fg-main))) | ||
| 1954 | ;;;;; deft | ||
| 1955 | `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red))) | ||
| 1956 | `(deft-filter-string-face ((,class :foreground ,green-intense))) | ||
| 1957 | `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 1958 | `(deft-separator-face ((,class :foreground ,fg-alt))) | ||
| 1959 | `(deft-summary-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 1960 | `(deft-time-face ((,class :foreground ,fg-special-cold))) | ||
| 1961 | `(deft-title-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 1962 | ;;;;; dictionary | ||
| 1963 | `(dictionary-button-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 1964 | `(dictionary-reference-face ((,class :inherit button :foreground ,blue-alt-other))) | ||
| 1965 | `(dictionary-word-definition-face ((,class :foreground ,fg-main))) | ||
| 1966 | `(dictionary-word-entry-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 1967 | ;;;;; diff-hl | ||
| 1968 | `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow))) | ||
| 1969 | `(diff-hl-delete ((,class :inherit modus-theme-fringe-red))) | ||
| 1970 | `(diff-hl-dired-change ((,class :inherit diff-hl-change))) | ||
| 1971 | `(diff-hl-dired-delete ((,class :inherit diff-hl-delete))) | ||
| 1972 | `(diff-hl-dired-ignored ((,class :inherit dired-ignored))) | ||
| 1973 | `(diff-hl-dired-insert ((,class :inherit diff-hl-insert))) | ||
| 1974 | `(diff-hl-dired-unknown ((,class :inherit dired-ignored))) | ||
| 1975 | `(diff-hl-insert ((,class :inherit modus-theme-fringe-green))) | ||
| 1976 | `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-theme-active-magenta bold)))) | ||
| 1977 | ;;;;; diff-mode | ||
| 1978 | `(diff-added ((,class :inherit modus-theme-diff-added))) | ||
| 1979 | `(diff-changed ((,class :inherit modus-theme-diff-changed))) | ||
| 1980 | `(diff-context ((,class :foreground ,fg-unfocused))) | ||
| 1981 | `(diff-file-header ((,class :inherit bold :foreground ,blue))) | ||
| 1982 | `(diff-function ((,class :foreground ,fg-special-cold))) | ||
| 1983 | `(diff-header ((,class :foreground ,blue-nuanced))) | ||
| 1984 | `(diff-hunk-header ((,class :inherit modus-theme-diff-heading))) | ||
| 1985 | `(diff-index ((,class :inherit bold :foreground ,blue-alt))) | ||
| 1986 | `(diff-indicator-added ((,class :inherit diff-added))) | ||
| 1987 | `(diff-indicator-changed ((,class :inherit diff-changed))) | ||
| 1988 | `(diff-indicator-removed ((,class :inherit diff-removed))) | ||
| 1989 | `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold)))) | ||
| 1990 | `(diff-refine-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 1991 | `(diff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) | ||
| 1992 | `(diff-refine-removed ((,class :inherit modus-theme-diff-refine-removed))) | ||
| 1993 | `(diff-removed ((,class :inherit modus-theme-diff-removed))) | ||
| 1994 | ;;;;; dim-autoload | ||
| 1995 | `(dim-autoload-cookie-line ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 1996 | ;;;;; dir-treeview | ||
| 1997 | `(dir-treeview-archive-face ((,class :foreground ,fg-special-warm))) | ||
| 1998 | `(dir-treeview-archive-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,yellow))) | ||
| 1999 | `(dir-treeview-audio-face ((,class :foreground ,magenta))) | ||
| 2000 | `(dir-treeview-audio-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt))) | ||
| 2001 | `(dir-treeview-control-face ((,class :foreground ,fg-alt))) | ||
| 2002 | `(dir-treeview-control-mouse-face ((,class :inherit highlight))) | ||
| 2003 | `(dir-treeview-default-icon-face ((,class :inherit bold :family "Font Awesome" :foreground ,fg-alt))) | ||
| 2004 | `(dir-treeview-default-filename-face ((,class :foreground ,fg-main))) | ||
| 2005 | `(dir-treeview-directory-face ((,class :foreground ,blue))) | ||
| 2006 | `(dir-treeview-directory-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,blue-alt))) | ||
| 2007 | `(dir-treeview-executable-face ((,class :foreground ,red-alt))) | ||
| 2008 | `(dir-treeview-executable-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,red-alt-other))) | ||
| 2009 | `(dir-treeview-image-face ((,class :foreground ,green-alt-other))) | ||
| 2010 | `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt))) | ||
| 2011 | `(dir-treeview-indent-face ((,class :foreground ,fg-alt))) | ||
| 2012 | `(dir-treeview-label-mouse-face ((,class :inherit highlight))) | ||
| 2013 | `(dir-treeview-start-dir-face ((,class :inherit modus-theme-pseudo-header))) | ||
| 2014 | `(dir-treeview-symlink-face ((,class :inherit button :foreground ,cyan))) | ||
| 2015 | `(dir-treeview-video-face ((,class :foreground ,magenta-alt-other))) | ||
| 2016 | `(dir-treeview-video-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt-other))) | ||
| 2017 | ;;;;; dired | ||
| 2018 | `(dired-directory ((,class :foreground ,blue))) | ||
| 2019 | `(dired-flagged ((,class :inherit modus-theme-mark-del))) | ||
| 2020 | `(dired-header ((,class :inherit modus-theme-pseudo-header))) | ||
| 2021 | `(dired-ignored ((,class :foreground ,fg-alt))) | ||
| 2022 | `(dired-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 2023 | `(dired-marked ((,class :inherit modus-theme-mark-sel))) | ||
| 2024 | `(dired-perm-write ((,class :foreground ,fg-special-warm))) | ||
| 2025 | `(dired-symlink ((,class :inherit button :foreground ,cyan-alt))) | ||
| 2026 | `(dired-warning ((,class :inherit bold :foreground ,yellow))) | ||
| 2027 | ;;;;; dired-async | ||
| 2028 | `(dired-async-failures ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red-active))) | ||
| 2029 | `(dired-async-message ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,green-active))) | ||
| 2030 | `(dired-async-mode-message ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,cyan-active))) | ||
| 2031 | ;;;;; dired-git | ||
| 2032 | `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2033 | `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 2034 | ;;;;; dired-git-info | ||
| 2035 | `(dgi-commit-message-face ((,class :foreground ,fg-special-mild))) | ||
| 2036 | ;;;;; dired-narrow | ||
| 2037 | `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold)))) | ||
| 2038 | ;;;;; dired-subtree | ||
| 2039 | ;; remove background from dired-subtree, else it breaks | ||
| 2040 | ;; dired-{flagged,marked} and any other face that sets a background | ||
| 2041 | ;; such as hl-line | ||
| 2042 | `(dired-subtree-depth-1-face ((,class :background nil))) | ||
| 2043 | `(dired-subtree-depth-2-face ((,class :background nil))) | ||
| 2044 | `(dired-subtree-depth-3-face ((,class :background nil))) | ||
| 2045 | `(dired-subtree-depth-4-face ((,class :background nil))) | ||
| 2046 | `(dired-subtree-depth-5-face ((,class :background nil))) | ||
| 2047 | `(dired-subtree-depth-6-face ((,class :background nil))) | ||
| 2048 | ;;;;; diredfl | ||
| 2049 | `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold))) | ||
| 2050 | `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm))) | ||
| 2051 | `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt))) | ||
| 2052 | `(diredfl-date-time ((,class :foreground ,cyan-alt-other))) | ||
| 2053 | `(diredfl-deletion ((,class :inherit modus-theme-mark-del))) | ||
| 2054 | `(diredfl-deletion-file-name ((,class :inherit modus-theme-mark-del))) | ||
| 2055 | `(diredfl-dir-heading ((,class :inherit modus-theme-pseudo-header))) | ||
| 2056 | `(diredfl-dir-name ((,class :inherit dired-directory))) | ||
| 2057 | `(diredfl-dir-priv ((,class :foreground ,blue-alt))) | ||
| 2058 | `(diredfl-exec-priv ((,class :foreground ,magenta))) | ||
| 2059 | `(diredfl-executable-tag ((,class :foreground ,magenta-alt))) | ||
| 2060 | `(diredfl-file-name ((,class :foreground ,fg-main))) | ||
| 2061 | `(diredfl-file-suffix ((,class :foreground ,cyan))) | ||
| 2062 | `(diredfl-flag-mark ((,class :inherit modus-theme-mark-sel))) | ||
| 2063 | `(diredfl-flag-mark-line ((,class :inherit modus-theme-mark-sel))) | ||
| 2064 | `(diredfl-ignored-file-name ((,class :foreground ,fg-alt))) | ||
| 2065 | `(diredfl-link-priv ((,class :foreground ,blue-alt-other))) | ||
| 2066 | `(diredfl-no-priv ((,class :foreground ,fg-alt))) | ||
| 2067 | `(diredfl-number ((,class :foreground ,cyan-alt))) | ||
| 2068 | `(diredfl-other-priv ((,class :foreground ,yellow))) | ||
| 2069 | `(diredfl-rare-priv ((,class :foreground ,red-alt))) | ||
| 2070 | `(diredfl-read-priv ((,class :foreground ,fg-main))) | ||
| 2071 | `(diredfl-symlink ((,class :inherit dired-symlink))) | ||
| 2072 | `(diredfl-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta))) | ||
| 2073 | `(diredfl-write-priv ((,class :foreground ,cyan))) | ||
| 2074 | ;;;;; disk-usage | ||
| 2075 | `(disk-usage-children ((,class :foreground ,yellow))) | ||
| 2076 | `(disk-usage-inaccessible ((,class :inherit bold :foreground ,red))) | ||
| 2077 | `(disk-usage-percent ((,class :foreground ,green))) | ||
| 2078 | `(disk-usage-size ((,class :foreground ,cyan))) | ||
| 2079 | `(disk-usage-symlink ((,class :inherit button :foreground ,blue))) | ||
| 2080 | `(disk-usage-symlink-directory ((,class :inherit bold :foreground ,blue-alt))) | ||
| 2081 | ;;;;; doom-modeline | ||
| 2082 | `(doom-modeline-bar ((,class :inherit modus-theme-active-blue))) | ||
| 2083 | `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main))) | ||
| 2084 | `(doom-modeline-battery-charging ((,class :foreground ,green-active))) | ||
| 2085 | `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active))) | ||
| 2086 | `(doom-modeline-battery-error ((,class :inherit bold :box (:line-width -2) | ||
| 2087 | :foreground ,red-active))) | ||
| 2088 | `(doom-modeline-battery-full ((,class :foreground ,blue-active))) | ||
| 2089 | `(doom-modeline-battery-normal ((,class :foreground ,fg-active))) | ||
| 2090 | `(doom-modeline-battery-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2091 | `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active))) | ||
| 2092 | `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground ,cyan-active))) | ||
| 2093 | `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive))) | ||
| 2094 | `(doom-modeline-buffer-modified ((,class :inherit bold :foreground ,magenta-active))) | ||
| 2095 | `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active))) | ||
| 2096 | `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2097 | `(doom-modeline-debug-visual ((,class :inherit bold :foreground ,red-active))) | ||
| 2098 | `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground ,magenta-active))) | ||
| 2099 | `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground ,green-active))) | ||
| 2100 | `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground ,fg-inactive))) | ||
| 2101 | `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground ,fg-active))) | ||
| 2102 | `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground ,blue-active))) | ||
| 2103 | `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground ,red-active))) | ||
| 2104 | `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground ,cyan-active))) | ||
| 2105 | `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active))) | ||
| 2106 | `(doom-modeline-host ((,class :slant italic))) | ||
| 2107 | `(doom-modeline-info ((,class :foreground ,green-active))) | ||
| 2108 | `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active))) | ||
| 2109 | `(doom-modeline-lsp-success ((,class :inherit bold :foreground ,green-active))) | ||
| 2110 | `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2111 | `(doom-modeline-panel ((,class :inherit modus-theme-active-blue))) | ||
| 2112 | `(doom-modeline-persp-buffer-not-in-persp ((,class :foreground ,yellow-active :slant italic))) | ||
| 2113 | `(doom-modeline-persp-name ((,class :foreground ,fg-active))) | ||
| 2114 | `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active))) | ||
| 2115 | `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active))) | ||
| 2116 | `(doom-modeline-project-root-dir ((,class :foreground ,fg-active))) | ||
| 2117 | `(doom-modeline-unread-number ((,class :foreground ,fg-active :slant italic))) | ||
| 2118 | `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active))) | ||
| 2119 | `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2120 | ;;;;; dynamic-ruler | ||
| 2121 | `(dynamic-ruler-negative-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 2122 | `(dynamic-ruler-positive-face ((,class :inherit modus-theme-intense-yellow))) | ||
| 2123 | ;;;;; easy-jekyll | ||
| 2124 | `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other))) | ||
| 2125 | ;;;;; easy-kill | ||
| 2126 | `(easy-kill-origin ((,class :inherit modus-theme-subtle-red))) | ||
| 2127 | `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow))) | ||
| 2128 | ;;;;; ebdb | ||
| 2129 | `(ebdb-address-default ((,class :foreground ,fg-main))) | ||
| 2130 | `(ebdb-db-char ((,class :foreground ,fg-special-cold))) | ||
| 2131 | `(ebdb-defunct ((,class :foreground ,fg-alt))) | ||
| 2132 | `(ebdb-field-hidden ((,class :foreground ,magenta))) | ||
| 2133 | `(ebdb-field-url ((,class :foreground ,blue))) | ||
| 2134 | `(ebdb-label ((,class :foreground ,cyan-alt-other))) | ||
| 2135 | `(ebdb-mail-default ((,class :foreground ,fg-main))) | ||
| 2136 | `(ebdb-mail-primary ((,class :foreground ,blue-alt))) | ||
| 2137 | `(ebdb-marked ((,class :background ,cyan-intense-bg))) | ||
| 2138 | `(ebdb-organization-name ((,class :foreground ,fg-special-calm))) | ||
| 2139 | `(ebdb-person-name ((,class :foreground ,magenta-alt-other))) | ||
| 2140 | `(ebdb-phone-default ((,class :foreground ,fg-special-warm))) | ||
| 2141 | `(ebdb-role-defunct ((,class :foreground ,fg-alt))) | ||
| 2142 | `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt))) | ||
| 2143 | ;;;;; ediff | ||
| 2144 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 2145 | ;; modus-theme-diff-* faces. | ||
| 2146 | `(ediff-current-diff-A ((,class ,@(modus-vivendi-theme-diff | ||
| 2147 | bg-dim red | ||
| 2148 | bg-diff-removed fg-diff-removed | ||
| 2149 | red-nuanced-bg red-faint)))) | ||
| 2150 | `(ediff-current-diff-Ancestor ((,class ,@(modus-vivendi-theme-diff | ||
| 2151 | bg-dim fg-special-cold | ||
| 2152 | bg-special-cold fg-special-cold | ||
| 2153 | blue-nuanced-bg blue)))) | ||
| 2154 | `(ediff-current-diff-B ((,class ,@(modus-vivendi-theme-diff | ||
| 2155 | bg-dim green | ||
| 2156 | bg-diff-added fg-diff-added | ||
| 2157 | green-nuanced-bg green-faint)))) | ||
| 2158 | `(ediff-current-diff-C ((,class ,@(modus-vivendi-theme-diff | ||
| 2159 | bg-dim yellow | ||
| 2160 | bg-diff-changed fg-diff-changed | ||
| 2161 | yellow-nuanced-bg yellow-faint)))) | ||
| 2162 | `(ediff-even-diff-A ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 2163 | `(ediff-even-diff-Ancestor ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1))) | ||
| 2164 | `(ediff-even-diff-B ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 2165 | `(ediff-even-diff-C ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 2166 | `(ediff-fine-diff-A ((,class :background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed))) | ||
| 2167 | `(ediff-fine-diff-Ancestor ((,class :inherit modus-theme-refine-cyan))) | ||
| 2168 | `(ediff-fine-diff-B ((,class :background ,bg-diff-focus-added :foreground ,fg-diff-focus-added))) | ||
| 2169 | `(ediff-fine-diff-C ((,class :background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed))) | ||
| 2170 | `(ediff-odd-diff-A ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 2171 | `(ediff-odd-diff-Ancestor ((,class :background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0))) | ||
| 2172 | `(ediff-odd-diff-B ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 2173 | `(ediff-odd-diff-C ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 2174 | ;;;;; eglot | ||
| 2175 | `(eglot-mode-line ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-active))) | ||
| 2176 | ;;;;; el-search | ||
| 2177 | `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2178 | `(el-search-match ((,class :inherit modus-theme-intense-green))) | ||
| 2179 | `(el-search-other-match ((,class :inherit modus-theme-special-mild))) | ||
| 2180 | `(el-search-occur-match ((,class :inherit modus-theme-special-calm))) | ||
| 2181 | ;;;;; eldoc | ||
| 2182 | ;; NOTE: see https://github.com/purcell/package-lint/issues/187 | ||
| 2183 | (list 'eldoc-highlight-function-argument `((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 2184 | ;;;;; eldoc-box | ||
| 2185 | `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 2186 | `(eldoc-box-border ((,class :background ,fg-alt))) | ||
| 2187 | ;;;;; elfeed | ||
| 2188 | `(elfeed-log-date-face ((,class :foreground ,cyan-alt))) | ||
| 2189 | `(elfeed-log-debug-level-face ((,class :foreground ,magenta))) | ||
| 2190 | `(elfeed-log-error-level-face ((,class :foreground ,red))) | ||
| 2191 | `(elfeed-log-info-level-face ((,class :foreground ,green))) | ||
| 2192 | `(elfeed-log-warn-level-face ((,class :foreground ,yellow))) | ||
| 2193 | `(elfeed-search-date-face ((,class :foreground ,blue-nuanced))) | ||
| 2194 | `(elfeed-search-feed-face ((,class :foreground ,cyan))) | ||
| 2195 | `(elfeed-search-filter-face ((,class :inherit bold :foreground ,magenta-active))) | ||
| 2196 | `(elfeed-search-last-update-face ((,class :foreground ,cyan-active))) | ||
| 2197 | `(elfeed-search-tag-face ((,class :foreground ,blue-nuanced))) | ||
| 2198 | `(elfeed-search-title-face ((,class :foreground ,fg-dim))) | ||
| 2199 | `(elfeed-search-unread-count-face ((,class :foreground ,green-active))) | ||
| 2200 | `(elfeed-search-unread-title-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 2201 | ;;;;; elfeed-score | ||
| 2202 | `(elfeed-score-date-face ((,class :foreground ,blue))) | ||
| 2203 | `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other))) | ||
| 2204 | `(elfeed-score-error-level-face ((,class :foreground ,red))) | ||
| 2205 | `(elfeed-score-info-level-face ((,class :foreground ,cyan))) | ||
| 2206 | `(elfeed-score-warn-level-face ((,class :foreground ,yellow))) | ||
| 2207 | ;;;;; emms | ||
| 2208 | `(emms-playlist-track-face ((,class :foreground ,blue))) | ||
| 2209 | `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta))) | ||
| 2210 | ;;;;; enhanced-ruby-mode | ||
| 2211 | `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other))) | ||
| 2212 | `(enh-ruby-op-face ((,class :foreground ,fg-main))) | ||
| 2213 | `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green))) | ||
| 2214 | `(enh-ruby-regexp-face ((,class :foreground ,magenta))) | ||
| 2215 | `(enh-ruby-string-delimiter-face ((,class :foreground ,blue-alt))) | ||
| 2216 | `(erm-syn-errline ((,class :foreground ,red :underline t))) | ||
| 2217 | `(erm-syn-warnline ((,class :foreground ,yellow :underline t))) | ||
| 2218 | ;;;;; epa | ||
| 2219 | `(epa-field-body ((,class :foreground ,fg-main))) | ||
| 2220 | `(epa-field-name ((,class :inherit bold :foreground ,fg-dim))) | ||
| 2221 | `(epa-mark ((,class :inherit bold :foreground ,magenta))) | ||
| 2222 | `(epa-string ((,class :foreground ,blue-alt))) | ||
| 2223 | `(epa-validity-disabled ((,class :inherit modus-theme-refine-red))) | ||
| 2224 | `(epa-validity-high ((,class :inherit bold :foreground ,green-alt-other))) | ||
| 2225 | `(epa-validity-low ((,class :foreground ,fg-alt))) | ||
| 2226 | `(epa-validity-medium ((,class :foreground ,green-alt))) | ||
| 2227 | ;;;;; equake | ||
| 2228 | `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 2229 | `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground ,green-active))) | ||
| 2230 | `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground ,red-active))) | ||
| 2231 | `(equake-shell-type-shell ((,class :background ,bg-inactive :foreground ,cyan-active))) | ||
| 2232 | `(equake-shell-type-term ((,class :background ,bg-inactive :foreground ,yellow-active))) | ||
| 2233 | `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground ,magenta-active))) | ||
| 2234 | `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt))) | ||
| 2235 | `(equake-tab-inactive ((,class :foreground ,fg-inactive))) | ||
| 2236 | ;;;;; erc | ||
| 2237 | `(erc-action-face ((,class :inherit bold :foreground ,cyan))) | ||
| 2238 | `(erc-bold-face ((,class :inherit bold))) | ||
| 2239 | `(erc-button ((,class :inherit button))) | ||
| 2240 | `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 2241 | `(erc-current-nick-face ((,class :foreground ,magenta-alt-other))) | ||
| 2242 | `(erc-dangerous-host-face ((,class :inherit modus-theme-intense-red))) | ||
| 2243 | `(erc-direct-msg-face ((,class :foreground ,magenta))) | ||
| 2244 | `(erc-error-face ((,class :inherit bold :foreground ,red))) | ||
| 2245 | `(erc-fool-face ((,class :foreground ,fg-inactive))) | ||
| 2246 | `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 2247 | `(erc-input-face ((,class :foreground ,fg-special-calm))) | ||
| 2248 | `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t))) | ||
| 2249 | `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2250 | `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta))) | ||
| 2251 | `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face))) | ||
| 2252 | `(erc-nick-default-face ((,class :inherit bold :foreground ,blue))) | ||
| 2253 | `(erc-nick-msg-face ((,class :inherit bold :foreground ,green))) | ||
| 2254 | `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face))) | ||
| 2255 | `(erc-notice-face ((,class :foreground ,fg-unfocused))) | ||
| 2256 | `(erc-pal-face ((,class :inherit bold :foreground ,red-alt))) | ||
| 2257 | `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 2258 | `(erc-timestamp-face ((,class :foreground ,blue-nuanced))) | ||
| 2259 | `(erc-underline-face ((,class :underline t))) | ||
| 2260 | `(bg:erc-color-face0 ((,class :background "white"))) | ||
| 2261 | `(bg:erc-color-face1 ((,class :background "black"))) | ||
| 2262 | `(bg:erc-color-face10 ((,class :background ,cyan-subtle-bg))) | ||
| 2263 | `(bg:erc-color-face11 ((,class :background ,cyan-intense-bg))) | ||
| 2264 | `(bg:erc-color-face12 ((,class :background ,blue-subtle-bg))) | ||
| 2265 | `(bg:erc-color-face13 ((,class :background ,magenta-subtle-bg))) | ||
| 2266 | `(bg:erc-color-face14 ((,class :background "gray60"))) | ||
| 2267 | `(bg:erc-color-face15 ((,class :background "gray80"))) | ||
| 2268 | `(bg:erc-color-face2 ((,class :background ,blue-intense-bg))) | ||
| 2269 | `(bg:erc-color-face3 ((,class :background ,green-intense-bg))) | ||
| 2270 | `(bg:erc-color-face4 ((,class :background ,red-subtle-bg))) | ||
| 2271 | `(bg:erc-color-face5 ((,class :background ,red-intense-bg))) | ||
| 2272 | `(bg:erc-color-face6 ((,class :background ,magenta-refine-bg))) | ||
| 2273 | `(bg:erc-color-face7 ((,class :background ,yellow-subtle-bg))) | ||
| 2274 | `(bg:erc-color-face8 ((,class :background ,yellow-refine-bg))) | ||
| 2275 | `(bg:erc-color-face9 ((,class :background ,green-subtle-bg))) | ||
| 2276 | `(fg:erc-color-face0 ((,class :foreground "white"))) | ||
| 2277 | `(fg:erc-color-face1 ((,class :foreground "black"))) | ||
| 2278 | `(fg:erc-color-face10 ((,class :foreground ,cyan))) | ||
| 2279 | `(fg:erc-color-face11 ((,class :foreground ,cyan-alt-other))) | ||
| 2280 | `(fg:erc-color-face12 ((,class :foreground ,blue))) | ||
| 2281 | `(fg:erc-color-face13 ((,class :foreground ,magenta-alt))) | ||
| 2282 | `(fg:erc-color-face14 ((,class :foreground "gray60"))) | ||
| 2283 | `(fg:erc-color-face15 ((,class :foreground "gray80"))) | ||
| 2284 | `(fg:erc-color-face2 ((,class :foreground ,blue-alt-other))) | ||
| 2285 | `(fg:erc-color-face3 ((,class :foreground ,green))) | ||
| 2286 | `(fg:erc-color-face4 ((,class :foreground ,red))) | ||
| 2287 | `(fg:erc-color-face5 ((,class :foreground ,red-alt))) | ||
| 2288 | `(fg:erc-color-face6 ((,class :foreground ,magenta-alt-other))) | ||
| 2289 | `(fg:erc-color-face7 ((,class :foreground ,yellow-alt-other))) | ||
| 2290 | `(fg:erc-color-face8 ((,class :foreground ,yellow-alt))) | ||
| 2291 | `(fg:erc-color-face9 ((,class :foreground ,green-alt-other))) | ||
| 2292 | ;;;;; eros | ||
| 2293 | `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue) | ||
| 2294 | :background ,bg-dim :foreground ,fg-dim))) | ||
| 2295 | ;;;;; ert | ||
| 2296 | `(ert-test-result-expected ((,class :inherit modus-theme-intense-green))) | ||
| 2297 | `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red))) | ||
| 2298 | ;;;;; eshell | ||
| 2299 | `(eshell-ls-archive ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 2300 | `(eshell-ls-backup ((,class :foreground ,yellow-alt))) | ||
| 2301 | `(eshell-ls-clutter ((,class :foreground ,red-alt))) | ||
| 2302 | `(eshell-ls-directory ((,class :inherit bold :foreground ,blue-alt))) | ||
| 2303 | `(eshell-ls-executable ((,class :foreground ,magenta-alt))) | ||
| 2304 | `(eshell-ls-missing ((,class :inherit modus-theme-intense-red))) | ||
| 2305 | `(eshell-ls-product ((,class :foreground ,fg-special-warm))) | ||
| 2306 | `(eshell-ls-readonly ((,class :foreground ,fg-special-cold))) | ||
| 2307 | `(eshell-ls-special ((,class :inherit bold :foreground ,magenta))) | ||
| 2308 | `(eshell-ls-symlink ((,class :inherit button :foreground ,cyan))) | ||
| 2309 | `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 2310 | `(eshell-prompt ((,class ,@(modus-vivendi-theme-bold-weight) | ||
| 2311 | ,@(modus-vivendi-theme-prompt | ||
| 2312 | green-alt-other | ||
| 2313 | green-nuanced-bg green-alt | ||
| 2314 | green-refine-bg fg-main)))) | ||
| 2315 | ;;;;; eshell-fringe-status | ||
| 2316 | `(eshell-fringe-status-failure ((,class :foreground ,red))) | ||
| 2317 | `(eshell-fringe-status-success ((,class :foreground ,green))) | ||
| 2318 | ;;;;; eshell-git-prompt | ||
| 2319 | `(eshell-git-prompt-add-face ((,class :foreground ,fg-alt))) | ||
| 2320 | `(eshell-git-prompt-branch-face ((,class :foreground ,fg-alt))) | ||
| 2321 | `(eshell-git-prompt-directory-face ((,class :foreground ,cyan))) | ||
| 2322 | `(eshell-git-prompt-exit-fail-face ((,class :foreground ,red))) | ||
| 2323 | `(eshell-git-prompt-exit-success-face ((,class :foreground ,green))) | ||
| 2324 | `(eshell-git-prompt-modified-face ((,class :foreground ,yellow))) | ||
| 2325 | `(eshell-git-prompt-powerline-clean-face ((,class :background ,green-refine-bg))) | ||
| 2326 | `(eshell-git-prompt-powerline-dir-face ((,class :background ,blue-refine-bg))) | ||
| 2327 | `(eshell-git-prompt-powerline-not-clean-face ((,class :background ,magenta-refine-bg))) | ||
| 2328 | `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,red))) | ||
| 2329 | `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow))) | ||
| 2330 | `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,blue))) | ||
| 2331 | ;;;;; eshell-prompt-extras (epe) | ||
| 2332 | `(epe-dir-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue))) | ||
| 2333 | `(epe-git-dir-face ((,class :foreground ,red-alt-other))) | ||
| 2334 | `(epe-git-face ((,class :foreground ,cyan-alt))) | ||
| 2335 | `(epe-pipeline-delimiter-face ((,class :foreground ,green-alt))) | ||
| 2336 | `(epe-pipeline-host-face ((,class :foreground ,blue))) | ||
| 2337 | `(epe-pipeline-time-face ((,class :foreground ,fg-special-warm))) | ||
| 2338 | `(epe-pipeline-user-face ((,class :foreground ,magenta))) | ||
| 2339 | `(epe-remote-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2340 | `(epe-status-face ((,class :foreground ,magenta-alt-other))) | ||
| 2341 | `(epe-venv-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2342 | ;;;;; eshell-syntax-highlighting | ||
| 2343 | `(eshell-syntax-highlighting-alias-face ((,class :foreground ,cyan))) | ||
| 2344 | `(eshell-syntax-highlighting-comment-face ((,class :foreground ,fg-alt))) | ||
| 2345 | `(eshell-syntax-highlighting-directory-face ((,class :foreground ,blue))) | ||
| 2346 | `(eshell-syntax-highlighting-envvar-face ((,class :foreground ,magenta-alt))) | ||
| 2347 | `(eshell-syntax-highlighting-invalid-face ((,class :foreground ,red))) | ||
| 2348 | `(eshell-syntax-highlighting-lisp-function-face ((,class :foreground ,magenta))) | ||
| 2349 | `(eshell-syntax-highlighting-shell-command-face ((,class :foreground ,cyan-alt-other))) | ||
| 2350 | `(eshell-syntax-highlighting-string-face ((,class :foreground ,blue-alt))) | ||
| 2351 | ;;;;; evil-mode | ||
| 2352 | `(evil-ex-commands ((,class :foreground ,magenta-alt-other))) | ||
| 2353 | `(evil-ex-info ((,class :foreground ,cyan-alt-other))) | ||
| 2354 | `(evil-ex-lazy-highlight ((,class :inherit modus-theme-refine-cyan))) | ||
| 2355 | `(evil-ex-search ((,class :inherit modus-theme-intense-green))) | ||
| 2356 | `(evil-ex-substitute-matches ((,class :inherit modus-theme-refine-yellow :underline t))) | ||
| 2357 | `(evil-ex-substitute-replacement ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 2358 | ;;;;; evil-goggles | ||
| 2359 | `(evil-goggles-change-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 2360 | `(evil-goggles-commentary-face ((,class :inherit modus-theme-subtle-neutral :slant ,modus-theme-slant))) | ||
| 2361 | `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral))) | ||
| 2362 | `(evil-goggles-delete-face ((,class :inherit modus-theme-refine-red))) | ||
| 2363 | `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face))) | ||
| 2364 | `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face))) | ||
| 2365 | `(evil-goggles-join-face ((,class :inherit modus-theme-subtle-green))) | ||
| 2366 | `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face))) | ||
| 2367 | `(evil-goggles-paste-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 2368 | `(evil-goggles-record-macro-face ((,class :inherit modus-theme-special-cold))) | ||
| 2369 | `(evil-goggles-replace-with-register-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 2370 | `(evil-goggles-set-marker-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 2371 | `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face))) | ||
| 2372 | `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face))) | ||
| 2373 | `(evil-goggles-yank-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 2374 | ;;;;; evil-visual-mark-mode | ||
| 2375 | `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 2376 | ;;;;; eww | ||
| 2377 | `(eww-invalid-certificate ((,class :foreground ,red-active))) | ||
| 2378 | `(eww-valid-certificate ((,class :foreground ,green-active))) | ||
| 2379 | `(eww-form-checkbox ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main))) | ||
| 2380 | `(eww-form-file ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main))) | ||
| 2381 | `(eww-form-select ((,class :inherit eww-form-checkbox))) | ||
| 2382 | `(eww-form-submit ((,class :inherit eww-form-file))) | ||
| 2383 | `(eww-form-text ((,class :box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active))) | ||
| 2384 | `(eww-form-textarea ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 2385 | ;;;;; eyebrowse | ||
| 2386 | `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active))) | ||
| 2387 | ;;;;; fancy-dabbrev | ||
| 2388 | `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 2389 | `(fancy-dabbrev-preview-face ((,class :foreground ,fg-alt :underline t))) | ||
| 2390 | `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan bold)))) | ||
| 2391 | ;;;;; flycheck | ||
| 2392 | `(flycheck-error | ||
| 2393 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2394 | :underline (:color ,fg-lang-error :style wave)) | ||
| 2395 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 2396 | `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active))) | ||
| 2397 | `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold))) | ||
| 2398 | `(flycheck-error-list-error ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red))) | ||
| 2399 | `(flycheck-error-list-filename ((,class :foreground ,blue))) | ||
| 2400 | `(flycheck-error-list-highlight ((,class :inherit modus-theme-hl-line))) | ||
| 2401 | `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other))) | ||
| 2402 | `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t))) | ||
| 2403 | `(flycheck-error-list-info ((,class :foreground ,cyan))) | ||
| 2404 | `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm))) | ||
| 2405 | `(flycheck-error-list-warning ((,class :foreground ,yellow))) | ||
| 2406 | `(flycheck-fringe-error ((,class :inherit modus-theme-fringe-red))) | ||
| 2407 | `(flycheck-fringe-info ((,class :inherit modus-theme-fringe-cyan))) | ||
| 2408 | `(flycheck-fringe-warning ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2409 | `(flycheck-info | ||
| 2410 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2411 | :underline (:color ,fg-lang-note :style wave)) | ||
| 2412 | (,class :foreground ,fg-lang-note :underline t))) | ||
| 2413 | `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button)))) | ||
| 2414 | `(flycheck-warning | ||
| 2415 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2416 | :underline (:color ,fg-lang-warning :style wave)) | ||
| 2417 | (,class :foreground ,fg-lang-warning :underline t))) | ||
| 2418 | ;;;;; flycheck-color-mode-line | ||
| 2419 | `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error))) | ||
| 2420 | `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info))) | ||
| 2421 | `(flycheck-color-mode-line-running-face ((,class :foreground ,fg-inactive :slant italic))) | ||
| 2422 | `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning))) | ||
| 2423 | ;;;;; flycheck-indicator | ||
| 2424 | `(flycheck-indicator-disabled ((,class :foreground ,fg-inactive :slant ,modus-theme-slant))) | ||
| 2425 | `(flycheck-indicator-error ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,red-active))) | ||
| 2426 | `(flycheck-indicator-info ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue-active))) | ||
| 2427 | `(flycheck-indicator-running ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-active))) | ||
| 2428 | `(flycheck-indicator-success ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,green-active))) | ||
| 2429 | `(flycheck-indicator-warning ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,yellow-active))) | ||
| 2430 | ;;;;; flycheck-posframe | ||
| 2431 | `(flycheck-posframe-background-face ((,class :background ,bg-alt))) | ||
| 2432 | `(flycheck-posframe-border-face ((,class :foreground ,fg-alt))) | ||
| 2433 | `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red))) | ||
| 2434 | `(flycheck-posframe-face ((,class :foreground ,fg-main :slant ,modus-theme-slant))) | ||
| 2435 | `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan))) | ||
| 2436 | `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 2437 | ;;;;; flymake | ||
| 2438 | `(flymake-error | ||
| 2439 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2440 | :underline (:color ,fg-lang-error :style wave)) | ||
| 2441 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 2442 | `(flymake-note | ||
| 2443 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2444 | :underline (:color ,fg-lang-note :style wave)) | ||
| 2445 | (,class :foreground ,fg-lang-note :underline t))) | ||
| 2446 | `(flymake-warning | ||
| 2447 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2448 | :underline (:color ,fg-lang-warning :style wave)) | ||
| 2449 | (,class :foreground ,fg-lang-warning :underline t))) | ||
| 2450 | ;;;;; flyspell | ||
| 2451 | `(flyspell-duplicate | ||
| 2452 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2453 | :underline (:color ,fg-lang-warning :style wave)) | ||
| 2454 | (,class :foreground ,fg-lang-warning :underline t))) | ||
| 2455 | `(flyspell-incorrect | ||
| 2456 | ((,(append '((supports :underline (:style wave))) class) | ||
| 2457 | :underline (:color ,fg-lang-error :style wave)) | ||
| 2458 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 2459 | ;;;;; flyspell-correct | ||
| 2460 | `(flyspell-correct-highlight-face ((,class :inherit modus-theme-refine-green))) | ||
| 2461 | ;;;;; flx | ||
| 2462 | `(flx-highlight-face ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2463 | 'modus-theme-subtle-magenta | ||
| 2464 | 'modus-theme-intense-magenta | ||
| 2465 | 'modus-theme-nuanced-magenta | ||
| 2466 | magenta-alt | ||
| 2467 | 'bold)))) | ||
| 2468 | ;;;;; freeze-it | ||
| 2469 | `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm))) | ||
| 2470 | ;;;;; frog-menu | ||
| 2471 | `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other))) | ||
| 2472 | `(frog-menu-actions-face ((,class :foreground ,magenta))) | ||
| 2473 | `(frog-menu-border ((,class :background ,bg-active))) | ||
| 2474 | `(frog-menu-candidates-face ((,class :foreground ,fg-main))) | ||
| 2475 | `(frog-menu-posframe-background-face ((,class :background ,bg-dim))) | ||
| 2476 | `(frog-menu-prompt-face ((,class :foreground ,cyan))) | ||
| 2477 | ;;;;; focus | ||
| 2478 | `(focus-unfocused ((,class :foreground ,fg-unfocused))) | ||
| 2479 | ;;;;; fold-this | ||
| 2480 | `(fold-this-overlay ((,class :inherit modus-theme-special-mild))) | ||
| 2481 | ;;;;; font-lock | ||
| 2482 | `(font-lock-builtin-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2483 | magenta-alt magenta-alt-faint) | ||
| 2484 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 2485 | `(font-lock-comment-delimiter-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2486 | `(font-lock-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2487 | `(font-lock-constant-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2488 | blue-alt-other blue-alt-other-faint)))) | ||
| 2489 | `(font-lock-doc-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2490 | fg-special-cold cyan-alt-other-faint) | ||
| 2491 | :slant ,modus-theme-slant))) | ||
| 2492 | `(font-lock-function-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2493 | magenta magenta-faint)))) | ||
| 2494 | `(font-lock-keyword-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2495 | magenta-alt-other magenta-alt-other-faint) | ||
| 2496 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 2497 | `(font-lock-negation-char-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2498 | yellow yellow-faint) | ||
| 2499 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 2500 | `(font-lock-preprocessor-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2501 | red-alt-other red-alt-other-faint)))) | ||
| 2502 | `(font-lock-regexp-grouping-backslash ((,class :inherit bold :foreground ,fg-escape-char-backslash))) | ||
| 2503 | `(font-lock-regexp-grouping-construct ((,class :inherit bold :foreground ,fg-escape-char-construct))) | ||
| 2504 | `(font-lock-string-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2505 | blue-alt blue-alt-faint)))) | ||
| 2506 | `(font-lock-type-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2507 | magenta-alt magenta-alt-faint)))) | ||
| 2508 | `(font-lock-variable-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2509 | cyan cyan-faint)))) | ||
| 2510 | `(font-lock-warning-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2511 | yellow-active yellow-alt-faint) | ||
| 2512 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 2513 | ;;;;; forge | ||
| 2514 | `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) | ||
| 2515 | `(forge-post-date ((,class :foreground ,fg-special-cold))) | ||
| 2516 | `(forge-topic-closed ((,class :foreground ,fg-alt))) | ||
| 2517 | `(forge-topic-merged ((,class :foreground ,fg-alt))) | ||
| 2518 | `(forge-topic-open ((,class :foreground ,fg-special-mild))) | ||
| 2519 | `(forge-topic-unmerged ((,class :foreground ,magenta :slant ,modus-theme-slant))) | ||
| 2520 | `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main))) | ||
| 2521 | ;;;;; fountain-mode | ||
| 2522 | `(fountain-character ((,class :foreground ,blue-alt-other))) | ||
| 2523 | `(fountain-comment ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2524 | `(fountain-dialog ((,class :foreground ,blue-alt))) | ||
| 2525 | `(fountain-metadata-key ((,class :foreground ,green-alt-other))) | ||
| 2526 | `(fountain-metadata-value ((,class :foreground ,blue))) | ||
| 2527 | `(fountain-non-printing ((,class :foreground ,fg-alt))) | ||
| 2528 | `(fountain-note ((,class :foreground ,yellow :slant ,modus-theme-slant))) | ||
| 2529 | `(fountain-page-break ((,class :inherit bold :foreground ,red-alt))) | ||
| 2530 | `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 2531 | `(fountain-paren ((,class :foreground ,cyan))) | ||
| 2532 | `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced))) | ||
| 2533 | `(fountain-section-heading ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-main | ||
| 2534 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 2535 | `(fountain-section-heading-1 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-main | ||
| 2536 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 2537 | `(fountain-section-heading-2 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-warm | ||
| 2538 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-3)))) | ||
| 2539 | `(fountain-section-heading-3 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-mild | ||
| 2540 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-2)))) | ||
| 2541 | `(fountain-section-heading-4 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-calm | ||
| 2542 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-1)))) | ||
| 2543 | `(fountain-section-heading-5 ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-calm))) | ||
| 2544 | `(fountain-synopsis ((,class :foreground ,cyan-alt))) | ||
| 2545 | `(fountain-trans ((,class :foreground ,yellow-alt-other))) | ||
| 2546 | ;;;;; geiser | ||
| 2547 | `(geiser-font-lock-autodoc-current-arg ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2548 | magenta magenta-faint)))) | ||
| 2549 | `(geiser-font-lock-autodoc-identifier ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2550 | blue blue-faint)))) | ||
| 2551 | `(geiser-font-lock-doc-button ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2552 | cyan-alt cyan-alt-faint) | ||
| 2553 | :underline t))) | ||
| 2554 | `(geiser-font-lock-doc-link ((,class :inherit link))) | ||
| 2555 | `(geiser-font-lock-error-link ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2556 | red-alt red-alt-faint) | ||
| 2557 | :underline t))) | ||
| 2558 | `(geiser-font-lock-image-button ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2559 | green-alt green-alt-faint) | ||
| 2560 | :underline t))) | ||
| 2561 | `(geiser-font-lock-repl-input ((,class :inherit bold))) | ||
| 2562 | `(geiser-font-lock-repl-output ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2563 | magenta-alt-other magenta-alt-other-faint)))) | ||
| 2564 | `(geiser-font-lock-repl-prompt ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 2565 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 2566 | `(geiser-font-lock-xref-header ((,class :inherit bold))) | ||
| 2567 | `(geiser-font-lock-xref-link ((,class :inherit link))) | ||
| 2568 | ;;;;; git-commit | ||
| 2569 | `(git-commit-comment-action ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 2570 | `(git-commit-comment-branch-local ((,class :foreground ,blue-alt :slant ,modus-theme-slant))) | ||
| 2571 | `(git-commit-comment-branch-remote ((,class :foreground ,magenta-alt :slant ,modus-theme-slant))) | ||
| 2572 | `(git-commit-comment-detached ((,class :foreground ,cyan-alt :slant ,modus-theme-slant))) | ||
| 2573 | `(git-commit-comment-file ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 2574 | `(git-commit-comment-heading ((,class :inherit bold :foreground ,fg-dim :slant ,modus-theme-slant))) | ||
| 2575 | `(git-commit-keyword ((,class :foreground ,magenta))) | ||
| 2576 | `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other))) | ||
| 2577 | `(git-commit-nonempty-second-line ((,class :inherit modus-theme-refine-yellow))) | ||
| 2578 | `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow))) | ||
| 2579 | `(git-commit-pseudo-header ((,class :foreground ,blue))) | ||
| 2580 | `(git-commit-summary ((,class :inherit bold :foreground ,cyan))) | ||
| 2581 | ;;;;; git-gutter | ||
| 2582 | `(git-gutter:added ((,class :inherit modus-theme-fringe-green))) | ||
| 2583 | `(git-gutter:deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 2584 | `(git-gutter:modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2585 | `(git-gutter:separator ((,class :inherit modus-theme-fringe-cyan))) | ||
| 2586 | `(git-gutter:unchanged ((,class :inherit modus-theme-fringe-magenta))) | ||
| 2587 | ;;;;; git-gutter-fr | ||
| 2588 | `(git-gutter-fr:added ((,class :inherit modus-theme-fringe-green))) | ||
| 2589 | `(git-gutter-fr:deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 2590 | `(git-gutter-fr:modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2591 | ;;;;; git-{gutter,fringe}+ | ||
| 2592 | `(git-gutter+-added ((,class :inherit modus-theme-fringe-green))) | ||
| 2593 | `(git-gutter+-deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 2594 | `(git-gutter+-modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2595 | `(git-gutter+-separator ((,class :inherit modus-theme-fringe-cyan))) | ||
| 2596 | `(git-gutter+-unchanged ((,class :inherit modus-theme-fringe-magenta))) | ||
| 2597 | `(git-gutter-fr+-added ((,class :inherit modus-theme-fringe-green))) | ||
| 2598 | `(git-gutter-fr+-deleted ((,class :inherit modus-theme-fringe-red))) | ||
| 2599 | `(git-gutter-fr+-modified ((,class :inherit modus-theme-fringe-yellow))) | ||
| 2600 | ;;;;; git-lens | ||
| 2601 | `(git-lens-added ((,class :inherit bold :foreground ,green))) | ||
| 2602 | `(git-lens-deleted ((,class :inherit bold :foreground ,red))) | ||
| 2603 | `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan))) | ||
| 2604 | `(git-lens-modified ((,class :inherit bold :foreground ,yellow))) | ||
| 2605 | `(git-lens-renamed ((,class :inherit bold :foreground ,magenta))) | ||
| 2606 | ;;;;; git-rebase | ||
| 2607 | `(git-rebase-comment-hash ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 2608 | `(git-rebase-comment-heading ((,class :inherit bold :foreground ,fg-dim :slant ,modus-theme-slant))) | ||
| 2609 | `(git-rebase-description ((,class :foreground ,fg-main))) | ||
| 2610 | `(git-rebase-hash ((,class :foreground ,cyan-alt-other))) | ||
| 2611 | ;;;;; git-timemachine | ||
| 2612 | `(git-timemachine-commit ((,class :inherit bold :foreground ,yellow-active))) | ||
| 2613 | `(git-timemachine-minibuffer-author-face ((,class :foreground ,fg-special-warm))) | ||
| 2614 | `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt))) | ||
| 2615 | ;;;;; git-walktree | ||
| 2616 | `(git-walktree-commit-face ((,class :foreground ,yellow))) | ||
| 2617 | `(git-walktree-symlink-face ((,class :inherit button :foreground ,cyan))) | ||
| 2618 | `(git-walktree-tree-face ((,class :foreground ,magenta))) | ||
| 2619 | ;;;;; gnus | ||
| 2620 | `(gnus-button ((,class :inherit button))) | ||
| 2621 | `(gnus-cite-1 ((,class :foreground ,blue-alt))) | ||
| 2622 | `(gnus-cite-10 ((,class :foreground ,magenta-alt-other))) | ||
| 2623 | `(gnus-cite-11 ((,class :foreground ,yellow-alt-other))) | ||
| 2624 | `(gnus-cite-2 ((,class :foreground ,red-alt))) | ||
| 2625 | `(gnus-cite-3 ((,class :foreground ,green-alt))) | ||
| 2626 | `(gnus-cite-4 ((,class :foreground ,magenta-alt))) | ||
| 2627 | `(gnus-cite-5 ((,class :foreground ,yellow-alt))) | ||
| 2628 | `(gnus-cite-6 ((,class :foreground ,cyan-alt))) | ||
| 2629 | `(gnus-cite-7 ((,class :foreground ,blue-alt-other))) | ||
| 2630 | `(gnus-cite-8 ((,class :foreground ,red-alt-other))) | ||
| 2631 | `(gnus-cite-9 ((,class :foreground ,green-alt-other))) | ||
| 2632 | `(gnus-cite-attribution ((,class :foreground ,fg-main :slant italic))) | ||
| 2633 | `(gnus-emphasis-highlight-words ((,class :inherit modus-theme-refine-yellow))) | ||
| 2634 | `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2635 | `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt))) | ||
| 2636 | `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta))) | ||
| 2637 | `(gnus-group-mail-2-empty ((,class :foreground ,magenta))) | ||
| 2638 | `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 2639 | `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other))) | ||
| 2640 | `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced))) | ||
| 2641 | `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced))) | ||
| 2642 | `(gnus-group-news-1 ((,class :inherit bold :foreground ,green))) | ||
| 2643 | `(gnus-group-news-1-empty ((,class :foreground ,green))) | ||
| 2644 | `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan))) | ||
| 2645 | `(gnus-group-news-2-empty ((,class :foreground ,cyan))) | ||
| 2646 | `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced))) | ||
| 2647 | `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced))) | ||
| 2648 | `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced))) | ||
| 2649 | `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced))) | ||
| 2650 | `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced))) | ||
| 2651 | `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced))) | ||
| 2652 | `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-alt))) | ||
| 2653 | `(gnus-group-news-6-empty ((,class :foreground ,fg-alt))) | ||
| 2654 | `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced))) | ||
| 2655 | `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced))) | ||
| 2656 | `(gnus-header-content ((,class :foreground ,cyan))) | ||
| 2657 | `(gnus-header-from ((,class :inherit bold :foreground ,cyan-alt-other :underline nil))) | ||
| 2658 | `(gnus-header-name ((,class :foreground ,green))) | ||
| 2659 | `(gnus-header-newsgroups ((,class :inherit bold :foreground ,blue-alt))) | ||
| 2660 | `(gnus-header-subject ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 2661 | `(gnus-server-agent ((,class :inherit bold :foreground ,cyan))) | ||
| 2662 | `(gnus-server-closed ((,class :inherit bold :foreground ,magenta))) | ||
| 2663 | `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 2664 | `(gnus-server-cloud-host ((,class :inherit modus-theme-refine-cyan))) | ||
| 2665 | `(gnus-server-denied ((,class :inherit bold :foreground ,red))) | ||
| 2666 | `(gnus-server-offline ((,class :inherit bold :foreground ,yellow))) | ||
| 2667 | `(gnus-server-opened ((,class :inherit bold :foreground ,green))) | ||
| 2668 | `(gnus-signature ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 2669 | `(gnus-splash ((,class :foreground ,fg-alt))) | ||
| 2670 | `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt))) | ||
| 2671 | `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt))) | ||
| 2672 | `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2673 | `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 2674 | `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground ,yellow))) | ||
| 2675 | `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main))) | ||
| 2676 | `(gnus-summary-low-ancient ((,class :foreground ,fg-alt :slant italic))) | ||
| 2677 | `(gnus-summary-low-read ((,class :foreground ,fg-alt :slant italic))) | ||
| 2678 | `(gnus-summary-low-ticked ((,class :foreground ,red-refine-fg :slant italic))) | ||
| 2679 | `(gnus-summary-low-undownloaded ((,class :foreground ,yellow-refine-fg :slant italic))) | ||
| 2680 | `(gnus-summary-low-unread ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2681 | `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm))) | ||
| 2682 | `(gnus-summary-normal-read ((,class :foreground ,fg-alt))) | ||
| 2683 | `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other))) | ||
| 2684 | `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow))) | ||
| 2685 | `(gnus-summary-normal-unread ((,class :foreground ,fg-main))) | ||
| 2686 | `(gnus-summary-selected ((,class :inherit modus-theme-subtle-blue))) | ||
| 2687 | ;;;;; golden-ratio-scroll-screen | ||
| 2688 | `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) | ||
| 2689 | ;;;;; helm | ||
| 2690 | `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 2691 | `(helm-action ((,class :underline t))) | ||
| 2692 | `(helm-bookmark-addressbook ((,class :foreground ,green-alt))) | ||
| 2693 | `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue))) | ||
| 2694 | `(helm-bookmark-file ((,class :foreground ,fg-main))) | ||
| 2695 | `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 2696 | `(helm-bookmark-gnus ((,class :foreground ,magenta))) | ||
| 2697 | `(helm-bookmark-info ((,class :foreground ,cyan-alt))) | ||
| 2698 | `(helm-bookmark-man ((,class :foreground ,yellow-alt))) | ||
| 2699 | `(helm-bookmark-w3m ((,class :foreground ,blue-alt))) | ||
| 2700 | `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan))) | ||
| 2701 | `(helm-buffer-directory ((,class :inherit bold :foreground ,blue))) | ||
| 2702 | `(helm-buffer-file ((,class :foreground ,fg-main))) | ||
| 2703 | `(helm-buffer-modified ((,class :foreground ,yellow-alt))) | ||
| 2704 | `(helm-buffer-not-saved ((,class :foreground ,red-alt))) | ||
| 2705 | `(helm-buffer-process ((,class :foreground ,magenta))) | ||
| 2706 | `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt :foreground ,red))) | ||
| 2707 | `(helm-buffer-size ((,class :foreground ,fg-alt))) | ||
| 2708 | `(helm-candidate-number ((,class :foreground ,cyan-active))) | ||
| 2709 | `(helm-candidate-number-suspended ((,class :foreground ,yellow-active))) | ||
| 2710 | `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active))) | ||
| 2711 | `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active))) | ||
| 2712 | `(helm-delete-async-message ((,class :inherit bold :foreground ,magenta-active))) | ||
| 2713 | `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 2714 | `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active))) | ||
| 2715 | `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active))) | ||
| 2716 | `(helm-etags-file ((,class :foreground ,fg-dim :underline t))) | ||
| 2717 | `(helm-ff-backup-file ((,class :foreground ,fg-alt))) | ||
| 2718 | `(helm-ff-denied ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2719 | 'modus-theme-subtle-red | ||
| 2720 | 'modus-theme-intense-red | ||
| 2721 | 'modus-theme-nuanced-red | ||
| 2722 | red)))) | ||
| 2723 | `(helm-ff-directory ((,class :inherit helm-buffer-directory))) | ||
| 2724 | `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 2725 | `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt :foreground ,fg-alt))) | ||
| 2726 | `(helm-ff-dotted-symlink-directory ((,class :inherit (button helm-ff-dotted-directory)))) | ||
| 2727 | `(helm-ff-executable ((,class :foreground ,magenta-alt))) | ||
| 2728 | `(helm-ff-file ((,class :foreground ,fg-main))) | ||
| 2729 | `(helm-ff-file-extension ((,class :foreground ,fg-special-warm))) | ||
| 2730 | `(helm-ff-invalid-symlink ((,class :inherit button :foreground ,red))) | ||
| 2731 | `(helm-ff-pipe ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2732 | 'modus-theme-refine-magenta | ||
| 2733 | 'modus-theme-subtle-magenta | ||
| 2734 | 'modus-theme-nuanced-magenta | ||
| 2735 | magenta)))) | ||
| 2736 | `(helm-ff-prefix ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2737 | 'modus-theme-refine-yellow | ||
| 2738 | 'modus-theme-subtle-yellow | ||
| 2739 | 'modus-theme-nuanced-yellow | ||
| 2740 | yellow-alt-other)))) | ||
| 2741 | `(helm-ff-socket ((,class :foreground ,red-alt-other))) | ||
| 2742 | `(helm-ff-suid ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2743 | 'modus-theme-subtle-red | ||
| 2744 | 'modus-theme-refine-red | ||
| 2745 | 'modus-theme-nuanced-yellow | ||
| 2746 | red-alt)))) | ||
| 2747 | `(helm-ff-symlink ((,class :inherit button :foreground ,cyan))) | ||
| 2748 | `(helm-ff-truename ((,class :foreground ,blue-alt-other))) | ||
| 2749 | `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other))) | ||
| 2750 | `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2751 | `(helm-grep-finish ((,class :foreground ,green-active))) | ||
| 2752 | `(helm-grep-lineno ((,class :foreground ,fg-special-warm))) | ||
| 2753 | `(helm-grep-match ((,class :inherit modus-theme-special-calm))) | ||
| 2754 | `(helm-header ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2755 | `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense))) | ||
| 2756 | `(helm-history-deleted ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2757 | 'modus-theme-subtle-red | ||
| 2758 | 'modus-theme-intense-red | ||
| 2759 | 'modus-theme-nuanced-red | ||
| 2760 | red | ||
| 2761 | 'bold)))) | ||
| 2762 | `(helm-history-remote ((,class :foreground ,red-alt-other))) | ||
| 2763 | `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm))) | ||
| 2764 | `(helm-lisp-show-completion ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2765 | 'modus-theme-subtle-yellow | ||
| 2766 | 'modus-theme-refine-yellow | ||
| 2767 | 'modus-theme-nuanced-yellow | ||
| 2768 | yellow | ||
| 2769 | 'bold)))) | ||
| 2770 | `(helm-locate-finish ((,class :foreground ,green-active))) | ||
| 2771 | `(helm-match ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2772 | 'modus-theme-subtle-cyan | ||
| 2773 | 'modus-theme-refine-cyan | ||
| 2774 | 'modus-theme-nuanced-cyan | ||
| 2775 | cyan | ||
| 2776 | 'bold)))) | ||
| 2777 | `(helm-match-item ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2778 | 'modus-theme-subtle-neutral | ||
| 2779 | 'modus-theme-subtle-cyan | ||
| 2780 | 'modus-theme-nuanced-cyan | ||
| 2781 | cyan-alt-other)))) | ||
| 2782 | `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt))) | ||
| 2783 | `(helm-moccur-buffer ((,class :inherit button :foreground ,cyan-alt-other))) | ||
| 2784 | `(helm-mode-prefix ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2785 | 'modus-theme-subtle-magenta | ||
| 2786 | 'modus-theme-intense-magenta | ||
| 2787 | 'modus-theme-nuanced-magenta | ||
| 2788 | magenta-alt | ||
| 2789 | 'bold)))) | ||
| 2790 | `(helm-non-file-buffer ((,class :foreground ,fg-alt))) | ||
| 2791 | `(helm-prefarg ((,class :foreground ,red-active))) | ||
| 2792 | `(helm-resume-need-update ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2793 | 'modus-theme-subtle-magenta | ||
| 2794 | 'modus-theme-refine-magenta | ||
| 2795 | 'modus-theme-nuanced-magenta | ||
| 2796 | magenta-alt-other)))) | ||
| 2797 | `(helm-selection ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2798 | 'modus-theme-subtle-blue | ||
| 2799 | 'modus-theme-refine-blue | ||
| 2800 | 'modus-theme-special-cold | ||
| 2801 | nil | ||
| 2802 | 'bold)))) | ||
| 2803 | `(helm-selection-line ((,class :inherit modus-theme-special-cold))) | ||
| 2804 | `(helm-separator ((,class :foreground ,fg-special-mild))) | ||
| 2805 | `(helm-time-zone-current ((,class :foreground ,green))) | ||
| 2806 | `(helm-time-zone-home ((,class :foreground ,magenta))) | ||
| 2807 | `(helm-source-header ((,class :inherit bold :foreground ,red-alt | ||
| 2808 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 2809 | `(helm-top-columns ((,class :inherit helm-header))) | ||
| 2810 | `(helm-ucs-char ((,class :foreground ,yellow-alt-other))) | ||
| 2811 | `(helm-visible-mark ((,class :inherit modus-theme-subtle-cyan))) | ||
| 2812 | ;;;;; helm-ls-git | ||
| 2813 | `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense))) | ||
| 2814 | `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense))) | ||
| 2815 | `(helm-ls-git-conflict-face ((,class :inherit bold :foreground ,red-intense))) | ||
| 2816 | `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced))) | ||
| 2817 | `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red))) | ||
| 2818 | `(helm-ls-git-modified-and-staged-face ((,class :foreground ,yellow-nuanced))) | ||
| 2819 | `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow))) | ||
| 2820 | `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta))) | ||
| 2821 | `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold))) | ||
| 2822 | ;;;;; helm-switch-shell | ||
| 2823 | `(helm-switch-shell-new-shell-face ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2824 | 'modus-theme-subtle-magenta | ||
| 2825 | 'modus-theme-refine-magenta | ||
| 2826 | 'modus-theme-nuanced-magenta | ||
| 2827 | magenta-alt-other | ||
| 2828 | 'bold)))) | ||
| 2829 | ;;;;; helm-xref | ||
| 2830 | `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 2831 | `(helm-xref-file-name ((,class :foreground ,fg-special-warm))) | ||
| 2832 | ;;;;; helpful | ||
| 2833 | `(helpful-heading ((,class :inherit modus-theme-heading-1))) | ||
| 2834 | ;;;;; highlight region or ad-hoc regexp | ||
| 2835 | `(hi-black-b ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 2836 | `(hi-blue ((,class :background ,bg-alt :foreground ,blue :underline t))) | ||
| 2837 | `(hi-blue-b ((,class :inherit modus-theme-intense-blue))) | ||
| 2838 | `(hi-green ((,class :background ,bg-alt :foreground ,green :underline t))) | ||
| 2839 | `(hi-green-b ((,class :inherit modus-theme-intense-green))) | ||
| 2840 | `(hi-pink ((,class :background ,bg-alt :foreground ,magenta :underline t))) | ||
| 2841 | `(hi-red-b ((,class :inherit modus-theme-intense-red))) | ||
| 2842 | `(hi-yellow ((,class :background ,bg-alt :foreground ,yellow :underline t))) | ||
| 2843 | `(highlight ((,class :inherit modus-theme-subtle-blue))) | ||
| 2844 | `(highlight-changes ((,class :foreground ,yellow-alt-other))) | ||
| 2845 | `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline t))) | ||
| 2846 | `(hl-line ((,class :inherit modus-theme-hl-line))) | ||
| 2847 | ;;;;; highlight-blocks | ||
| 2848 | `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 2849 | `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 2850 | `(highlight-blocks-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-main))) | ||
| 2851 | `(highlight-blocks-depth-4-face ((,class :background ,bg-special-calm :foreground ,fg-main))) | ||
| 2852 | `(highlight-blocks-depth-5-face ((,class :background ,bg-special-warm :foreground ,fg-main))) | ||
| 2853 | `(highlight-blocks-depth-6-face ((,class :background ,bg-special-mild :foreground ,fg-main))) | ||
| 2854 | `(highlight-blocks-depth-7-face ((,class :background ,bg-inactive :foreground ,fg-main))) | ||
| 2855 | `(highlight-blocks-depth-8-face ((,class :background ,bg-active :foreground ,fg-main))) | ||
| 2856 | `(highlight-blocks-depth-9-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) | ||
| 2857 | ;;;;; highlight-defined | ||
| 2858 | `(highlight-defined-builtin-function-name-face ((,class :foreground ,magenta))) | ||
| 2859 | `(highlight-defined-face-name-face ((,class :foreground ,fg-main))) | ||
| 2860 | `(highlight-defined-function-name-face ((,class :foreground ,magenta))) | ||
| 2861 | `(highlight-defined-macro-name-face ((,class :foreground ,magenta-alt))) | ||
| 2862 | `(highlight-defined-special-form-name-face ((,class :foreground ,magenta-alt-other))) | ||
| 2863 | `(highlight-defined-variable-name-face ((,class :foreground ,cyan))) | ||
| 2864 | ;;;;; highlight-escape-sequences (`hes-mode') | ||
| 2865 | `(hes-escape-backslash-face ((,class :inherit bold :foreground ,fg-escape-char-construct))) | ||
| 2866 | `(hes-escape-sequence-face ((,class :inherit bold :foreground ,fg-escape-char-backslash))) | ||
| 2867 | ;;;;; highlight-indentation | ||
| 2868 | `(highlight-indentation-face ((,class :inherit modus-theme-hl-line))) | ||
| 2869 | `(highlight-indentation-current-column-face ((,class :background ,bg-active))) | ||
| 2870 | ;;;;; highlight-numbers | ||
| 2871 | `(highlight-numbers-number ((,class :foreground ,blue-alt-other))) | ||
| 2872 | ;;;;; highlight-symbol | ||
| 2873 | `(highlight-symbol-face ((,class :inherit modus-theme-special-mild))) | ||
| 2874 | ;;;;; highlight-thing | ||
| 2875 | `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan))) | ||
| 2876 | ;;;;; hl-defined | ||
| 2877 | `(hdefd-functions ((,class :foreground ,blue))) | ||
| 2878 | `(hdefd-undefined ((,class :foreground ,red-alt))) | ||
| 2879 | `(hdefd-variables ((,class :foreground ,cyan-alt))) | ||
| 2880 | ;;;;; hl-fill-column | ||
| 2881 | `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 2882 | ;;;;; hl-todo | ||
| 2883 | `(hl-todo ((,class :inherit bold :foreground ,red-alt-other :slant ,modus-theme-slant))) | ||
| 2884 | ;;;;; hydra | ||
| 2885 | `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow))) | ||
| 2886 | `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt))) | ||
| 2887 | `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 2888 | `(hydra-face-red ((,class :inherit bold :foreground ,red))) | ||
| 2889 | `(hydra-face-teal ((,class :inherit bold :foreground ,cyan))) | ||
| 2890 | ;;;;; hyperlist | ||
| 2891 | `(hyperlist-condition ((,class :foreground ,green))) | ||
| 2892 | `(hyperlist-hashtag ((,class :foreground ,yellow))) | ||
| 2893 | `(hyperlist-operator ((,class :foreground ,blue-alt))) | ||
| 2894 | `(hyperlist-paren ((,class :foreground ,cyan-alt-other))) | ||
| 2895 | `(hyperlist-quote ((,class :foreground ,cyan-alt))) | ||
| 2896 | `(hyperlist-ref ((,class :foreground ,magenta-alt-other))) | ||
| 2897 | `(hyperlist-stars ((,class :foreground ,fg-alt))) | ||
| 2898 | `(hyperlist-tag ((,class :foreground ,red))) | ||
| 2899 | `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main))) | ||
| 2900 | ;;;;; icomplete | ||
| 2901 | `(icomplete-first-match ((,class :inherit bold | ||
| 2902 | ,@(modus-vivendi-theme-standard-completions | ||
| 2903 | magenta bg-alt | ||
| 2904 | bg-active fg-main)))) | ||
| 2905 | ;;;;; icomplete-vertical | ||
| 2906 | `(icomplete-vertical-separator ((,class :foreground ,fg-alt))) | ||
| 2907 | ;;;;; ido-mode | ||
| 2908 | `(ido-first-match ((,class :inherit bold | ||
| 2909 | ,@(modus-vivendi-theme-standard-completions | ||
| 2910 | magenta bg-alt | ||
| 2911 | bg-active fg-main)))) | ||
| 2912 | `(ido-incomplete-regexp ((,class :inherit error))) | ||
| 2913 | `(ido-indicator ((,class :inherit modus-theme-subtle-yellow))) | ||
| 2914 | `(ido-only-match ((,class :inherit bold | ||
| 2915 | ,@(modus-vivendi-theme-standard-completions | ||
| 2916 | green green-nuanced-bg | ||
| 2917 | green-intense-bg fg-main)))) | ||
| 2918 | `(ido-subdir ((,class :foreground ,blue))) | ||
| 2919 | `(ido-virtual ((,class :foreground ,fg-special-warm))) | ||
| 2920 | ;;;;; iedit | ||
| 2921 | `(iedit-occurrence ((,class :inherit modus-theme-refine-blue))) | ||
| 2922 | `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow))) | ||
| 2923 | ;;;;; iflipb | ||
| 2924 | `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 2925 | `(iflipb-other-buffer-face ((,class :foreground ,fg-alt))) | ||
| 2926 | ;;;;; imenu-list | ||
| 2927 | `(imenu-list-entry-face-0 ((,class :foreground ,cyan))) | ||
| 2928 | `(imenu-list-entry-face-1 ((,class :foreground ,blue))) | ||
| 2929 | `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other))) | ||
| 2930 | `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt))) | ||
| 2931 | `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground ,magenta-alt-other :underline t))) | ||
| 2932 | `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground ,magenta :underline t))) | ||
| 2933 | `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground ,green-alt-other :underline t))) | ||
| 2934 | `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground ,red-alt-other :underline t))) | ||
| 2935 | ;;;;; indium | ||
| 2936 | `(indium-breakpoint-face ((,class :foreground ,red-active))) | ||
| 2937 | `(indium-frame-url-face ((,class :inherit button :foreground ,fg-alt))) | ||
| 2938 | `(indium-keyword-face ((,class :foreground ,magenta-alt-other))) | ||
| 2939 | `(indium-litable-face ((,class :foreground ,fg-special-warm :slant ,modus-theme-slant))) | ||
| 2940 | `(indium-repl-error-face ((,class :inherit bold :foreground ,red))) | ||
| 2941 | `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other))) | ||
| 2942 | `(indium-repl-stdout-face ((,class :foreground ,fg-main))) | ||
| 2943 | ;;;;; info | ||
| 2944 | `(Info-quoted ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 2945 | :foreground ,magenta))) ; the capitalisation is canonical | ||
| 2946 | `(info-header-node ((,class :inherit bold :foreground ,fg-alt))) | ||
| 2947 | `(info-header-xref ((,class :foreground ,blue-active))) | ||
| 2948 | `(info-index-match ((,class :inherit match))) | ||
| 2949 | `(info-menu-header ((,class :inherit modus-theme-heading-3))) | ||
| 2950 | `(info-menu-star ((,class :foreground ,red))) | ||
| 2951 | `(info-node ((,class :inherit bold))) | ||
| 2952 | `(info-title-1 ((,class :inherit modus-theme-heading-1))) | ||
| 2953 | `(info-title-2 ((,class :inherit modus-theme-heading-2))) | ||
| 2954 | `(info-title-3 ((,class :inherit modus-theme-heading-3))) | ||
| 2955 | `(info-title-4 ((,class :inherit modus-theme-heading-4))) | ||
| 2956 | ;;;;; info-colors | ||
| 2957 | `(info-colors-lisp-code-block ((,class :inherit fixed-pitch))) | ||
| 2958 | `(info-colors-ref-item-command ((,class :foreground ,magenta))) | ||
| 2959 | `(info-colors-ref-item-constant ((,class :foreground ,blue-alt-other))) | ||
| 2960 | `(info-colors-ref-item-function ((,class :foreground ,magenta))) | ||
| 2961 | `(info-colors-ref-item-macro ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other))) | ||
| 2962 | `(info-colors-ref-item-other ((,class :foreground ,cyan))) | ||
| 2963 | `(info-colors-ref-item-special-form ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other))) | ||
| 2964 | `(info-colors-ref-item-syntax-class ((,class :foreground ,magenta))) | ||
| 2965 | `(info-colors-ref-item-type ((,class :foreground ,magenta-alt))) | ||
| 2966 | `(info-colors-ref-item-user-option ((,class :foreground ,cyan))) | ||
| 2967 | `(info-colors-ref-item-variable ((,class :foreground ,cyan))) | ||
| 2968 | ;;;;; interaction-log | ||
| 2969 | `(ilog-buffer-face ((,class :foreground ,magenta-alt-other))) | ||
| 2970 | `(ilog-change-face ((,class :foreground ,magenta-alt))) | ||
| 2971 | `(ilog-echo-face ((,class :foreground ,yellow-alt-other))) | ||
| 2972 | `(ilog-load-face ((,class :foreground ,green))) | ||
| 2973 | `(ilog-message-face ((,class :foreground ,fg-alt))) | ||
| 2974 | `(ilog-non-change-face ((,class :foreground ,blue))) | ||
| 2975 | ;;;;; ioccur | ||
| 2976 | `(ioccur-cursor ((,class :foreground ,fg-main))) | ||
| 2977 | `(ioccur-invalid-regexp ((,class :foreground ,red))) | ||
| 2978 | `(ioccur-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 2979 | `(ioccur-match-overlay-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 2980 | :inherit modus-theme-special-cold))) | ||
| 2981 | `(ioccur-num-line-face ((,class :foreground ,fg-special-warm))) | ||
| 2982 | `(ioccur-overlay-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 2983 | :inherit modus-theme-refine-blue))) | ||
| 2984 | `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold)))) | ||
| 2985 | `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt | ||
| 2986 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 2987 | ;;;;; isearch, occur, and the like | ||
| 2988 | `(isearch ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 2989 | `(isearch-fail ((,class :inherit modus-theme-refine-red))) | ||
| 2990 | `(lazy-highlight ((,class :inherit modus-theme-refine-cyan))) | ||
| 2991 | `(match ((,class :inherit modus-theme-special-calm))) | ||
| 2992 | `(query-replace ((,class :inherit (modus-theme-intense-yellow bold)))) | ||
| 2993 | ;;;;; ivy | ||
| 2994 | `(ivy-action ((,class :inherit bold :foreground ,red-alt))) | ||
| 2995 | `(ivy-completions-annotations ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 2996 | `(ivy-confirm-face ((,class :foreground ,cyan))) | ||
| 2997 | `(ivy-current-match ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 2998 | 'modus-theme-refine-cyan | ||
| 2999 | 'modus-theme-intense-cyan | ||
| 3000 | 'modus-theme-special-warm | ||
| 3001 | nil | ||
| 3002 | 'bold)))) | ||
| 3003 | `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 3004 | `(ivy-grep-info ((,class :foreground ,cyan-alt))) | ||
| 3005 | `(ivy-grep-line-number ((,class :foreground ,fg-special-warm))) | ||
| 3006 | `(ivy-highlight-face ((,class :foreground ,magenta))) | ||
| 3007 | `(ivy-match-required-face ((,class :inherit error))) | ||
| 3008 | `(ivy-minibuffer-match-face-1 ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3009 | 'modus-theme-subtle-neutral | ||
| 3010 | 'modus-theme-intense-neutral | ||
| 3011 | 'modus-theme-subtle-neutral | ||
| 3012 | fg-alt)))) | ||
| 3013 | `(ivy-minibuffer-match-face-2 ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3014 | 'modus-theme-subtle-green | ||
| 3015 | 'modus-theme-refine-green | ||
| 3016 | 'modus-theme-nuanced-green | ||
| 3017 | green-alt-other | ||
| 3018 | 'bold)))) | ||
| 3019 | `(ivy-minibuffer-match-face-3 ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3020 | 'modus-theme-subtle-cyan | ||
| 3021 | 'modus-theme-refine-cyan | ||
| 3022 | 'modus-theme-nuanced-cyan | ||
| 3023 | cyan-alt-other | ||
| 3024 | 'bold)))) | ||
| 3025 | `(ivy-minibuffer-match-face-4 ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3026 | 'modus-theme-subtle-magenta | ||
| 3027 | 'modus-theme-refine-magenta | ||
| 3028 | 'modus-theme-nuanced-magenta | ||
| 3029 | magenta-alt-other | ||
| 3030 | 'bold)))) | ||
| 3031 | `(ivy-minibuffer-match-highlight ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3032 | 'modus-theme-subtle-blue | ||
| 3033 | 'modus-theme-intense-blue | ||
| 3034 | 'modus-theme-nuanced-blue | ||
| 3035 | blue-alt-other | ||
| 3036 | 'bold)))) | ||
| 3037 | `(ivy-modified-buffer ((,class :foreground ,yellow :slant ,modus-theme-slant))) | ||
| 3038 | `(ivy-modified-outside-buffer ((,class :foreground ,yellow-alt :slant ,modus-theme-slant))) | ||
| 3039 | `(ivy-org ((,class :foreground ,cyan-alt-other))) | ||
| 3040 | `(ivy-prompt-match ((,class :inherit ivy-current-match))) | ||
| 3041 | `(ivy-remote ((,class :foreground ,magenta))) | ||
| 3042 | `(ivy-separator ((,class :foreground ,fg-alt))) | ||
| 3043 | `(ivy-subdir ((,class :foreground ,blue-alt-other))) | ||
| 3044 | `(ivy-virtual ((,class :foreground ,magenta-alt-other))) | ||
| 3045 | `(ivy-yanked-word ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3046 | 'modus-theme-subtle-blue | ||
| 3047 | 'modus-theme-refine-blue | ||
| 3048 | 'modus-theme-nuanced-blue | ||
| 3049 | blue-alt)))) | ||
| 3050 | ;;;;; ivy-posframe | ||
| 3051 | `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 3052 | `(ivy-posframe-border ((,class :background ,bg-active))) | ||
| 3053 | `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 3054 | ;;;;; jira (org-jira) | ||
| 3055 | `(jiralib-comment-face ((,class :background ,bg-alt))) | ||
| 3056 | `(jiralib-comment-header-face ((,class :inherit bold))) | ||
| 3057 | `(jiralib-issue-info-face ((,class :inherit modus-theme-special-warm))) | ||
| 3058 | `(jiralib-issue-info-header-face ((,class :inherit (modus-theme-special-warm bold)))) | ||
| 3059 | `(jiralib-issue-summary-face ((,class :inherit bold))) | ||
| 3060 | `(jiralib-link-filter-face ((,class :underline t))) | ||
| 3061 | `(jiralib-link-issue-face ((,class :underline t))) | ||
| 3062 | `(jiralib-link-project-face ((,class :underline t))) | ||
| 3063 | ;;;;; journalctl-mode | ||
| 3064 | `(journalctl-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3065 | `(journalctl-finished-face ((,class :inherit bold :foreground ,green))) | ||
| 3066 | `(journalctl-host-face ((,class :foreground ,blue))) | ||
| 3067 | `(journalctl-process-face ((,class :foreground ,cyan-alt-other))) | ||
| 3068 | `(journalctl-starting-face ((,class :foreground ,green))) | ||
| 3069 | `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold))) | ||
| 3070 | `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 3071 | ;;;;; js2-mode | ||
| 3072 | `(js2-error ((,class :foreground ,red))) | ||
| 3073 | `(js2-external-variable ((,class :foreground ,cyan-alt-other))) | ||
| 3074 | `(js2-function-call ((,class :foreground ,magenta))) | ||
| 3075 | `(js2-function-param ((,class :foreground ,blue))) | ||
| 3076 | `(js2-instance-member ((,class :foreground ,magenta-alt-other))) | ||
| 3077 | `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main))) | ||
| 3078 | `(js2-jsdoc-html-tag-name ((,class :foreground ,cyan))) | ||
| 3079 | `(js2-jsdoc-tag ((,class :foreground ,fg-special-calm))) | ||
| 3080 | `(js2-jsdoc-type ((,class :foreground ,fg-special-cold))) | ||
| 3081 | `(js2-jsdoc-value ((,class :foreground ,fg-special-warm))) | ||
| 3082 | `(js2-object-property ((,class :foreground ,fg-main))) | ||
| 3083 | `(js2-object-property-access ((,class :foreground ,fg-main))) | ||
| 3084 | `(js2-private-function-call ((,class :foreground ,green-alt-other))) | ||
| 3085 | `(js2-private-member ((,class :foreground ,fg-special-mild))) | ||
| 3086 | `(js2-warning ((,class :foreground ,yellow-alt :underline t))) | ||
| 3087 | ;;;;; julia | ||
| 3088 | `(julia-macro-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta))) | ||
| 3089 | `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other))) | ||
| 3090 | ;;;;; jupyter | ||
| 3091 | `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue))) | ||
| 3092 | `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other))) | ||
| 3093 | `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other))) | ||
| 3094 | `(jupyter-repl-traceback ((,class :inherit modus-theme-intense-red))) | ||
| 3095 | ;;;;; kaocha-runner | ||
| 3096 | `(kaocha-runner-error-face ((,class :foreground ,red))) | ||
| 3097 | `(kaocha-runner-success-face ((,class :foreground ,green))) | ||
| 3098 | `(kaocha-runner-warning-face ((,class :foreground ,yellow))) | ||
| 3099 | ;;;;; keycast | ||
| 3100 | `(keycast-command ((,class :inherit bold :foreground ,blue-active))) | ||
| 3101 | `(keycast-key ((,class ,@(modus-vivendi-theme-mode-line-attrs | ||
| 3102 | bg-main blue-active | ||
| 3103 | bg-main blue-active | ||
| 3104 | blue-active blue-intense | ||
| 3105 | 'alt-style -3)))) | ||
| 3106 | ;;;;; line numbers (display-line-numbers-mode and global variant) | ||
| 3107 | `(line-number ((,class :inherit default :background ,bg-dim :foreground ,fg-alt))) | ||
| 3108 | `(line-number-current-line ((,class :inherit default :background ,bg-active :foreground ,fg-main))) | ||
| 3109 | ;;;;; lsp-mode | ||
| 3110 | `(lsp-face-highlight-read ((,class :inherit modus-theme-subtle-blue :underline t))) | ||
| 3111 | `(lsp-face-highlight-textual ((,class :inherit modus-theme-subtle-blue))) | ||
| 3112 | `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue bold)))) | ||
| 3113 | `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other))) | ||
| 3114 | `(lsp-face-semhl-deprecated | ||
| 3115 | ((,(append '((supports :underline (:style wave))) class) | ||
| 3116 | :foreground ,yellow :underline (:style wave)) | ||
| 3117 | (,class :foreground ,yellow :underline t))) | ||
| 3118 | `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other))) | ||
| 3119 | `(lsp-face-semhl-field ((,class :foreground ,cyan-alt))) | ||
| 3120 | `(lsp-face-semhl-field-static ((,class :foreground ,cyan-alt :slant ,modus-theme-slant))) | ||
| 3121 | `(lsp-face-semhl-function ((,class :foreground ,magenta))) | ||
| 3122 | `(lsp-face-semhl-method ((,class :foreground ,magenta))) | ||
| 3123 | `(lsp-face-semhl-namespace ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt))) | ||
| 3124 | `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other))) | ||
| 3125 | `(lsp-face-semhl-static-method ((,class :foreground ,magenta :slant ,modus-theme-slant))) | ||
| 3126 | `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt))) | ||
| 3127 | `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt))) | ||
| 3128 | `(lsp-face-semhl-type-primitive ((,class :foreground ,magenta-alt :slant ,modus-theme-slant))) | ||
| 3129 | `(lsp-face-semhl-type-template ((,class :foreground ,magenta-alt :slant ,modus-theme-slant))) | ||
| 3130 | `(lsp-face-semhl-type-typedef ((,class :foreground ,magenta-alt :slant ,modus-theme-slant))) | ||
| 3131 | `(lsp-face-semhl-variable ((,class :foreground ,cyan))) | ||
| 3132 | `(lsp-face-semhl-variable-local ((,class :foreground ,cyan))) | ||
| 3133 | `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other))) | ||
| 3134 | `(lsp-lens-face ((,class :height 0.8 :foreground ,fg-alt))) | ||
| 3135 | `(lsp-lens-mouse-face ((,class :height 0.8 :foreground ,blue-alt-other :underline t))) | ||
| 3136 | `(lsp-ui-doc-background ((,class :background ,bg-alt))) | ||
| 3137 | `(lsp-ui-doc-header ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 3138 | `(lsp-ui-doc-url ((,class :inherit button :foreground ,blue-alt-other))) | ||
| 3139 | `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm))) | ||
| 3140 | `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 3141 | `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header))) | ||
| 3142 | `(lsp-ui-peek-highlight ((,class :inherit modus-theme-subtle-blue))) | ||
| 3143 | `(lsp-ui-peek-line-number ((,class :foreground ,fg-alt))) | ||
| 3144 | `(lsp-ui-peek-list ((,class :background ,bg-dim))) | ||
| 3145 | `(lsp-ui-peek-peek ((,class :background ,bg-alt))) | ||
| 3146 | `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3147 | `(lsp-ui-sideline-code-action ((,class :foreground ,yellow))) | ||
| 3148 | `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main))) | ||
| 3149 | `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt))) | ||
| 3150 | `(lsp-ui-sideline-symbol-info ((,class :height 0.99 :slant italic))) | ||
| 3151 | ;;;;; magit | ||
| 3152 | `(magit-bisect-bad ((,class :foreground ,red-alt-other))) | ||
| 3153 | `(magit-bisect-good ((,class :foreground ,green-alt-other))) | ||
| 3154 | `(magit-bisect-skip ((,class :foreground ,yellow-alt-other))) | ||
| 3155 | `(magit-blame-date ((,class :foreground ,blue))) | ||
| 3156 | `(magit-blame-dimmed ((,class :foreground ,fg-alt))) | ||
| 3157 | `(magit-blame-hash ((,class :foreground ,fg-special-warm))) | ||
| 3158 | `(magit-blame-heading ((,class :background ,bg-alt))) | ||
| 3159 | `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan))) | ||
| 3160 | `(magit-blame-margin ((,class :inherit magit-blame-highlight))) | ||
| 3161 | `(magit-blame-name ((,class :foreground ,magenta-alt-other))) | ||
| 3162 | `(magit-blame-summary ((,class :foreground ,cyan-alt-other))) | ||
| 3163 | `(magit-branch-current ((,class :foreground ,blue-alt-other :box t))) | ||
| 3164 | `(magit-branch-local ((,class :foreground ,blue-alt))) | ||
| 3165 | `(magit-branch-remote ((,class :foreground ,magenta-alt))) | ||
| 3166 | `(magit-branch-remote-head ((,class :foreground ,magenta-alt-other :box t))) | ||
| 3167 | `(magit-branch-upstream ((,class :slant italic))) | ||
| 3168 | `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 3169 | `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 3170 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 3171 | ;; modus-theme-diff-* faces, though only for the standard actions, | ||
| 3172 | ;; not the highlighted ones. This is because Magit's interaction | ||
| 3173 | ;; model relies on highlighting the current diff hunk. | ||
| 3174 | `(magit-diff-added ((,class ,@(modus-vivendi-theme-diff | ||
| 3175 | bg-main green | ||
| 3176 | bg-diff-added fg-diff-added | ||
| 3177 | green-nuanced-bg fg-diff-added)))) | ||
| 3178 | `(magit-diff-added-highlight ((,class :inherit modus-theme-diff-focus-added))) | ||
| 3179 | `(magit-diff-base ((,class ,@(modus-vivendi-theme-diff | ||
| 3180 | bg-main yellow | ||
| 3181 | bg-diff-changed fg-diff-changed | ||
| 3182 | yellow-nuanced-bg fg-diff-changed)))) | ||
| 3183 | `(magit-diff-base-highlight ((,class :inherit modus-theme-diff-focus-changed))) | ||
| 3184 | `(magit-diff-context ((,class :foreground ,fg-unfocused))) | ||
| 3185 | `(magit-diff-context-highlight ((,class ,@(modus-vivendi-theme-diff | ||
| 3186 | bg-dim fg-dim | ||
| 3187 | bg-inactive fg-inactive | ||
| 3188 | bg-dim fg-alt)))) | ||
| 3189 | `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3190 | `(magit-diff-file-heading-highlight ((,class :inherit (modus-theme-special-cold bold)))) | ||
| 3191 | `(magit-diff-file-heading-selection ((,class :inherit modus-theme-refine-cyan))) | ||
| 3192 | ;; NOTE: here we break from the pattern of inheriting from the | ||
| 3193 | ;; modus-theme-diff-* faces. | ||
| 3194 | `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active | ||
| 3195 | :foreground ,fg-inactive))) | ||
| 3196 | `(magit-diff-hunk-heading-highlight ((,class :inherit bold :background ,bg-diff-heading | ||
| 3197 | :foreground ,fg-diff-heading))) | ||
| 3198 | `(magit-diff-hunk-heading-selection ((,class :inherit modus-theme-refine-blue))) | ||
| 3199 | `(magit-diff-hunk-region ((,class :inherit bold))) | ||
| 3200 | `(magit-diff-lines-boundary ((,class :background ,fg-main))) | ||
| 3201 | `(magit-diff-lines-heading ((,class :inherit modus-theme-refine-magenta))) | ||
| 3202 | `(magit-diff-removed ((,class ,@(modus-vivendi-theme-diff | ||
| 3203 | bg-main red | ||
| 3204 | bg-diff-removed fg-diff-removed | ||
| 3205 | red-nuanced-bg fg-diff-removed)))) | ||
| 3206 | `(magit-diff-removed-highlight ((,class :inherit modus-theme-diff-focus-removed))) | ||
| 3207 | `(magit-diffstat-added ((,class :foreground ,green))) | ||
| 3208 | `(magit-diffstat-removed ((,class :foreground ,red))) | ||
| 3209 | `(magit-dimmed ((,class :foreground ,fg-unfocused))) | ||
| 3210 | `(magit-filename ((,class :foreground ,fg-special-cold))) | ||
| 3211 | `(magit-hash ((,class :foreground ,fg-alt))) | ||
| 3212 | `(magit-head ((,class :inherit magit-branch-local))) | ||
| 3213 | `(magit-header-line ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3214 | `(magit-header-line-key ((,class :inherit bold :foreground ,red-active))) | ||
| 3215 | `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main))) | ||
| 3216 | `(magit-keyword ((,class :foreground ,magenta))) | ||
| 3217 | `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 3218 | `(magit-log-author ((,class :foreground ,cyan))) | ||
| 3219 | `(magit-log-date ((,class :foreground ,fg-alt))) | ||
| 3220 | `(magit-log-graph ((,class :foreground ,fg-dim))) | ||
| 3221 | `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active))) | ||
| 3222 | `(magit-mode-line-process-error ((,class :inherit bold :foreground ,red-active))) | ||
| 3223 | `(magit-process-ng ((,class :inherit error))) | ||
| 3224 | `(magit-process-ok ((,class :inherit success))) | ||
| 3225 | `(magit-reflog-amend ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 3226 | `(magit-reflog-checkout ((,class :background ,bg-main :foreground ,blue-intense))) | ||
| 3227 | `(magit-reflog-cherry-pick ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 3228 | `(magit-reflog-commit ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 3229 | `(magit-reflog-merge ((,class :background ,bg-main :foreground ,green-intense))) | ||
| 3230 | `(magit-reflog-other ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 3231 | `(magit-reflog-rebase ((,class :background ,bg-main :foreground ,magenta-intense))) | ||
| 3232 | `(magit-reflog-remote ((,class :background ,bg-main :foreground ,cyan-intense))) | ||
| 3233 | `(magit-reflog-reset ((,class :background ,bg-main :foreground ,red-intense))) | ||
| 3234 | `(magit-refname ((,class :foreground ,fg-alt))) | ||
| 3235 | `(magit-refname-pullreq ((,class :foreground ,fg-alt))) | ||
| 3236 | `(magit-refname-stash ((,class :foreground ,fg-alt))) | ||
| 3237 | `(magit-refname-wip ((,class :foreground ,fg-alt))) | ||
| 3238 | `(magit-section ((,class :background ,bg-dim :foreground ,fg-main))) | ||
| 3239 | `(magit-section-heading ((,class :inherit bold :foreground ,cyan))) | ||
| 3240 | `(magit-section-heading-selection ((,class :inherit (modus-theme-refine-cyan bold)))) | ||
| 3241 | `(magit-section-highlight ((,class :background ,bg-alt))) | ||
| 3242 | `(magit-sequence-done ((,class :foreground ,green-alt))) | ||
| 3243 | `(magit-sequence-drop ((,class :foreground ,red-alt))) | ||
| 3244 | `(magit-sequence-exec ((,class :foreground ,magenta-alt))) | ||
| 3245 | `(magit-sequence-head ((,class :foreground ,cyan-alt))) | ||
| 3246 | `(magit-sequence-onto ((,class :foreground ,fg-alt))) | ||
| 3247 | `(magit-sequence-part ((,class :foreground ,yellow-alt))) | ||
| 3248 | `(magit-sequence-pick ((,class :foreground ,blue-alt))) | ||
| 3249 | `(magit-sequence-stop ((,class :foreground ,red))) | ||
| 3250 | `(magit-signature-bad ((,class :inherit bold :foreground ,red))) | ||
| 3251 | `(magit-signature-error ((,class :foreground ,red-alt))) | ||
| 3252 | `(magit-signature-expired ((,class :foreground ,yellow))) | ||
| 3253 | `(magit-signature-expired-key ((,class :foreground ,yellow))) | ||
| 3254 | `(magit-signature-good ((,class :foreground ,green))) | ||
| 3255 | `(magit-signature-revoked ((,class :foreground ,magenta))) | ||
| 3256 | `(magit-signature-untrusted ((,class :foreground ,cyan))) | ||
| 3257 | `(magit-tag ((,class :foreground ,yellow-alt-other))) | ||
| 3258 | ;;;;; magit-imerge | ||
| 3259 | `(magit-imerge-overriding-value ((,class :inherit bold :foreground ,red-alt))) | ||
| 3260 | ;;;;; man | ||
| 3261 | `(Man-overstrike ((,class :inherit bold :foreground ,magenta))) | ||
| 3262 | `(Man-reverse ((,class :inherit modus-theme-subtle-magenta))) | ||
| 3263 | `(Man-underline ((,class :foreground ,cyan :underline t))) | ||
| 3264 | ;;;;; markdown-mode | ||
| 3265 | `(markdown-blockquote-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3266 | `(markdown-bold-face ((,class :inherit bold))) | ||
| 3267 | `(markdown-code-face ((,class ,@(modus-vivendi-theme-mixed-fonts)))) | ||
| 3268 | `(markdown-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3269 | `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3270 | `(markdown-footnote-text-face ((,class :foreground ,fg-main :slant ,modus-theme-slant))) | ||
| 3271 | `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other))) | ||
| 3272 | `(markdown-header-delimiter-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,fg-dim))) | ||
| 3273 | `(markdown-header-face ((t nil))) | ||
| 3274 | `(markdown-header-face-1 ((,class :inherit modus-theme-heading-1))) | ||
| 3275 | `(markdown-header-face-2 ((,class :inherit modus-theme-heading-2))) | ||
| 3276 | `(markdown-header-face-3 ((,class :inherit modus-theme-heading-3))) | ||
| 3277 | `(markdown-header-face-4 ((,class :inherit modus-theme-heading-4))) | ||
| 3278 | `(markdown-header-face-5 ((,class :inherit modus-theme-heading-5))) | ||
| 3279 | `(markdown-header-face-6 ((,class :inherit modus-theme-heading-6))) | ||
| 3280 | `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 3281 | `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 3282 | `(markdown-html-attr-name-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3283 | :foreground ,cyan))) | ||
| 3284 | `(markdown-html-attr-value-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3285 | :foreground ,blue))) | ||
| 3286 | `(markdown-html-entity-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3287 | :foreground ,cyan))) | ||
| 3288 | `(markdown-html-tag-delimiter-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3289 | :foreground ,fg-special-mild))) | ||
| 3290 | `(markdown-html-tag-name-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3291 | :foreground ,magenta-alt))) | ||
| 3292 | `(markdown-inline-code-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3293 | :foreground ,magenta))) | ||
| 3294 | `(markdown-italic-face ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 3295 | `(markdown-language-info-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3296 | :foreground ,fg-special-cold))) | ||
| 3297 | `(markdown-language-keyword-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3298 | :foreground ,green-alt-other))) | ||
| 3299 | `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan :underline t))) | ||
| 3300 | `(markdown-link-face ((,class :inherit link))) | ||
| 3301 | `(markdown-link-title-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3302 | `(markdown-list-face ((,class :foreground ,fg-dim))) | ||
| 3303 | `(markdown-markup-face ((,class :foreground ,fg-alt))) | ||
| 3304 | `(markdown-math-face ((,class :foreground ,magenta-alt-other))) | ||
| 3305 | `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other))) | ||
| 3306 | `(markdown-metadata-value-face ((,class :foreground ,blue-alt))) | ||
| 3307 | `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow))) | ||
| 3308 | `(markdown-plain-url-face ((,class :inherit markdown-link-face))) | ||
| 3309 | `(markdown-pre-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 3310 | ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3311 | :background ,bg-dim | ||
| 3312 | :foreground ,fg-special-mild))) | ||
| 3313 | `(markdown-reference-face ((,class :inherit markdown-markup-face))) | ||
| 3314 | `(markdown-strike-through-face ((,class :strike-through t))) | ||
| 3315 | `(markdown-table-face ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3316 | :foreground ,fg-special-cold))) | ||
| 3317 | `(markdown-url-face ((,class :foreground ,blue-alt))) | ||
| 3318 | ;;;;; markup-faces (`adoc-mode') | ||
| 3319 | `(markup-anchor-face ((,class :foreground ,fg-inactive))) | ||
| 3320 | `(markup-attribute-face ((,class :foreground ,fg-inactive :slant italic))) | ||
| 3321 | `(markup-big-face ((,class :height 1.3 :foreground ,blue-nuanced))) | ||
| 3322 | `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced))) | ||
| 3323 | `(markup-code-face ((,class :inherit fixed-pitch :foreground ,magenta))) | ||
| 3324 | `(markup-command-face ((,class :foreground ,fg-inactive))) | ||
| 3325 | `(markup-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3326 | `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil :style released-button) | ||
| 3327 | :inherit modus-theme-refine-magenta))) | ||
| 3328 | `(markup-emphasis-face ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 3329 | `(markup-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3330 | `(markup-gen-face ((,class :foreground ,magenta-alt))) | ||
| 3331 | `(markup-internal-reference-face ((,class :inherit button :foreground ,fg-inactive))) | ||
| 3332 | `(markup-italic-face ((,class :foreground ,fg-special-cold :slant italic))) | ||
| 3333 | `(markup-list-face ((,class :inherit modus-theme-special-calm))) | ||
| 3334 | `(markup-meta-face ((,class :foreground ,fg-inactive))) | ||
| 3335 | `(markup-meta-hide-face ((,class :foreground ,fg-alt))) | ||
| 3336 | `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan))) | ||
| 3337 | `(markup-preprocessor-face ((,class :foreground ,red-alt-other))) | ||
| 3338 | `(markup-replacement-face ((,class :foreground ,yellow-alt-other))) | ||
| 3339 | `(markup-secondary-text-face ((,class :height 0.8 :foreground ,magenta-nuanced))) | ||
| 3340 | `(markup-small-face ((,class :height 0.8 :foreground ,fg-main))) | ||
| 3341 | `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced))) | ||
| 3342 | `(markup-subscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) | ||
| 3343 | `(markup-superscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) | ||
| 3344 | `(markup-table-cell-face ((,class :inherit modus-theme-special-cold))) | ||
| 3345 | `(markup-table-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3346 | `(markup-table-row-face ((,class :inherit modus-theme-subtle-cyan))) | ||
| 3347 | `(markup-title-0-face ((,class :height 3.0 :foreground ,blue-nuanced))) | ||
| 3348 | `(markup-title-1-face ((,class :height 2.4 :foreground ,blue-nuanced))) | ||
| 3349 | `(markup-title-2-face ((,class :height 1.8 :foreground ,blue-nuanced))) | ||
| 3350 | `(markup-title-3-face ((,class :height 1.4 :foreground ,blue-nuanced))) | ||
| 3351 | `(markup-title-4-face ((,class :height 1.2 :foreground ,blue-nuanced))) | ||
| 3352 | `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced :underline t))) | ||
| 3353 | `(markup-value-face ((,class :foreground ,fg-inactive))) | ||
| 3354 | `(markup-verbatim-face ((,class :inherit modus-theme-special-mild))) | ||
| 3355 | ;;;;; mentor | ||
| 3356 | `(mentor-download-message ((,class :foreground ,fg-special-warm))) | ||
| 3357 | `(mentor-download-name ((,class :foreground ,fg-special-cold))) | ||
| 3358 | `(mentor-download-progress ((,class :foreground ,blue-alt-other))) | ||
| 3359 | `(mentor-download-size ((,class :foreground ,magenta-alt-other))) | ||
| 3360 | `(mentor-download-speed-down ((,class :foreground ,cyan-alt))) | ||
| 3361 | `(mentor-download-speed-up ((,class :foreground ,red-alt))) | ||
| 3362 | `(mentor-download-state ((,class :foreground ,yellow-alt))) | ||
| 3363 | `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 3364 | `(mentor-tracker-name ((,class :foreground ,magenta-alt))) | ||
| 3365 | ;;;;; messages | ||
| 3366 | `(message-cited-text-1 ((,class :foreground ,blue-alt))) | ||
| 3367 | `(message-cited-text-2 ((,class :foreground ,red-alt))) | ||
| 3368 | `(message-cited-text-3 ((,class :foreground ,green-alt))) | ||
| 3369 | `(message-cited-text-4 ((,class :foreground ,magenta-alt))) | ||
| 3370 | `(message-header-cc ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3371 | `(message-header-name ((,class :foreground ,green-alt-other))) | ||
| 3372 | `(message-header-newsgroups ((,class :inherit bold :foreground ,green-alt))) | ||
| 3373 | `(message-header-other ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3374 | `(message-header-subject ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3375 | `(message-header-to ((,class :inherit bold :foreground ,blue))) | ||
| 3376 | `(message-header-xheader ((,class :foreground ,cyan))) | ||
| 3377 | `(message-mml ((,class :foreground ,fg-special-warm))) | ||
| 3378 | `(message-separator ((,class :inherit modus-theme-intense-neutral))) | ||
| 3379 | ;;;;; minibuffer-line | ||
| 3380 | `(minibuffer-line ((,class :foreground ,fg-main))) | ||
| 3381 | ;;;;; minimap | ||
| 3382 | `(minimap-active-region-background ((,class :background ,bg-active))) | ||
| 3383 | `(minimap-current-line-face ((,class :background ,cyan-intense-bg :foreground ,fg-main))) | ||
| 3384 | ;;;;; modeline | ||
| 3385 | `(mode-line ((,class ,@(modus-vivendi-theme-mode-line-attrs | ||
| 3386 | fg-active bg-active fg-dim bg-active | ||
| 3387 | fg-alt bg-active 'alt-style nil bg-main)))) | ||
| 3388 | `(mode-line-buffer-id ((,class :inherit bold))) | ||
| 3389 | `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active))) | ||
| 3390 | `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button)))) | ||
| 3391 | `(mode-line-inactive ((,class ,@(modus-vivendi-theme-mode-line-attrs | ||
| 3392 | fg-inactive bg-inactive fg-alt bg-dim | ||
| 3393 | bg-region bg-active)))) | ||
| 3394 | ;;;;; mood-line | ||
| 3395 | `(mood-line-modified ((,class :foreground ,magenta-active))) | ||
| 3396 | `(mood-line-status-error ((,class :inherit bold :foreground ,red-active))) | ||
| 3397 | `(mood-line-status-info ((,class :foreground ,cyan-active))) | ||
| 3398 | `(mood-line-status-neutral ((,class :foreground ,blue-active))) | ||
| 3399 | `(mood-line-status-success ((,class :foreground ,green-active))) | ||
| 3400 | `(mood-line-status-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 3401 | `(mood-line-unimportant ((,class :foreground ,fg-inactive))) | ||
| 3402 | ;;;;; mpdel | ||
| 3403 | `(mpdel-browser-directory-face ((,class :foreground ,blue))) | ||
| 3404 | `(mpdel-playlist-current-song-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3405 | ;;;;; mu4e | ||
| 3406 | `(mu4e-attach-number-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3407 | `(mu4e-cited-1-face ((,class :foreground ,blue-alt))) | ||
| 3408 | `(mu4e-cited-2-face ((,class :foreground ,red-alt))) | ||
| 3409 | `(mu4e-cited-3-face ((,class :foreground ,green-alt))) | ||
| 3410 | `(mu4e-cited-4-face ((,class :foreground ,magenta-alt))) | ||
| 3411 | `(mu4e-cited-5-face ((,class :foreground ,yellow-alt))) | ||
| 3412 | `(mu4e-cited-6-face ((,class :foreground ,cyan-alt))) | ||
| 3413 | `(mu4e-cited-7-face ((,class :foreground ,magenta))) | ||
| 3414 | `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face))) | ||
| 3415 | `(mu4e-compose-separator-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 3416 | `(mu4e-contact-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3417 | `(mu4e-context-face ((,class :foreground ,blue-active))) | ||
| 3418 | `(mu4e-draft-face ((,class :foreground ,magenta-alt))) | ||
| 3419 | `(mu4e-flagged-face ((,class :foreground ,red-alt))) | ||
| 3420 | `(mu4e-footer-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3421 | `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other))) | ||
| 3422 | `(mu4e-header-face ((,class :foreground ,fg-alt))) | ||
| 3423 | `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line))) | ||
| 3424 | `(mu4e-header-key-face ((,class :foreground ,cyan))) | ||
| 3425 | `(mu4e-header-marks-face ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3426 | `(mu4e-header-title-face ((,class :foreground ,fg-special-mild))) | ||
| 3427 | `(mu4e-header-value-face ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3428 | `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3429 | `(mu4e-link-face ((,class :inherit link))) | ||
| 3430 | `(mu4e-modeline-face ((,class :foreground ,magenta-active))) | ||
| 3431 | `(mu4e-moved-face ((,class :foreground ,yellow :slant ,modus-theme-slant))) | ||
| 3432 | `(mu4e-ok-face ((,class :inherit bold :foreground ,green))) | ||
| 3433 | `(mu4e-region-code ((,class :inherit modus-theme-special-calm))) | ||
| 3434 | `(mu4e-replied-face ((,class :foreground ,blue-faint))) | ||
| 3435 | `(mu4e-special-header-value-face ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3436 | `(mu4e-system-face ((,class :foreground ,fg-mark-del :slant ,modus-theme-slant))) | ||
| 3437 | `(mu4e-title-face ((,class :foreground ,fg-main))) | ||
| 3438 | `(mu4e-trashed-face ((,class :foreground ,red))) | ||
| 3439 | `(mu4e-unread-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 3440 | `(mu4e-url-number-face ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3441 | `(mu4e-view-body-face ((,class :foreground ,fg-main))) | ||
| 3442 | `(mu4e-warning-face ((,class :inherit warning))) | ||
| 3443 | ;;;;; mu4e-conversation | ||
| 3444 | `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold))) | ||
| 3445 | `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm))) | ||
| 3446 | `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold))) | ||
| 3447 | `(mu4e-conversation-sender-3 ((,class :foreground ,fg-special-mild))) | ||
| 3448 | `(mu4e-conversation-sender-4 ((,class :foreground ,fg-alt))) | ||
| 3449 | `(mu4e-conversation-sender-5 ((,class :foreground ,yellow-refine-fg))) | ||
| 3450 | `(mu4e-conversation-sender-6 ((,class :foreground ,cyan-refine-fg))) | ||
| 3451 | `(mu4e-conversation-sender-7 ((,class :foreground ,green-refine-fg))) | ||
| 3452 | `(mu4e-conversation-sender-8 ((,class :foreground ,blue-refine-fg))) | ||
| 3453 | `(mu4e-conversation-sender-me ((,class :foreground ,fg-main))) | ||
| 3454 | `(mu4e-conversation-unread ((,class :inherit bold))) | ||
| 3455 | ;;;;; multiple-cursors | ||
| 3456 | `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main))) | ||
| 3457 | `(mc/cursor-face ((,class :inverse-video t))) | ||
| 3458 | `(mc/region-face ((,class :inherit region))) | ||
| 3459 | ;;;;; neotree | ||
| 3460 | `(neo-banner-face ((,class :foreground ,magenta))) | ||
| 3461 | `(neo-button-face ((,class :inherit button))) | ||
| 3462 | `(neo-dir-link-face ((,class :inherit bold :foreground ,blue))) | ||
| 3463 | `(neo-expand-btn-face ((,class :foreground ,cyan))) | ||
| 3464 | `(neo-file-link-face ((,class :foreground ,fg-main))) | ||
| 3465 | `(neo-header-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 3466 | `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt))) | ||
| 3467 | `(neo-vc-added-face ((,class :foreground ,green))) | ||
| 3468 | `(neo-vc-conflict-face ((,class :inherit bold :foreground ,red))) | ||
| 3469 | `(neo-vc-default-face ((,class :foreground ,fg-main))) | ||
| 3470 | `(neo-vc-edited-face ((,class :foreground ,yellow))) | ||
| 3471 | `(neo-vc-ignored-face ((,class :foreground ,fg-inactive))) | ||
| 3472 | `(neo-vc-missing-face ((,class :foreground ,red-alt))) | ||
| 3473 | `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt))) | ||
| 3474 | `(neo-vc-needs-update-face ((,class :underline t))) | ||
| 3475 | `(neo-vc-removed-face ((,class :strike-through t))) | ||
| 3476 | `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue))) | ||
| 3477 | `(neo-vc-up-to-date-face ((,class :foreground ,fg-alt))) | ||
| 3478 | `(neo-vc-user-face ((,class :foreground ,magenta))) | ||
| 3479 | ;;;;; no-emoji | ||
| 3480 | `(no-emoji ((,class :foreground ,cyan))) | ||
| 3481 | ;;;;; notmuch | ||
| 3482 | `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta))) | ||
| 3483 | `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other))) | ||
| 3484 | `(notmuch-crypto-signature-bad ((,class :inherit modus-theme-intense-red))) | ||
| 3485 | `(notmuch-crypto-signature-good ((,class :inherit modus-theme-refine-green))) | ||
| 3486 | `(notmuch-crypto-signature-good-key ((,class :inherit modus-theme-refine-yellow))) | ||
| 3487 | `(notmuch-crypto-signature-unknown ((,class :inherit modus-theme-refine-red))) | ||
| 3488 | `(notmuch-hello-logo-background ((,class :background ,bg-main))) | ||
| 3489 | `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan))) | ||
| 3490 | `(notmuch-search-flagged-face ((,class :foreground ,red-alt))) | ||
| 3491 | `(notmuch-search-matching-authors ((,class :foreground ,fg-main))) | ||
| 3492 | `(notmuch-search-non-matching-authors ((,class :foreground ,fg-alt))) | ||
| 3493 | `(notmuch-search-unread-face ((,class :inherit bold))) | ||
| 3494 | `(notmuch-tag-added | ||
| 3495 | ((,(append '((supports :underline (:style wave))) class) | ||
| 3496 | :underline (:color ,green :style wave)) | ||
| 3497 | (,class :foreground ,green :underline t))) | ||
| 3498 | `(notmuch-tag-deleted | ||
| 3499 | ((,(append '((supports :underline (:style wave))) class) | ||
| 3500 | :underline (:color ,red :style wave)) | ||
| 3501 | (,class :foreground ,red :underline t))) | ||
| 3502 | `(notmuch-tag-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3503 | `(notmuch-tag-flagged ((,class :foreground ,red-alt))) | ||
| 3504 | `(notmuch-tag-unread ((,class :foreground ,magenta-alt))) | ||
| 3505 | `(notmuch-tree-match-author-face ((,class :foreground ,fg-special-cold))) | ||
| 3506 | `(notmuch-tree-match-face ((,class :foreground ,fg-main))) | ||
| 3507 | `(notmuch-tree-match-tag-face ((,class :inherit bold :foreground ,blue-alt))) | ||
| 3508 | `(notmuch-tree-no-match-face ((,class :foreground ,fg-alt))) | ||
| 3509 | `(notmuch-wash-cited-text ((,class :foreground ,cyan))) | ||
| 3510 | `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 3511 | ;;;;; num3-mode | ||
| 3512 | `(num3-face-even ((,class :inherit bold :background ,bg-alt))) | ||
| 3513 | ;;;;; nxml-mode | ||
| 3514 | `(nxml-attribute-colon ((,class :foreground ,fg-main))) | ||
| 3515 | `(nxml-attribute-local-name ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3516 | cyan-alt cyan-alt-faint)))) | ||
| 3517 | `(nxml-attribute-prefix ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3518 | cyan-alt-other cyan-alt-other-faint) | ||
| 3519 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3520 | `(nxml-attribute-value ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3521 | blue blue-faint)))) | ||
| 3522 | `(nxml-cdata-section-CDATA ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3523 | red-alt red-alt-faint) | ||
| 3524 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3525 | `(nxml-cdata-section-delimiter ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3526 | red-alt red-alt-faint)))) | ||
| 3527 | `(nxml-char-ref-delimiter ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3528 | green-alt-other green-alt-other-faint)))) | ||
| 3529 | `(nxml-char-ref-number ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3530 | green-alt-other green-alt-other-faint) | ||
| 3531 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3532 | `(nxml-delimited-data ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3533 | `(nxml-delimiter ((,class :foreground ,fg-dim))) | ||
| 3534 | `(nxml-element-colon ((,class :foreground ,fg-main))) | ||
| 3535 | `(nxml-element-local-name ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3536 | magenta magenta-faint)))) | ||
| 3537 | `(nxml-element-prefix ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3538 | magenta-alt magenta-alt-faint) | ||
| 3539 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3540 | `(nxml-entity-ref-delimiter ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3541 | green-alt-other green-alt-other-faint)))) | ||
| 3542 | `(nxml-entity-ref-name ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3543 | green-alt-other green-alt-other-faint) | ||
| 3544 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3545 | `(nxml-glyph ((,class :inherit modus-theme-intense-neutral))) | ||
| 3546 | `(nxml-hash ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3547 | blue-alt blue-alt-faint) | ||
| 3548 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3549 | `(nxml-heading ((,class :inherit bold))) | ||
| 3550 | `(nxml-name ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3551 | magenta-alt magenta-alt-faint) | ||
| 3552 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3553 | `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main))) | ||
| 3554 | `(nxml-namespace-attribute-prefix ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3555 | cyan cyan-faint)))) | ||
| 3556 | `(nxml-processing-instruction-target ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3557 | magenta-alt-other magenta-alt-other-faint) | ||
| 3558 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3559 | `(nxml-prolog-keyword ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3560 | magenta-alt-other magenta-alt-other-faint) | ||
| 3561 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3562 | `(nxml-ref ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 3563 | green-alt-other green-alt-other-faint) | ||
| 3564 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 3565 | ;;;;; objed | ||
| 3566 | `(objed-hl ((,class :background ,(if modus-vivendi-theme-intense-hl-line | ||
| 3567 | bg-hl-alt-intense bg-hl-alt)))) | ||
| 3568 | `(objed-mark ((,class :background ,bg-active))) | ||
| 3569 | `(objed-mode-line ((,class :foreground ,cyan-active))) | ||
| 3570 | ;;;;; orderless | ||
| 3571 | `(orderless-match-face-0 ((,class :inherit bold | ||
| 3572 | ,@(modus-vivendi-theme-standard-completions | ||
| 3573 | blue-alt-other blue-nuanced-bg | ||
| 3574 | blue-refine-bg blue-refine-fg)))) | ||
| 3575 | `(orderless-match-face-1 ((,class :inherit bold | ||
| 3576 | ,@(modus-vivendi-theme-standard-completions | ||
| 3577 | magenta-alt magenta-nuanced-bg | ||
| 3578 | magenta-refine-bg magenta-refine-fg)))) | ||
| 3579 | `(orderless-match-face-2 ((,class :inherit bold | ||
| 3580 | ,@(modus-vivendi-theme-standard-completions | ||
| 3581 | green green-nuanced-bg | ||
| 3582 | green-refine-bg green-refine-fg)))) | ||
| 3583 | `(orderless-match-face-3 ((,class :inherit bold | ||
| 3584 | ,@(modus-vivendi-theme-standard-completions | ||
| 3585 | yellow yellow-nuanced-bg | ||
| 3586 | yellow-refine-bg yellow-refine-fg)))) | ||
| 3587 | ;;;;; org | ||
| 3588 | `(org-agenda-calendar-event ((,class :foreground ,fg-main))) | ||
| 3589 | `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt))) | ||
| 3590 | `(org-agenda-clocking ((,class :inherit modus-theme-special-cold | ||
| 3591 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 3592 | `(org-agenda-column-dateline ((,class :background ,bg-alt))) | ||
| 3593 | `(org-agenda-current-time ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 3594 | `(org-agenda-date ((,class :foreground ,cyan))) | ||
| 3595 | `(org-agenda-date-today ((,class :inherit bold :foreground ,fg-main :underline t))) | ||
| 3596 | `(org-agenda-date-weekend ((,class :foreground ,cyan-alt-other))) | ||
| 3597 | `(org-agenda-diary ((,class :foreground ,fg-main))) | ||
| 3598 | `(org-agenda-dimmed-todo-face ((,class :inherit bold :foreground ,fg-alt))) | ||
| 3599 | `(org-agenda-done ((,class :foreground ,green-alt))) | ||
| 3600 | `(org-agenda-filter-category ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3601 | `(org-agenda-filter-effort ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3602 | `(org-agenda-filter-regexp ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3603 | `(org-agenda-filter-tags ((,class :inherit bold :foreground ,magenta-active))) | ||
| 3604 | `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 3605 | `(org-agenda-structure ((,class :foreground ,blue-alt))) | ||
| 3606 | `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 3607 | `(org-block ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3608 | ,@(modus-vivendi-theme-org-block bg-dim) | ||
| 3609 | :foreground ,fg-main))) | ||
| 3610 | `(org-block-begin-line ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3611 | ,@(modus-vivendi-theme-org-block-delim | ||
| 3612 | bg-dim fg-special-cold | ||
| 3613 | bg-alt fg-special-mild)))) | ||
| 3614 | `(org-block-end-line ((,class :inherit org-block-begin-line))) | ||
| 3615 | `(org-checkbox ((,class :box (:line-width 1 :color ,bg-active) | ||
| 3616 | :background ,bg-inactive :foreground ,fg-active))) | ||
| 3617 | `(org-checkbox-statistics-done ((,class :inherit org-done))) | ||
| 3618 | `(org-checkbox-statistics-todo ((,class :inherit org-todo))) | ||
| 3619 | `(org-clock-overlay ((,class :inherit modus-theme-special-cold))) | ||
| 3620 | `(org-code ((,class ,@(modus-vivendi-theme-mixed-fonts) :foreground ,magenta))) | ||
| 3621 | `(org-column ((,class :background ,bg-alt))) | ||
| 3622 | `(org-column-title ((,class :inherit bold :underline t :background ,bg-alt))) | ||
| 3623 | `(org-date ((,class :inherit (button fixed-pitch) :foreground ,cyan-alt-other))) | ||
| 3624 | `(org-date-selected ((,class :inherit bold :foreground ,blue-alt :inverse-video t))) | ||
| 3625 | `(org-document-info ((,class :foreground ,fg-special-cold))) | ||
| 3626 | `(org-document-info-keyword ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3627 | :foreground ,fg-alt))) | ||
| 3628 | `(org-document-title ((,class :inherit (bold ,modus-theme-variable-pitch) :foreground ,fg-special-cold | ||
| 3629 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-5)))) | ||
| 3630 | `(org-done ((,class :box ,bg-region :background ,bg-dim :foreground ,green))) | ||
| 3631 | `(org-drawer ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3632 | :foreground ,cyan))) | ||
| 3633 | `(org-ellipsis ((,class :foreground nil))) ; inherits from the heading's colour | ||
| 3634 | `(org-footnote ((,class :inherit button :foreground ,blue-alt))) | ||
| 3635 | `(org-formula ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3636 | :foreground ,red-alt))) | ||
| 3637 | `(org-habit-alert-face ((,class :inherit modus-theme-intense-yellow))) | ||
| 3638 | `(org-habit-alert-future-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 3639 | `(org-habit-clear-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 3640 | `(org-habit-clear-future-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 3641 | `(org-habit-overdue-face ((,class :inherit modus-theme-intense-red))) | ||
| 3642 | `(org-habit-overdue-future-face ((,class :inherit modus-theme-refine-red))) | ||
| 3643 | `(org-habit-ready-face ((,class :inherit modus-theme-intense-blue))) | ||
| 3644 | `(org-habit-ready-future-face ((,class :inherit modus-theme-refine-blue))) | ||
| 3645 | `(org-headline-done ((,class :inherit ,modus-theme-variable-pitch :foreground ,green-nuanced))) | ||
| 3646 | `(org-headline-todo ((,class :inherit ,modus-theme-variable-pitch :foreground ,red-nuanced))) | ||
| 3647 | `(org-hide ((,class :foreground ,bg-main))) | ||
| 3648 | `(org-indent ((,class :inherit (fixed-pitch org-hide)))) | ||
| 3649 | `(org-latex-and-related ((,class :foreground ,magenta-refine-fg))) | ||
| 3650 | `(org-level-1 ((,class :inherit modus-theme-heading-1))) | ||
| 3651 | `(org-level-2 ((,class :inherit modus-theme-heading-2))) | ||
| 3652 | `(org-level-3 ((,class :inherit modus-theme-heading-3))) | ||
| 3653 | `(org-level-4 ((,class :inherit modus-theme-heading-4))) | ||
| 3654 | `(org-level-5 ((,class :inherit modus-theme-heading-5))) | ||
| 3655 | `(org-level-6 ((,class :inherit modus-theme-heading-6))) | ||
| 3656 | `(org-level-7 ((,class :inherit modus-theme-heading-7))) | ||
| 3657 | `(org-level-8 ((,class :inherit modus-theme-heading-8))) | ||
| 3658 | `(org-link ((,class :inherit link))) | ||
| 3659 | `(org-list-dt ((,class :inherit bold))) | ||
| 3660 | `(org-macro ((,class :background ,blue-nuanced-bg :foreground ,magenta-alt-other))) | ||
| 3661 | `(org-meta-line ((,class ,@(modus-vivendi-theme-mixed-fonts) :foreground ,fg-alt))) | ||
| 3662 | `(org-mode-line-clock ((,class :foreground ,fg-main))) | ||
| 3663 | `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red))) | ||
| 3664 | `(org-priority ((,class :box ,bg-region :background ,bg-dim :foreground ,magenta))) | ||
| 3665 | `(org-property-value ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3666 | :foreground ,cyan-alt-other))) | ||
| 3667 | `(org-quote ((,class ,@(modus-vivendi-theme-org-block bg-dim) | ||
| 3668 | :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 3669 | `(org-scheduled ((,class :foreground ,fg-special-warm))) | ||
| 3670 | `(org-scheduled-previously ((,class :foreground ,yellow-alt-other))) | ||
| 3671 | `(org-scheduled-today ((,class :foreground ,magenta-alt-other))) | ||
| 3672 | `(org-sexp-date ((,class :inherit org-date))) | ||
| 3673 | `(org-special-keyword ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3674 | :foreground ,blue-nuanced))) | ||
| 3675 | `(org-table ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3676 | :foreground ,fg-special-cold))) | ||
| 3677 | `(org-table-header ((,class :inherit (fixed-pitch modus-theme-intense-neutral)))) | ||
| 3678 | `(org-tag ((,class :foreground ,magenta-nuanced))) | ||
| 3679 | `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced))) | ||
| 3680 | `(org-target ((,class :underline t))) | ||
| 3681 | `(org-time-grid ((,class :foreground ,fg-unfocused))) | ||
| 3682 | `(org-todo ((,class :box ,bg-region :background ,bg-dim :foreground ,red-alt))) | ||
| 3683 | `(org-upcoming-deadline ((,class :foreground ,red-alt-other))) | ||
| 3684 | `(org-upcoming-distant-deadline ((,class :foreground ,red-nuanced))) | ||
| 3685 | `(org-verbatim ((,class ,@(modus-vivendi-theme-mixed-fonts) | ||
| 3686 | :background ,bg-alt :foreground ,fg-special-calm))) | ||
| 3687 | `(org-verse ((,class :inherit org-quote))) | ||
| 3688 | `(org-warning ((,class :inherit bold :foreground ,red-alt-other))) | ||
| 3689 | ;;;;; org-journal | ||
| 3690 | `(org-journal-calendar-entry-face ((,class :foreground ,yellow-alt-other :slant ,modus-theme-slant))) | ||
| 3691 | `(org-journal-calendar-scheduled-face ((,class :foreground ,red-alt-other :slant ,modus-theme-slant))) | ||
| 3692 | `(org-journal-highlight ((,class :foreground ,magenta-alt))) | ||
| 3693 | ;;;;; org-noter | ||
| 3694 | `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active))) | ||
| 3695 | `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active))) | ||
| 3696 | ;;;;; org-pomodoro | ||
| 3697 | `(org-pomodoro-mode-line ((,class :foreground ,red-active))) | ||
| 3698 | `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active))) | ||
| 3699 | `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground ,red-active))) | ||
| 3700 | ;;;;; org-recur | ||
| 3701 | `(org-recur ((,class :foreground ,magenta-active))) | ||
| 3702 | ;;;;; org-roam | ||
| 3703 | `(org-roam-link ((,class :inherit button :foreground ,green))) | ||
| 3704 | `(org-roam-link-current ((,class :inherit button :foreground ,green-alt))) | ||
| 3705 | `(org-roam-link-invalid ((,class :inherit button :foreground ,red))) | ||
| 3706 | `(org-roam-link-shielded ((,class :inherit button :foreground ,yellow))) | ||
| 3707 | `(org-roam-tag ((,class :foreground ,fg-alt :slant italic))) | ||
| 3708 | ;;;;; org-superstar | ||
| 3709 | `(org-superstar-item ((,class :foreground ,fg-main))) | ||
| 3710 | `(org-superstar-leading ((,class :foreground ,fg-whitespace))) | ||
| 3711 | ;;;;; org-table-sticky-header | ||
| 3712 | `(org-table-sticky-header-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 3713 | ;;;;; org-treescope | ||
| 3714 | `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-theme-intense-blue))) | ||
| 3715 | `(org-treescope-faces--markerinternal-range ((,class :inherit modus-theme-special-mild))) | ||
| 3716 | ;;;;; origami | ||
| 3717 | `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t))) | ||
| 3718 | `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 3719 | ;;;;; outline-mode | ||
| 3720 | `(outline-1 ((,class :inherit modus-theme-heading-1))) | ||
| 3721 | `(outline-2 ((,class :inherit modus-theme-heading-2))) | ||
| 3722 | `(outline-3 ((,class :inherit modus-theme-heading-3))) | ||
| 3723 | `(outline-4 ((,class :inherit modus-theme-heading-4))) | ||
| 3724 | `(outline-5 ((,class :inherit modus-theme-heading-5))) | ||
| 3725 | `(outline-6 ((,class :inherit modus-theme-heading-6))) | ||
| 3726 | `(outline-7 ((,class :inherit modus-theme-heading-7))) | ||
| 3727 | `(outline-8 ((,class :inherit modus-theme-heading-8))) | ||
| 3728 | ;;;;; outline-minor-faces | ||
| 3729 | `(outline-minor-0 ((,class nil))) | ||
| 3730 | ;;;;; package (M-x list-packages) | ||
| 3731 | `(package-description ((,class :foreground ,fg-special-cold))) | ||
| 3732 | `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3733 | `(package-name ((,class :inherit link))) | ||
| 3734 | `(package-status-avail-obso ((,class :inherit bold :foreground ,red))) | ||
| 3735 | `(package-status-available ((,class :foreground ,fg-special-mild))) | ||
| 3736 | `(package-status-built-in ((,class :foreground ,magenta))) | ||
| 3737 | `(package-status-dependency ((,class :foreground ,magenta-alt-other))) | ||
| 3738 | `(package-status-disabled ((,class :inherit modus-theme-subtle-red))) | ||
| 3739 | `(package-status-external ((,class :foreground ,cyan-alt-other))) | ||
| 3740 | `(package-status-held ((,class :foreground ,yellow-alt))) | ||
| 3741 | `(package-status-incompat ((,class :inherit bold :foreground ,yellow))) | ||
| 3742 | `(package-status-installed ((,class :foreground ,fg-special-warm))) | ||
| 3743 | `(package-status-new ((,class :inherit bold :foreground ,green))) | ||
| 3744 | `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt))) | ||
| 3745 | ;;;;; page-break-lines | ||
| 3746 | `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer))) | ||
| 3747 | ;;;;; paradox | ||
| 3748 | `(paradox-archive-face ((,class :foreground ,fg-special-mild))) | ||
| 3749 | `(paradox-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3750 | `(paradox-commit-tag-face ((,class :inherit modus-theme-refine-magenta :box t))) | ||
| 3751 | `(paradox-description-face ((,class :foreground ,fg-special-cold))) | ||
| 3752 | `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold))) | ||
| 3753 | `(paradox-download-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,blue-alt-other))) | ||
| 3754 | `(paradox-highlight-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,cyan-alt-other))) | ||
| 3755 | `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t))) | ||
| 3756 | `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active))) | ||
| 3757 | `(paradox-name-face ((,class :foreground ,blue :underline t))) | ||
| 3758 | `(paradox-star-face ((,class :foreground ,magenta))) | ||
| 3759 | `(paradox-starred-face ((,class :foreground ,magenta-alt))) | ||
| 3760 | ;;;;; paren-face | ||
| 3761 | `(parenthesis ((,class :foreground ,fg-unfocused))) | ||
| 3762 | ;;;;; parrot | ||
| 3763 | `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-theme-refine-magenta))) | ||
| 3764 | ;;;;; pass | ||
| 3765 | `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3766 | `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 3767 | `(pass-mode-header-face ((,class :foreground ,fg-special-warm))) | ||
| 3768 | ;;;;; persp-mode | ||
| 3769 | `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-theme-intense-red))) | ||
| 3770 | `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active))) | ||
| 3771 | `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active))) | ||
| 3772 | ;;;;; perspective | ||
| 3773 | `(persp-selected-face ((,class :inherit bold :foreground ,blue-active))) | ||
| 3774 | ;;;;; phi-grep | ||
| 3775 | `(phi-grep-heading-face ((,class :inherit bold :foreground ,red-alt | ||
| 3776 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 3777 | `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 3778 | `(phi-grep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 3779 | `(phi-grep-modified-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 3780 | `(phi-grep-overlay-face ((,class :inherit modus-theme-refine-blue))) | ||
| 3781 | ;;;;; phi-search | ||
| 3782 | `(phi-replace-preview-face ((,class :inherit modus-theme-intense-magenta))) | ||
| 3783 | `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red))) | ||
| 3784 | `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan))) | ||
| 3785 | `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green bold)))) | ||
| 3786 | ;;;;; pkgbuild-mode | ||
| 3787 | `(pkgbuild-error-face ((,class :underline ,fg-lang-error))) | ||
| 3788 | ;;;;; pomidor | ||
| 3789 | `(pomidor-break-face ((,class :foreground ,blue-alt-other))) | ||
| 3790 | `(pomidor-overwork-face ((,class :foreground ,red-alt-other))) | ||
| 3791 | `(pomidor-skip-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3792 | `(pomidor-work-face ((,class :foreground ,green-alt-other))) | ||
| 3793 | ;;;;; powerline | ||
| 3794 | `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t))) | ||
| 3795 | `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced))) | ||
| 3796 | `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 3797 | `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 3798 | `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive))) | ||
| 3799 | `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 3800 | ;;;;; powerline-evil | ||
| 3801 | `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main))) | ||
| 3802 | `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta))) | ||
| 3803 | `(powerline-evil-insert-face ((,class :inherit modus-theme-active-green))) | ||
| 3804 | `(powerline-evil-motion-face ((,class :inherit modus-theme-active-blue))) | ||
| 3805 | `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main))) | ||
| 3806 | `(powerline-evil-operator-face ((,class :inherit modus-theme-active-yellow))) | ||
| 3807 | `(powerline-evil-replace-face ((,class :inherit modus-theme-active-red))) | ||
| 3808 | `(powerline-evil-visual-face ((,class :inherit modus-theme-active-cyan))) | ||
| 3809 | ;;;;; proced | ||
| 3810 | `(proced-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 3811 | `(proced-marked ((,class :inherit modus-theme-mark-alt))) | ||
| 3812 | `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t))) | ||
| 3813 | ;;;;; prodigy | ||
| 3814 | `(prodigy-green-face ((,class :foreground ,green))) | ||
| 3815 | `(prodigy-red-face ((,class :foreground ,red))) | ||
| 3816 | `(prodigy-yellow-face ((,class :foreground ,yellow))) | ||
| 3817 | ;;;;; racket-mode | ||
| 3818 | `(racket-debug-break-face ((,class :inherit modus-theme-intense-red))) | ||
| 3819 | `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil) | ||
| 3820 | :foreground ,green-alt-other))) | ||
| 3821 | `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil) | ||
| 3822 | :foreground ,green))) | ||
| 3823 | `(racket-here-string-face ((,class :foreground ,blue-alt))) | ||
| 3824 | `(racket-keyword-argument-face ((,class :foreground ,red-alt))) | ||
| 3825 | `(racket-logger-config-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 3826 | `(racket-logger-debug-face ((,class :foreground ,blue-alt-other))) | ||
| 3827 | `(racket-logger-info-face ((,class :foreground ,fg-lang-note))) | ||
| 3828 | `(racket-logger-topic-face ((,class :foreground ,magenta :slant ,modus-theme-slant))) | ||
| 3829 | `(racket-selfeval-face ((,class :foreground ,green-alt))) | ||
| 3830 | `(racket-xp-error-face | ||
| 3831 | ((,(append '((supports :underline (:style wave))) class) | ||
| 3832 | :underline (:color ,fg-lang-error :style wave)) | ||
| 3833 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 3834 | ;;;;; rainbow-blocks | ||
| 3835 | `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other))) | ||
| 3836 | `(rainbow-blocks-depth-2-face ((,class :foreground ,blue))) | ||
| 3837 | `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt))) | ||
| 3838 | `(rainbow-blocks-depth-4-face ((,class :foreground ,green))) | ||
| 3839 | `(rainbow-blocks-depth-5-face ((,class :foreground ,magenta))) | ||
| 3840 | `(rainbow-blocks-depth-6-face ((,class :foreground ,cyan))) | ||
| 3841 | `(rainbow-blocks-depth-7-face ((,class :foreground ,yellow))) | ||
| 3842 | `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt))) | ||
| 3843 | `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt))) | ||
| 3844 | `(rainbow-blocks-unmatched-face ((,class :foreground ,red))) | ||
| 3845 | ;;;;; rainbow-identifiers | ||
| 3846 | `(rainbow-identifiers-identifier-1 ((,class :foreground ,green-alt-other))) | ||
| 3847 | `(rainbow-identifiers-identifier-2 ((,class :foreground ,magenta-alt-other))) | ||
| 3848 | `(rainbow-identifiers-identifier-3 ((,class :foreground ,cyan-alt-other))) | ||
| 3849 | `(rainbow-identifiers-identifier-4 ((,class :foreground ,yellow-alt-other))) | ||
| 3850 | `(rainbow-identifiers-identifier-5 ((,class :foreground ,blue-alt-other))) | ||
| 3851 | `(rainbow-identifiers-identifier-6 ((,class :foreground ,green-alt))) | ||
| 3852 | `(rainbow-identifiers-identifier-7 ((,class :foreground ,magenta-alt))) | ||
| 3853 | `(rainbow-identifiers-identifier-8 ((,class :foreground ,cyan-alt))) | ||
| 3854 | `(rainbow-identifiers-identifier-9 ((,class :foreground ,yellow-alt))) | ||
| 3855 | `(rainbow-identifiers-identifier-10 ((,class :foreground ,green))) | ||
| 3856 | `(rainbow-identifiers-identifier-11 ((,class :foreground ,magenta))) | ||
| 3857 | `(rainbow-identifiers-identifier-12 ((,class :foreground ,cyan))) | ||
| 3858 | `(rainbow-identifiers-identifier-13 ((,class :foreground ,yellow))) | ||
| 3859 | `(rainbow-identifiers-identifier-14 ((,class :foreground ,blue-alt))) | ||
| 3860 | `(rainbow-identifiers-identifier-15 ((,class :foreground ,red-alt))) | ||
| 3861 | ;;;;; rainbow-delimiters | ||
| 3862 | `(rainbow-delimiters-base-face-error ((,class :foreground ,red))) | ||
| 3863 | `(rainbow-delimiters-base-face ((,class :foreground ,fg-main))) | ||
| 3864 | `(rainbow-delimiters-depth-1-face ((,class :foreground ,green-alt-other))) | ||
| 3865 | `(rainbow-delimiters-depth-2-face ((,class :foreground ,magenta-alt-other))) | ||
| 3866 | `(rainbow-delimiters-depth-3-face ((,class :foreground ,cyan-alt-other))) | ||
| 3867 | `(rainbow-delimiters-depth-4-face ((,class :foreground ,yellow-alt-other))) | ||
| 3868 | `(rainbow-delimiters-depth-5-face ((,class :foreground ,blue-alt-other))) | ||
| 3869 | `(rainbow-delimiters-depth-6-face ((,class :foreground ,green-alt))) | ||
| 3870 | `(rainbow-delimiters-depth-7-face ((,class :foreground ,magenta-alt))) | ||
| 3871 | `(rainbow-delimiters-depth-8-face ((,class :foreground ,cyan-alt))) | ||
| 3872 | `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-alt))) | ||
| 3873 | `(rainbow-delimiters-mismatched-face ((,class :inherit bold :foreground ,red-alt))) | ||
| 3874 | `(rainbow-delimiters-unmatched-face ((,class :inherit bold :foreground ,red))) | ||
| 3875 | ;;;;; rcirc | ||
| 3876 | `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3877 | `(rcirc-dim-nick ((,class :foreground ,fg-alt))) | ||
| 3878 | `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta))) | ||
| 3879 | `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other))) | ||
| 3880 | `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 3881 | `(rcirc-other-nick ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3882 | `(rcirc-prompt ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 3883 | `(rcirc-server ((,class :foreground ,fg-unfocused))) | ||
| 3884 | `(rcirc-timestamp ((,class :foreground ,blue-nuanced))) | ||
| 3885 | `(rcirc-url ((,class :foreground ,blue :underline t))) | ||
| 3886 | ;;;;; regexp-builder (re-builder) | ||
| 3887 | `(reb-match-0 ((,class :inherit modus-theme-intense-blue))) | ||
| 3888 | `(reb-match-1 ((,class :inherit modus-theme-intense-magenta))) | ||
| 3889 | `(reb-match-2 ((,class :inherit modus-theme-intense-green))) | ||
| 3890 | `(reb-match-3 ((,class :inherit modus-theme-intense-red))) | ||
| 3891 | `(reb-regexp-grouping-backslash ((,class :inherit bold :foreground ,fg-escape-char-backslash))) | ||
| 3892 | `(reb-regexp-grouping-construct ((,class :inherit bold :foreground ,fg-escape-char-construct))) | ||
| 3893 | ;;;;; rg (rg.el) | ||
| 3894 | `(rg-column-number-face ((,class :foreground ,magenta-alt-other))) | ||
| 3895 | `(rg-context-face ((,class :foreground ,fg-unfocused))) | ||
| 3896 | `(rg-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3897 | `(rg-file-tag-face ((,class :foreground ,fg-special-cold))) | ||
| 3898 | `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 3899 | `(rg-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 3900 | `(rg-literal-face ((,class :foreground ,blue-alt))) | ||
| 3901 | `(rg-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 3902 | `(rg-regexp-face ((,class :foreground ,magenta-active))) | ||
| 3903 | `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive))) | ||
| 3904 | `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active))) | ||
| 3905 | `(rg-warning-face ((,class :inherit bold :foreground ,yellow))) | ||
| 3906 | ;;;;; ripgrep | ||
| 3907 | `(ripgrep-context-face ((,class :foreground ,fg-unfocused))) | ||
| 3908 | `(ripgrep-error-face ((,class :inherit bold :foreground ,red))) | ||
| 3909 | `(ripgrep-hit-face ((,class :foreground ,cyan))) | ||
| 3910 | `(ripgrep-match-face ((,class :inherit modus-theme-special-calm))) | ||
| 3911 | ;;;;; rmail | ||
| 3912 | `(rmail-header-name ((,class :foreground ,cyan-alt-other))) | ||
| 3913 | `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt))) | ||
| 3914 | ;;;;; ruler-mode | ||
| 3915 | `(ruler-mode-column-number ((,class :inherit (ruler-mode-default bold) :foreground ,fg-main))) | ||
| 3916 | `(ruler-mode-comment-column ((,class :inherit ruler-mode-default :foreground ,red-active))) | ||
| 3917 | `(ruler-mode-current-column ((,class :inherit ruler-mode-default :foreground ,cyan-active :box t))) | ||
| 3918 | `(ruler-mode-default ((,class :background ,bg-inactive :foreground ,fg-inactive))) | ||
| 3919 | `(ruler-mode-fill-column ((,class :inherit ruler-mode-default :foreground ,green-active))) | ||
| 3920 | `(ruler-mode-fringes ((,class :inherit ruler-mode-default :foreground ,blue-active))) | ||
| 3921 | `(ruler-mode-goal-column ((,class :inherit ruler-mode-default :foreground ,magenta-active))) | ||
| 3922 | `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground ,bg-main))) | ||
| 3923 | `(ruler-mode-pad ((,class :background ,bg-active :foreground ,fg-inactive))) | ||
| 3924 | `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground ,yellow-active))) | ||
| 3925 | ;;;;; sallet | ||
| 3926 | `(sallet-buffer-compressed ((,class :foreground ,yellow-nuanced :slant italic))) | ||
| 3927 | `(sallet-buffer-default-directory ((,class :foreground ,cyan-nuanced))) | ||
| 3928 | `(sallet-buffer-directory ((,class :foreground ,blue-nuanced))) | ||
| 3929 | `(sallet-buffer-help ((,class :foreground ,fg-special-cold))) | ||
| 3930 | `(sallet-buffer-modified ((,class :foreground ,yellow-alt-other :slant italic))) | ||
| 3931 | `(sallet-buffer-ordinary ((,class :foreground ,fg-main))) | ||
| 3932 | `(sallet-buffer-read-only ((,class :foreground ,yellow-alt))) | ||
| 3933 | `(sallet-buffer-size ((,class :foreground ,fg-special-calm))) | ||
| 3934 | `(sallet-buffer-special ((,class :foreground ,magenta-alt-other))) | ||
| 3935 | `(sallet-flx-match ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3936 | 'modus-theme-subtle-cyan | ||
| 3937 | 'modus-theme-refine-cyan | ||
| 3938 | 'modus-theme-nuanced-cyan | ||
| 3939 | cyan-alt-other)))) | ||
| 3940 | `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced))) | ||
| 3941 | `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild))) | ||
| 3942 | `(sallet-regexp-match ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3943 | 'modus-theme-subtle-magenta | ||
| 3944 | 'modus-theme-refine-magenta | ||
| 3945 | 'modus-theme-nuanced-magenta | ||
| 3946 | magenta-alt-other)))) | ||
| 3947 | `(sallet-source-header ((,class :inherit bold :foreground ,red-alt | ||
| 3948 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 3949 | `(sallet-substring-match ((,class ,@(modus-vivendi-theme-extra-completions | ||
| 3950 | 'modus-theme-subtle-blue | ||
| 3951 | 'modus-theme-refine-blue | ||
| 3952 | 'modus-theme-nuanced-blue | ||
| 3953 | blue-alt-other)))) | ||
| 3954 | ;;;;; selectrum | ||
| 3955 | `(selectrum-current-candidate | ||
| 3956 | ((,class :inherit bold :foreground ,fg-main :underline ,fg-main | ||
| 3957 | :background ,@(pcase modus-vivendi-theme-completions | ||
| 3958 | ('opinionated (list bg-active)) | ||
| 3959 | (_ (list bg-inactive)))))) | ||
| 3960 | `(selectrum-primary-highlight ((,class :inherit bold | ||
| 3961 | ,@(modus-vivendi-theme-standard-completions | ||
| 3962 | magenta-alt magenta-nuanced-bg | ||
| 3963 | magenta-refine-bg magenta-refine-fg)))) | ||
| 3964 | `(selectrum-secondary-highlight ((,class :inherit bold | ||
| 3965 | ,@(modus-vivendi-theme-standard-completions | ||
| 3966 | cyan-alt-other cyan-nuanced-bg | ||
| 3967 | cyan-refine-bg cyan-refine-fg)))) | ||
| 3968 | ;;;;; semantic | ||
| 3969 | `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t))) | ||
| 3970 | `(semantic-decoration-on-private-members-face ((,class :inherit modus-theme-refine-cyan))) | ||
| 3971 | `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim))) | ||
| 3972 | `(semantic-highlight-edits-face ((,class :background ,bg-alt))) | ||
| 3973 | `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt))) | ||
| 3974 | `(semantic-idle-symbol-highlight ((,class :inherit modus-theme-special-mild))) | ||
| 3975 | `(semantic-tag-boundary-face ((,class :overline ,blue-intense))) | ||
| 3976 | `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error))) | ||
| 3977 | ;;;;; sesman | ||
| 3978 | `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t))) | ||
| 3979 | `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 3980 | `(sesman-buffer-face ((,class :foreground ,magenta))) | ||
| 3981 | `(sesman-directory-face ((,class :inherit bold :foreground ,blue))) | ||
| 3982 | `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 3983 | ;;;;; shell-script-mode | ||
| 3984 | `(sh-heredoc ((,class :foreground ,blue-alt))) | ||
| 3985 | `(sh-quoted-exec ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt))) | ||
| 3986 | ;;;;; show-paren-mode | ||
| 3987 | `(show-paren-match ((,class ,@(modus-vivendi-theme-paren bg-paren-match | ||
| 3988 | bg-paren-match-intense) | ||
| 3989 | :foreground ,fg-main))) | ||
| 3990 | `(show-paren-match-expression ((,class :inherit modus-theme-special-calm))) | ||
| 3991 | `(show-paren-mismatch ((,class :inherit modus-theme-intense-red))) | ||
| 3992 | ;;;;; side-notes | ||
| 3993 | `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim))) | ||
| 3994 | ;;;;; skewer-mode | ||
| 3995 | `(skewer-error-face ((,class :foreground ,red :underline t))) | ||
| 3996 | ;;;;; smart-mode-line | ||
| 3997 | `(sml/charging ((,class :foreground ,green-active))) | ||
| 3998 | `(sml/discharging ((,class :foreground ,red-active))) | ||
| 3999 | `(sml/filename ((,class :inherit bold :foreground ,blue-active))) | ||
| 4000 | `(sml/folder ((,class :foreground ,fg-active))) | ||
| 4001 | `(sml/git ((,class :inherit bold :foreground ,green-active))) | ||
| 4002 | `(sml/global ((,class :foreground ,fg-active))) | ||
| 4003 | `(sml/line-number ((,class :inherit sml/global))) | ||
| 4004 | `(sml/minor-modes ((,class :inherit sml/global))) | ||
| 4005 | `(sml/modes ((,class :inherit bold :foreground ,fg-active))) | ||
| 4006 | `(sml/modified ((,class :inherit bold :foreground ,magenta-active))) | ||
| 4007 | `(sml/mule-info ((,class :inherit sml/global))) | ||
| 4008 | `(sml/name-filling ((,class :foreground ,yellow-active))) | ||
| 4009 | `(sml/not-modified ((,class :inherit sml/global))) | ||
| 4010 | `(sml/numbers-separator ((,class :inherit sml/global))) | ||
| 4011 | `(sml/outside-modified ((,class :inherit modus-theme-intense-red))) | ||
| 4012 | `(sml/position-percentage ((,class :inherit sml/global))) | ||
| 4013 | `(sml/prefix ((,class :foreground ,green-active))) | ||
| 4014 | `(sml/process ((,class :inherit sml/prefix))) | ||
| 4015 | `(sml/projectile ((,class :inherit sml/git))) | ||
| 4016 | `(sml/read-only ((,class :inherit bold :foreground ,cyan-active))) | ||
| 4017 | `(sml/remote ((,class :inherit sml/global))) | ||
| 4018 | `(sml/sudo ((,class :inherit modus-theme-subtle-red))) | ||
| 4019 | `(sml/time ((,class :inherit sml/global))) | ||
| 4020 | `(sml/vc ((,class :inherit sml/git))) | ||
| 4021 | `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active))) | ||
| 4022 | ;;;;; smartparens | ||
| 4023 | `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm))) | ||
| 4024 | `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild))) | ||
| 4025 | `(sp-show-pair-match-face ((,class ,@(modus-vivendi-theme-paren bg-paren-match | ||
| 4026 | bg-paren-match-intense) | ||
| 4027 | :foreground ,fg-main))) | ||
| 4028 | `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red))) | ||
| 4029 | `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face))) | ||
| 4030 | `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face))) | ||
| 4031 | `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face))) | ||
| 4032 | `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face))) | ||
| 4033 | ;;;;; smerge | ||
| 4034 | `(smerge-base ((,class :inherit modus-theme-diff-changed))) | ||
| 4035 | `(smerge-lower ((,class :inherit modus-theme-diff-added))) | ||
| 4036 | `(smerge-markers ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) | ||
| 4037 | `(smerge-refined-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 4038 | `(smerge-refined-changed ((,class))) | ||
| 4039 | `(smerge-refined-removed ((,class :inherit modus-theme-diff-refine-removed))) | ||
| 4040 | `(smerge-upper ((,class :inherit modus-theme-diff-removed))) | ||
| 4041 | ;;;;; spaceline | ||
| 4042 | `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta))) | ||
| 4043 | `(spaceline-evil-insert ((,class :inherit modus-theme-active-green))) | ||
| 4044 | `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue))) | ||
| 4045 | `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt))) | ||
| 4046 | `(spaceline-evil-replace ((,class :inherit modus-theme-active-red))) | ||
| 4047 | `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan))) | ||
| 4048 | `(spaceline-flycheck-error ((,class :foreground ,red-active))) | ||
| 4049 | `(spaceline-flycheck-info ((,class :foreground ,cyan-active))) | ||
| 4050 | `(spaceline-flycheck-warning ((,class :foreground ,yellow-active))) | ||
| 4051 | `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue))) | ||
| 4052 | `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta))) | ||
| 4053 | `(spaceline-python-venv ((,class :foreground ,magenta-active))) | ||
| 4054 | `(spaceline-read-only ((,class :inherit modus-theme-fringe-red))) | ||
| 4055 | `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan))) | ||
| 4056 | ;;;;; speedbar | ||
| 4057 | `(speedbar-button-face ((,class :inherit link))) | ||
| 4058 | `(speedbar-directory-face ((,class :inherit bold :foreground ,blue))) | ||
| 4059 | `(speedbar-file-face ((,class :foreground ,fg-main))) | ||
| 4060 | `(speedbar-highlight-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 4061 | `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan))) | ||
| 4062 | `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral))) | ||
| 4063 | `(speedbar-tag-face ((,class :foreground ,yellow-alt-other))) | ||
| 4064 | ;;;;; spell-fu | ||
| 4065 | `(spell-fu-incorrect-face | ||
| 4066 | ((,(append '((supports :underline (:style wave))) class) | ||
| 4067 | :foreground ,fg-lang-error :underline (:style wave)) | ||
| 4068 | (,class :foreground ,fg-lang-error :underline t))) | ||
| 4069 | ;;;;; stripes | ||
| 4070 | `(stripes ((,class :inherit modus-theme-hl-line))) | ||
| 4071 | ;;;;; success | ||
| 4072 | `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other))) | ||
| 4073 | ;;;;; switch-window | ||
| 4074 | `(switch-window-background ((,class :background ,bg-dim))) | ||
| 4075 | `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense))) | ||
| 4076 | ;;;;; swiper | ||
| 4077 | `(swiper-background-match-face-1 ((,class :inherit modus-theme-subtle-neutral))) | ||
| 4078 | `(swiper-background-match-face-2 ((,class :inherit modus-theme-subtle-cyan))) | ||
| 4079 | `(swiper-background-match-face-3 ((,class :inherit modus-theme-subtle-magenta))) | ||
| 4080 | `(swiper-background-match-face-4 ((,class :inherit modus-theme-subtle-green))) | ||
| 4081 | `(swiper-line-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 4082 | :inherit modus-theme-special-cold))) | ||
| 4083 | `(swiper-match-face-1 ((,class :inherit swiper-line-face))) | ||
| 4084 | `(swiper-match-face-2 ((,class :inherit swiper-line-face))) | ||
| 4085 | `(swiper-match-face-3 ((,class :inherit swiper-line-face))) | ||
| 4086 | `(swiper-match-face-4 ((,class :inherit swiper-line-face))) | ||
| 4087 | ;;;;; swoop | ||
| 4088 | `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt | ||
| 4089 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-3)))) | ||
| 4090 | `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt | ||
| 4091 | ,@(modus-vivendi-theme-scale modus-vivendi-theme-scale-4)))) | ||
| 4092 | `(swoop-face-line-number ((,class :foreground ,fg-special-warm))) | ||
| 4093 | `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue | ||
| 4094 | ,@(and (>= emacs-major-version 27) '(:extend t))))) | ||
| 4095 | `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan))) | ||
| 4096 | ;;;;; sx | ||
| 4097 | `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other))) | ||
| 4098 | `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold)))) | ||
| 4099 | `(sx-question-list-answers ((,class :foreground ,green))) | ||
| 4100 | `(sx-question-list-answers-accepted ((,class :box t :foreground ,green))) | ||
| 4101 | `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt :foreground ,yellow))) | ||
| 4102 | `(sx-question-list-date ((,class :foreground ,fg-special-cold))) | ||
| 4103 | `(sx-question-list-favorite ((,class :inherit bold :foreground ,fg-special-warm))) | ||
| 4104 | `(sx-question-list-parent ((,class :foreground ,fg-main))) | ||
| 4105 | `(sx-question-list-read-question ((,class :foreground ,fg-alt))) | ||
| 4106 | `(sx-question-list-score ((,class :foreground ,fg-special-mild))) | ||
| 4107 | `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold)))) | ||
| 4108 | `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main))) | ||
| 4109 | `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green))) | ||
| 4110 | `(sx-question-mode-closed ((,class :inherit modus-theme-active-yellow :box (:line-width 2 :color nil)))) | ||
| 4111 | `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main))) | ||
| 4112 | `(sx-question-mode-content-face ((,class :background ,bg-dim))) | ||
| 4113 | `(sx-question-mode-date ((,class :foreground ,blue))) | ||
| 4114 | `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan))) | ||
| 4115 | `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main))) | ||
| 4116 | `(sx-question-mode-score ((,class :foreground ,fg-dim))) | ||
| 4117 | `(sx-question-mode-score-downvoted ((,class :foreground ,yellow))) | ||
| 4118 | `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground ,magenta))) | ||
| 4119 | `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main))) | ||
| 4120 | `(sx-question-mode-title-comments ((,class :inherit bold :foreground ,fg-alt))) | ||
| 4121 | `(sx-tag ((,class :foreground ,magenta-alt))) | ||
| 4122 | `(sx-user-name ((,class :foreground ,blue-alt))) | ||
| 4123 | `(sx-user-reputation ((,class :foreground ,fg-alt))) | ||
| 4124 | ;;;;; symbol-overlay | ||
| 4125 | `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm))) | ||
| 4126 | `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue))) | ||
| 4127 | `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta))) | ||
| 4128 | `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow))) | ||
| 4129 | `(symbol-overlay-face-4 ((,class :inherit modus-theme-intense-magenta))) | ||
| 4130 | `(symbol-overlay-face-5 ((,class :inherit modus-theme-intense-red))) | ||
| 4131 | `(symbol-overlay-face-6 ((,class :inherit modus-theme-refine-red))) | ||
| 4132 | `(symbol-overlay-face-7 ((,class :inherit modus-theme-intense-cyan))) | ||
| 4133 | `(symbol-overlay-face-8 ((,class :inherit modus-theme-refine-cyan))) | ||
| 4134 | ;;;;; syslog-mode | ||
| 4135 | `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 4136 | `(syslog-error ((,class :inherit bold :foreground ,red))) | ||
| 4137 | `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4138 | `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 4139 | `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other))) | ||
| 4140 | `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other))) | ||
| 4141 | `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t))) | ||
| 4142 | `(syslog-su ((,class :inherit bold :foreground ,red-alt))) | ||
| 4143 | `(syslog-warn ((,class :inherit bold :foreground ,yellow))) | ||
| 4144 | ;;;;; table (built-in table.el) | ||
| 4145 | `(table-cell ((,class :background ,blue-nuanced-bg))) | ||
| 4146 | ;;;;; telephone-line | ||
| 4147 | `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive))) | ||
| 4148 | `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active))) | ||
| 4149 | `(telephone-line-error ((,class :inherit bold :foreground ,red-active))) | ||
| 4150 | `(telephone-line-evil ((,class :foreground ,fg-main))) | ||
| 4151 | `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil :background ,magenta-intense-bg))) | ||
| 4152 | `(telephone-line-evil-insert ((,class :inherit telephone-line-evil :background ,green-intense-bg))) | ||
| 4153 | `(telephone-line-evil-motion ((,class :inherit telephone-line-evil :background ,yellow-intense-bg))) | ||
| 4154 | `(telephone-line-evil-normal ((,class :inherit telephone-line-evil :background ,bg-alt))) | ||
| 4155 | `(telephone-line-evil-operator ((,class :inherit telephone-line-evil :background ,yellow-subtle-bg))) | ||
| 4156 | `(telephone-line-evil-replace ((,class :inherit telephone-line-evil :background ,red-intense-bg))) | ||
| 4157 | `(telephone-line-evil-visual ((,class :inherit telephone-line-evil :background ,cyan-intense-bg))) | ||
| 4158 | `(telephone-line-projectile ((,class :foreground ,cyan-active))) | ||
| 4159 | `(telephone-line-unimportant ((,class :foreground ,fg-inactive))) | ||
| 4160 | `(telephone-line-warning ((,class :inherit bold :foreground ,yellow-active))) | ||
| 4161 | ;;;;; term | ||
| 4162 | `(term ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 4163 | `(term-bold ((,class :inherit bold))) | ||
| 4164 | `(term-color-blue ((,class :background ,blue :foreground ,blue))) | ||
| 4165 | `(term-color-cyan ((,class :background ,cyan :foreground ,cyan))) | ||
| 4166 | `(term-color-green ((,class :background ,green :foreground ,green))) | ||
| 4167 | `(term-color-magenta ((,class :background ,magenta :foreground ,magenta))) | ||
| 4168 | `(term-color-red ((,class :background ,red :foreground ,red))) | ||
| 4169 | `(term-color-yellow ((,class :background ,yellow :foreground ,yellow))) | ||
| 4170 | `(term-underline ((,class :underline t))) | ||
| 4171 | ;;;;; tomatinho | ||
| 4172 | `(tomatinho-ok-face ((,class :foreground ,blue-intense))) | ||
| 4173 | `(tomatinho-pause-face ((,class :foreground ,yellow-intense))) | ||
| 4174 | `(tomatinho-reset-face ((,class :foreground ,fg-alt))) | ||
| 4175 | ;;;;; transient | ||
| 4176 | `(transient-active-infix ((,class :inherit modus-theme-special-mild))) | ||
| 4177 | `(transient-amaranth ((,class :inherit bold :foreground ,yellow))) | ||
| 4178 | `(transient-argument ((,class :inherit bold :foreground ,red-alt))) | ||
| 4179 | `(transient-blue ((,class :inherit bold :foreground ,blue))) | ||
| 4180 | `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red))) | ||
| 4181 | `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green))) | ||
| 4182 | `(transient-heading ((,class :inherit bold :foreground ,fg-main))) | ||
| 4183 | `(transient-inactive-argument ((,class :foreground ,fg-alt))) | ||
| 4184 | `(transient-inactive-value ((,class :foreground ,fg-alt))) | ||
| 4185 | `(transient-key ((,class :inherit bold :foreground ,blue))) | ||
| 4186 | `(transient-mismatched-key ((,class :underline t))) | ||
| 4187 | `(transient-nonstandard-key ((,class :underline t))) | ||
| 4188 | `(transient-pink ((,class :inherit bold :foreground ,magenta))) | ||
| 4189 | `(transient-red ((,class :inherit bold :foreground ,red-intense))) | ||
| 4190 | `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other))) | ||
| 4191 | `(transient-unreachable ((,class :foreground ,fg-unfocused))) | ||
| 4192 | `(transient-unreachable-key ((,class :foreground ,fg-unfocused))) | ||
| 4193 | `(transient-value ((,class :foreground ,magenta-alt))) | ||
| 4194 | ;;;;; trashed | ||
| 4195 | `(trashed-deleted ((,class :inherit modus-theme-mark-del))) | ||
| 4196 | `(trashed-directory ((,class :foreground ,blue))) | ||
| 4197 | `(trashed-mark ((,class :inherit modus-theme-mark-symbol))) | ||
| 4198 | `(trashed-marked ((,class :inherit modus-theme-mark-alt))) | ||
| 4199 | `(trashed-restored ((,class :inherit modus-theme-mark-sel))) | ||
| 4200 | `(trashed-symlink ((,class :inherit button :foreground ,cyan-alt))) | ||
| 4201 | ;;;;; treemacs | ||
| 4202 | `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt))) | ||
| 4203 | `(treemacs-directory-face ((,class :inherit dired-directory))) | ||
| 4204 | `(treemacs-file-face ((,class :foreground ,fg-main))) | ||
| 4205 | `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main))) | ||
| 4206 | `(treemacs-git-added-face ((,class :foreground ,green-intense))) | ||
| 4207 | `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 4208 | `(treemacs-git-ignored-face ((,class :foreground ,fg-alt))) | ||
| 4209 | `(treemacs-git-modified-face ((,class :foreground ,yellow-alt-other))) | ||
| 4210 | `(treemacs-git-renamed-face ((,class :foreground ,cyan-alt-other))) | ||
| 4211 | `(treemacs-git-unmodified-face ((,class :foreground ,fg-main))) | ||
| 4212 | `(treemacs-git-untracked-face ((,class :foreground ,red-alt-other))) | ||
| 4213 | `(treemacs-help-column-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,magenta-alt-other :underline t))) | ||
| 4214 | `(treemacs-help-title-face ((,class :foreground ,blue-alt-other))) | ||
| 4215 | `(treemacs-on-failure-pulse-face ((,class :inherit modus-theme-intense-red))) | ||
| 4216 | `(treemacs-on-success-pulse-face ((,class :inherit modus-theme-intense-green))) | ||
| 4217 | `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t))) | ||
| 4218 | `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow))) | ||
| 4219 | `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta))) | ||
| 4220 | `(treemacs-root-remote-unreadable-face ((,class :inherit treemacs-root-unreadable-face))) | ||
| 4221 | `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face :strike-through t))) | ||
| 4222 | `(treemacs-tags-face ((,class :foreground ,blue-alt))) | ||
| 4223 | `(treemacs-tags-face ((,class :foreground ,magenta-alt))) | ||
| 4224 | ;;;;; tty-menu | ||
| 4225 | `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt))) | ||
| 4226 | `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main))) | ||
| 4227 | `(tty-menu-selected-face ((,class :inherit modus-theme-intense-blue))) | ||
| 4228 | ;;;;; tuareg | ||
| 4229 | `(caml-types-def-face ((,class :inherit modus-theme-subtle-red))) | ||
| 4230 | `(caml-types-expr-face ((,class :inherit modus-theme-subtle-green))) | ||
| 4231 | `(caml-types-occ-face ((,class :inherit modus-theme-subtle-green))) | ||
| 4232 | `(caml-types-scope-face ((,class :inherit modus-theme-subtle-blue))) | ||
| 4233 | `(caml-types-typed-face ((,class :inherit modus-theme-subtle-magenta))) | ||
| 4234 | `(tuareg-font-double-semicolon-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4235 | red-alt red-alt-faint)))) | ||
| 4236 | `(tuareg-font-lock-attribute-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4237 | magenta magenta-faint)))) | ||
| 4238 | `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main))) | ||
| 4239 | `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 4240 | `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta))) | ||
| 4241 | `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 4242 | `(tuareg-font-lock-infix-extension-node-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4243 | magenta magenta-faint)))) | ||
| 4244 | `(tuareg-font-lock-interactive-directive-face ((,class :foreground ,fg-special-cold))) | ||
| 4245 | `(tuareg-font-lock-interactive-error-face ((,class :inherit bold | ||
| 4246 | ,@(modus-vivendi-theme-syntax-foreground | ||
| 4247 | red red-faint)))) | ||
| 4248 | `(tuareg-font-lock-interactive-output-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4249 | blue-alt-other blue-alt-other-faint)))) | ||
| 4250 | `(tuareg-font-lock-label-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4251 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4252 | `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm))) | ||
| 4253 | `(tuareg-font-lock-module-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4254 | magenta-alt magenta-alt-faint)))) | ||
| 4255 | `(tuareg-font-lock-multistage-face ((,class :inherit bold :background ,bg-alt | ||
| 4256 | ,@(modus-vivendi-theme-syntax-foreground | ||
| 4257 | blue blue-faint)))) | ||
| 4258 | `(tuareg-font-lock-operator-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4259 | red-alt red-alt-faint)))) | ||
| 4260 | `(tuareg-opam-error-face ((,class :inherit bold | ||
| 4261 | ,@(modus-vivendi-theme-syntax-foreground | ||
| 4262 | red red-faint)))) | ||
| 4263 | `(tuareg-opam-pkg-variable-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4264 | cyan cyan-faint) | ||
| 4265 | :slant ,modus-theme-slant))) | ||
| 4266 | ;;;;; typescript | ||
| 4267 | `(typescript-jsdoc-tag ((,class :foreground ,fg-special-mild :slant ,modus-theme-slant))) | ||
| 4268 | `(typescript-jsdoc-type ((,class :foreground ,fg-special-calm :slant ,modus-theme-slant))) | ||
| 4269 | `(typescript-jsdoc-value ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 4270 | ;;;;; undo-tree | ||
| 4271 | `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main))) | ||
| 4272 | `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense))) | ||
| 4273 | `(undo-tree-visualizer-default-face ((,class :foreground ,fg-alt))) | ||
| 4274 | `(undo-tree-visualizer-register-face ((,class :foreground ,magenta-intense))) | ||
| 4275 | `(undo-tree-visualizer-unmodified-face ((,class :foreground ,green-intense))) | ||
| 4276 | ;;;;; vc (vc-hooks.el) | ||
| 4277 | `(vc-conflict-state ((,class :foreground ,red-active :slant ,modus-theme-slant))) | ||
| 4278 | `(vc-edited-state ((,class :foreground ,yellow-active))) | ||
| 4279 | `(vc-locally-added-state ((,class :foreground ,cyan-active))) | ||
| 4280 | `(vc-locked-state ((,class :foreground ,blue-active))) | ||
| 4281 | `(vc-missing-state ((,class :foreground ,magenta-active :slant ,modus-theme-slant))) | ||
| 4282 | `(vc-needs-update-state ((,class :foreground ,green-active :slant ,modus-theme-slant))) | ||
| 4283 | `(vc-removed-state ((,class :foreground ,red-active))) | ||
| 4284 | `(vc-state-base ((,class :foreground ,fg-active))) | ||
| 4285 | `(vc-up-to-date-state ((,class :foreground ,fg-special-cold))) | ||
| 4286 | ;;;;; vdiff | ||
| 4287 | `(vdiff-addition-face ((,class :inherit modus-theme-diff-added))) | ||
| 4288 | `(vdiff-change-face ((,class :inherit modus-theme-diff-changed))) | ||
| 4289 | `(vdiff-closed-fold-face ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) | ||
| 4290 | `(vdiff-refine-added ((,class :inherit modus-theme-diff-refine-added))) | ||
| 4291 | `(vdiff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) | ||
| 4292 | `(vdiff-subtraction-face ((,class :inherit modus-theme-diff-removed))) | ||
| 4293 | `(vdiff-target-face ((,class :inherit modus-theme-intense-blue))) | ||
| 4294 | ;;;;; vimish-fold | ||
| 4295 | `(vimish-fold-fringe ((,class :foreground ,cyan-active))) | ||
| 4296 | `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue))) | ||
| 4297 | `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold))) | ||
| 4298 | ;;;;; visible-mark | ||
| 4299 | `(visible-mark-active ((,class :background ,blue-intense-bg))) | ||
| 4300 | `(visible-mark-face1 ((,class :background ,cyan-intense-bg))) | ||
| 4301 | `(visible-mark-face2 ((,class :background ,yellow-intense-bg))) | ||
| 4302 | `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg))) | ||
| 4303 | `(visible-mark-forward-face2 ((,class :background ,green-intense-bg))) | ||
| 4304 | ;;;;; visual-regexp | ||
| 4305 | `(vr/group-0 ((,class :inherit modus-theme-intense-blue))) | ||
| 4306 | `(vr/group-1 ((,class :inherit modus-theme-intense-magenta))) | ||
| 4307 | `(vr/group-2 ((,class :inherit modus-theme-intense-green))) | ||
| 4308 | `(vr/match-0 ((,class :inherit modus-theme-refine-yellow))) | ||
| 4309 | `(vr/match-1 ((,class :inherit modus-theme-refine-yellow))) | ||
| 4310 | `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral bold)))) | ||
| 4311 | ;;;;; volatile-highlights | ||
| 4312 | `(vhl/default-face ((,class ,@(and (>= emacs-major-version 27) '(:extend t)) | ||
| 4313 | :background ,bg-alt :foreground ,blue-nuanced))) | ||
| 4314 | ;;;;; vterm | ||
| 4315 | `(vterm-color-black ((,class :background "gray35" :foreground "gray35"))) | ||
| 4316 | `(vterm-color-blue ((,class :background ,blue :foreground ,blue))) | ||
| 4317 | `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan))) | ||
| 4318 | `(vterm-color-default ((,class :background ,bg-main :foreground ,fg-main))) | ||
| 4319 | `(vterm-color-green ((,class :background ,green :foreground ,green))) | ||
| 4320 | `(vterm-color-inverse-video ((,class :background ,bg-main :inverse-video t))) | ||
| 4321 | `(vterm-color-magenta ((,class :background ,magenta :foreground ,magenta))) | ||
| 4322 | `(vterm-color-red ((,class :background ,red :foreground ,red))) | ||
| 4323 | `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t))) | ||
| 4324 | `(vterm-color-white ((,class :background "gray65" :foreground "gray65"))) | ||
| 4325 | `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow))) | ||
| 4326 | ;;;;; wcheck-mode | ||
| 4327 | `(wcheck-default-face ((,class :foreground ,red :underline t))) | ||
| 4328 | ;;;;; web-mode | ||
| 4329 | `(web-mode-annotation-face ((,class :inherit web-mode-comment-face))) | ||
| 4330 | `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face))) | ||
| 4331 | `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face :underline t))) | ||
| 4332 | `(web-mode-block-attr-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4333 | blue blue-faint)))) | ||
| 4334 | `(web-mode-block-attr-value-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4335 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4336 | `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4337 | `(web-mode-block-control-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4338 | magenta-alt magenta-alt-faint) | ||
| 4339 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 4340 | `(web-mode-block-delimiter-face ((,class :foreground ,fg-main))) | ||
| 4341 | `(web-mode-block-face ((,class :background ,bg-dim))) | ||
| 4342 | `(web-mode-block-string-face ((,class :inherit web-mode-string-face))) | ||
| 4343 | `(web-mode-bold-face ((,class :inherit bold))) | ||
| 4344 | `(web-mode-builtin-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4345 | magenta-alt magenta-alt-faint) | ||
| 4346 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 4347 | `(web-mode-comment-face ((,class :foreground ,fg-alt :slant ,modus-theme-slant))) | ||
| 4348 | `(web-mode-comment-keyword-face ((,class :inherit bold :background ,bg-dim | ||
| 4349 | ,@(modus-vivendi-theme-syntax-foreground | ||
| 4350 | yellow yellow-faint)))) | ||
| 4351 | `(web-mode-constant-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4352 | blue-alt-other blue-alt-other-faint)))) | ||
| 4353 | `(web-mode-css-at-rule-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4354 | blue-alt-other blue-alt-other-faint)))) | ||
| 4355 | `(web-mode-css-color-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4356 | magenta-alt magenta-alt-faint) | ||
| 4357 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 4358 | `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4359 | `(web-mode-css-function-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4360 | magenta-alt magenta-alt-faint) | ||
| 4361 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 4362 | `(web-mode-css-priority-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4363 | yellow-alt yellow-alt-faint) | ||
| 4364 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 4365 | `(web-mode-css-property-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4366 | cyan cyan-faint)))) | ||
| 4367 | `(web-mode-css-pseudo-class-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4368 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4369 | `(web-mode-css-selector-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4370 | magenta-alt-other magenta-alt-other-faint) | ||
| 4371 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 4372 | `(web-mode-css-string-face ((,class :inherit web-mode-string-face))) | ||
| 4373 | `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm))) | ||
| 4374 | `(web-mode-current-column-highlight-face ((,class :background ,bg-alt))) | ||
| 4375 | `(web-mode-current-element-highlight-face ((,class :inherit modus-theme-special-mild))) | ||
| 4376 | `(web-mode-doctype-face ((,class :foreground ,fg-special-cold :slant ,modus-theme-slant))) | ||
| 4377 | `(web-mode-error-face ((,class :inherit modus-theme-intense-red))) | ||
| 4378 | `(web-mode-filter-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4379 | magenta magenta-faint)))) | ||
| 4380 | `(web-mode-folded-face ((,class :underline t))) | ||
| 4381 | `(web-mode-function-call-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4382 | magenta magenta-faint)))) | ||
| 4383 | `(web-mode-function-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4384 | magenta magenta-faint)))) | ||
| 4385 | `(web-mode-html-attr-custom-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4386 | cyan cyan-faint)))) | ||
| 4387 | `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main))) | ||
| 4388 | `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main))) | ||
| 4389 | `(web-mode-html-attr-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4390 | cyan cyan-faint)))) | ||
| 4391 | `(web-mode-html-attr-value-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4392 | blue-alt-other blue-alt-other-faint)))) | ||
| 4393 | `(web-mode-html-entity-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4394 | yellow-alt-other yellow-alt-other-faint) | ||
| 4395 | :slant ,modus-theme-slant))) | ||
| 4396 | `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim))) | ||
| 4397 | `(web-mode-html-tag-custom-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4398 | magenta magenta-faint)))) | ||
| 4399 | `(web-mode-html-tag-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4400 | magenta magenta-faint)))) | ||
| 4401 | `(web-mode-html-tag-namespaced-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4402 | magenta-alt magenta-alt-faint) | ||
| 4403 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 4404 | `(web-mode-html-tag-unclosed-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4405 | red red-faint) | ||
| 4406 | :underline t))) | ||
| 4407 | `(web-mode-inlay-face ((,class :background ,bg-alt))) | ||
| 4408 | `(web-mode-italic-face ((,class :slant italic))) | ||
| 4409 | `(web-mode-javascript-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4410 | `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face))) | ||
| 4411 | `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4412 | `(web-mode-json-context-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4413 | magenta-alt magenta-alt-faint)))) | ||
| 4414 | `(web-mode-json-key-face ((,class :foreground ,blue-nuanced))) | ||
| 4415 | `(web-mode-json-string-face ((,class :inherit web-mode-string-face))) | ||
| 4416 | `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg :foreground ,fg-main))) | ||
| 4417 | `(web-mode-jsx-depth-2-face ((,class :background ,blue-subtle-bg :foreground ,fg-main))) | ||
| 4418 | `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) | ||
| 4419 | `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg))) | ||
| 4420 | `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced))) | ||
| 4421 | `(web-mode-keyword-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4422 | magenta-alt-other magenta-alt-other-faint) | ||
| 4423 | ,@(modus-vivendi-theme-bold-weight)))) | ||
| 4424 | `(web-mode-param-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4425 | magenta magenta-faint)))) | ||
| 4426 | `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face))) | ||
| 4427 | `(web-mode-part-face ((,class :inherit web-mode-block-face))) | ||
| 4428 | `(web-mode-part-string-face ((,class :inherit web-mode-string-face))) | ||
| 4429 | `(web-mode-preprocessor-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4430 | red-alt-other red-alt-other-faint)))) | ||
| 4431 | `(web-mode-script-face ((,class :inherit web-mode-part-face))) | ||
| 4432 | `(web-mode-sql-keyword-face ((,class :inherit bold | ||
| 4433 | ,@(modus-vivendi-theme-syntax-foreground | ||
| 4434 | yellow yellow-faint)))) | ||
| 4435 | `(web-mode-string-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4436 | blue-alt blue-alt-faint)))) | ||
| 4437 | `(web-mode-style-face ((,class :inherit web-mode-part-face))) | ||
| 4438 | `(web-mode-symbol-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4439 | blue-alt-other blue-alt-other-faint)))) | ||
| 4440 | `(web-mode-type-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4441 | magenta-alt magenta-alt-faint)))) | ||
| 4442 | `(web-mode-underline-face ((,class :underline t))) | ||
| 4443 | `(web-mode-variable-name-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4444 | cyan cyan-faint)))) | ||
| 4445 | `(web-mode-warning-face ((,class :inherit bold :background ,bg-alt | ||
| 4446 | ,@(modus-vivendi-theme-syntax-foreground | ||
| 4447 | yellow-alt-other yellow-alt-other-faint)))) | ||
| 4448 | `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4449 | ;;;;; wgrep | ||
| 4450 | `(wgrep-delete-face ((,class :inherit modus-theme-refine-yellow))) | ||
| 4451 | `(wgrep-done-face ((,class :inherit modus-theme-refine-blue))) | ||
| 4452 | `(wgrep-face ((,class :inherit modus-theme-refine-green))) | ||
| 4453 | `(wgrep-file-face ((,class :foreground ,fg-special-warm))) | ||
| 4454 | `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold)))) | ||
| 4455 | ;;;;; which-function-mode | ||
| 4456 | `(which-func ((,class :foreground ,magenta-active))) | ||
| 4457 | ;;;;; which-key | ||
| 4458 | `(which-key-command-description-face ((,class :foreground ,cyan))) | ||
| 4459 | `(which-key-group-description-face ((,class :foreground ,magenta-alt))) | ||
| 4460 | `(which-key-highlighted-command-face ((,class :foreground ,cyan-alt :underline t))) | ||
| 4461 | `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense))) | ||
| 4462 | `(which-key-local-map-description-face ((,class :foreground ,fg-main))) | ||
| 4463 | `(which-key-note-face ((,class :background ,bg-dim :foreground ,fg-special-mild))) | ||
| 4464 | `(which-key-separator-face ((,class :foreground ,fg-alt))) | ||
| 4465 | `(which-key-special-key-face ((,class :inherit bold :foreground ,yellow-intense))) | ||
| 4466 | ;;;;; whitespace-mode | ||
| 4467 | `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red))) | ||
| 4468 | `(whitespace-empty ((,class :inherit modus-theme-intense-magenta))) | ||
| 4469 | `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4470 | `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4471 | `(whitespace-line ((,class :inherit modus-theme-special-warm))) | ||
| 4472 | `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4473 | `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4474 | `(whitespace-space-after-tab ((,class :inherit modus-theme-subtle-magenta))) | ||
| 4475 | `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan))) | ||
| 4476 | `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) | ||
| 4477 | `(whitespace-trailing ((,class :inherit modus-theme-intense-red))) | ||
| 4478 | ;;;;; window-divider-mode | ||
| 4479 | `(window-divider ((,class :foreground ,fg-window-divider-inner))) | ||
| 4480 | `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer))) | ||
| 4481 | `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer))) | ||
| 4482 | ;;;;; winum | ||
| 4483 | `(winum-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground ,cyan-active))) | ||
| 4484 | ;;;;; writegood-mode | ||
| 4485 | `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) | ||
| 4486 | `(writegood-passive-voice-face ((,class :foreground ,yellow-nuanced :underline ,fg-lang-warning))) | ||
| 4487 | `(writegood-weasels-face ((,class :foreground ,red-nuanced :underline ,fg-lang-error))) | ||
| 4488 | ;;;;; woman | ||
| 4489 | `(woman-addition ((,class :foreground ,magenta-alt-other))) | ||
| 4490 | `(woman-bold ((,class :inherit bold :foreground ,magenta))) | ||
| 4491 | `(woman-italic ((,class :foreground ,cyan :slant italic))) | ||
| 4492 | `(woman-unknown ((,class :foreground ,yellow :slant italic))) | ||
| 4493 | ;;;;; xah-elisp-mode | ||
| 4494 | `(xah-elisp-at-symbol ((,class :inherit bold | ||
| 4495 | ,@(modus-vivendi-theme-syntax-foreground | ||
| 4496 | red-alt red-alt-faint)))) | ||
| 4497 | `(xah-elisp-cap-variable ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4498 | red-alt-other red-alt-other-faint)))) | ||
| 4499 | `(xah-elisp-command-face ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4500 | cyan-alt-other cyan-alt-other-faint)))) | ||
| 4501 | `(xah-elisp-dollar-symbol ((,class ,@(modus-vivendi-theme-syntax-foreground | ||
| 4502 | green green-faint)))) | ||
| 4503 | ;;;;; xref | ||
| 4504 | `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold))) | ||
| 4505 | `(xref-line-number ((,class :foreground ,fg-alt))) | ||
| 4506 | `(xref-match ((,class :inherit match))) | ||
| 4507 | ;;;;; yaml-mode | ||
| 4508 | `(yaml-tab-face ((,class :inherit modus-theme-intense-red))) | ||
| 4509 | ;;;;; yasnippet | ||
| 4510 | `(yas-field-highlight-face ((,class :background ,bg-alt :foreground ,fg-main))) | ||
| 4511 | ;;;;; ztree | ||
| 4512 | `(ztreep-arrow-face ((,class :foreground ,fg-inactive))) | ||
| 4513 | `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) | ||
| 4514 | `(ztreep-diff-header-small-face ((,class :inherit bold :foreground ,fg-special-mild))) | ||
| 4515 | `(ztreep-diff-model-add-face ((,class :foreground ,green))) | ||
| 4516 | `(ztreep-diff-model-diff-face ((,class :foreground ,red))) | ||
| 4517 | `(ztreep-diff-model-ignored-face ((,class :foreground ,fg-alt :strike-through t))) | ||
| 4518 | `(ztreep-diff-model-normal-face ((,class :foreground ,fg-alt))) | ||
| 4519 | `(ztreep-expand-sign-face ((,class :foreground ,blue))) | ||
| 4520 | `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) | ||
| 4521 | `(ztreep-leaf-face ((,class :foreground ,cyan))) | ||
| 4522 | `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm))) | ||
| 4523 | `(ztreep-node-face ((,class :foreground ,fg-main)))) | ||
| 4524 | ;;;; Emacs 27+ | ||
| 4525 | (when (>= emacs-major-version 27) | ||
| 4526 | (custom-theme-set-faces | ||
| 4527 | 'modus-vivendi | ||
| 4528 | ;;;;; line numbers (`display-line-numbers-mode' and global variant) | ||
| 4529 | ;; NOTE that this is specifically for the faces that were | ||
| 4530 | ;; introduced in Emacs 27, as the other faces are already | ||
| 4531 | ;; supported. | ||
| 4532 | `(line-number-major-tick ((,class :inherit (bold default) | ||
| 4533 | :background ,yellow-nuanced-bg | ||
| 4534 | :foreground ,yellow-nuanced))) | ||
| 4535 | `(line-number-minor-tick ((,class :inherit (bold default) | ||
| 4536 | :background ,bg-inactive | ||
| 4537 | :foreground ,fg-inactive))) | ||
| 4538 | ;;;;; tab-bar-mode | ||
| 4539 | `(tab-bar ((,class :background ,bg-tab-bar :foreground ,fg-main))) | ||
| 4540 | `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) | ||
| 4541 | :background ,bg-tab-active :foreground ,fg-main))) | ||
| 4542 | `(tab-bar-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) | ||
| 4543 | :background ,bg-tab-inactive :foreground ,fg-dim))) | ||
| 4544 | ;;;;; tab-line-mode | ||
| 4545 | `(tab-line ((,class :height 0.95 :background ,bg-tab-bar :foreground ,fg-main))) | ||
| 4546 | `(tab-line-close-highlight ((,class :foreground ,red))) | ||
| 4547 | `(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) | ||
| 4548 | `(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) | ||
| 4549 | :background ,bg-tab-active :foreground ,fg-main))) | ||
| 4550 | `(tab-line-tab-current ((,class :inherit tab-line-tab))) | ||
| 4551 | `(tab-line-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) | ||
| 4552 | :background ,bg-tab-inactive :foreground ,fg-dim))))) | ||
| 4553 | ;;;; Emacs 28+ | ||
| 4554 | (when (>= emacs-major-version 28) | ||
| 4555 | (custom-theme-set-faces | ||
| 4556 | 'modus-vivendi | ||
| 4557 | ;;;;; isearch regexp groups | ||
| 4558 | `(isearch-group-1 ((,class :inherit modus-theme-intense-blue))) | ||
| 4559 | `(isearch-group-2 ((,class :inherit modus-theme-intense-magenta))))) | ||
| 4560 | ;;; variables | ||
| 4561 | (custom-theme-set-variables | ||
| 4562 | 'modus-vivendi | ||
| 4563 | ;;;; ansi-colors | ||
| 4564 | `(ansi-color-faces-vector [default bold shadow italic underline success warning error]) | ||
| 4565 | `(ansi-color-names-vector [,bg-main ,red ,green ,yellow ,blue ,magenta ,cyan ,fg-main]) | ||
| 4566 | ;;;; awesome-tray | ||
| 4567 | `(awesome-tray-mode-line-active-color ,blue) | ||
| 4568 | `(awesome-tray-mode-line-inactive-color ,bg-active) | ||
| 4569 | ;;;; flymake fringe indicators | ||
| 4570 | `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red)) | ||
| 4571 | `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow)) | ||
| 4572 | `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan)) | ||
| 4573 | ;;;; ibuffer | ||
| 4574 | `(ibuffer-deletion-face 'modus-theme-mark-del) | ||
| 4575 | `(ibuffer-filter-group-name-face 'modus-theme-mark-symbol) | ||
| 4576 | `(ibuffer-marked-face 'modus-theme-mark-sel) | ||
| 4577 | `(ibuffer-title-face 'modus-theme-pseudo-header) | ||
| 4578 | ;;;; highlight-tail | ||
| 4579 | `(highlight-tail-colors | ||
| 4580 | '((,green-subtle-bg . 0) | ||
| 4581 | (,cyan-subtle-bg . 20))) | ||
| 4582 | ;;;; hl-todo | ||
| 4583 | `(hl-todo-keyword-faces | ||
| 4584 | '(("HOLD" . ,yellow-alt) | ||
| 4585 | ("TODO" . ,magenta) | ||
| 4586 | ("NEXT" . ,magenta-alt-other) | ||
| 4587 | ("THEM" . ,magenta-alt) | ||
| 4588 | ("PROG" . ,cyan) | ||
| 4589 | ("OKAY" . ,cyan-alt) | ||
| 4590 | ("DONT" . ,green-alt) | ||
| 4591 | ("FAIL" . ,red) | ||
| 4592 | ("BUG" . ,red) | ||
| 4593 | ("DONE" . ,green) | ||
| 4594 | ("NOTE" . ,yellow-alt-other) | ||
| 4595 | ("KLUDGE" . ,yellow) | ||
| 4596 | ("HACK" . ,yellow) | ||
| 4597 | ("TEMP" . ,red-nuanced) | ||
| 4598 | ("FIXME" . ,red-alt-other) | ||
| 4599 | ("XXX+" . ,red-alt) | ||
| 4600 | ("REVIEW" . ,cyan-alt-other) | ||
| 4601 | ("DEPRECATED" . ,blue-nuanced))) | ||
| 4602 | ;;;; vc-annotate (C-x v g) | ||
| 4603 | `(vc-annotate-background nil) | ||
| 4604 | `(vc-annotate-background-mode nil) | ||
| 4605 | `(vc-annotate-color-map | ||
| 4606 | '((20 . ,red) | ||
| 4607 | (40 . ,magenta) | ||
| 4608 | (60 . ,magenta-alt) | ||
| 4609 | (80 . ,red-alt) | ||
| 4610 | (100 . ,yellow) | ||
| 4611 | (120 . ,yellow-alt) | ||
| 4612 | (140 . ,fg-special-warm) | ||
| 4613 | (160 . ,fg-special-mild) | ||
| 4614 | (180 . ,green) | ||
| 4615 | (200 . ,green-alt) | ||
| 4616 | (220 . ,cyan-alt-other) | ||
| 4617 | (240 . ,cyan-alt) | ||
| 4618 | (260 . ,cyan) | ||
| 4619 | (280 . ,fg-special-cold) | ||
| 4620 | (300 . ,blue) | ||
| 4621 | (320 . ,blue-alt) | ||
| 4622 | (340 . ,blue-alt-other) | ||
| 4623 | (360 . ,magenta-alt-other))) | ||
| 4624 | `(vc-annotate-very-old-color nil) | ||
| 4625 | ;;;; xterm-color | ||
| 4626 | `(xterm-color-names [,bg-main ,red ,green ,yellow ,blue ,magenta ,cyan ,fg-alt]) | ||
| 4627 | `(xterm-color-names-bright [,bg-alt ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt ,fg-main])) | ||
| 4628 | ;;; Conditional theme variables | ||
| 4629 | ;;;; org-src-block-faces | ||
| 4630 | ;; this is a user option to add a colour-coded background to source | ||
| 4631 | ;; blocks for various programming languages | ||
| 4632 | (when (eq modus-vivendi-theme-org-blocks 'rainbow) | ||
| 4633 | (custom-theme-set-variables | ||
| 4634 | 'modus-vivendi | ||
| 4635 | `(org-src-block-faces ; TODO this list should be expanded | ||
| 4636 | `(("emacs-lisp" modus-theme-nuanced-magenta) | ||
| 4637 | ("elisp" modus-theme-nuanced-magenta) | ||
| 4638 | ("clojure" modus-theme-nuanced-magenta) | ||
| 4639 | ("clojurescript" modus-theme-nuanced-magenta) | ||
| 4640 | ("c" modus-theme-nuanced-blue) | ||
| 4641 | ("c++" modus-theme-nuanced-blue) | ||
| 4642 | ("sh" modus-theme-nuanced-green) | ||
| 4643 | ("shell" modus-theme-nuanced-green) | ||
| 4644 | ("html" modus-theme-nuanced-yellow) | ||
| 4645 | ("xml" modus-theme-nuanced-yellow) | ||
| 4646 | ("css" modus-theme-nuanced-red) | ||
| 4647 | ("scss" modus-theme-nuanced-red) | ||
| 4648 | ("python" modus-theme-nuanced-green) | ||
| 4649 | ("ipython" modus-theme-nuanced-magenta) | ||
| 4650 | ("r" modus-theme-nuanced-cyan) | ||
| 4651 | ("yaml" modus-theme-nuanced-cyan) | ||
| 4652 | ("conf" modus-theme-nuanced-cyan) | ||
| 4653 | ("docker" modus-theme-nuanced-cyan) | ||
| 4654 | ("json" modus-theme-nuanced-cyan)))))) | ||
| 4655 | 61 | ||
| 4656 | ;;; library provides | 62 | (modus-themes-theme modus-vivendi) |
| 4657 | ;;;###autoload | ||
| 4658 | (when load-file-name | ||
| 4659 | (add-to-list 'custom-theme-load-path | ||
| 4660 | (file-name-as-directory (file-name-directory load-file-name)))) | ||
| 4661 | 63 | ||
| 4662 | (provide-theme 'modus-vivendi) | 64 | (provide-theme 'modus-vivendi) |
| 4663 | 65 | ||