From 9bc7b6272341881022b5c5e3c8f306b149434a23 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Fri, 6 Dec 2019 16:29:54 +0100 Subject: Add kludge for Emacs 27's new :extend attribute While in there, ask Magit to highlight the current diff context. --- eighters-theme.el | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'eighters-theme.el') diff --git a/eighters-theme.el b/eighters-theme.el index 8d415de..8fbe4f6 100644 --- a/eighters-theme.el +++ b/eighters-theme.el @@ -13,6 +13,11 @@ ;; can be set individually for different computers in .Xresources; see ;; xrdb(1), Xsession(5) and (emacs) Fonts. +(defun eighters--block (spec) + (if (>= emacs-major-version 27) + (append spec '(:extend t)) + spec)) + (custom-theme-set-faces 'eighters '(default ((t (:background "black" :foreground "gainsboro")))) @@ -48,9 +53,9 @@ '(mode-line-inactive ((t (:foreground "gray70" :background "gray25" :inherit (mode-line))))) '(mode-line-buffer-id ((t (:weight bold)))) ;; Main diff faces, and heirs. - '(diff-added ((t (:background "#12222f")))) - '(diff-removed ((t (:background "#2f1e00")))) - '(diff-changed ((t (:background "#2f2800")))) + `(diff-added ((t ,(eighters--block '(:background "#12222f"))))) + `(diff-removed ((t ,(eighters--block '(:background "#2f1e00"))))) + `(diff-changed ((t ,(eighters--block '(:background "#2f2800"))))) '(diff-refine-added ((t (:background "#1b3347")))) '(diff-refine-removed ((t (:background "#472e00")))) '(diff-refine-changed ((t (:background "#473c00")))) @@ -73,14 +78,14 @@ '(diff-file-header ((t (:foreground "cyan" :weight bold)))) '(ediff-current-diff-Ancestor ((t (:background "#2f0921")))) '(ediff-fine-diff-Ancestor ((t (:background "#470e32")))) - '(ediff-even-diff-A ((t (:inherit (highlight))))) - '(ediff-odd-diff-A ((t (:inherit (highlight))))) - '(ediff-even-diff-B ((t (:inherit (highlight))))) - '(ediff-odd-diff-B ((t (:inherit (highlight))))) - '(ediff-even-diff-C ((t (:inherit (highlight))))) - '(ediff-odd-diff-C ((t (:inherit (highlight))))) - '(ediff-even-diff-Ancestor ((t (:inherit (highlight))))) - '(ediff-odd-diff-Ancestor ((t (:inherit (highlight))))) + `(ediff-even-diff-A ((t ,(eighters--block '(:inherit (highlight)))))) + `(ediff-odd-diff-A ((t ,(eighters--block '(:inherit (highlight)))))) + `(ediff-even-diff-B ((t ,(eighters--block '(:inherit (highlight)))))) + `(ediff-odd-diff-B ((t ,(eighters--block '(:inherit (highlight)))))) + `(ediff-even-diff-C ((t ,(eighters--block '(:inherit (highlight)))))) + `(ediff-odd-diff-C ((t ,(eighters--block '(:inherit (highlight)))))) + `(ediff-even-diff-Ancestor ((t ,(eighters--block '(:inherit (highlight)))))) + `(ediff-odd-diff-Ancestor ((t ,(eighters--block '(:inherit (highlight)))))) '(term-color-black ((t (:foreground "black" :background "black")))) '(term-color-blue ((t (:foreground "steelblue1" :background "steelblue1")))) '(term-color-cyan ((t (:foreground "cyan" :background "cyan")))) @@ -101,7 +106,7 @@ '(outline-6 ((t (:height 1.0 :inherit (variable-pitch font-lock-function-name-face))))) '(outline-7 ((t (:height 1.0 :inherit (variable-pitch font-lock-function-name-face))))) '(outline-8 ((t (:height 1.0 :inherit (variable-pitch font-lock-function-name-face))))) - '(org-block ((t (:inherit (highlight))))) + `(org-block ((t ,(eighters--block '(:inherit (highlight)))))) '(org-date ((t (:inherit (font-lock-string-face))))) '(org-special-keyword ((t (:weight bold :inherit (font-lock-comment-face))))) '(org-tag ((t (:inherit (font-lock-constant-face button))))) @@ -119,14 +124,14 @@ '(magit-blame-highlight ((t (:weight normal :slant normal :inherit (highlight shadow))))) '(magit-blame-margin ((t (:slant normal :box (:line-width 1 :style released-button) :inherit (font-lock-function-name-face))))) '(magit-diff-context ((t (:inherit (shadow))))) - '(magit-diff-context-highlight ((t (:inherit (shadow))))) + `(magit-diff-context-highlight ((t ,(eighters--block '(:inherit (shadow highlight)))))) '(magit-diff-added ((t (:inherit (diff-added))))) '(magit-diff-added-highlight ((t (:inherit (diff-added))))) '(magit-diff-removed ((t (:inherit (diff-removed))))) '(magit-diff-removed-highlight ((t (:inherit (diff-removed))))) '(magit-diffstat-added ((t (:inherit (diff-indicator-added))))) '(magit-diffstat-removed ((t (:inherit (diff-indicator-removed))))) - '(magit-section-highlight ((t (:inherit (highlight)))))) + `(magit-section-highlight ((t ,(eighters--block '(:inherit (highlight))))))) (custom-theme-set-variables 'eighters '(ansi-color-names-vector -- cgit v1.2.3