Make whitespace-mode much more subtle; add semantic colour mappings

The previous style involved the use of a dim grey background.  While
this is good to spot invisible characters quickly, it is bad for users
who want to run 'whitespace-mode' at all times (e.g. for Python which
is space-sensitive).

We thus remove the backgrounds by default but provide the option to
reinstate them via palette overrides (as documented at length in the
manual).  To this end, we have two new semantic colour mappings for
ordinary negative space and its invisible characters.

Thanks to Christian Tietze and Oliver Epper for their feedback in
issue 80 on the GitHub mirror: <https://github.com/protesilaos/modus-themes/issues/80>.
This commit is contained in:
Protesilaos Stavrou 2023-05-17 07:17:45 +03:00
parent 36aeb9d8f8
commit fe028304d4
No known key found for this signature in database
GPG key ID: 99BD6459CD5CA3EA
7 changed files with 36 additions and 6 deletions

View file

@ -345,6 +345,11 @@ standard).")
(rainbow-7 yellow-faint)
(rainbow-8 cyan)
;;;; Space mappings
(bg-space unspecified)
(fg-space border)
;;;; Heading mappings
(fg-heading-0 cyan-cooler)

View file

@ -343,6 +343,11 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer)
;;;; Space mappings
(bg-space unspecified)
(fg-space border)
;;;; Heading mappings
(fg-heading-0 cyan-cooler)

View file

@ -342,6 +342,11 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer)
;;;; Space mappings
(bg-space unspecified)
(fg-space border)
;;;; Heading mappings
(fg-heading-0 cyan-cooler)

View file

@ -3935,14 +3935,14 @@ FG and BG are the main colors."
;;;;; whitespace-mode
`(whitespace-big-indent ((,c :inherit modus-themes-subtle-red)))
`(whitespace-empty ((,c :inherit modus-themes-intense-magenta)))
`(whitespace-hspace ((,c :background ,bg-dim :foreground ,fg-dim)))
`(whitespace-indentation ((,c :background ,bg-dim :foreground ,fg-dim)))
`(whitespace-line ((,c :inherit modus-themes-subtle-yellow)))
`(whitespace-newline ((,c :background ,bg-dim :foreground ,fg-dim)))
`(whitespace-space ((,c :background ,bg-dim :foreground ,fg-dim)))
`(whitespace-hspace ((,c :background ,bg-space :foreground ,fg-space)))
`(whitespace-indentation ((,c :background ,bg-space :foreground ,fg-space)))
`(whitespace-line ((,c :background ,bg-space :foreground ,warning)))
`(whitespace-newline ((,c :background ,bg-space :foreground ,fg-space)))
`(whitespace-space ((,c :background ,bg-space :foreground ,fg-space)))
`(whitespace-space-after-tab ((,c :inherit modus-themes-subtle-magenta)))
`(whitespace-space-before-tab ((,c :inherit modus-themes-subtle-cyan)))
`(whitespace-tab ((,c :background ,bg-dim :foreground ,fg-dim)))
`(whitespace-tab ((,c :background ,bg-space :foreground ,fg-space)))
`(whitespace-trailing ((,c :inherit modus-themes-intense-red)))
;;;;; window-divider-mode
`(window-divider ((,c :foreground ,border)))

View file

@ -344,6 +344,11 @@ standard).")
(rainbow-7 blue-faint)
(rainbow-8 magenta-faint)
;;;; Space mappings
(bg-space unspecified)
(fg-space border)
;;;; Heading mappings
(fg-heading-0 cyan-cooler)

View file

@ -342,6 +342,11 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer)
;;;; Space mappings
(bg-space unspecified)
(fg-space border)
;;;; Heading mappings
(fg-heading-0 cyan-cooler)

View file

@ -342,6 +342,11 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer)
;;;; Space mappings
(bg-space unspecified)
(fg-space border)
;;;; Heading mappings
(fg-heading-0 cyan-cooler)