[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/modus-operandi-theme ef898e7: Merge 'master' into elpa/
From: |
Stefan Monnier |
Subject: |
[elpa] externals/modus-operandi-theme ef898e7: Merge 'master' into elpa/modus-operandi-theme |
Date: |
Wed, 29 Apr 2020 21:41:06 -0400 (EDT) |
branch: externals/modus-operandi-theme
commit ef898e7f828b908eeb0630fbe5c85d211ff0a7ff
Merge: 58836de 29078bd
Author: Protesilaos Stavrou <address@hidden>
Commit: Protesilaos Stavrou <address@hidden>
Merge 'master' into elpa/modus-operandi-theme
---
.gitignore | 3 +
CHANGELOG.org | 169 +++++++++
README.org | 405 ++++++++++++++++++---
modus-operandi-theme.el | 950 +++++++++++++++++++++++++++++++++++-------------
4 files changed, 1220 insertions(+), 307 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..cb62d01
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.elc
+*-autoloads.el
+*-pkg.el
diff --git a/CHANGELOG.org b/CHANGELOG.org
index 65a5067..40ff91f 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,175 @@ This document contains the release notes that are included in
each
tagged commit on https://gitlab.com/protesilaos/modus-themes. The
newest release is at the top.
+* 0.8.0
+
+Modus Operandi and Modus Vivendi version 0.8.0
+
+By Protesilaos Stavrou <address@hidden> on 2020-04-28
+
+This entry records the changes since version 0.7.0 (2020-03-30). The
+present release contains a little more than a hundred commits, covering
+one month of intense work.
+
+All changes are aligned with the primary objective of this project,
+which is conformance with the WCAG AAA accessibility standard for colour
+contrast. This translates to a minimum contrast ratio of 7:1 between a
+given combination of foreground and background colours.
+
+All customisation options mentioned herein are off ('nil') by default.
+The project's policy is to offer such features on an "opt-in" basis,
+while always respecting the principle of least surprise.
+
+Refer to the README for further information.
+
+
+Four new customisation options
+------------------------------
+
+The options in outline, with their detailed description below:
+
++ Rainbow headings
++ Section headings
++ 3D modeline
++ Subtle diffs
+
+1. "Rainbow headings" will apply more vivid colours to headings in
+ 'org-mode' and 'outline-mode'. The gradation is similar to that of a
+ rainbow's colour spectrum.
+
+ The default is to use colour values that are closer to the grey
+ scale.
+
+2. "Section headings" also apply to 'org-mode' and 'outline-mode'. They
+ will draw an overline over each heading and use a nuanced background
+ colour that is appropriate for each level. For Org, this option has
+ some additional effects, where it will render keywords and priority
+ cookies in a box and add to them a subtle background. This is to
+ make sure that everything feels consistent (to the extent possible).
+
+ The default is to not use overlines, backgrounds, boxes in any of the
+ relevant faces. This is consistent with the standard austere
+ colouration of headings: to not deviate too much from a "plain text"
+ aesthetic.
+
+NOTE: "rainbow headings" and "section headings" can work on their own or
+be combined together.
+
+3. "3D modeline" will use a faux unpressed button style for the current
+ window's modeline (like the standard looks of 'emacs -Q'). The
+ colours used for the active and inactive modelines are tweaked
+ accordingly to maximise the effect while retaining the visual
+ distinction between them.
+
+ The default is to draw the modelines in a two-dimensional style, with
+ the active one having a more noticeable border around it.
+
+4. "Subtle diffs" will use colour-coded text for line-wise differences
+ without applying any appropriately-coded background value or, where
+ necessary, by using only a subtle greyscale background. This affects
+ 'diff-mode', 'magit', 'ediff', and 'smerge-mode'. For Magit an extra
+ set of tweaks is implemented to account for the differentiation
+ between the focused and unfocused diff hunks.
+
+ Due to their unique requirements, word-wise or refined changes are
+ always drawn with a colour-coded background, though it is less
+ intense when this option is enabled.
+
+ The default is to use a colour-coded background and foreground
+ combination (e.g. light green text on a dark green backdrop) and to
+ make appropriate adjustments for refined diffs and modes of
+ interaction such as Magit's focused/unfocused diff states.
+
+
+Other major refinements
+-----------------------
+
++ Thoroughly revise the colours of 'ediff' and 'smerge-mode', so that
+ they are aligned with those of 'diff-mode' and 'magit'. This is in
+ addition to the "subtle diffs" options mentioned in the previous
+ section.
+
++ Review the faces used by Flycheck and Flymake. A wavy/curly underline
+ is now used in all terminals that support it. The underlined text is
+ drawn with a more nuanced foreground than before. The previous design
+ was exaggerating an already clear effect and could make things more
+ difficult under certain circumstances.
+
++ All language checkers, including the aforementioned linter front-ends,
+ now benefit from a new set of colours that are designed specifically
+ for this particular purpose. Makes the affected faces feel more
+ different than their context.
+
++ Use dedicated colours for escape sequences, regular expression
+ constructs, and quoted characters. The goal is to better
+ differentiate them from their surroundings.
+
++ Tweak the colours of 'hydra' to improve the distinction between its
+ various types of behaviour.
+
++ Reduce the overall luminance of the background colours used in the
+ fringes by the likes of 'flycheck', 'flymake', 'diff-hl', etc. They
+ should now not stand out more than they should, while retaining their
+ intended role.
+
++ Implement more saturated colours in Elfeed. The previous choices
+ could make it harder to differentiate the various parts of the
+ presentation.
+
++ Make better use of the customisation options for bold and slanted
+ constructs where that is allowed. If a face is not tied to the
+ semantics of these styles then it is drawn without them, unless the
+ user specifically opts for the relevant customisation options.
+
+
+Added support for packages (A-Z)
+--------------------------------
+
++ ag
++ color-rg
++ ctrlf
++ debbugs
++ eglot
++ forge
++ helpful
++ highlight-symbol
++ ibuffer
++ icomplete
++ iflipb
++ magit-imerge
++ man
++ orderless
++ page-break-lines
++ parrot
++ phi-grep
++ phi-search
++ pomidor
++ rcirc
++ spell-fu
++ switch-window
++ swoop
++ tab-bar-mode
++ tab-line-mode
++ trashed
++ tomatinho
++ tuareg
++ vimish-fold
++ visible-mark
++ vterm
++ wcheck-mode
++ winum
++ woman
+
+
+Miscellaneous changes and concluding remarks
+--------------------------------------------
+
++ Rewrote large parts of the README to make the customisation options
+ easier to discover and understand.
+
++ Updated the screen shots and their description in the relevant Wiki
+ page: https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots
+
* 0.7.0
Modus Operandi and Modus Vivendi version 0.7.0
diff --git a/README.org b/README.org
index de8ad81..b3efc45 100644
--- a/README.org
+++ b/README.org
@@ -16,9 +16,22 @@ The /Modus themes/ project consists of two standalone items,
one where
dark text is cast on a light backdrop (Modus Operandi) and another where
light text is displayed against a dark background (Modus Vivendi).
-*Check the
[[https://gitlab.com/protesilaos/modus-themes/wikis/Screenshots][Wiki page with
the screen shots]].* Also note that I demo these
-themes in [[https://protesilaos.com/code-casts][my Emacs-related screen
casts]] (though older videos contain
-earlier, "alpha" versions).
+The themes are *highly customisable* and can be made to look much
+different than their default austere aesthetic. Make sure to read the
+section on the [[#h:d414ca47-6dce-4905-9f2e-de1465bf23bb][customisation
options]].
+
+** Links with demo content
+ :PROPERTIES:
+ :CUSTOM_ID: h:3b1b8ad9-f08f-4329-b9ee-d817b610708f
+ :END:
+
+Check the
[[https://gitlab.com/protesilaos/modus-themes/wikis/Screenshots][Wiki page with
the screen shots]]. There are lots of scenaria
+on display that draw attention to details and important aspects in the
+design of the themes. They also showcase the numerous customisation
+options.
+
+Also note that I use these themes in [[https://protesilaos.com/code-casts][my
Emacs-related screen casts]]
+(although older videos contain earlier, "alpha" versions).
* Install and auto-load
:PROPERTIES:
@@ -49,13 +62,17 @@ To be clear, that sequence means:
+ type the name of the package
+ hit Return to confirm your choice
+*Remember to refresh your package lists* (=M-x package-refresh-contents= or
+=M-x list-packages=), in case Emacs complains that a package is no longer
+available.
+
*** With `use-package'
:PROPERTIES:
:CUSTOM_ID: h:3ab0ac39-38fb-405b-8a15-771cbd843b6d
:END:
For a declarative approach with =use-package=, you can write something
-like this:
+like this (also see [[#h:d414ca47-6dce-4905-9f2e-de1465bf23bb][the
customisation options]] for how to expand this):
#+BEGIN_SRC emacs-lisp
(use-package modus-operandi-theme
@@ -100,70 +117,247 @@ you might run into unexpected issues.
:CUSTOM_ID: h:d414ca47-6dce-4905-9f2e-de1465bf23bb
:END:
-Both of the Modus themes expose some variables that allow users to tweak
-the look of the theme. By default, all variables are deactivated,
-meaning that *you need to explicitly opt in*.
+Both of the Modus themes expose variables that allow users to tweak how
+certain styles are configured. Check the
[[https://gitlab.com/protesilaos/modus-themes/wikis/Screenshots][Wiki with the
screen shots]] to
+see how these will change things.
-This is what is available right now (use the ones appropriate to the
-theme of your choice):
+By default, all variables are deactivated (=nil=), meaning that *you need
+to explicitly opt in* like this:
-#+BEGIN_SRC emacs-lisp
-;; Choose to render more code constructs in slanted text (italics). The
-;; default, shown below, is to not use italics, unless it is absolutely
-;; necessary.
-(setq modus-operandi-theme-slanted-constructs nil)
+#+begin_src emacs-lisp
+(setq CUSTOMISATION-OPTION-NAME t)
+
+;; example with "rainbow" headings for Modus Operandi:
+(setq modus-operandi-theme-rainbow-headings t)
+#+end_src
+
+Put the point (cursor) exactly to the right of the closing parenthesis
+and use =C-x C-e= to evaluate each =setq= form individually, or the entire
+expression that holds it (e.g. a function or =use-package= declaration).
-(setq modus-vivendi-theme-slanted-constructs nil)
+All customisation *options must be declared before loading the theme*,
+else they will not be parsed and have no immediate effect. To [re-]load
+a theme, you can evaluate either of these:
-;; Opt to display some additional code constructs in bold. The default,
-;; shown below, is to use bold weight only where necessary.
-(setq modus-operandi-theme-bold-constructs nil)
+#+begin_src emacs-lisp
+(load-theme 'modus-operandi t)
+(load-theme 'modus-vivendi t)
+#+end_src
-(setq modus-vivendi-theme-bold-constructs nil)
+Consult the section below with the
[[#h:0e3b8a62-8d72-4439-be2d-cb12ed98f4cb][complete example configuration]] for
a
+fully fledged =use-package= declaration.
-;; Use proportionately-spaced fonts (variable-pitch) for headings. The
-;; default is to use whatever font the user has selected, typically a
-;; monospaced typeface.
-(setq modus-operandi-theme-proportional-fonts nil)
+** Option for distinct Org source blocks
+ :PROPERTIES:
+ :CUSTOM_ID: h:ca57a3af-6f79-4530-88c0-e35eda9d3bf7
+ :END:
-(setq modus-vivendi-theme-proportional-fonts nil)
++ =modus-operandi-theme-distinct-org-blocks=
++ =modus-vivendi-theme-distinct-org-blocks=
-;; Whether headings should be scaled or have the same height as body
-;; text. The default is to keep everything the same as the base size.
-(setq modus-operandi-theme-scale-headings nil)
+Use a distinct background for Org's source blocks and extend their
+headings until the edge of the window (the "extend" part is for Emacs
+versions >= 27, whereas before they would extend regardless). The
+default is to use the same background as the rest of the buffer for the
+contents of the block, while beginning and end lines do not extend to
+the end of the window (again, the "extend" is for Emacs 27 or higher).
-(setq modus-vivendi-theme-scale-headings nil)
+** Option for colourful "rainbow" headings
+ :PROPERTIES:
+ :CUSTOM_ID: h:1be42afb-bcd2-4425-b956-0ba93eb960c2
+ :END:
-;; Font scale that should apply to headings. These are the default values.
-(setq modus-operandi-theme-scale-1 1.05)
-(setq modus-operandi-theme-scale-2 1.1)
-(setq modus-operandi-theme-scale-3 1.15)
-(setq modus-operandi-theme-scale-4 1.2)
++ =modus-operandi-theme-rainbow-headings=
++ =modus-vivendi-theme-rainbow-headings=
-(setq modus-vivendi-theme-scale-1 1.05)
-(setq modus-vivendi-theme-scale-2 1.1)
-(setq modus-vivendi-theme-scale-3 1.15)
-(setq modus-vivendi-theme-scale-4 1.2)
+Apply more saturated colours to headings in =org-mode= and =outline-mode=
+while retaining all other heading properties (such as a bold weight and
+the optional scaled height ---see relevant customisation toggle). The
+colours follow the rainbow's spectrum. In Org headings, some additional
+tweaks are made to adapt keywords (like "TODO") to the more vivid
+presentation. The default uses a more frugal aesthetic for headings,
+letting their bold typography and the nuances between the various
+heading levels provide the elements of differentiation.
-;; Make the fringes visible. This renders them in a different
-;; background than the main buffer.
-(setq modus-operandi-theme-visible-fringes nil)
+** Option for sectioned headings
+ :PROPERTIES:
+ :CUSTOM_ID: h:c1c9a380-7a05-4c0d-b714-2acac88f10ad
+ :END:
-(setq modus-vivendi-theme-visible-fringes nil)
++ =modus-operandi-theme-section-headings=
++ =modus-vivendi-theme-section-headings=
-;; Use a distinct background for Org's source blocks and extend their
-;; headings until the edge of the window (the "extend" part is for Emacs
-;; versions >= 27, whereas before they would extend anyhow). The
-;; default is to use the same background as the rest of the buffer,
-;; while beginning and end lines do not extend to the end of the window
-;; (again, the extend is for Emacs 27 or higher).
-(setq modus-operandi-theme-distinct-org-blocks nil)
+The default is to use only a subtle foreground and a bold weight for
+headings, while no boxes or {under,over}-line effects are present.
-(setq modus-vivendi-theme-distinct-org-blocks nil)
-#+END_SRC
+Uses a background colour and an overline to mark section headings in
+=org-mode= and =outline-mode=. These attributes are applied in addition to
+the existing foreground colour and the bold weight and can, therefore,
+be combined with the "rainbow" headings option (as well as all the other
+options pertaining to headings). For Org several additional faces are
+configured accordingly, such as TODO keywords which gain a box style.
-*NOTE* that all customisation options must be declared /before/ loading
-the theme, else they will not be parsed and have no effect.
+** Option for scaled headings
+ :PROPERTIES:
+ :CUSTOM_ID: h:db0275ea-11c2-47c9-82a9-10b65d8df0f8
+ :END:
+
++ =modus-operandi-theme-scale-headings=
++ =modus-vivendi-theme-scale-headings=
+
+Make headings larger in size relative to the main text. This is
+noticeable in modes like Org. The default is to use the same size for
+headers and body copy.
+
+In addition to toggles for enabling scaled headings, users can also
+specify the exact multiplier relative to the base font size. These are
+the variables in their default sizes, from the smallest to the largest
+(the numbers are very conservative, but you are free to increase them a
+bit, such as =1.2=, =1.4=, =1.6=, =1.8=):
+
+#+begin_src emacs-lisp
+(setq modus-operandi-theme-scale-1 1.05
+ modus-operandi-theme-scale-2 1.1
+ modus-operandi-theme-scale-3 1.15
+ modus-operandi-theme-scale-4 1.2)
+
+(setq modus-vivendi-theme-scale-1 1.05
+ modus-vivendi-theme-scale-2 1.1
+ modus-vivendi-theme-scale-3 1.15
+ modus-vivendi-theme-scale-4 1.2)
+#+end_src
+
+Note that in Org, scaling only increases the size of the heading, but
+not of keywords that are added to it, like "TODO". This is outside the
+control of the themes and I am not aware of any way to make such
+keywords scale accordingly.
+
+** Option for visible fringes
+ :PROPERTIES:
+ :CUSTOM_ID: h:d989f116-7559-40bc-bf94-ef508d480960
+ :END:
+
++ =modus-operandi-theme-visible-fringe=
++ =modus-vivendi-theme-visible-fringe=
+
+When enabled, this will render the fringes in a subtle background
+colour. The default is to use the same colour as that of the main
+background, meaning that the fringes are not obvious though they still
+occupy the space given to them by =fringe-mode=.
+
+** Option for more slanted constructs
+ :PROPERTIES:
+ :CUSTOM_ID: h:cb327797-b303-47c5-8171-4587a911ccc2
+ :END:
+
++ =modus-operandi-theme-slanted-constructs=
++ =modus-vivendi-theme-slanted-constructs=
+
+Choose to render more faces in slanted text (italics). This typically
+affects documentation strings and code comments. The default is to not
+use italics unless it is absolutely necessary.
+
+** Option for more bold constructs
+ :PROPERTIES:
+ :CUSTOM_ID: h:9a77e814-5eca-488f-9a67-119a95c2d28a
+ :END:
+
++ =modus-operandi-theme-bold-constructs=
++ =modus-vivendi-theme-bold-constructs=
+
+Display several constructs in bold weight. This concerns keywords and
+other important aspects of code syntax. It also affects certain mode
+line indicators. The default is to only use a bold weight when it is
+necessary.
+
+** Option for three-dimensional focused mode line
+ :PROPERTIES:
+ :CUSTOM_ID: h:ce155208-fdd6-4ada-9e0c-54aab7e2aff8
+ :END:
+
++ =modus-operandi-theme-3d-modeline=
++ =modus-vivendi-theme-3d-modeline=
+
+Use a three-dimensional, "released button" effect for the focused
+window's mode line. When enabled, this option will also affect the
+styles of any inactive mode lines, making them less intense overall in
+order to accommodate the added element of depth. The default is to
+present the mode lines as rectangles with a border around them and with
+the active one having more intense colours than any inactive ones.
+
+** Option for subtle diffs
+ :PROPERTIES:
+ :CUSTOM_ID: h:e3933a53-cbd9-4e44-958a-1d6d133f0816
+ :END:
+
++ =modus-operandi-theme-subtle-diff=
++ =modus-vivendi-theme-subtle-diff=
+
+Display =diff-mode=, =ediff=, =smerge-mode=, =magit= diff buffers with fewer
+and/or less intense background colours or, where possible, with no
+background colours applied to the presentation of the added and removed
+lines. Concerning =magit=, an extra set of tweaks are introduced for the
+effect of highlighting the current diff hunk, so as to remain consistent
+with the overall experience of that mode. The default is to use
+colour-coded backgrounds for line-wise highlights. "Refined" changes
+(word-wise highlights) always use a background value which is,
+nonetheless, more subtle with this option than with its default
+equivalent.
+
+** Option for proportional fonts
+ :PROPERTIES:
+ :CUSTOM_ID: h:33023fa6-6482-45d4-9b5e-3c73c945718f
+ :END:
+
++ =modus-operandi-theme-proportional-fonts=
++ =modus-vivendi-theme-proportional-fonts=
+
+Choose to apply a proportionately-spaced font to some faces. Currently
+this only affects headings (e.g. in Org). Contributions on how to make
+the use of proportional fonts more useful are highly appreciated (see
+[[#h:25ba8d6f-6604-4338-b774-bbe531d467f6][section on contributing]]). The
default is to use whatever the default
+typeface is, typically a monospaced family.
+
+** Complete example configuration
+ :PROPERTIES:
+ :CUSTOM_ID: h:0e3b8a62-8d72-4439-be2d-cb12ed98f4cb
+ :END:
+
+This is a complete =use-package= declaration with Modus Operandi as an
+example. You can modify it to your preferences. Here we enable all
+variables /before/ loading the theme. You can also see a different form
+of =setq= that sets the value of multiple variables at once: use one =setq=
+expression for each variable, if in doubt.
+
+Do not forget to =M-x package-refresh-contents= to get your package list
+up-to-date, else the initial download may fail due to a newer version
+being available.
+
+#+begin_src emacs-lisp
+(use-package modus-operandi-theme
+ :ensure t
+ :init
+ (setq modus-operandi-theme-slanted-constructs t
+ modus-operandi-theme-bold-constructs t
+ modus-operandi-theme-visible-fringes t
+ modus-operandi-theme-3d-modeline t
+ modus-operandi-theme-subtle-diffs t
+ modus-operandi-theme-distinct-org-blocks t
+ modus-operandi-theme-proportional-fonts t
+ modus-operandi-theme-rainbow-headings t
+ modus-operandi-theme-section-headings t
+ modus-operandi-theme-scale-headings t
+ modus-operandi-theme-scale-1 1.05
+ modus-operandi-theme-scale-2 1.1
+ modus-operandi-theme-scale-3 1.15
+ modus-operandi-theme-scale-4 1.2)
+ :config
+ (load-theme 'modus-operandi t))
+#+end_src
+
+Need more ideas? Check the
[[https://protesilaos.com/dotemacs/#h:b7444e76-75d4-4ae6-a9d6-96ff9408efe6][Modus
themes section of my dotemacs]] (though
+do not try to interpret the values of the variables, as I always test
+different combinations and scenaria).
* Face coverage
:PROPERTIES:
@@ -183,6 +377,7 @@ The items with an appended asterisk =*= tend to have lots
of extensions, so
the "full support" may not be 100% true…
+ ace-window
++ ag
+ alert
+ all-the-icons
+ annotate
@@ -201,6 +396,7 @@ the "full support" may not be 100% true…
+ centaur-tabs
+ change-log and log-view (=vc-print-log= and =vc-print-root-log=)
+ cider
++ color-rg
+ column-enforce-mode
+ company-mode*
+ company-posframe
@@ -211,10 +407,13 @@ the "full support" may not be 100% true…
+ counsel-notmuch
+ counsel-org-capture-string
+ cov
++ csv-mode
++ ctrlf
+ custom (=M-x customize=)
+ dap-mode
+ dashboard (emacs-dashboard)
+ deadgrep
++ debbugs
+ define-word
+ deft
+ diff-hl
@@ -234,6 +433,7 @@ the "full support" may not be 100% true…
+ easy-kill
+ ebdb
+ ediff
++ eglot
+ eldoc-box
+ elfeed
+ elfeed-score
@@ -256,11 +456,13 @@ the "full support" may not be 100% true…
+ flymake
+ flyspell
+ flyspell-correct
++ flx
+ freeze-it
+ frog-menu
+ focus
+ fold-this
+ font-lock (generic syntax highlighting)
++ forge
+ fountain (fountain-mode)
+ geiser
+ git
@@ -273,17 +475,23 @@ the "full support" may not be 100% true…
+ helm-ls-git
+ helm-switch-shell
+ helm-xref
++ helpful
+ highlight-blocks
+ highlight-defined
+ highlight-escape-sequences (=hes-mode=)
+ highlight-numbers
++ highlight-symbol
+ highlight-thing
+ hl-fill-column
+ hl-line-mode
+ hl-todo
+ hydra
++ ibuffer
++ icomplete
++ icomplete-vertical
+ ido-mode
+ iedit
++ iflipb
+ imenu-list
+ info
+ info-colors
@@ -302,6 +510,8 @@ the "full support" may not be 100% true…
+ lsp-mode
+ lsp-ui
+ magit
++ magit-imerge
++ man
+ markdown-mode
+ markup-faces (=adoc-mode=)
+ mentor
@@ -312,7 +522,9 @@ the "full support" may not be 100% true…
+ mu4e-conversation
+ multiple-cursors
+ neotree
++ no-emoji
+ num3-mode
++ orderless
+ org*
+ org-journal
+ org-noter
@@ -325,11 +537,16 @@ the "full support" may not be 100% true…
+ outline-mode
+ outline-minor-faces
+ package (=M-x list-packages=)
++ page-break-lines
+ paradox
+ paren-face
++ parrot
+ pass
+ persp-mode
+ perspective
++ phi-grep
++ phi-search
++ pomidor
+ powerline
+ powerline-evil
+ proced
@@ -337,6 +554,7 @@ the "full support" may not be 100% true…
+ rainbow-blocks
+ rainbow-identifiers
+ rainbow-delimiters
++ rcirc
+ regexp-builder (also known as =re-builder=)
+ rg (rg.el)
+ ripgrep
@@ -353,28 +571,40 @@ the "full support" may not be 100% true…
+ smartparens
+ smerge
+ speedbar
++ spell-fu
+ stripes
+ suggest
++ switch-window
+ swiper
++ swoop
+ sx
+ symbol-overlay
+ syslog-mode
+ telephone-line
+ term
++ tomatinho
+ transient (pop-up windows like Magit's)
++ trashed
+ treemacs
++ tuareg
+ undo-tree
+ vc (built-in mode line status for version control)
+ vc-annotate (=C-x v g=)
++ vimish-fold
++ visible-mark
+ visual-regexp
+ volatile-highlights
++ vterm
++ wcheck-mode
+ web-mode
+ wgrep
+ which-function-mode
+ which-key
+ whitespace-mode
+ window-divider-mode
++ winum
+ writegood-mode
++ woman
+ xah-elisp-mode
+ xref
+ xterm-color (and ansi-colors)
@@ -429,6 +659,67 @@ effect/: less intense colours (but still accessible) for
supportive
interfaces and the intended styles for the content you are actually
working on.
+** Note about colour-coded ORG source blocks
+ :PROPERTIES:
+ :CUSTOM_ID: h:9ef7e899-63f4-4eb1-958c-1a1dd999fa35
+ :END:
+
+It is possible to apply unique coloured backgrounds to Org's source
+blocks on a per-language basis. The customisation option is
+=org-src-block-faces=.
+
+Because this is an inherently subjective choice, it is impossible to
+reach a consensus of what colour should be assigned to each language.
+Furthermore, there are so many languages to choose from, making it
+impractical to apply a unique background to each of them without adding
+disproportionate complexity to the themes.
+
+The least we could do is provide a set of background values that have
+been tested with all colours that highlight code syntax.
+
+These approved colour variants are as follows:
+
+| Background | Modus Operandi | Modus Vivendi |
+|------------+----------------+---------------|
+| red | #fef2f2 | #180505 |
+| yellow | #fcf6f1 | #18140a |
+| magenta | #fff4fc | #160616 |
+| green | #f4faf4 | #061206 |
+| blue | #f4f4ff | #070722 |
+| cyan | #f0f6fa | #091620 |
+
+The differences between those colour values are subtle, but quite
+noticeable when applied to large, contiguous areas (such as code
+blocks).
+
+Pick the one you wish to use for your language of choice. Here is an
+example:
+
+#+begin_src emacs-lisp
+;; Modus Operandi
+(setq org-src-block-faces '(("emacs-lisp" (:background "#fef2f2"))
+ ("python" (:background "#f4f4ff"))))
+
+;; Modus Vivendi
+(setq org-src-block-faces '(("emacs-lisp" (:background "#180505"))
+ ("python" (:background "#070722"))))
+#+end_src
+
+For versions of Emacs >= 27, also add the =:extend t= property, like this:
+
+#+begin_src emacs-lisp
+;; Modus Operandi
+(setq org-src-block-faces '(("emacs-lisp" (:background "#fef2f2" :extend t))
+ ("python" (:background "#f4f4ff" :extend t))))
+
+;; Modus Vivendi
+(setq org-src-block-faces '(("emacs-lisp" (:background "#180505" :extend t))
+ ("python" (:background "#070722" :extend t))))
+#+end_src
+
+Feel free to contribute any concrete proposals on how to improve support
+for this at the theme level (see
[[#h:25ba8d6f-6604-4338-b774-bbe531d467f6][the "Contributing" section]]).
+
** Note for HELM users of grep or grep-like functions
:PROPERTIES:
:CUSTOM_ID: h:e4408911-e186-4825-bd4f-4d0ea55cd6d6
@@ -511,11 +802,11 @@ in the interest of the latter.
:END:
I accept code contributions as well (send merge requests!). But for any
-major contribution (more than 15 lines, or so), you need to make a
-copyright assignment to the Free Software Foundation. This is necessary
-because the themes are distributed through the official GNU ELPA
-repository and the FSF must be in a position to enforce the GNU General
-Public License.
+major contribution (more than 15 lines, or so, in aggregate), you need
+to make a copyright assignment to the Free Software Foundation. This is
+necessary because the themes are distributed through the official GNU
+ELPA repository and the FSF must be in a position to enforce the GNU
+General Public License.
Copyright assignment /is a simple process/ that I had to follow as well.
Check the
[[https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future][request
form]]. You must send an email to the address mentioned
diff --git a/modus-operandi-theme.el b/modus-operandi-theme.el
index 13b7963..e64a5f4 100644
--- a/modus-operandi-theme.el
+++ b/modus-operandi-theme.el
@@ -4,7 +4,7 @@
;; Author: Protesilaos Stavrou <address@hidden>
;; URL: https://gitlab.com/protesilaos/modus-themes
-;; Version: 0.7.0
+;; Version: 0.8.0
;; Package-Requires: ((emacs "26.1"))
;; Keywords: faces, theme, accessibility
@@ -42,9 +42,13 @@
;; modus-operandi-theme-slanted-constructs
;; modus-operandi-theme-bold-constructs
;; modus-operandi-theme-proportional-fonts
+;; modus-operandi-theme-rainbow-headings
+;; modus-operandi-theme-section-headings
;; modus-operandi-theme-scale-headings
;; modus-operandi-theme-visible-fringes
;; modus-operandi-theme-distinct-org-blocks
+;; modus-operandi-theme-3d-modeline
+;; modus-operandi-theme-subtle-diffs
;;
;; The default scale is as follows (it can be customised as well):
;;
@@ -59,6 +63,7 @@
;; notify me of any missing package or change you would like to see.
;;
;; ace-window
+;; ag
;; alert
;; all-the-icons
;; annotate
@@ -77,6 +82,7 @@
;; centaur-tabs
;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
;; cider
+;; color-rg
;; column-enforce-mode
;; company-mode
;; company-posframe
@@ -88,10 +94,12 @@
;; counsel-org-capture-string
;; cov
;; csv-mode
+;; ctrlf
;; custom (M-x customize)
;; dap-mode
;; dashboard (emacs-dashboard)
;; deadgrep
+;; debbugs
;; define-word
;; deft
;; diff-hl
@@ -111,6 +119,7 @@
;; easy-kill
;; ebdb
;; ediff
+;; eglot
;; eldoc-box
;; elfeed
;; elfeed-score
@@ -133,11 +142,13 @@
;; flymake
;; flyspell
;; flyspell-correct
+;; flx
;; freeze-it
;; frog-menu
;; focus
;; fold-this
;; font-lock (generic syntax highlighting)
+;; forge
;; fountain (fountain-mode)
;; geiser
;; git
@@ -150,17 +161,22 @@
;; helm-ls-git
;; helm-switch-shell
;; helm-xref
+;; helpful
;; highlight-blocks
;; highlight-defined
;; highlight-escape-sequences (`hes-mode')
;; highlight-numbers
+;; highlight-symbol
;; highlight-thing
;; hl-fill-column
;; hl-line-mode
;; hl-todo
;; hydra
+;; ibuffer
+;; icomplete
;; ido-mode
;; iedit
+;; iflipb
;; imenu-list
;; info
;; info-colors
@@ -179,6 +195,8 @@
;; lsp-mode
;; lsp-ui
;; magit
+;; magit-imerge
+;; man
;; markdown-mode
;; markup-faces (`adoc-mode')
;; mentor
@@ -189,7 +207,9 @@
;; mu4e-conversation
;; multiple-cursors
;; neotree
+;; no-emoji
;; num3-mode
+;; orderless
;; org
;; org-journal
;; org-noter
@@ -202,11 +222,16 @@
;; outline-mode
;; outline-minor-faces
;; package (M-x list-packages)
+;; page-break-lines
;; paradox
;; paren-face
+;; parrot
;; pass
;; persp-mode
;; perspective
+;; phi-grep
+;; phi-search
+;; pomidor
;; powerline
;; powerline-evil
;; proced
@@ -214,6 +239,7 @@
;; rainbow-blocks
;; rainbow-identifiers
;; rainbow-delimiters
+;; rcirc
;; regexp-builder (also known as `re-builder')
;; rg
;; ripgrep
@@ -230,28 +256,42 @@
;; smartparens
;; smerge
;; speedbar
+;; spell-fu
;; stripes
;; suggest
+;; switch-window
;; swiper
+;; swoop
;; sx
;; symbol-overlay
+;; tab-bar-mode
+;; tab-line-mode
;; syslog-mode
+;; trashed
;; telephone-line
;; term
+;; tomatinho
;; transient (pop-up windows like Magit's)
;; treemacs
+;; tuareg
;; undo-tree
;; vc (built-in mode line status for version control)
;; vc-annotate (C-x v g)
+;; vimish-fold
+;; visible-mark
;; visual-regexp
;; volatile-highlights
+;; vterm
+;; wcheck-mode
;; web-mode
;; wgrep
;; which-function-mode
;; which-key
;; whitespace-mode
;; window-divider-mode
+;; winum
;; writegood-mode
+;; woman
;; xah-elisp-mode
;; xref
;; xterm-color (and ansi-colors)
@@ -260,6 +300,8 @@
;;; Code:
+
+
(deftheme modus-operandi
"Light theme that conforms with the highest accessibility
standard for colour contrast between background and
@@ -340,6 +382,14 @@ between foreground and background is >= 7:1)."
"Use proportional fonts (variable-pitch) in headings."
:type 'boolean)
+(defcustom modus-operandi-theme-rainbow-headings nil
+ "Use more saturated colours for headings."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-section-headings nil
+ "Use a background and an overline in headings."
+ :type 'boolean)
+
(defcustom modus-operandi-theme-scale-headings nil
"Use font scaling for headings."
:type 'boolean)
@@ -368,6 +418,89 @@ between foreground and background is >= 7:1)."
"Use a distinct background for `org-mode' source blocks."
:type 'boolean)
+(defcustom modus-operandi-theme-3d-modeline nil
+ "Use a three-dimensional style for the active mode line."
+ :type 'boolean)
+
+(defcustom modus-operandi-theme-subtle-diffs nil
+ "Use fewer/dim backgrounds in `diff-mode', `ediff',`magit'."
+ :type 'boolean)
+
+;; Helper functions that are meant to ease the implementation of the
+;; above customisation options.
+(defun modus-operandi-theme-heading-foreground (subtle rainbow)
+ "Apply foreground value to headings.
+SUBTLE is the default aesthetic.
+RAINBOW is the saturated one."
+ (if modus-operandi-theme-rainbow-headings
+ (list :foreground rainbow)
+ (list :foreground subtle)))
+
+(defun modus-operandi-theme-heading-block (bg fg)
+ "Conditionally extend heading styles.
+Apply BG to background and FG to overline."
+ (if modus-operandi-theme-section-headings
+ (list :background bg :overline fg)
+ (list :background nil :overline nil)))
+
+(defun modus-operandi-theme-org-todo-block (bgbox fgbox fg)
+ "Conditionally extend the styles of Org keywords.
+BGBOX applies to the background.
+FGBOX applies to the foreground and the border.
+FG is used when no block style is in effect."
+ (if modus-operandi-theme-section-headings
+ (list :background bgbox :foreground fgbox :box (list :color fgbox))
+ (list :foreground fg)))
+
+(defun modus-operandi-theme-org-src-block (bgsrc bg)
+ "Conditionally set the styles of Org source blocks.
+BGSRC applies to a distinct background. BG is used to keep
+blocks the same background as the rest of the buffer."
+ (if modus-operandi-theme-distinct-org-blocks
+ (list :background bgsrc :extend t)
+ (list :background bg)))
+
+(defun modus-operandi-theme-modeline-box (col3d col &optional btn int)
+ "Control the box properties of the mode line.
+COL3D is the border that is intended for the three-dimensional modeline.
+COL applies to the two-dimensional modeline.
+Optional BTN provides the 3d button style.
+Optional INT defines a border width."
+ (let* ((style (if btn 'released-button nil))
+ (int (if int int 1)))
+ (if modus-operandi-theme-3d-modeline
+ (list :line-width int :color col3d :style style)
+ (list :line-width 1 :color col :style nil))))
+
+(defun modus-operandi-theme-modeline-props (bg3d fg3d &optional bg fg)
+ "Control the background and foreground of the mode line.
+BG is the modeline's background.
+FG is the modeline's foreground.
+BG3D and FG3D apply to the three-dimensional modeline style."
+ (if modus-operandi-theme-3d-modeline
+ (list :background bg3d :foreground fg3d)
+ (list :background bg :foreground fg)))
+
+(defun modus-operandi-theme-diffs (subtle-bg subtle-fg intense-bg intense-fg)
+ "Colour combinations for `modus-operandi-theme-subtle-diffs'.
+
+SUBTLE-BG should be similar or the same as the main background
+SUBTLE-FG should be an appropriate accent value
+INTENSE-BG should be one of the dedicated backgrounds for diffs
+INTENSE-FG should be one of the dedicated foregrounds for diffs"
+ (if modus-operandi-theme-subtle-diffs
+ (list :background subtle-bg :foreground subtle-fg)
+ (list :background intense-bg :foreground intense-fg)))
+
+(defun modus-operandi-theme-scale (amount)
+ "Scale heading by AMOUNT.
+
+AMOUNT is a customisation option."
+ (when modus-operandi-theme-scale-headings
+ (list :height amount)))
+
+
+
;; Define colour palette. Each colour must have a >= 7:1 contrast
;; ratio relative to the foreground/background colour it is rendered
;; against.
@@ -390,19 +523,19 @@ between foreground and background is >= 7:1)."
;; styles for the main constructs
;;
;; must be combined with: `bg-main', `bg-alt', `bg-dim'
- (red "#a80000") (green "#005200")
+ (red "#a80000") (green "#005f00")
(yellow "#8b3800") (blue "#0030a6")
(magenta "#721045") (cyan "#005589")
;; styles for common, but still specialised constructs
;;
;; must be combined with: `bg-main', `bg-alt', `bg-dim'
- (red-alt "#880000") (green-alt "#4a5700")
+ (red-alt "#972500") (green-alt "#305c00")
(yellow-alt "#714900") (blue-alt "#223fbf")
(magenta-alt "#8f0075") (cyan-alt "#185870")
;; same purpose as above, just slight differences
;;
;; must be combined with: `bg-main', `bg-alt', `bg-dim'
- (red-alt-other "#9d2020") (green-alt-other "#145a00")
+ (red-alt-other "#a0132f") (green-alt-other "#095f1c")
(yellow-alt-other "#804000") (blue-alt-other "#0000bb")
(magenta-alt-other "#5317ac") (cyan-alt-other "#005a68")
;; styles for elements that should be very subtle
@@ -411,6 +544,12 @@ between foreground and background is >= 7:1)."
(red-nuanced "#4d0006") (green-nuanced "#003000")
(yellow-nuanced "#3a2a00") (blue-nuanced "#001170")
(magenta-nuanced "#381050") (cyan-nuanced "#003434")
+ ;; styles for slightly accented background
+ ;;
+ ;; must be combined with any of the above foreground values
+ (red-nuanced-bg "#fef2f2") (green-nuanced-bg "#f4faf4")
+ (yellow-nuanced-bg "#fcf6f1") (blue-nuanced-bg "#f4f4ff")
+ (magenta-nuanced-bg "#fff4fc") (cyan-nuanced-bg "#f0f6fa")
;; styles for elements that should draw attention to themselves
;;
;; must be combined with: `bg-main'
@@ -451,10 +590,10 @@ between foreground and background is >= 7:1)."
;; styles that are meant exclusively for the fringes
;;
;; must have a minimum contrast ratio of 1.5:1 with `bg-inactive'
- ;; and be combined with `fg-main'
- (red-fringe-bg "#ff7a7a") (green-fringe-bg "#70cc70")
- (yellow-fringe-bg "#e0c000") (blue-fringe-bg "#7fafff")
- (magenta-fringe-bg "#ffa0ff") (cyan-fringe-bg "#00d0f0")
+ ;; and be combined with `fg-main' or `fg-dim'
+ (red-fringe-bg "#ff9a9a") (green-fringe-bg "#86cf86")
+ (yellow-fringe-bg "#e0c050") (blue-fringe-bg "#82afff")
+ (magenta-fringe-bg "#f0a3ff") (cyan-fringe-bg "#00d6e0")
;; styles reserved for specific faces
;;
@@ -473,32 +612,60 @@ between foreground and background is >= 7:1)."
;; though only for styling special elements, such as underlining
;; the current tab
;;
+ ;; `fg-escape-char-construct' and `fg-escape-char-backslash' can
+ ;; be combined `bg-main', `bg-dim', `bg-alt'
+ ;;
+ ;; `fg-lang-error', `fg-lang-warning', `fg-lang-note' can be
+ ;; combined with `bg-main', `bg-dim', `bg-alt'
+ ;;
;; `fg-mark', `fg-mark-del', `fg-mark-other' can be combined with
;; `bg-main', `bg-dim', `bg-alt', `bg-hl-line'
;;
+ ;; `fg-unfocused' must be combined with `fg-main'
+ ;;
;; the window divider colours apply to faces with just an fg value
;;
;; all pairs are combinable with themselves
(bg-hl-line "#f1f2f6")
(bg-paren-match "#efcabf")
(bg-region "#bcbcbc")
+
(bg-tab-active "#ababab")
(bg-tab-inactive "#dadada")
(fg-tab-active "#000077")
+
+ (fg-escape-char-construct "#8b1030")
+ (fg-escape-char-backslash "#644f00")
+
+ (fg-lang-error "#9f004f")
+ (fg-lang-warning "#605000")
+ (fg-lang-note "#4040ae")
+
(fg-window-divider-inner "#888888")
(fg-window-divider-outer "#585858")
+
+ (fg-unfocused "#56576d")
+
(fg-header "#2a2a2a") (bg-header "#e5e5e5")
(fg-whitespace "#645060") (bg-whitespace "#fff8fc")
+
(fg-diff-heading "#043355") (bg-diff-heading "#b7c2dd")
(fg-diff-added "#004500") (bg-diff-added "#d4fad4")
(fg-diff-changed "#524200") (bg-diff-changed "#fcefcf")
(fg-diff-removed "#691616") (bg-diff-removed "#ffe8ef")
+
(fg-diff-refine-added "#002a00") (bg-diff-refine-added "#94cf94")
(fg-diff-refine-changed "#302010") (bg-diff-refine-changed "#cccf8f")
(fg-diff-refine-removed "#400000") (bg-diff-refine-removed "#daa2b0")
+
(fg-diff-focus-added "#002c00") (bg-diff-focus-added "#bbeabb")
(fg-diff-focus-changed "#392900") (bg-diff-focus-changed "#ecdfbf")
(fg-diff-focus-removed "#4a0000") (bg-diff-focus-removed "#efcbcf")
+
+ (fg-diff-neutral-0 "#040404") (bg-diff-neutral-0 "#979797")
+ (fg-diff-neutral-1 "#252525") (bg-diff-neutral-1 "#b0b0b0")
+ (fg-diff-neutral-2 "#3a3a3a") (bg-diff-neutral-2 "#cccccc")
+
(fg-mark "#005040") (bg-mark "#a0f0cf")
(fg-mark-del "#840040") (bg-mark-del "#ffccbb")
(fg-mark-other "#782900") (bg-mark-other "#f5d88f")
@@ -556,12 +723,12 @@ between foreground and background is >= 7:1)."
`(modus-theme-active-magenta ((,class (:background ,magenta-active
:foreground ,bg-active))))
`(modus-theme-active-cyan ((,class (:background ,cyan-active :foreground
,bg-active))))
;;; for fringe indicators
- `(modus-theme-fringe-red ((,class (:background ,red-fringe-bg :foreground
,fg-main))))
- `(modus-theme-fringe-green ((,class (:background ,green-fringe-bg
:foreground ,fg-main))))
- `(modus-theme-fringe-yellow ((,class (:background ,yellow-fringe-bg
:foreground ,fg-main))))
- `(modus-theme-fringe-blue ((,class (:background ,blue-fringe-bg :foreground
,fg-main))))
- `(modus-theme-fringe-magenta ((,class (:background ,magenta-fringe-bg
:foreground ,fg-main))))
- `(modus-theme-fringe-cyan ((,class (:background ,cyan-fringe-bg :foreground
,fg-main))))
+ `(modus-theme-fringe-red ((,class (:background ,red-fringe-bg :foreground
,fg-dim))))
+ `(modus-theme-fringe-green ((,class (:background ,green-fringe-bg
:foreground ,fg-dim))))
+ `(modus-theme-fringe-yellow ((,class (:background ,yellow-fringe-bg
:foreground ,fg-dim))))
+ `(modus-theme-fringe-blue ((,class (:background ,blue-fringe-bg :foreground
,fg-dim))))
+ `(modus-theme-fringe-magenta ((,class (:background ,magenta-fringe-bg
:foreground ,fg-dim))))
+ `(modus-theme-fringe-cyan ((,class (:background ,cyan-fringe-bg :foreground
,fg-dim))))
;;; special base values that are closer to the grayscale than
;;; the accents defined above
`(modus-theme-special-cold ((,class (:background ,bg-special-cold
:foreground ,fg-special-cold))))
@@ -589,16 +756,16 @@ between foreground and background is >= 7:1)."
`(fringe ((,class (:background
,(if modus-operandi-theme-visible-fringes bg-inactive
bg-main)
:foreground ,fg-main))))
+ `(vertical-border ((,class (:foreground ,fg-window-divider-inner))))
;;;; basic and/or ungrouped styles
`(error ((,class (:foreground ,red :weight bold))))
- `(escape-glyph ((,class (:inherit modus-theme-refine-blue :weight bold))))
+ `(escape-glyph ((,class (:foreground ,fg-escape-char-construct))))
`(header-line ((,class (:background ,bg-header :foreground ,fg-header))))
- `(homoglyph ((,class (:foreground ,yellow-alt-other))))
+ `(homoglyph ((,class (:foreground ,fg-escape-char-construct))))
`(ibuffer-locked-buffer ((,class (:foreground ,yellow-alt-other))))
`(italic ((,class (:foreground ,fg-special-cold :slant italic))))
- `(no-emoji ((,class (:foreground ,fg-special-mild :weight bold))))
- `(nobreak-hyphen ((,class (:inherit modus-theme-special-cold))))
- `(nobreak-space ((,class (:inherit modus-theme-special-cold :underline t))))
+ `(nobreak-hyphen ((,class (:foreground ,fg-escape-char-construct))))
+ `(nobreak-space ((,class (:foreground ,fg-escape-char-construct :underline
t))))
`(minibuffer-prompt ((,class (:foreground ,cyan-alt))))
`(mm-command-output ((,class (:foreground ,red-alt-other))))
`(mm-uu-extract ((,class (:background ,bg-dim :foreground
,fg-special-mild))))
@@ -607,6 +774,9 @@ between foreground and background is >= 7:1)."
`(success ((,class (:foreground ,green :weight bold))))
`(trailing-whitespace ((,class (:background ,red-intense-bg))))
`(warning ((,class (:foreground ,yellow :weight bold))))
+ ;;;; ag
+ `(ag-hit-face ((,class (:foreground ,fg-special-cold))))
+ `(ag-match-face ((,class (:inherit modus-theme-special-calm))))
;;;; alert
`(alert-high-face ((,class (:foreground ,red-alt :weight bold))))
`(alert-low-face ((,class (:foreground ,fg-special-mild))))
@@ -677,10 +847,10 @@ between foreground and background is >= 7:1)."
`(apt-sources-list-type ((,class (:foreground ,magenta))))
`(apt-sources-list-uri ((,class (:foreground ,blue))))
;;;; artbollocks-mode
- `(artbollocks-face ((,class (:background ,bg-alt :foreground
,magenta-alt-other :underline t))))
- `(artbollocks-lexical-illusions-face ((,class (:inherit
modus-theme-refine-magenta :underline t))))
- `(artbollocks-passive-voice-face ((,class (:background ,bg-alt :foreground
,cyan-alt-other :underline t))))
- `(artbollocks-weasel-words-face ((,class (:background ,bg-alt :foreground
,yellow-alt-other :underline t))))
+ `(artbollocks-face ((,class (:foreground ,cyan-nuanced :underline (:color
,fg-lang-note :style line)))))
+ `(artbollocks-lexical-illusions-face ((,class (:background ,bg-alt
:foreground ,red-alt :underline t))))
+ `(artbollocks-passive-voice-face ((,class (:foreground ,yellow-nuanced
:underline (:color ,fg-lang-warning :style line)))))
+ `(artbollocks-weasel-words-face ((,class (:foreground ,red-nuanced
:underline (:color ,fg-lang-error :style line)))))
;;;; auctex and Tex
`(font-latex-bold-face ((,class (:foreground ,fg-special-calm :weight
bold))))
`(font-latex-doctex-documentation-face ((,class (:foreground
,fg-special-cold :slant ,modus-theme-slant))))
@@ -690,29 +860,24 @@ between foreground and background is >= 7:1)."
`(font-latex-script-char-face ((,class (:foreground ,cyan-alt-other))))
`(font-latex-sectioning-0-face ((,class (:inherit
,modus-theme-variable-pitch
:foreground ,blue-nuanced
:weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
`(font-latex-sectioning-1-face ((,class (:inherit
,modus-theme-variable-pitch
:foreground ,blue-nuanced
:weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-3))))))
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))))
`(font-latex-sectioning-2-face ((,class (:inherit
,modus-theme-variable-pitch
:foreground ,blue-nuanced
:weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-2))))))
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-2)))))
`(font-latex-sectioning-3-face ((,class (:inherit
,modus-theme-variable-pitch
:foreground ,blue-nuanced
:weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-1))))))
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-1)))))
`(font-latex-sectioning-4-face ((,class (:inherit
,modus-theme-variable-pitch
:foreground ,blue-nuanced
:weight bold))))
`(font-latex-sectioning-5-face ((,class (:inherit
,modus-theme-variable-pitch
:foreground
,blue-nuanced))))
`(font-latex-sedate-face ((,class (:foreground ,magenta-alt-other :weight
,modus-theme-bold))))
`(font-latex-slide-title-face ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,cyan-nuanced
:weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ :foreground ,cyan-nuanced
:weight bold
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
`(font-latex-string-face ((,class (:foreground ,blue-alt))))
`(font-latex-subscript-face ((,class (:height 0.95))))
`(font-latex-superscript-face ((,class (:height 0.95))))
@@ -789,8 +954,7 @@ between foreground and background is >= 7:1)."
`(cfw:face-sunday ((,class (:background ,bg-alt :foreground
,magenta-alt-other :weight bold))))
`(cfw:face-title ((,class (:inherit ,modus-theme-variable-pitch
:foreground ,fg-special-warm :weight
bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
`(cfw:face-today ((,class (:foreground ,blue :weight bold))))
`(cfw:face-today-title ((,class (:inherit modus-theme-special-mild :box
t))))
`(cfw:face-toolbar ((,class (:background ,bg-active :foreground
,bg-active))))
@@ -848,7 +1012,7 @@ between foreground and background is >= 7:1)."
`(cider-stacktrace-filter-inactive-face ((,class (:foreground ,cyan-alt))))
`(cider-stacktrace-fn-face ((,class (:foreground ,fg-main :weight bold))))
`(cider-stacktrace-ns-face ((,class (:foreground ,fg-alt :slant italic))))
- `(cider-stacktrace-promoted-button-face ((,class (box (:line-width 3 :color
,fg-alt :style released-button)) :foreground ,red)))
+ `(cider-stacktrace-promoted-button-face ((,class (:box (:line-width 3
:color ,fg-alt :style released-button)) :foreground ,red)))
`(cider-stacktrace-suppressed-button-face ((,class (:box (:line-width 3
:color ,fg-alt :style pressed-button))
:background ,bg-alt
:foreground ,fg-alt)))
`(cider-test-error-face ((,class (:inherit modus-theme-subtle-red))))
@@ -856,6 +1020,21 @@ between foreground and background is >= 7:1)."
`(cider-test-success-face ((,class (:inherit modus-theme-intense-green))))
`(cider-traced-face ((,class (:box (:line-width -1 :color ,cyan :style nil)
:background ,bg-dim))))
`(cider-warning-highlight-face ((,class (:foreground ,yellow :underline
t))))
+ ;;;; color-rg
+ `(color-rg-font-lock-column-number ((,class (:foreground
,magenta-alt-other))))
+ `(color-rg-font-lock-command ((,class (:foreground ,fg-main :weight bold))))
+ `(color-rg-font-lock-file ((,class (:foreground ,fg-special-cold :weight
bold))))
+ `(color-rg-font-lock-flash ((,class (:inherit modus-theme-intense-blue))))
+ `(color-rg-font-lock-function-location ((,class (:inherit
modus-theme-special-calm))))
+ `(color-rg-font-lock-header-line-directory ((,class (:foreground
,blue-active))))
+ `(color-rg-font-lock-header-line-edit-mode ((,class (:foreground
,magenta-active))))
+ `(color-rg-font-lock-header-line-keyword ((,class (:foreground
,green-active))))
+ `(color-rg-font-lock-header-line-text ((,class (:foreground ,fg-active))))
+ `(color-rg-font-lock-line-number ((,class (:foreground ,fg-special-warm))))
+ `(color-rg-font-lock-mark-changed ((,class (:foreground ,blue :weight
bold))))
+ `(color-rg-font-lock-mark-deleted ((,class (:foreground ,red :weight
bold))))
+ `(color-rg-font-lock-match ((,class (:inherit modus-theme-special-calm))))
+ `(color-rg-font-lock-position-splitter ((,class (:foreground ,fg-alt))))
;;;; column-enforce-mode
`(column-enforce-face ((,class (:inherit modus-theme-refine-yellow))))
;;;; company-mode
@@ -881,18 +1060,17 @@ between foreground and background is >= 7:1)."
`(company-posframe-metadata ((,class (:background ,bg-inactive :foreground
,fg-inactive))))
;;;; compilation feedback
`(compilation-column-number ((,class (:foreground ,magenta-alt-other))))
- `(compilation-error ((,class (:foreground ,red :weight bold))))
+ `(compilation-error ((,class (:foreground ,red :weight ,modus-theme-bold))))
`(compilation-info ((,class (:foreground ,fg-special-cold))))
`(compilation-line-number ((,class (:foreground ,fg-special-warm))))
- `(compilation-mode-line-exit ((,class (:foreground ,blue-active :weight
bold))))
- `(compilation-mode-line-fail ((,class (:foreground ,red-active :weight
bold))))
- `(compilation-mode-line-run ((,class (:foreground ,magenta-active :weight
bold))))
- `(compilation-warning ((,class (:foreground ,yellow :weight bold))))
+ `(compilation-mode-line-exit ((,class (:foreground ,blue-active :weight
,modus-theme-bold))))
+ `(compilation-mode-line-fail ((,class (:foreground ,red-active :weight
,modus-theme-bold))))
+ `(compilation-mode-line-run ((,class (:foreground ,magenta-active :weight
,modus-theme-bold))))
+ `(compilation-warning ((,class (:foreground ,yellow :weight
,modus-theme-bold))))
;;;; completions
`(completions-annotations ((,class (:foreground ,fg-special-cold :slant
,modus-theme-slant))))
`(completions-common-part ((,class (:foreground ,cyan-alt-other))))
`(completions-first-difference ((,class (:foreground ,blue-alt-other
:weight bold))))
- `(icomplete-first-match ((,class (:foreground ,magenta :weight bold))))
;;;; counsel
`(counsel-active-mode ((,class (:foreground ,magenta-alt-other))))
`(counsel-application-name ((,class (:foreground ,red-alt-other))))
@@ -930,6 +1108,10 @@ between foreground and background is >= 7:1)."
`(cov-none-face ((,class (:foreground ,cyan-intense))))
;;;; csv-mode
`(csv-separator-face ((,class (:background ,bg-special-cold :foreground
,fg-main))))
+ ;;;; ctrlf
+ `(ctrlf-highlight-active ((,class (:inherit modus-theme-intense-green
:weight bold))))
+ `(ctrlf-highlight-line ((,class (:background ,bg-hl-line))))
+ `(ctrlf-highlight-passive ((,class (:inherit modus-theme-refine-cyan))))
;;;; custom (M-x customize)
`(custom-button ((,class (:box (:line-width 2 :color nil :style
released-button)
:background ,bg-active :foreground
,fg-main))))
@@ -952,7 +1134,7 @@ between foreground and background is >= 7:1)."
`(custom-variable-tag ((,class (:foreground ,cyan :weight bold))))
;;;; dap-mode
`(dap-mouse-eval-thing-face ((,class (:box (:line-width -1 :color
,blue-active :style nil)
- :background ,bg-active :foreground
,fg-main))))
+ :background ,bg-active
:foreground ,fg-main))))
`(dap-result-overlay-face ((,class (:box (:line-width -1 :color ,bg-active
:style nil)
:background ,bg-active :foreground
,fg-main))))
`(dap-ui-breakpoint-verified-fringe ((,class (:foreground ,green-active
:weight bold))))
@@ -976,6 +1158,19 @@ between foreground and background is >= 7:1)."
`(deadgrep-meta-face ((,class (:foreground ,fg-alt))))
`(deadgrep-regexp-metachar-face ((,class (:foreground ,yellow-intense
:weight bold))))
`(deadgrep-search-term-face ((,class (:foreground ,green-intense :weight
bold))))
+ ;;;; debbugs
+ `(debbugs-gnu-archived ((,class (:inverse-video t))))
+ `(debbugs-gnu-done ((,class (:foreground ,fg-alt))))
+ `(debbugs-gnu-forwarded ((,class (:foreground ,fg-special-warm))))
+ `(debbugs-gnu-handled ((,class (:foreground ,green))))
+ `(debbugs-gnu-new ((,class (:foreground ,red))))
+ `(debbugs-gnu-pending ((,class (:foreground ,cyan))))
+ `(debbugs-gnu-stale-1 ((,class (:foreground ,yellow-nuanced))))
+ `(debbugs-gnu-stale-2 ((,class (:foreground ,yellow))))
+ `(debbugs-gnu-stale-3 ((,class (:foreground ,yellow-alt))))
+ `(debbugs-gnu-stale-4 ((,class (:foreground ,yellow-alt-other))))
+ `(debbugs-gnu-stale-5 ((,class (:foreground ,red-alt))))
+ `(debbugs-gnu-tagged ((,class (:foreground ,magenta-alt))))
;;;; define-word
`(define-word-face-1 ((,class (:foreground ,yellow))))
`(define-word-face-2 ((,class (:foreground ,fg-main))))
@@ -996,24 +1191,38 @@ between foreground and background is >= 7:1)."
`(diff-hl-dired-insert ((,class (:inherit diff-hl-insert))))
`(diff-hl-dired-unknown ((,class (:inherit dired-ignored))))
`(diff-hl-insert ((,class (:inherit modus-theme-fringe-green))))
- `(diff-hl-reverted-hunk-highlight ((,class (:inherit
modus-theme-intense-blue))))
+ `(diff-hl-reverted-hunk-highlight ((,class (:inherit
modus-theme-fringe-magenta :weight bold))))
;;;; diff-mode
- `(diff-added ((,class (:inherit modus-theme-diff-focus-added))))
- `(diff-changed ((,class (:inherit modus-theme-diff-focus-changed))))
- `(diff-context ((,class (:foreground ,fg-alt))))
+ `(diff-added ((,class ,(modus-operandi-theme-diffs
+ bg-main green
+ bg-diff-focus-added fg-diff-focus-added))))
+ `(diff-changed ((,class ,(modus-operandi-theme-diffs
+ bg-main yellow
+ bg-diff-focus-changed fg-diff-focus-changed))))
+ `(diff-context ((,class (:foreground ,fg-unfocused))))
`(diff-file-header ((,class (:foreground ,blue :weight bold))))
`(diff-function ((,class (:foreground ,fg-special-cold))))
`(diff-header ((,class (:foreground ,blue-nuanced))))
- `(diff-hunk-header ((,class (:inherit modus-theme-diff-heading :weight
bold))))
+ `(diff-hunk-header ((,class ,(modus-operandi-theme-diffs
+ bg-alt blue-alt
+ bg-diff-heading fg-diff-heading))))
`(diff-index ((,class (:foreground ,blue-alt :weight bold))))
- `(diff-indicator-added ((,class (:inherit diff-added))))
- `(diff-indicator-changed ((,class (:inherit diff-changed))))
- `(diff-indicator-removed ((,class (:inherit diff-removed))))
- `(diff-nonexistent ((,class (:inherit modus-theme-intense-neutral :weight
bold))))
- `(diff-refine-added ((,class (:inherit modus-theme-diff-refine-added))))
- `(diff-refine-changed ((,class (:inherit modus-theme-diff-refine-changed))))
- `(diff-refine-removed ((,class (:inherit modus-theme-diff-refine-removed))))
- `(diff-removed ((,class (:inherit modus-theme-diff-focus-removed))))
+ `(diff-indicator-added ((,class (:inherit modus-theme-diff-focus-added))))
+ `(diff-indicator-changed ((,class (:inherit
modus-theme-diff-focus-changed))))
+ `(diff-indicator-removed ((,class (:inherit
modus-theme-diff-focus-removed))))
+ `(diff-nonexistent ((,class (:inherit modus-theme-neutral :weight bold))))
+ `(diff-refine-added ((,class ,(modus-operandi-theme-diffs
+ bg-diff-added fg-diff-added
+ bg-diff-refine-added fg-diff-refine-added))))
+ `(diff-refine-changed ((,class ,(modus-operandi-theme-diffs
+ bg-diff-changed fg-diff-changed
+ bg-diff-refine-changed
fg-diff-refine-changed))))
+ `(diff-refine-removed ((,class ,(modus-operandi-theme-diffs
+ bg-diff-removed fg-diff-removed
+ bg-diff-refine-removed
fg-diff-refine-removed))))
+ `(diff-removed ((,class ,(modus-operandi-theme-diffs
+ bg-main red
+ bg-diff-focus-removed fg-diff-focus-removed))))
;;;; dim-autoload
`(dim-autoload-cookie-line ((,class (:foreground ,fg-alt :slant
,modus-theme-slant))))
;;;; dired
@@ -1027,9 +1236,9 @@ between foreground and background is >= 7:1)."
`(dired-symlink ((,class (:foreground ,blue-alt :underline t))))
`(dired-warning ((,class (:foreground ,yellow :weight bold))))
;;;; dired-async
- `(dired-async-failures ((,class (:foreground ,red-active :weight bold))))
- `(dired-async-message ((,class (:foreground ,green-active :weight bold))))
- `(dired-async-mode-message ((,class (:foreground ,cyan-active :weight
bold))))
+ `(dired-async-failures ((,class (:foreground ,red-active :weight
,modus-theme-bold))))
+ `(dired-async-message ((,class (:foreground ,green-active :weight
,modus-theme-bold))))
+ `(dired-async-mode-message ((,class (:foreground ,cyan-active :weight
,modus-theme-bold))))
;;;; dired-git
`(dired-git-branch-else ((,class (:foreground ,magenta-alt :weight bold))))
`(dired-git-branch-master ((,class (:foreground ,magenta-alt-other :weight
bold))))
@@ -1141,38 +1350,48 @@ between foreground and background is >= 7:1)."
`(ebdb-role-defunct ((,class (:foreground ,fg-alt))))
`(eieio-custom-slot-tag-face ((,class (:foreground ,red-alt))))
;;;; ediff
- `(ediff-current-diff-A ((,class (:inherit modus-theme-special-warm))))
- `(ediff-current-diff-Ancestor ((,class (:background ,bg-alt :foreground
,fg-main))))
- `(ediff-current-diff-B ((,class (:inherit modus-theme-special-cold))))
- `(ediff-current-diff-C ((,class (:inherit modus-theme-special-mild))))
- `(ediff-even-diff-A ((,class (:inherit modus-theme-subtle-yellow))))
- `(ediff-even-diff-Ancestor ((,class (:background ,bg-inactive :foreground
,fg-main))))
- `(ediff-even-diff-B ((,class (:inherit modus-theme-subtle-cyan))))
- `(ediff-even-diff-C ((,class (:inherit modus-theme-subtle-green))))
- `(ediff-fine-diff-A ((,class (:inherit modus-theme-intense-yellow))))
- `(ediff-fine-diff-Ancestor ((,class (:inherit
modus-theme-intense-magenta))))
- `(ediff-fine-diff-B ((,class (:inherit modus-theme-intense-cyan))))
- `(ediff-fine-diff-C ((,class (:inherit modus-theme-intense-green))))
- `(ediff-odd-diff-A ((,class (:inherit modus-theme-refine-yellow))))
- `(ediff-odd-diff-Ancestor ((,class (:background ,bg-active :foreground
,fg-main))))
- `(ediff-odd-diff-B ((,class (:inherit modus-theme-refine-cyan))))
- `(ediff-odd-diff-C ((,class (:inherit modus-theme-refine-green))))
+ `(ediff-current-diff-A ((,class ,(modus-operandi-theme-diffs
+ bg-alt red
+ bg-diff-removed fg-diff-removed))))
+ `(ediff-current-diff-Ancestor ((,class ,(modus-operandi-theme-diffs
+ bg-alt fg-special-cold
+ bg-special-cold fg-special-cold))))
+ `(ediff-current-diff-B ((,class ,(modus-operandi-theme-diffs
+ bg-alt green
+ bg-diff-added fg-diff-added))))
+ `(ediff-current-diff-C ((,class ,(modus-operandi-theme-diffs
+ bg-alt yellow
+ bg-diff-changed fg-diff-changed))))
+ `(ediff-even-diff-A ((,class (:background ,bg-diff-neutral-1 :foreground
,fg-diff-neutral-1))))
+ `(ediff-even-diff-Ancestor ((,class (:background ,bg-diff-neutral-2
:foreground ,fg-diff-neutral-1))))
+ `(ediff-even-diff-B ((,class (:background ,bg-diff-neutral-1 :foreground
,fg-diff-neutral-1))))
+ `(ediff-even-diff-C ((,class (:background ,bg-diff-neutral-2 :foreground
,fg-diff-neutral-2))))
+ `(ediff-fine-diff-A ((,class (:background ,bg-diff-focus-removed
:foreground ,fg-diff-focus-removed))))
+ `(ediff-fine-diff-Ancestor ((,class (:inherit modus-theme-refine-cyan))))
+ `(ediff-fine-diff-B ((,class (:background ,bg-diff-focus-added :foreground
,fg-diff-focus-added))))
+ `(ediff-fine-diff-C ((,class (:background ,bg-diff-focus-changed
:foreground ,fg-diff-focus-changed))))
+ `(ediff-odd-diff-A ((,class (:background ,bg-diff-neutral-2 :foreground
,fg-diff-neutral-2))))
+ `(ediff-odd-diff-Ancestor ((,class (:background ,bg-diff-neutral-0
:foreground ,fg-diff-neutral-0))))
+ `(ediff-odd-diff-B ((,class (:background ,bg-diff-neutral-2 :foreground
,fg-diff-neutral-2))))
+ `(ediff-odd-diff-C ((,class (:background ,bg-diff-neutral-1 :foreground
,fg-diff-neutral-1))))
+ ;;;; eglot
+ `(eglot-mode-line ((,class (:foreground ,magenta-active :weight
,modus-theme-bold))))
;;;; eldoc-box
`(eldoc-box-body ((,class (:background ,bg-alt :foreground ,fg-main))))
`(eldoc-box-border ((,class (:background ,fg-alt))))
;;;; elfeed
- `(elfeed-log-date-face ((,class (:foreground ,blue))))
- `(elfeed-log-debug-level-face ((,class (:inherit
modus-theme-intense-magenta))))
- `(elfeed-log-error-level-face ((,class (:inherit modus-theme-intense-red))))
- `(elfeed-log-info-level-face ((,class (:inherit modus-theme-subtle-cyan))))
- `(elfeed-log-warn-level-face ((,class (:inherit
modus-theme-subtle-yellow))))
- `(elfeed-search-date-face ((,class (:foreground ,fg-special-cold))))
- `(elfeed-search-feed-face ((,class (:foreground ,cyan))))
- `(elfeed-search-filter-face ((,class (:foreground ,fg-special-cold))))
- `(elfeed-search-last-update-face ((,class (:foreground ,fg-special-calm))))
- `(elfeed-search-tag-face ((,class (:foreground ,fg-special-mild))))
+ `(elfeed-log-date-face ((,class (:foreground ,cyan-alt))))
+ `(elfeed-log-debug-level-face ((,class (:foreground ,magenta))))
+ `(elfeed-log-error-level-face ((,class (:foreground ,red))))
+ `(elfeed-log-info-level-face ((,class (:foreground ,green))))
+ `(elfeed-log-warn-level-face ((,class (:foreground ,yellow))))
+ `(elfeed-search-date-face ((,class (:foreground ,cyan))))
+ `(elfeed-search-feed-face ((,class (:foreground ,blue))))
+ `(elfeed-search-filter-face ((,class (:foreground ,magenta-active))))
+ `(elfeed-search-last-update-face ((,class (:foreground ,green-active))))
+ `(elfeed-search-tag-face ((,class (:foreground ,cyan-alt-other))))
`(elfeed-search-title-face ((,class (:foreground ,fg-main))))
- `(elfeed-search-unread-count-face ((,class (:foreground ,fg-special-warm))))
+ `(elfeed-search-unread-count-face ((,class (:foreground ,blue-active))))
`(elfeed-search-unread-title-face ((,class (:weight bold))))
;;;; elfeed-score
`(elfeed-score-date-face ((,class (:foreground ,blue))))
@@ -1248,7 +1467,7 @@ between foreground and background is >= 7:1)."
`(eshell-ls-special ((,class (:foreground ,magenta :weight bold))))
`(eshell-ls-symlink ((,class (:foreground ,cyan :underline t))))
`(eshell-ls-unreadable ((,class (:background ,bg-inactive :foreground
,fg-inactive))))
- `(eshell-prompt ((,class (:foreground ,cyan-alt-other :weight bold))))
+ `(eshell-prompt ((,class (:foreground ,cyan-alt-other :weight
,modus-theme-bold))))
;;;; evil-mode
`(evil-ex-commands ((,class (:foreground ,magenta-alt-other))))
`(evil-ex-info ((,class (:foreground ,cyan-alt-other))))
@@ -1290,52 +1509,72 @@ between foreground and background is >= 7:1)."
`(fancy-dabbrev-preview-face ((,class (:foreground ,fg-alt :underline t))))
`(fancy-dabbrev-selection-face ((,class (:inherit modus-theme-intense-cyan
:weight bold))))
;;;; flycheck
- `(flycheck-error ((,class (:foreground ,red :underline t))))
+ `(flycheck-error
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,red-nuanced :underline (:color ,fg-lang-error :style
wave)))
+ (,class (:foreground red-nuanced :underline (:color ,fg-lang-error
:style line)))))
`(flycheck-error-list-checker-name ((,class (:foreground ,magenta-active))))
`(flycheck-error-list-column-number ((,class (:foreground
,fg-special-cold))))
- `(flycheck-error-list-error ((,class (:inherit error))))
+ `(flycheck-error-list-error ((,class (:foreground ,red :weight
,modus-theme-bold))))
`(flycheck-error-list-filename ((,class (:foreground ,blue))))
`(flycheck-error-list-highlight ((,class (:inherit
modus-theme-special-warm))))
`(flycheck-error-list-id ((,class (:foreground ,magenta-alt-other))))
`(flycheck-error-list-id-with-explainer ((,class (:inherit
flycheck-error-list-id :box t))))
- `(flycheck-error-list-info ((,class (:foreground ,green))))
+ `(flycheck-error-list-info ((,class (:foreground ,cyan))))
`(flycheck-error-list-line-number ((,class (:foreground ,fg-special-warm))))
`(flycheck-error-list-warning ((,class (:foreground ,yellow))))
`(flycheck-fringe-error ((,class (:inherit modus-theme-fringe-red))))
- `(flycheck-fringe-info ((,class (:inherit modus-theme-fringe-green))))
+ `(flycheck-fringe-info ((,class (:inherit modus-theme-fringe-cyan))))
`(flycheck-fringe-warning ((,class (:inherit modus-theme-fringe-yellow))))
- `(flycheck-info ((,class (:foreground ,green :underline t))))
+ `(flycheck-info
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,blue-nuanced :underline (:color ,fg-lang-note :style
wave)))
+ (,class (:foreground ,blue-nuanced :underline (:color ,fg-lang-note
:style line)))))
`(flycheck-verify-select-checker ((,class (:box (:line-width 1 :color nil
:style released-button)))))
- `(flycheck-warning ((,class (:foreground ,yellow :underline t))))
+ `(flycheck-warning
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning :style
wave)))
+ (,class (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning
:style line)))))
;;;; flycheck-indicator
`(flycheck-indicator-disabled ((,class (:foreground ,fg-inactive :slant
,modus-theme-slant))))
- `(flycheck-indicator-error ((,class (:foreground ,red-active :weight
bold))))
- `(flycheck-indicator-info ((,class (:foreground ,blue-active :weight
bold))))
- `(flycheck-indicator-running ((,class (:foreground ,magenta-active :weight
bold))))
- `(flycheck-indicator-success ((,class (:foreground ,green-active :weight
bold))))
- `(flycheck-indicator-warning ((,class (:foreground ,yellow-active :weight
bold))))
+ `(flycheck-indicator-error ((,class (:foreground ,red-active :weight
,modus-theme-bold))))
+ `(flycheck-indicator-info ((,class (:foreground ,blue-active :weight
,modus-theme-bold))))
+ `(flycheck-indicator-running ((,class (:foreground ,magenta-active :weight
,modus-theme-bold))))
+ `(flycheck-indicator-success ((,class (:foreground ,green-active :weight
,modus-theme-bold))))
+ `(flycheck-indicator-warning ((,class (:foreground ,yellow-active :weight
,modus-theme-bold))))
;;;; flycheck-posframe
`(flycheck-posframe-background-face ((,class (:background ,bg-alt))))
`(flycheck-posframe-border-face ((,class (:foreground ,fg-alt))))
`(flycheck-posframe-error-face ((,class (:foreground ,red :weight bold))))
`(flycheck-posframe-face ((,class (:foreground ,fg-main :slant
,modus-theme-slant))))
- `(flycheck-posframe-info-face ((,class (:foreground ,green :weight bold))))
+ `(flycheck-posframe-info-face ((,class (:foreground ,cyan :weight bold))))
`(flycheck-posframe-warning-face ((,class (:foreground ,yellow :weight
bold))))
;;;; flymake
- `(flymake-error ((,class (:foreground ,red :underline t))))
- `(flymake-note ((,class (:foreground ,green :underline t))))
- `(flymake-warning ((,class (:foreground ,yellow :underline t))))
+ `(flymake-error
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,red-nuanced :underline (:color ,fg-lang-error :style
wave)))
+ (,class (:foreground ,red-nuanced :underline (:color ,fg-lang-error
:style line)))))
+ `(flymake-note
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,blue-nuanced :underline (:color ,fg-lang-note :style
wave)))
+ (,class (:foreground ,blue-nuanced :underline (:color ,fg-lang-note
:style line)))))
+ `(flymake-warning
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning :style
wave)))
+ (,class (:foreground ,yellow-nuanced :underline (:color ,fg-lang-warning
:style line)))))
;;;; flyspell
`(flyspell-duplicate
((,(append '((supports :underline (:style wave))) class)
- (:foreground ,yellow :underline (:style wave)))
- (,class (:foreground ,yellow :underline t))))
+ (:foreground ,fg-lang-warning :underline (:style wave)))
+ (,class (:foreground ,fg-lang-warning :underline t))))
`(flyspell-incorrect
((,(append '((supports :underline (:style wave))) class)
- (:foreground ,red :underline (:style wave)))
- (,class (:foreground ,red :underline t))))
+ (:foreground ,fg-lang-error :underline (:style wave)))
+ (,class (:foreground ,fg-lang-error :underline t))))
;;;; flyspell-correct
`(flyspell-correct-highlight-face ((,class (:inherit
modus-theme-refine-green))))
+ ;;;; flx
+ `(flx-highlight-face ((,class (:inherit modus-theme-intense-magenta))))
;;;; freeze-it
`(freeze-it-show ((,class (:background ,bg-dim :foreground
,fg-special-warm))))
;;;; frog-menu
@@ -1346,7 +1585,7 @@ between foreground and background is >= 7:1)."
`(frog-menu-posframe-background-face ((,class (:background ,bg-dim))))
`(frog-menu-prompt-face ((,class (:foreground ,cyan))))
;;;; focus
- `(focus-unfocused ((,class (:foreground ,fg-alt))))
+ `(focus-unfocused ((,class (:foreground ,fg-unfocused))))
;;;; fold-this
`(fold-this-overlay ((,class (:inherit modus-theme-special-mild))))
;;;; font-lock
@@ -1359,12 +1598,20 @@ between foreground and background is >= 7:1)."
`(font-lock-keyword-face ((,class (:foreground ,magenta-alt-other :weight
,modus-theme-bold))))
`(font-lock-negation-char-face ((,class (:foreground ,yellow :weight
,modus-theme-bold))))
`(font-lock-preprocessor-face ((,class (:foreground ,magenta))))
- `(font-lock-regexp-grouping-backslash ((,class (:foreground ,green :weight
bold))))
- `(font-lock-regexp-grouping-construct ((,class (:foreground ,magenta
:weight bold))))
+ `(font-lock-regexp-grouping-backslash ((,class (:foreground
,fg-escape-char-backslash :weight bold))))
+ `(font-lock-regexp-grouping-construct ((,class (:foreground
,fg-escape-char-construct :weight bold))))
`(font-lock-string-face ((,class (:foreground ,blue-alt))))
`(font-lock-type-face ((,class (:foreground ,magenta-alt))))
`(font-lock-variable-name-face ((,class (:foreground ,cyan))))
`(font-lock-warning-face ((,class (:foreground ,yellow-active :weight
bold))))
+ ;;;; forge
+ `(forge-post-author ((,class (:foreground ,fg-main :weight bold))))
+ `(forge-post-date ((,class (:foreground ,fg-special-cold))))
+ `(forge-topic-closed ((,class (:foreground ,fg-alt))))
+ `(forge-topic-merged ((,class (:foreground ,fg-alt))))
+ `(forge-topic-open ((,class (:foreground ,fg-special-mild))))
+ `(forge-topic-unmerged ((,class (:foreground ,magenta :slant
,modus-theme-slant))))
+ `(forge-topic-unread ((,class (:foreground ,fg-main :weight bold))))
;;;; fountain-mode
`(fountain-character ((,class (:foreground ,magenta-alt-other))))
`(fountain-comment ((,class (:foreground ,fg-alt :slant
,modus-theme-slant))))
@@ -1379,24 +1626,19 @@ between foreground and background is >= 7:1)."
`(fountain-scene-heading ((,class (:foreground ,fg-special-calm :weight
bold))))
`(fountain-section-heading ((,class (:inherit ,modus-theme-variable-pitch
:foreground ,fg-main :weight
bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
`(fountain-section-heading-1 ((,class (:inherit ,modus-theme-variable-pitch
:foreground ,fg-main
:weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
`(fountain-section-heading-2 ((,class (:inherit ,modus-theme-variable-pitch
:foreground
,fg-special-warm :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-3))))))
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))))
`(fountain-section-heading-3 ((,class (:inherit ,modus-theme-variable-pitch
:foreground
,fg-special-cold :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-2))))))
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-2)))))
`(fountain-section-heading-4 ((,class (:inherit ,modus-theme-variable-pitch
:foreground
,fg-special-mild :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-1))))))
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-1)))))
`(fountain-section-heading-5 ((,class (:inherit ,modus-theme-variable-pitch
:foreground
,fg-special-calm :weight bold))))
`(fountain-synopsis ((,class (:foreground ,green))))
@@ -1415,12 +1657,12 @@ between foreground and background is >= 7:1)."
`(geiser-font-lock-xref-header ((,class (:weight bold))))
`(geiser-font-lock-xref-link ((,class (:inherit link))))
;;;; git-commit
- `(git-commit-comment-action ((,class (:foreground ,fg-special-calm))))
- `(git-commit-comment-branch-local ((,class (:foreground ,cyan))))
- `(git-commit-comment-branch-remote ((,class (:foreground ,blue))))
- `(git-commit-comment-detached ((,class (:foreground ,yellow))))
- `(git-commit-comment-file ((,class (:foreground ,blue))))
- `(git-commit-comment-heading ((,class (:foreground ,fg-main :weight bold))))
+ `(git-commit-comment-action ((,class (:foreground ,fg-special-calm :slant
,modus-theme-slant))))
+ `(git-commit-comment-branch-local ((,class (:foreground ,cyan :slant
,modus-theme-slant))))
+ `(git-commit-comment-branch-remote ((,class (:foreground ,blue :slant
,modus-theme-slant))))
+ `(git-commit-comment-detached ((,class (:foreground ,yellow :slant
,modus-theme-slant))))
+ `(git-commit-comment-file ((,class (:foreground ,blue :slant
,modus-theme-slant))))
+ `(git-commit-comment-heading ((,class (:foreground ,fg-main :weight bold
:slant ,modus-theme-slant))))
`(git-commit-keyword ((,class (:foreground ,magenta))))
`(git-commit-known-pseudo-header ((,class (:foreground ,fg-special-warm
:weight bold))))
`(git-commit-nonempty-second-line ((,class (:inherit
modus-theme-refine-yellow :weight bold))))
@@ -1595,8 +1837,7 @@ between foreground and background is >= 7:1)."
`(helm-time-zone-current ((,class (:foreground ,green))))
`(helm-time-zone-home ((,class (:foreground ,magenta))))
`(helm-source-header ((,class (:foreground ,red-alt :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
`(helm-top-columns ((,class (:inherit helm-header))))
`(helm-ucs-char ((,class (:foreground ,yellow-alt-other))))
`(helm-visible-mark ((,class (:inherit modus-theme-subtle-cyan))))
@@ -1615,6 +1856,9 @@ between foreground and background is >= 7:1)."
;;;; helm-xref
`(helm-xref-file-name ((,class (:foreground ,fg-special-cold :weight
bold))))
`(helm-xref-file-name ((,class (:foreground ,fg-special-warm))))
+ ;;;; helpful
+ `(helpful-heading ((,class (:inherit ,modus-theme-variable-pitch
:foreground ,fg-main :weight bold
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
;;;; highlight region or ad-hoc regexp
`(hi-black-b ((,class (:background ,fg-main :foreground ,bg-main))))
`(hi-blue ((,class (:background ,bg-alt :foreground ,blue :underline t))))
@@ -1648,10 +1892,12 @@ between foreground and background is >= 7:1)."
`(highlight-defined-special-form-name-face ((,class (:foreground
,magenta-alt-other))))
`(highlight-defined-variable-name-face ((,class (:foreground ,cyan))))
;;;; highlight-escape-sequences (`hes-mode')
- `(hes-escape-backslash-face ((,class (:foreground ,green :weight bold))))
- `(hes-escape-sequence-face ((,class (:foreground ,magenta :weight bold))))
+ `(hes-escape-backslash-face ((,class (:foreground ,fg-escape-char-construct
:weight bold))))
+ `(hes-escape-sequence-face ((,class (:foreground ,fg-escape-char-backslash
:weight bold))))
;;;; highlight-numbers
`(highlight-numbers-number ((,class (:foreground ,blue-alt-other))))
+ ;;;; highlight-symbol
+ `(highlight-symbol-face ((,class (:inherit modus-theme-special-mild))))
;;;; highlight-thing
`(highlight-thing ((,class (:background ,bg-alt :foreground ,cyan))))
;;;; hl-fill-column
@@ -1659,13 +1905,16 @@ between foreground and background is >= 7:1)."
;;;; hl-todo
`(hl-todo ((,class (:foreground ,red-alt-other :weight bold))))
;;;; hydra
- `(hydra-face-amaranth ((,class (:foreground ,yellow-intense :weight bold))))
- `(hydra-face-blue ((,class (:foreground ,blue-intense :weight bold))))
- `(hydra-face-pink ((,class (:foreground ,magenta-intense :weight bold))))
- `(hydra-face-red ((,class (:foreground ,red-intense :weight bold))))
- `(hydra-face-teal ((,class (:foreground ,cyan-intense :weight bold))))
+ `(hydra-face-amaranth ((,class (:foreground ,yellow :weight bold))))
+ `(hydra-face-blue ((,class (:foreground ,blue-alt :weight bold))))
+ `(hydra-face-pink ((,class (:foreground ,magenta-alt :weight bold))))
+ `(hydra-face-red ((,class (:foreground ,red :weight bold))))
+ `(hydra-face-teal ((,class (:foreground ,cyan :weight bold))))
+ ;;;; icomplete
+ `(icomplete-first-match ((,class (:foreground ,magenta :weight bold))))
+ ;;;; icomplete-vertical
+ `(icomplete-vertical-separator ((,class (:foreground ,fg-alt))))
;;;; ido-mode
- `(flx-highlight-face ((,class (:inherit modus-theme-intense-magenta))))
`(ido-first-match ((,class (:foreground ,magenta :weight bold))))
`(ido-incomplete-regexp ((,class (:inherit error))))
`(ido-indicator ((,class (:inherit modus-theme-subtle-yellow))))
@@ -1675,6 +1924,9 @@ between foreground and background is >= 7:1)."
;;;; iedit
`(iedit-occurrence ((,class (:inherit modus-theme-refine-blue))))
`(iedit-read-only-occurrence ((,class (:inherit
modus-theme-intense-yellow))))
+ ;;;; iflipb
+ `(iflipb-current-buffer-face ((,class (:foreground ,cyan-alt :weight
bold))))
+ `(iflipb-other-buffer-face ((,class (:foreground ,fg-alt))))
;;;; imenu-list
`(imenu-list-entry-face-0 ((,class (:foreground ,magenta-alt-other))))
`(imenu-list-entry-face-1 ((,class (:foreground ,cyan-alt-other))))
@@ -1721,8 +1973,7 @@ between foreground and background is >= 7:1)."
:inherit modus-theme-refine-blue))))
`(ioccur-regexp-face ((,class (:inherit modus-theme-intense-magenta :weight
bold))))
`(ioccur-title-face ((,class (:foreground ,red-alt :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
;;;; isearch, occur, and the like
`(isearch ((,class (:inherit modus-theme-intense-green :weight bold))))
`(isearch-fail ((,class (:inherit modus-theme-refine-red))))
@@ -1797,7 +2048,10 @@ between foreground and background is >= 7:1)."
`(kaocha-runner-warning-face ((,class (:foreground ,yellow))))
;;;; keycast
`(keycast-command ((,class (:foreground ,blue-active :weight bold))))
- `(keycast-key ((,class (:inherit modus-theme-active-blue))))
+ `(keycast-key ((,class (:box ,(modus-operandi-theme-modeline-box
blue-intense blue-active t -3)
+ ,@(modus-operandi-theme-modeline-props
+ blue-active bg-main
+ blue-active bg-active)))))
;;;; line numbers (display-line-numbers-mode and global variant)
`(line-number ((,class (:background ,bg-dim :foreground ,fg-alt))))
`(line-number-current-line ((,class (:background ,bg-active :foreground
,fg-active :weight bold))))
@@ -1855,19 +2109,29 @@ between foreground and background is >= 7:1)."
`(magit-blame-margin ((,class (:inherit magit-blame-highlight))))
`(magit-blame-name ((,class (:foreground ,fg-main))))
`(magit-blame-summary ((,class (:foreground ,fg-main))))
- `(magit-branch-current ((,class (:foreground ,magenta-alt-other))))
- `(magit-branch-local ((,class (:foreground ,blue-alt-other))))
+ `(magit-branch-current ((,class (:foreground ,blue-alt-other :box t))))
+ `(magit-branch-local ((,class (:foreground ,blue-alt))))
`(magit-branch-remote ((,class (:foreground ,magenta-alt))))
- `(magit-branch-remote-head ((,class (:foreground ,magenta :box t))))
+ `(magit-branch-remote-head ((,class (:foreground ,magenta-alt-other :box
t))))
`(magit-branch-upstream ((,class (:slant italic))))
`(magit-cherry-equivalent ((,class (:background ,bg-main :foreground
,magenta-intense))))
`(magit-cherry-unmatched ((,class (:background ,bg-main :foreground
,cyan-intense))))
- `(magit-diff-added ((,class (:inherit modus-theme-diff-added))))
- `(magit-diff-added-highlight ((,class (:inherit
modus-theme-diff-focus-added))))
- `(magit-diff-base ((,class (:inherit modus-theme-diff-changed))))
- `(magit-diff-base-highlight ((,class (:inherit
modus-theme-diff-focus-changed))))
- `(magit-diff-context ((,class (:foreground ,fg-alt))))
- `(magit-diff-context-highlight ((,class (:background ,bg-inactive
:foreground ,fg-inactive))))
+ `(magit-diff-added ((,class ,(modus-operandi-theme-diffs
+ bg-main green
+ bg-diff-added fg-diff-added))))
+ `(magit-diff-added-highlight ((,class ,(modus-operandi-theme-diffs
+ bg-dim green
+ bg-diff-focus-added
fg-diff-focus-added))))
+ `(magit-diff-base ((,class ,(modus-operandi-theme-diffs
+ bg-main yellow
+ bg-diff-changed fg-diff-changed))))
+ `(magit-diff-base-highlight ((,class ,(modus-operandi-theme-diffs
+ bg-dim yellow
+ bg-diff-focus-changed
fg-diff-focus-changed))))
+ `(magit-diff-context ((,class (:foreground ,fg-unfocused))))
+ `(magit-diff-context-highlight ((,class ,(modus-operandi-theme-diffs
+ bg-dim fg-dim
+ bg-inactive fg-inactive))))
`(magit-diff-file-heading ((,class (:foreground ,fg-special-cold :weight
bold))))
`(magit-diff-file-heading-highlight ((,class (:inherit
modus-theme-special-cold :weight bold))))
`(magit-diff-file-heading-selection ((,class (:background ,bg-alt
:foreground ,cyan))))
@@ -1877,13 +2141,23 @@ between foreground and background is >= 7:1)."
`(magit-diff-hunk-region ((,class (:weight bold))))
`(magit-diff-lines-boundary ((,class (:background ,fg-main))))
`(magit-diff-lines-heading ((,class (:inherit modus-theme-refine-magenta))))
- `(magit-diff-removed ((,class (:inherit modus-theme-diff-removed))))
- `(magit-diff-removed-highlight ((,class (:inherit
modus-theme-diff-focus-removed))))
+ `(magit-diff-removed ((,class ,(modus-operandi-theme-diffs
+ bg-main red
+ bg-diff-removed fg-diff-removed))))
+ `(magit-diff-removed-highlight ((,class ,(modus-operandi-theme-diffs
+ bg-dim red
+ bg-diff-focus-removed
fg-diff-focus-removed))))
`(magit-diffstat-added ((,class (:foreground ,green))))
`(magit-diffstat-removed ((,class (:foreground ,red))))
`(magit-dimmed ((,class (:foreground ,fg-alt))))
`(magit-filename ((,class (:foreground ,fg-special-cold))))
`(magit-hash ((,class (:foreground ,fg-special-warm))))
+ `(magit-head ((,class (:inherit magit-branch-local))))
+ `(magit-header-line ((,class (:foreground ,cyan-active :weight bold))))
+ `(magit-header-line-key ((,class (:foreground ,blue-active :weight bold))))
+ `(magit-header-line-log-select ((,class (:foreground ,fg-main :weight
bold))))
+ `(magit-keyword ((,class (:foreground ,magenta))))
+ `(magit-keyword-squash ((,class (:foreground ,yellow-alt-other :weight
bold))))
`(magit-log-author ((,class (:foreground ,cyan))))
`(magit-log-date ((,class (:foreground ,magenta))))
`(magit-log-graph ((,class (:foreground ,fg-dim))))
@@ -1905,7 +2179,7 @@ between foreground and background is >= 7:1)."
`(magit-refname-stash ((,class (:foreground ,fg-alt))))
`(magit-refname-wip ((,class (:foreground ,fg-alt))))
`(magit-section ((,class (:background ,bg-dim :foreground ,fg-main))))
- `(magit-section-heading ((,class (:foreground ,cyan-active))))
+ `(magit-section-heading ((,class (:foreground ,cyan-alt-other :weight
bold))))
`(magit-section-heading-selection ((,class (:inherit
modus-theme-refine-cyan :weight bold))))
`(magit-section-highlight ((,class (:background ,bg-alt))))
`(magit-sequence-done ((,class (:foreground ,green-alt))))
@@ -1924,6 +2198,12 @@ between foreground and background is >= 7:1)."
`(magit-signature-revoked ((,class (:background ,bg-main :foreground
,magenta-intense))))
`(magit-signature-untrusted ((,class (:background ,bg-main :foreground
,cyan-intense))))
`(magit-tag ((,class (:foreground ,yellow-alt-other))))
+ ;;;; magit-imerge
+ `(magit-imerge-overriding-value ((,class (:foreground ,red-alt :weight
bold))))
+ ;;;; man
+ `(Man-overstrike ((,class (:foreground ,magenta :weight bold))))
+ `(Man-reverse ((,class (:inherit modus-theme-subtle-magenta))))
+ `(Man-underline ((,class (:foreground ,cyan :underline t))))
;;;; markdown-mode
`(markdown-blockquote-face ((,class (:background ,bg-dim :foreground
,fg-special-warm :slant ,modus-theme-slant))))
`(markdown-bold-face ((,class (:weight bold))))
@@ -2019,14 +2299,20 @@ between foreground and background is >= 7:1)."
`(message-header-subject ((,class (:foreground ,magenta-alt-other :weight
bold))))
`(message-header-to ((,class (:foreground ,magenta-alt :weight bold))))
`(message-header-xheader ((,class (:foreground ,blue-alt-other))))
- `(message-mml ((,class (:foreground ,green-alt))))
+ `(message-mml ((,class (:foreground ,green-alt-other))))
`(message-separator ((,class (:background ,bg-alt :foreground
,fg-special-warm))))
;;;; modeline
- `(mode-line ((,class (:box (:line-width 1 :color ,fg-inactive) :background
,bg-active :foreground ,fg-active))))
+ `(mode-line ((,class (:box ,(modus-operandi-theme-modeline-box bg-inactive
fg-inactive t)
+ ,@(modus-operandi-theme-modeline-props
+ bg-active fg-dim
+ bg-active fg-active)))))
`(mode-line-buffer-id ((,class (:weight bold))))
`(mode-line-emphasis ((,class (:foreground ,blue-active :weight bold))))
`(mode-line-highlight ((,class (:inherit modus-theme-active-blue :box
(:line-width -1 :style pressed-button)))))
- `(mode-line-inactive ((,class (:box (:color ,bg-inactive) :background
,bg-inactive :foreground ,fg-inactive))))
+ `(mode-line-inactive ((,class (:box ,(modus-operandi-theme-modeline-box
bg-active bg-active)
+ ,@(modus-operandi-theme-modeline-props
+ bg-dim fg-inactive
+ bg-inactive fg-inactive)))))
;;;; mood-line
`(mood-line-modified ((,class (:foreground ,magenta-active))))
`(mood-line-status-error ((,class (:foreground ,red-active :weight bold))))
@@ -2109,8 +2395,15 @@ between foreground and background is >= 7:1)."
`(neo-vc-unlocked-changes-face ((,class (:inherit
modus-theme-refine-blue))))
`(neo-vc-up-to-date-face ((,class (:foreground ,fg-alt))))
`(neo-vc-user-face ((,class (:foreground ,magenta))))
+ ;;;; no-emoji
+ `(no-emoji ((,class (:foreground ,cyan))))
;;;; num3-mode
`(num3-face-even ((,class (:background ,bg-alt :weight bold))))
+ ;;;; orderless
+ `(orderless-match-face-0 ((,class (:foreground ,blue-alt :weight bold))))
+ `(orderless-match-face-1 ((,class (:foreground ,magenta-alt :weight bold))))
+ `(orderless-match-face-2 ((,class (:foreground ,green-alt-other :weight
bold))))
+ `(orderless-match-face-3 ((,class (:foreground ,yellow-alt-other :weight
bold))))
;;;; org
`(org-agenda-calendar-event ((,class (:foreground ,blue-alt))))
`(org-agenda-calendar-sexp ((,class (:foreground ,cyan-alt))))
@@ -2118,18 +2411,15 @@ between foreground and background is >= 7:1)."
`(org-agenda-column-dateline ((,class (:inherit
modus-theme-subtle-neutral))))
`(org-agenda-current-time ((,class (:inherit modus-theme-intense-cyan))))
`(org-agenda-date ((,class (:inherit ,modus-theme-variable-pitch
:foreground ,fg-main
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
`(org-agenda-date-today ((,class (:inherit ,modus-theme-variable-pitch
:background ,cyan-subtle-bg
:foreground ,fg-main :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
`(org-agenda-date-weekend ((,class (:inherit ,modus-theme-variable-pitch
:foreground ,fg-alt
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
`(org-agenda-diary ((,class (:background ,bg-main :foreground ,fg-main))))
`(org-agenda-dimmed-todo-face ((,class (:inherit
modus-theme-subtle-neutral))))
- `(org-agenda-done ((,class (:foreground ,green))))
+ `(org-agenda-done ((,class (,@(modus-operandi-theme-org-todo-block
green-nuanced-bg green-nuanced green)))))
`(org-agenda-filter-category ((,class (:background ,bg-active :foreground
,fg-main :box t))))
`(org-agenda-filter-effort ((,class (:background ,bg-active :foreground
,fg-main :box t))))
`(org-agenda-filter-regexp ((,class (:background ,bg-active :foreground
,fg-main :box t))))
@@ -2137,20 +2427,21 @@ between foreground and background is >= 7:1)."
`(org-agenda-restriction-lock ((,class (:background ,bg-dim :foreground
,fg-dim))))
`(org-agenda-structure ((,class (:inherit ,modus-theme-variable-pitch
:foreground ,fg-special-mild
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-3))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-3)))))
`(org-archived ((,class (:background ,bg-alt :foreground ,fg-alt))))
- `(org-block ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
- :background ,(if
modus-operandi-theme-distinct-org-blocks bg-dim bg-main)
- :foreground ,fg-main))))
+ `(org-block ((,class (,@(modus-operandi-theme-org-src-block bg-dim bg-main)
:foreground ,fg-main))))
`(org-block-begin-line ((,class (,@(and (>= emacs-major-version 27)
modus-operandi-theme-distinct-org-blocks
'(:extend t))
:background ,bg-alt :foreground
,fg-special-mild))))
`(org-block-end-line ((,class (:inherit org-block-begin-line))))
`(org-checkbox ((,class (:weight bold))))
- `(org-checkbox-statistics-done ((,class (:foreground ,green :weight bold))))
- `(org-checkbox-statistics-todo ((,class (:foreground ,yellow :weight
bold))))
+ `(org-checkbox-statistics-done ((,class (:foreground ,green
+
,@(modus-operandi-theme-heading-block
+ green-nuanced-bg
green-nuanced)))))
+ `(org-checkbox-statistics-todo ((,class (:foreground ,yellow
+
,@(modus-operandi-theme-heading-block
+ yellow-nuanced-bg
yellow-nuanced)))))
`(org-clock-overlay ((,class (:inherit modus-theme-special-cold))))
`(org-code ((,class (:foreground ,magenta))))
`(org-column ((,class (:background ,bg-alt))))
@@ -2160,7 +2451,7 @@ between foreground and background is >= 7:1)."
`(org-default ((,class (:background ,bg-main :foreground ,fg-main))))
`(org-document-info ((,class (:foreground ,fg-special-cold))))
`(org-document-title ((,class (:foreground ,fg-special-cold :weight bold))))
- `(org-done ((,class (:foreground ,green))))
+ `(org-done ((,class (,@(modus-operandi-theme-org-todo-block
green-nuanced-bg green-nuanced green)))))
`(org-drawer ((,class (:foreground ,cyan-alt))))
`(org-ellipsis ((,class (:foreground nil)))) ; inherits from the heading's
colour
`(org-footnote ((,class (:foreground ,blue-alt :underline t))))
@@ -2173,52 +2464,61 @@ between foreground and background is >= 7:1)."
`(org-habit-overdue-future-face ((,class (:inherit
modus-theme-refine-red))))
`(org-habit-ready-face ((,class (:inherit modus-theme-intense-blue))))
`(org-habit-ready-future-face ((,class (:inherit modus-theme-refine-blue))))
- `(org-headline-done ((,class (:foreground ,green-nuanced))))
+ `(org-headline-done ((,class (:foreground ,green-nuanced
+
,@(modus-operandi-theme-heading-block
+ green-nuanced-bg
green-nuanced)))))
`(org-hide ((,class (:foreground ,fg-main))))
`(org-latex-and-related ((,class (:foreground ,magenta-refine-fg))))
- `(org-level-1 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-main :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
- `(org-level-2 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-special-warm :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-3))))))
- `(org-level-3 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-special-cold :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-2))))))
- `(org-level-4 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-special-mild :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-1))))))
- `(org-level-5 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-special-calm :weight bold))))
- `(org-level-6 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,yellow-nuanced :weight bold))))
- `(org-level-7 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,red-nuanced :weight bold))))
- `(org-level-8 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-dim :weight bold))))
+ `(org-level-1 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-main magenta-alt-other)
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)
+ ,@(modus-operandi-theme-heading-block
magenta-nuanced-bg magenta-nuanced)))))
+ `(org-level-2 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-special-warm magenta-alt)
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-3)
+ ,@(modus-operandi-theme-heading-block
red-nuanced-bg red-nuanced)))))
+ `(org-level-3 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-special-cold blue)
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-2)
+ ,@(modus-operandi-theme-heading-block
blue-nuanced-bg blue-nuanced)))))
+ `(org-level-4 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-special-mild cyan-alt-other)
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-1)
+ ,@(modus-operandi-theme-heading-block
cyan-nuanced-bg cyan-nuanced)))))
+ `(org-level-5 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-special-calm green-alt)
+ ,@(modus-operandi-theme-heading-block
green-nuanced-bg green-nuanced)))))
+ `(org-level-6 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
yellow-nuanced yellow-alt-other)
+ ,@(modus-operandi-theme-heading-block
yellow-nuanced-bg yellow-nuanced)))))
+ `(org-level-7 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
red-nuanced red-alt)
+ ,@(modus-operandi-theme-heading-block
red-nuanced-bg red-nuanced)))))
+ `(org-level-8 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-dim magenta)
+ ,@(modus-operandi-theme-heading-block
bg-alt fg-alt)))))
`(org-link ((,class (:inherit link))))
`(org-list-dt ((,class (:weight bold))))
`(org-macro ((,class (:inherit org-latex-and-related))))
`(org-meta-line ((,class (:foreground ,fg-alt :slant ,modus-theme-slant))))
`(org-mode-line-clock ((,class (:background ,bg-main :foreground
,fg-main))))
`(org-mode-line-clock-overrun ((,class (:inherit modus-theme-active-red))))
- `(org-priority ((,class (:foreground ,magenta))))
- `(org-quote ((,class (:inherit org-block :foreground ,fg-special-cold))))
+ `(org-priority ((,class (,@(modus-operandi-theme-org-todo-block
blue-nuanced-bg blue-nuanced magenta)
+ ,@(modus-operandi-theme-heading-foreground magenta
blue-alt)))))
+ `(org-quote ((,class (,@(modus-operandi-theme-org-src-block bg-dim bg-main)
+ :foreground ,fg-special-cold :slant
,modus-theme-slant))))
`(org-scheduled ((,class (:foreground ,fg-special-cold))))
`(org-scheduled-previously ((,class (:foreground ,fg-special-warm))))
`(org-scheduled-today ((,class (:foreground ,yellow-alt-other))))
`(org-sexp-date ((,class (:inherit org-date))))
- `(org-special-keyword ((,class (:foreground ,cyan-alt))))
+ `(org-special-keyword ((,class (,@(modus-operandi-theme-org-todo-block
cyan-nuanced-bg cyan-nuanced cyan-alt)))))
`(org-table ((,class (:foreground ,fg-special-cold))))
`(org-tag ((,class (:foreground ,magenta-nuanced :weight normal))))
`(org-tag-group ((,class (:foreground ,cyan-nuanced :weight bold))))
`(org-target ((,class (:underline t))))
`(org-time-grid ((,class (:foreground ,cyan-nuanced))))
- `(org-todo ((,class (:foreground ,magenta-alt-other))))
+ `(org-todo ((,class (,@(modus-operandi-theme-org-todo-block
magenta-nuanced-bg magenta-nuanced magenta-alt-other)
+ ,@(modus-operandi-theme-heading-foreground
magenta-alt-other red-alt-other)))))
`(org-upcoming-deadline ((,class (:foreground ,red-alt-other))))
`(org-upcoming-distant-deadline ((,class (:foreground ,red-nuanced))))
`(org-verbatim ((,class (:background ,bg-alt :foreground
,fg-special-calm))))
@@ -2250,33 +2550,36 @@ between foreground and background is >= 7:1)."
`(origami-fold-header-face ((,class (:background ,bg-dim :foreground
,fg-dim :box t))))
`(origami-fold-replacement-face ((,class (:background ,bg-alt :foreground
,fg-alt))))
;;;; outline-mode
- `(outline-1 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-main :weight bold
- ,@(when modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
- `(outline-2 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-special-warm :weight bold
- ,@(when modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-3))))))
- `(outline-3 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-special-cold :weight bold
- ,@(when modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-2))))))
- `(outline-4 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-special-mild :weight bold
- ,@(when modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-1))))))
- `(outline-5 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-special-calm :weight bold))))
- `(outline-6 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,yellow-nuanced :weight bold))))
- `(outline-7 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,red-nuanced :weight bold))))
- `(outline-8 ((,class (:inherit ,modus-theme-variable-pitch
- :foreground ,fg-dim :weight bold))))
- ;;;; outline-minor-faces (applies backgrounds to `outline-minor-mode')
- `(outline-minor-0 ((,class (,@(and (>= emacs-major-version 27) '(:extend t))
- :background ,bg-alt :weight bold))))
+ `(outline-1 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-main magenta-alt-other)
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)
+ ,@(modus-operandi-theme-heading-block
magenta-nuanced-bg magenta-nuanced)))))
+ `(outline-2 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-special-warm magenta-alt)
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-3)
+ ,@(modus-operandi-theme-heading-block
red-nuanced-bg red-nuanced)))))
+ `(outline-3 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-special-cold blue)
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-2)
+ ,@(modus-operandi-theme-heading-block
blue-nuanced-bg blue-nuanced)))))
+ `(outline-4 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-special-mild cyan-alt-other)
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-1)
+ ,@(modus-operandi-theme-heading-block
cyan-nuanced-bg cyan-nuanced)))))
+ `(outline-5 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-special-calm green-alt)
+ ,@(modus-operandi-theme-heading-block
green-nuanced-bg green-nuanced)))))
+ `(outline-6 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
yellow-nuanced yellow-alt-other)
+ ,@(modus-operandi-theme-heading-block
yellow-nuanced-bg yellow-nuanced)))))
+ `(outline-7 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
red-nuanced red-alt)
+ ,@(modus-operandi-theme-heading-block
red-nuanced-bg red-nuanced)))))
+ `(outline-8 ((,class (:inherit ,modus-theme-variable-pitch :weight bold
+ ,@(modus-operandi-theme-heading-foreground
fg-dim magenta)
+ ,@(modus-operandi-theme-heading-block bg-alt
fg-alt)))))
+ ;;;; outline-minor-faces
+ `(outline-minor-0 ((,class (:background ,bg-alt))))
;;;; package (M-x list-packages)
`(package-description ((,class (:foreground ,fg-special-cold))))
`(package-help-section-name ((,class (:foreground ,magenta-alt-other
:weight bold))))
@@ -2292,6 +2595,8 @@ between foreground and background is >= 7:1)."
`(package-status-installed ((,class (:foreground ,fg-special-warm))))
`(package-status-new ((,class (:foreground ,green :weight bold))))
`(package-status-unsigned ((,class (:foreground ,red-alt :weight bold))))
+ ;;;; page-break-lines
+ `(page-break-lines ((,class (:inherit default :foreground
,fg-window-divider-outer))))
;;;; paradox
`(paradox-archive-face ((,class (:foreground ,fg-special-mild))))
`(paradox-comment-face ((,class (:foreground ,fg-alt :slant
,modus-theme-slant))))
@@ -2307,6 +2612,8 @@ between foreground and background is >= 7:1)."
`(paradox-starred-face ((,class (:foreground ,magenta-alt))))
;;;; paren-face
`(parenthesis ((,class (:foreground ,fg-alt))))
+ ;;;; parrot
+ `(parrot-rotate-rotation-highlight-face ((,class (:inherit
modus-theme-refine-magenta))))
;;;; pass
`(pass-mode-directory-face ((,class (:foreground ,fg-special-cold :weight
bold))))
`(pass-mode-entry-face ((,class (:background ,bg-main :foreground
,fg-main))))
@@ -2317,6 +2624,23 @@ between foreground and background is >= 7:1)."
`(persp-face-lighter-nil-persp ((,class (:foreground ,fg-active :weight
bold))))
;;;; perspective
`(persp-selected-face ((,class (:foreground ,blue-active :weight bold))))
+ ;;;; phi-grep
+ `(phi-grep-heading-face ((,class (:foreground ,red-alt :weight bold
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(phi-grep-line-number-face ((,class (:foreground ,fg-special-warm))))
+ `(phi-grep-match-face ((,class (:inherit modus-theme-special-calm))))
+ `(phi-grep-modified-face ((,class (:inherit modus-theme-refine-yellow))))
+ `(phi-grep-overlay-face ((,class (:inherit modus-theme-refine-blue))))
+ ;;;; phi-search
+ `(phi-replace-preview-face ((,class (:inherit
modus-theme-intense-magenta))))
+ `(phi-search-failpart-face ((,class (:inherit modus-theme-refine-red))))
+ `(phi-search-match-face ((,class (:inherit modus-theme-refine-cyan))))
+ `(phi-search-selection-face ((,class (:inherit modus-theme-intense-green
:weight bold))))
+ ;;;; pomidor
+ `(pomidor-break-face ((,class (:foreground ,blue-alt-other))))
+ `(pomidor-overwork-face ((,class (:foreground ,red-alt-other))))
+ `(pomidor-skip-face ((,class (:foreground ,fg-alt :slant
,modus-theme-slant))))
+ `(pomidor-work-face ((,class (:foreground ,green-alt-other))))
;;;; powerline
`(powerline-active0 ((,class (:background ,fg-inactive :foreground
,bg-inactive))))
`(powerline-active1 ((,class (:background ,bg-active :foreground
,fg-active))))
@@ -2382,16 +2706,27 @@ between foreground and background is >= 7:1)."
`(rainbow-delimiters-depth-9-face ((,class (:foreground ,yellow-alt))))
`(rainbow-delimiters-mismatched-face ((,class (:foreground ,red-alt :weight
bold))))
`(rainbow-delimiters-unmatched-face ((,class (:foreground ,red :weight
bold))))
+ ;;;; rcirc
+ `(rcirc-bright-nick ((,class (:foreground ,magenta-alt :weight bold))))
+ `(rcirc-dim-nick ((,class (:foreground ,fg-alt))))
+ `(rcirc-my-nick ((,class (:foreground ,magenta :weight bold))))
+ `(rcirc-nick-in-message ((,class (:foreground ,blue))))
+ `(rcirc-nick-in-message-full-line ((,class (:foreground ,fg-special-mild
:weight bold))))
+ `(rcirc-other-nick ((,class (:foreground ,fg-special-cold :weight bold))))
+ `(rcirc-prompt ((,class (:foreground ,cyan-alt-other :weight bold))))
+ `(rcirc-server ((,class (:foreground ,fg-special-warm))))
+ `(rcirc-timestamp ((,class (:foreground ,fg-inactive))))
+ `(rcirc-url ((,class (:foreground ,blue :underline t))))
;;;; regexp-builder (re-builder)
`(reb-match-0 ((,class (:inherit modus-theme-intense-blue))))
`(reb-match-1 ((,class (:inherit modus-theme-intense-magenta))))
`(reb-match-2 ((,class (:inherit modus-theme-intense-green))))
`(reb-match-3 ((,class (:inherit modus-theme-intense-red))))
- `(reb-regexp-grouping-backslash ((,class (:foreground ,green :weight
bold))))
- `(reb-regexp-grouping-construct ((,class (:foreground ,magenta :weight
bold))))
+ `(reb-regexp-grouping-backslash ((,class (:foreground
,fg-escape-char-backslash :weight bold))))
+ `(reb-regexp-grouping-construct ((,class (:foreground
,fg-escape-char-construct :weight bold))))
;;;; rg (rg.el)
`(rg-column-number-face ((,class (:foreground ,magenta-alt-other))))
- `(rg-context-face ((,class (:foreground ,fg-alt))))
+ `(rg-context-face ((,class (:foreground ,fg-unfocused))))
`(rg-error-face ((,class (:foreground ,red :weight bold))))
`(rg-file-tag-face ((,class (:foreground ,fg-special-cold))))
`(rg-filename-face ((,class (:foreground ,fg-special-cold :weight bold))))
@@ -2403,7 +2738,7 @@ between foreground and background is >= 7:1)."
`(rg-toggle-on-face ((,class (:foreground ,cyan-active :weight bold))))
`(rg-warning-face ((,class (:foreground ,yellow :weight bold))))
;;;; ripgrep
- `(ripgrep-context-face ((,class (:foreground ,fg-alt))))
+ `(ripgrep-context-face ((,class (:foreground ,fg-unfocused))))
`(ripgrep-error-face ((,class (:foreground ,red :weight bold))))
`(ripgrep-hit-face ((,class (:foreground ,cyan))))
`(ripgrep-match-face ((,class (:inherit modus-theme-special-calm))))
@@ -2436,13 +2771,12 @@ between foreground and background is >= 7:1)."
`(sallet-recentf-file-path ((,class (:foreground ,fg-special-mild))))
`(sallet-regexp-match ((,class (:inherit modus-theme-refine-magenta))))
`(sallet-source-header ((,class (:foreground ,red-alt :weight bold
- ,@(when
modus-operandi-theme-scale-headings
- (list :height
modus-operandi-theme-scale-4))))))
+ ,@(modus-operandi-theme-scale
modus-operandi-theme-scale-4)))))
`(sallet-substring-match ((,class (:inherit modus-theme-refine-blue))))
;;;; selectrum
- `(selectrum-current-candidate ((,class (:inherit modus-theme-intense-cyan
:weight bold))))
- `(selectrum-primary-highlight ((,class (:inherit modus-theme-refine-blue
:weight bold))))
- `(selectrum-secondary-highlight ((,class (:inherit
modus-theme-refine-magenta :weight bold))))
+ `(selectrum-current-candidate ((,class (:inherit
modus-theme-intense-cyan))))
+ `(selectrum-primary-highlight ((,class (:foreground ,magenta-alt :weight
bold))))
+ `(selectrum-secondary-highlight ((,class (:foreground ,blue-alt-other
:weight bold))))
;;;; sesman
`(sesman-browser-button-face ((,class (:foreground ,blue-alt-other
:underline t))))
`(sesman-browser-highligh-face ((,class (:inherit
modus-theme-subtle-blue))))
@@ -2496,14 +2830,23 @@ between foreground and background is >= 7:1)."
`(sp-wrap-overlay-opening-pair ((,class (:inherit sp-pair-overlay-face))))
`(sp-wrap-tag-overlay-face ((,class (:inherit sp-pair-overlay-face))))
;;;; smerge
- `(smerge-base ((,class (:inherit modus-theme-special-warm))))
- `(smerge-lower ((,class (:inherit modus-theme-subtle-green))))
- `(smerge-markers ((,class (:inherit modus-theme-special-cold))))
- `(smerge-refined-added ((,class (:inherit modus-theme-intense-green))))
- `(smerge-refined-changed ((,class (:inherit modus-theme-intense-yellow))))
- `(smerge-refined-removed ((,class (:inherit modus-theme-intense-red))))
- `(smerge-refined-upper ((,class (:inherit modus-theme-intense-red))))
- `(smerge-upper ((,class (:inherit modus-theme-subtle-red))))
+ `(smerge-base ((,class ,(modus-operandi-theme-diffs
+ bg-main yellow
+ bg-diff-focus-changed fg-diff-focus-changed))))
+ `(smerge-lower ((,class ,(modus-operandi-theme-diffs
+ bg-main green
+ bg-diff-focus-added fg-diff-focus-added))))
+ `(smerge-markers ((,class (:background ,bg-diff-neutral-2 :foreground
,fg-diff-neutral-2))))
+ `(smerge-refined-added ((,class ,(modus-operandi-theme-diffs
+ bg-diff-added fg-diff-added
+ bg-diff-refine-added
fg-diff-refine-added))))
+ `(smerge-refined-changed ((,class nil)))
+ `(smerge-refined-removed ((,class ,(modus-operandi-theme-diffs
+ bg-diff-removed fg-diff-removed
+ bg-diff-refine-removed
fg-diff-refine-removed))))
+ `(smerge-upper ((,class ,(modus-operandi-theme-diffs
+ bg-main red
+ bg-diff-focus-removed fg-diff-focus-removed))))
;;;; speedbar
`(speedbar-button-face ((,class (:inherit link))))
`(speedbar-directory-face ((,class (:foreground ,blue :weight bold))))
@@ -2512,10 +2855,18 @@ between foreground and background is >= 7:1)."
`(speedbar-selected-face ((,class (:foreground ,cyan :weight bold))))
`(speedbar-separator-face ((,class (:inherit modus-theme-intense-neutral))))
`(speedbar-tag-face ((,class (:foreground ,yellow-alt-other))))
+ ;;;; spell-fu
+ `(spell-fu-incorrect-face
+ ((,(append '((supports :underline (:style wave))) class)
+ (:foreground ,fg-lang-error :underline (:style wave)))
+ (,class (:foreground ,fg-lang-error :underline t))))
;;;; stripes
`(stripes ((,class (:background ,bg-alt))))
;;;; success
`(suggest-heading ((,class (:foreground ,yellow-alt-other :weight bold))))
+ ;;;; switch-window
+ `(switch-window-background ((,class (:background ,bg-dim))))
+ `(switch-window-label ((,class (:height 3.0 :foreground ,blue-intense))))
;;;; swiper
`(swiper-background-match-face-1 ((,class (:inherit
modus-theme-subtle-neutral))))
`(swiper-background-match-face-2 ((,class (:inherit
modus-theme-subtle-cyan))))
@@ -2527,6 +2878,15 @@ between foreground and background is >= 7:1)."
`(swiper-match-face-2 ((,class (:inherit swiper-line-face))))
`(swiper-match-face-3 ((,class (:inherit swiper-line-face))))
`(swiper-match-face-4 ((,class (:inherit swiper-line-face))))
+ ;;;; swoop
+ `(swoop-face-header-format-line ((,class (:foreground ,red-alt :weight bold
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-3)))))
+ `(swoop-face-line-buffer-name ((,class (:foreground ,blue-alt :weight bold
+
,@(modus-operandi-theme-scale modus-operandi-theme-scale-4)))))
+ `(swoop-face-line-number ((,class (:foreground ,fg-special-warm))))
+ `(swoop-face-target-line ((,class (:inherit modus-theme-intense-blue
+ ,@(and (>= emacs-major-version
27) '(:extend t))))))
+ `(swoop-face-target-words ((,class (:inherit modus-theme-refine-cyan))))
;;;; sx
`(sx-inbox-item-type ((,class (:foreground ,magenta-alt-other))))
`(sx-inbox-item-type-unread ((,class (:inherit sx-inbox-item-type :weight
bold))))
@@ -2575,6 +2935,13 @@ between foreground and background is >= 7:1)."
`(syslog-ip ((,class (:foreground ,fg-special-mild :weight bold :underline
t))))
`(syslog-su ((,class (:foreground ,red-alt :weight bold))))
`(syslog-warn ((,class (:foreground ,yellow :weight bold))))
+ ;;;; trashed
+ `(trashed-deleted ((,class (:background ,bg-mark-del :foreground
,fg-mark-del :weight bold))))
+ `(trashed-directory ((,class (:foreground ,blue))))
+ `(trashed-mark ((,class (:foreground ,blue-alt :weight bold))))
+ `(trashed-marked ((,class (:background ,bg-mark-other :foreground
,fg-mark-other :weight bold))))
+ `(trashed-restored ((,class (:background ,bg-mark :foreground ,fg-mark
:weight bold))))
+ `(trashed-symlink ((,class (:foreground ,blue-alt :underline t))))
;;;; telephone-line
`(telephone-line-accent-active ((,class (:background ,fg-inactive
:foreground ,bg-inactive))))
`(telephone-line-accent-inactive ((,class (:background ,bg-active
:foreground ,fg-active))))
@@ -2600,6 +2967,10 @@ between foreground and background is >= 7:1)."
`(term-color-red ((,class (:background ,red :foreground ,red))))
`(term-color-yellow ((,class (:background ,yellow :foreground ,yellow))))
`(term-underline ((,class (:underline t))))
+ ;;;; tomatinho
+ `(tomatinho-ok-face ((,class (:foreground ,blue-intense))))
+ `(tomatinho-pause-face ((,class (:foreground ,yellow-intense))))
+ `(tomatinho-reset-face ((,class (:foreground ,fg-alt))))
;;;; transient
`(transient-active-infix ((,class (:inherit modus-theme-special-mild))))
`(transient-argument ((,class (:foreground ,green :weight bold))))
@@ -2637,6 +3008,29 @@ between foreground and background is >= 7:1)."
`(treemacs-root-unreadable-face ((,class (:inherit treemacs-root-face
:strike-through t))))
`(treemacs-tags-face ((,class (:foreground ,blue-alt))))
`(treemacs-tags-face ((,class (:foreground ,magenta-alt))))
+ ;;;; tuareg
+ `(caml-types-def-face ((,class (:inherit modus-theme-subtle-red))))
+ `(caml-types-expr-face ((,class (:inherit modus-theme-subtle-green))))
+ `(caml-types-occ-face ((,class (:inherit modus-theme-subtle-green))))
+ `(caml-types-scope-face ((,class (:inherit modus-theme-subtle-blue))))
+ `(caml-types-typed-face ((,class (:inherit modus-theme-subtle-magenta))))
+ `(tuareg-font-double-semicolon-face ((,class (:foreground ,red-alt))))
+ `(tuareg-font-lock-attribute-face ((,class (:foreground ,magenta))))
+ `(tuareg-font-lock-constructor-face ((,class (:foreground ,fg-main))))
+ `(tuareg-font-lock-error-face ((,class (:inherit modus-theme-intense-red
:weight bold))))
+ `(tuareg-font-lock-extension-node-face ((,class (:background ,bg-alt
:foreground ,magenta))))
+ `(tuareg-font-lock-governing-face ((,class (:foreground ,fg-main :weight
bold))))
+ `(tuareg-font-lock-infix-extension-node-face ((,class (:foreground
,magenta))))
+ `(tuareg-font-lock-interactive-directive-face ((,class (:foreground
,fg-special-cold))))
+ `(tuareg-font-lock-interactive-error-face ((,class (:foreground ,red
:weight bold))))
+ `(tuareg-font-lock-interactive-output-face ((,class (:foreground
,blue-alt-other))))
+ `(tuareg-font-lock-label-face ((,class (:foreground ,cyan-alt-other))))
+ `(tuareg-font-lock-line-number-face ((,class (:foreground
,fg-special-warm))))
+ `(tuareg-font-lock-module-face ((,class (:foreground ,magenta-alt))))
+ `(tuareg-font-lock-multistage-face ((,class (:background ,bg-alt
:foreground ,blue :weight bold))))
+ `(tuareg-font-lock-operator-face ((,class (:foreground ,red-alt))))
+ `(tuareg-opam-error-face ((,class (:foreground ,red :weight bold))))
+ `(tuareg-opam-pkg-variable-name-face ((,class (:foreground ,cyan :slant
,modus-theme-slant))))
;;;; undo-tree
`(undo-tree-visualizer-active-branch-face ((,class (:foreground ,fg-main
:weight bold))))
`(undo-tree-visualizer-current-face ((,class (:foreground ,blue-intense))))
@@ -2644,15 +3038,25 @@ between foreground and background is >= 7:1)."
`(undo-tree-visualizer-register-face ((,class (:foreground
,magenta-intense))))
`(undo-tree-visualizer-unmodified-face ((,class (:foreground
,green-intense))))
;;;; vc
- `(vc-conflict-state ((,class (:foreground ,red-active :weight bold))))
+ `(vc-conflict-state ((,class (:foreground ,red-active :weight
,modus-theme-bold))))
`(vc-edited-state ((,class (:foreground ,fg-special-warm))))
`(vc-locally-added-state ((,class (:foreground ,cyan-active))))
- `(vc-locked-state ((,class (:foreground ,magenta-active :weight bold))))
- `(vc-missing-state ((,class (:foreground ,yellow-active :weight bold))))
- `(vc-needs-update-state ((,class (:foreground ,fg-special-mild :weight
bold))))
+ `(vc-locked-state ((,class (:foreground ,magenta-active :weight
,modus-theme-bold))))
+ `(vc-missing-state ((,class (:foreground ,yellow-active :weight
,modus-theme-bold))))
+ `(vc-needs-update-state ((,class (:foreground ,fg-special-mild :weight
,modus-theme-bold))))
`(vc-removed-state ((,class (:foreground ,red-active))))
`(vc-state-base ((,class (:foreground ,fg-active))))
`(vc-up-to-date-state ((,class (:foreground ,fg-special-cold))))
+ ;;;; vimish-fold
+ `(vimish-fold-fringe ((,class (:foreground ,cyan-active))))
+ `(vimish-fold-mouse-face ((,class (:inherit modus-theme-intense-blue))))
+ `(vimish-fold-overlay ((,class (:background ,bg-alt :foreground
,fg-special-cold))))
+ ;;;; visible-mark
+ `(visible-mark-active ((,class (:background ,blue-intense-bg))))
+ `(visible-mark-face1 ((,class (:background ,cyan-intense-bg))))
+ `(visible-mark-face2 ((,class (:background ,yellow-intense-bg))))
+ `(visible-mark-forward-face1 ((,class (:background ,magenta-intense-bg))))
+ `(visible-mark-forward-face2 ((,class (:background ,green-intense-bg))))
;;;; visual-regexp
`(vr/group-0 ((,class (:inherit modus-theme-intense-blue))))
`(vr/group-1 ((,class (:inherit modus-theme-intense-magenta))))
@@ -2663,6 +3067,20 @@ between foreground and background is >= 7:1)."
;;;; volatile-highlights
`(vhl/default-face ((,class (,@(and (>= emacs-major-version 27) '(:extend
t))
:background ,bg-alt :foreground
,blue-nuanced))))
+ ;;;; vterm
+ `(vterm-color-black ((,class (:background "black" :foreground "black"))))
+ `(vterm-color-blue ((,class (:background ,blue :foreground ,blue))))
+ `(vterm-color-cyan ((,class (:background ,cyan :foreground ,cyan))))
+ `(vterm-color-default ((,class (:background ,bg-main :foreground
,fg-main))))
+ `(vterm-color-green ((,class (:background ,green :foreground ,green))))
+ `(vterm-color-inverse-video ((,class (:background ,bg-main :inverse-video
t))))
+ `(vterm-color-magenta ((,class (:background ,magenta :foreground
,magenta))))
+ `(vterm-color-red ((,class (:background ,red :foreground ,red))))
+ `(vterm-color-underline ((,class (:foreground ,fg-special-warm :underline
t))))
+ `(vterm-color-white ((,class (:background "white" :foreground "white"))))
+ `(vterm-color-yellow ((,class (:background ,yellow :foreground ,yellow))))
+ ;;;; wcheck-mode
+ `(wcheck-default-face ((,class (:foreground ,red :underline t))))
;;;; web-mode
`(web-mode-annotation-face ((,class (:inherit web-mode-comment-face))))
`(web-mode-annotation-html-face ((,class (:inherit web-mode-comment-face))))
@@ -2770,10 +3188,17 @@ between foreground and background is >= 7:1)."
`(window-divider ((,class (:foreground ,fg-window-divider-inner))))
`(window-divider-first-pixel ((,class (:foreground
,fg-window-divider-outer))))
`(window-divider-last-pixel ((,class (:foreground
,fg-window-divider-outer))))
+ ;;;; winum
+ `(winum-face ((,class (:foreground ,cyan-active :weight
,modus-theme-bold))))
;;;; writegood-mode
- `(writegood-duplicates-face ((,class (:background ,bg-alt :foreground
,red-alt-other :underline t))))
- `(writegood-passive-voice-face ((,class (:background ,bg-alt :foreground
,cyan-alt-other :underline t))))
- `(writegood-weasels-face ((,class (:background ,bg-alt :foreground
,yellow-alt-other :underline t))))
+ `(writegood-duplicates-face ((,class (:background ,bg-alt :foreground
,red-alt :underline t))))
+ `(writegood-passive-voice-face ((,class (:foreground ,yellow-nuanced
:underline (:color ,fg-lang-warning :style line)))))
+ `(writegood-weasels-face ((,class (:foreground ,red-nuanced :underline
(:color ,fg-lang-error :style line)))))
+ ;;;; woman
+ `(woman-addition ((,class (:foreground ,magenta-alt-other))))
+ `(woman-bold ((,class (:foreground ,magenta :weight bold))))
+ `(woman-italic ((,class (:foreground ,cyan :slant italic))))
+ `(woman-unknown ((,class (:foreground ,yellow :slant italic))))
;;;; xah-elisp-mode
`(xah-elisp-at-symbol ((,class (:foreground ,red-alt :weight bold))))
`(xah-elisp-cap-variable ((,class (:foreground ,red-alt-other))))
@@ -2798,15 +3223,40 @@ between foreground and background is >= 7:1)."
`(ztreep-leaf-face ((,class (:foreground ,cyan))))
`(ztreep-node-count-children-face ((,class (:foreground ,fg-special-warm))))
`(ztreep-node-face ((,class (:foreground ,fg-main))))
+ (when (>= emacs-major-version 27) ; EXPERIMENTAL this form is subject to
review
+ (custom-theme-set-faces
+ 'modus-operandi
+ ;;;; tab-bar-mode
+ `(tab-bar ((,class (:background ,bg-alt :foreground ,fg-alt))))
+ `(tab-bar-tab ((,class (:box (:line-width 1 :color
,fg-window-divider-inner)
+ :background ,bg-tab-active :foreground
,fg-main))))
+ `(tab-bar-tab-inactive ((,class (:box (:line-width 1 :color
,bg-tab-active)
+ :background ,bg-tab-inactive
:foreground ,fg-dim))))
+ ;;;; tab-line-mode
+ `(tab-line ((,class (:height 0.95 :background ,bg-active :foreground
,fg-active))))
+ `(tab-line-close-highlight ((,class (:foreground ,red-active))))
+ `(tab-line-highlight ((,class (:background ,bg-tab-active :foreground
,fg-main))))
+ `(tab-line-tab ((,class (:box (:line-width 1 :color
,fg-window-divider-inner)
+ :background ,bg-tab-active :foreground
,fg-main))))
+ `(tab-line-tab-current ((,class (:box (:line-width 1 :color
,fg-window-divider-inner)
+ :background ,bg-tab-active
:foreground ,fg-main))))
+ `(tab-line-tab-inactive ((,class (:box (:line-width 1 :color
,bg-tab-active)
+ :background ,bg-tab-inactive
:foreground ,fg-dim))))))
;;; Theme Variables
(custom-theme-set-variables
'modus-operandi
;;;; ansi-colors
`(ansi-color-faces-vector [default bold shadow italic underline success
warning error])
`(ansi-color-names-vector [,fg-main ,red ,green ,yellow ,blue ,magenta
,cyan ,bg-main])
+ ;;;; flymake fringe indicators
+ `(flymake-error-bitmap '(flymake-double-exclamation-mark
modus-theme-fringe-red))
+ `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow))
+ `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan))
;;;; ibuffer
`(ibuffer-deletion-face 'dired-flagged)
+ `(ibuffer-filter-group-name-face 'dired-mark)
`(ibuffer-marked-face 'dired-marked)
+ `(ibuffer-title-face 'dired-header)
;;;; hl-todo
`(hl-todo-keyword-faces
'(("HOLD" . ,yellow-alt)
@@ -2856,7 +3306,7 @@ between foreground and background is >= 7:1)."
;;;###autoload
(when load-file-name
(add-to-list 'custom-theme-load-path
- (file-name-as-directory (file-name-directory load-file-name))))
+ (file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'modus-operandi)