[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/modus-vivendi-theme 0c4f871 029/110: Major review of ED
From: |
Stefan Monnier |
Subject: |
[elpa] externals/modus-vivendi-theme 0c4f871 029/110: Major review of EDIFF (superior UI/semantics) |
Date: |
Wed, 29 Apr 2020 21:40:00 -0400 (EDT) |
branch: externals/modus-vivendi-theme
commit 0c4f871516cbe0001f1443bf4e848d59934f870e
Author: Protesilaos Stavrou <address@hidden>
Commit: Protesilaos Stavrou <address@hidden>
Major review of EDIFF (superior UI/semantics)
This patch has a two-fold effect:
1. Allow `ediff' to use the new customisation option for subtle diffs,
which was introduced in commit 88489ed.
2. Use colours that are consistent with the semantics of each element.
This means to make things similar to how a regular diff would look
(using variations of red and green). For three-way comparisons, we
have variations of red, green, and yellow.
Furthermore, a new set of "neutral" diff colours is added to each
theme's palette. These are currently used by `ediff' to style the
unfocused diff hunks and the common ancestor where appropriate.
Overall, `ediff' should now feel consistent with all other modes that
display similar output. Additional refinements are still possible,
provided there is user feedback to that end.
---
README.org | 18 +++++++++---------
modus-operandi-theme.el | 50 ++++++++++++++++++++++++++++++++-----------------
modus-vivendi-theme.el | 50 ++++++++++++++++++++++++++++++++-----------------
3 files changed, 75 insertions(+), 43 deletions(-)
diff --git a/README.org b/README.org
index 9cb252b..a377efd 100644
--- a/README.org
+++ b/README.org
@@ -161,15 +161,15 @@ theme of your choice):
(setq modus-vivendi-theme-distinct-org-blocks nil)
-;; Display `diff-mode' and `magit' diff buffers with fewer background
-;; colours (the default is to use colour-coded backgrounds for line-wise
-;; highlights). This means that only accented foreground values are
-;; used for affected lines: green for added, red for removed, yellow for
-;; changed. "Refined" changes (word-wise highlights) still use a
-;; background value which is, nonetheless, more subtle than its default
-;; equivalent. For `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 this tool.
+;; Display `diff-mode', `ediff', and `magit' diff buffers with fewer
+;; background colours (the default is to use colour-coded backgrounds
+;; for line-wise highlights). This means that only accented foreground
+;; values are used for affected lines: green for added, red for removed,
+;; yellow for changed. "Refined" changes (word-wise highlights) still
+;; use a background value which is, nonetheless, more subtle than its
+;; default equivalent. For `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 this tool.
(setq modus-operandi-theme-subtle-diffs nil)
(setq modus-vivendi-theme-subtle-diffs nil)
diff --git a/modus-operandi-theme.el b/modus-operandi-theme.el
index 1cb2709..feca84f 100644
--- a/modus-operandi-theme.el
+++ b/modus-operandi-theme.el
@@ -386,7 +386,7 @@ between foreground and background is >= 7:1)."
:type 'boolean)
(defcustom modus-operandi-theme-subtle-diffs nil
- "Use fewer background colours in `diff-mode' and related."
+ "Use fewer/dim backgrounds in `diff-mode', `ediff',`magit'."
:type 'boolean)
(defmacro modus-operandi-theme-diffs (subtle-bg subtle-fg intense-bg
intense-fg)
@@ -521,13 +521,16 @@ AMOUNT is a customisation option."
(bg-hl-line "#f1f2f6")
(bg-paren-match "#efcabf")
(bg-region "#bcbcbc")
+
(bg-tab-active "#ababab")
(bg-tab-inactive "#dadada")
(fg-tab-active "#000077")
+
(fg-window-divider-inner "#888888")
(fg-window-divider-outer "#585858")
(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")
@@ -538,6 +541,11 @@ AMOUNT is a customisation option."
(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")
@@ -1191,22 +1199,30 @@ AMOUNT is a customisation option."
`(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))))
;;;; eldoc-box
`(eldoc-box-body ((,class (:background ,bg-alt :foreground ,fg-main))))
`(eldoc-box-border ((,class (:background ,fg-alt))))
diff --git a/modus-vivendi-theme.el b/modus-vivendi-theme.el
index 9f0c146..bb678ce 100644
--- a/modus-vivendi-theme.el
+++ b/modus-vivendi-theme.el
@@ -386,7 +386,7 @@ between foreground and background is >= 7:1)."
:type 'boolean)
(defcustom modus-vivendi-theme-subtle-diffs nil
- "Use fewer background colours in `diff-mode' and related."
+ "Use fewer/dim backgrounds in `diff-mode', `ediff',`magit'."
:type 'boolean)
(defmacro modus-vivendi-theme-diffs (subtle-bg subtle-fg intense-bg intense-fg)
@@ -521,13 +521,16 @@ AMOUNT is a customisation option."
(bg-hl-line "#151823")
(bg-paren-match "#6e3a50")
(bg-region "#3c3c3c")
+
(bg-tab-active "#484848")
(bg-tab-inactive "#2f2f2f")
(fg-tab-active "#99efff")
+
(fg-window-divider-inner "#646464")
(fg-window-divider-outer "#969696")
(fg-header "#dddddd") (bg-header "#2a2a2a")
(fg-whitespace "#a4959f") (bg-whitespace "#170016")
+
(fg-diff-heading "#dadffe") (bg-diff-heading "#304466")
(fg-diff-added "#94ba94") (bg-diff-added "#0a280a")
(fg-diff-changed "#b0ba9f") (bg-diff-changed "#2a2000")
@@ -538,6 +541,11 @@ AMOUNT is a customisation option."
(fg-diff-focus-added "#b4ddb4") (bg-diff-focus-added "#203d20")
(fg-diff-focus-changed "#d0daaf") (bg-diff-focus-changed "#4a3a10")
(fg-diff-focus-removed "#eebdba") (bg-diff-focus-removed "#5e2526")
+
+ (fg-diff-neutral-0 "#fcfcfc") (bg-diff-neutral-0 "#575757")
+ (fg-diff-neutral-1 "#dddddd") (bg-diff-neutral-1 "#454545")
+ (fg-diff-neutral-2 "#bfbfbf") (bg-diff-neutral-2 "#313131")
+
(fg-mark "#60cfa2") (bg-mark "#002f2f")
(fg-mark-del "#ff99aa") (bg-mark-del "#5a0000")
(fg-mark-other "#f0aa20") (bg-mark-other "#3f2210")
@@ -1191,22 +1199,30 @@ AMOUNT is a customisation option."
`(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-vivendi-theme-diffs
+ bg-alt red
+ bg-diff-removed fg-diff-removed))))
+ `(ediff-current-diff-Ancestor ((,class ,(modus-vivendi-theme-diffs
+ bg-alt fg-special-cold
+ bg-special-cold fg-special-cold))))
+ `(ediff-current-diff-B ((,class ,(modus-vivendi-theme-diffs
+ bg-alt green
+ bg-diff-added fg-diff-added))))
+ `(ediff-current-diff-C ((,class ,(modus-vivendi-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))))
;;;; eldoc-box
`(eldoc-box-body ((,class (:background ,bg-alt :foreground ,fg-main))))
`(eldoc-box-border ((,class (:background ,fg-alt))))
- [elpa] externals/modus-vivendi-theme 52a247a 087/110: Expand README with table of contents and more docs, (continued)
- [elpa] externals/modus-vivendi-theme 52a247a 087/110: Expand README with table of contents and more docs, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 44f75d3 107/110: Internal: refine Modus Operandi main green values, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 29078bd 109/110: Upgrade to version 0.8.0, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 95c073b 080/110: Add support for RCIRC, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 1c605b3 085/110: Internal: improve function of "section headings", Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 23889e0 090/110: Section heading style for Org priorities, keywords, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme cd9cce9 093/110: Refine HYDRA colours, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 277c202 099/110: Review ELFEED faces, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 2101557 105/110: Use less intense foreground for fringe indicators, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme d68b1e3 031/110: Major review of SMERGE faces, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 0c4f871 029/110: Major review of EDIFF (superior UI/semantics),
Stefan Monnier <=
- [elpa] externals/modus-vivendi-theme 5107407 059/110: Internal: convert two defmacro into defun, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 7a7e22c 060/110: Internal: reorganise `defun' initial placement, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme e50f582 064/110: Internal: add page breaks for convenience (the ^L), Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 1921e3b 088/110: Use web-friendly href for README table of contents, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 48b9df3 083/110: Use optional slanted text for Git commits (Magit), Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme e0c57fe 084/110: Add support for VTERM, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 66416bc 092/110: Tweak `message-mml' face, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 35fbfb7 032/110: Expand and refine MAGIT faces, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme 5767a3d 037/110: Add support for WINUM, Stefan Monnier, 2020/04/29
- [elpa] externals/modus-vivendi-theme a5f8651 036/110: Add support for FORGE (magit issue tracker), Stefan Monnier, 2020/04/29