Update modus-themes to their 4.4.0 version

* doc/misc/modus-themes.org: Update the manual to better document
existing functionality and cover the new features.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-operandi-tritanopia-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el:
* etc/themes/modus-vivendi-tritanopia-theme.el: Update the
palette of each theme.

* etc/themes/modus-themes.el (require): Remove call to cl-lib
and do not use relevant functions.
(modus-themes-operandi-colors, modus-themes-vivendi-colors)
(modus-themes-version, modus-themes-report-bug): Remove old
calls to 'make-obsolete' and related.

(modus-themes--annotate-theme): Tweak the completion annotation function.

(modus-themes--org-block): Deprecate the user option 'modus-themes-org-blocks'.
(modus-themes-faces): Update faces.
(modus-themes-custom-variables): Update the list of custom
variables.

Detailed release notes are available here:
<https://protesilaos.com/codelog/2024-03-17-modus-themes-4-4-0/>.
This commit is contained in:
Protesilaos Stavrou 2024-03-17 18:46:15 +02:00
parent 21828f288e
commit 67b0c1c09e
No known key found for this signature in database
GPG key ID: 99BD6459CD5CA3EA
12 changed files with 1427 additions and 1278 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,11 +1,10 @@
;;; modus-operandi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a white background -*- lexical-binding:t -*- ;;; modus-operandi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a white background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2024 Free Software Foundation, Inc. ;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com> ;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; URL: https://github.com/protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
;; Keywords: faces, theme, accessibility ;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -128,12 +127,12 @@ standard)."
(bg-magenta-subtle "#ffddff") (bg-magenta-subtle "#ffddff")
(bg-cyan-subtle "#bfefff") (bg-cyan-subtle "#bfefff")
(bg-red-nuanced "#fff1f0") (bg-red-nuanced "#ffe8e8")
(bg-green-nuanced "#ecf7ed") (bg-green-nuanced "#e0f6e0")
(bg-yellow-nuanced "#fff3da") (bg-yellow-nuanced "#f8f0d0")
(bg-blue-nuanced "#f3f3ff") (bg-blue-nuanced "#ecedff")
(bg-magenta-nuanced "#fdf0ff") (bg-magenta-nuanced "#f8e6f5")
(bg-cyan-nuanced "#ebf6fa") (bg-cyan-nuanced "#e0f2fa")
;;; Uncommon accent backgrounds ;;; Uncommon accent backgrounds
@ -212,6 +211,7 @@ standard)."
;;; Paren match ;;; Paren match
(bg-paren-match "#5fcfff") (bg-paren-match "#5fcfff")
(fg-paren-match fg-main)
(bg-paren-expression "#efd3f5") (bg-paren-expression "#efd3f5")
(underline-paren-match unspecified) (underline-paren-match unspecified)
@ -241,6 +241,11 @@ standard)."
(bg-prominent-note bg-cyan-intense) (bg-prominent-note bg-cyan-intense)
(fg-prominent-note fg-main) (fg-prominent-note fg-main)
(bg-active-argument bg-yellow-nuanced)
(fg-active-argument yellow-warmer)
(bg-active-value bg-blue-nuanced)
(fg-active-value blue-warmer)
;;;; Code mappings ;;;; Code mappings
(builtin magenta-warmer) (builtin magenta-warmer)
@ -289,7 +294,7 @@ standard)."
(date-event fg-alt) (date-event fg-alt)
(date-holiday yellow-warmer) (date-holiday yellow-warmer)
(date-holiday-other blue) (date-holiday-other blue)
(date-now blue-faint) (date-now fg-main)
(date-range fg-alt) (date-range fg-alt)
(date-scheduled yellow-cooler) (date-scheduled yellow-cooler)
(date-weekday cyan) (date-weekday cyan)
@ -343,16 +348,29 @@ standard)."
;;;; Prose mappings ;;;; Prose mappings
(prose-block fg-dim) (bg-prose-block-delimiter bg-dim)
(prose-code cyan-cooler) (fg-prose-block-delimiter fg-dim)
(bg-prose-block-contents bg-dim)
(bg-prose-code unspecified)
(fg-prose-code cyan-cooler)
(bg-prose-macro unspecified)
(fg-prose-macro magenta-cooler)
(bg-prose-verbatim unspecified)
(fg-prose-verbatim magenta-warmer)
(prose-done blue) (prose-done blue)
(prose-macro magenta-cooler) (prose-todo yellow-warmer)
(prose-metadata fg-dim) (prose-metadata fg-dim)
(prose-metadata-value fg-alt) (prose-metadata-value fg-alt)
(prose-table fg-alt) (prose-table fg-alt)
(prose-table-formula yellow-warmer)
(prose-tag magenta-faint) (prose-tag magenta-faint)
(prose-todo yellow-warmer)
(prose-verbatim magenta-warmer)
;;;; Rainbow mappings ;;;; Rainbow mappings
@ -366,6 +384,17 @@ standard)."
(rainbow-7 yellow-faint) (rainbow-7 yellow-faint)
(rainbow-8 cyan) (rainbow-8 cyan)
;;;; Search mappings
(bg-search-current bg-yellow-intense)
(bg-search-lazy bg-blue-intense)
(bg-search-replace bg-magenta-intense)
(bg-search-rx-group-0 bg-cyan-intense)
(bg-search-rx-group-1 bg-magenta-intense)
(bg-search-rx-group-2 bg-blue-subtle)
(bg-search-rx-group-3 bg-yellow-subtle)
;;;; Space mappings ;;;; Space mappings
(bg-space unspecified) (bg-space unspecified)
@ -374,10 +403,10 @@ standard)."
;;;; Terminal mappings ;;;; Terminal mappings
(bg-term-black "black") (bg-term-black "#000000")
(fg-term-black "black") (fg-term-black "#000000")
(bg-term-black-bright "gray35") (bg-term-black-bright "#595959")
(fg-term-black-bright "gray35") (fg-term-black-bright "#595959")
(bg-term-red red) (bg-term-red red)
(fg-term-red red) (fg-term-red red)
@ -409,10 +438,10 @@ standard)."
(bg-term-cyan-bright cyan-cooler) (bg-term-cyan-bright cyan-cooler)
(fg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler)
(bg-term-white "gray65") (bg-term-white "#a6a6a6")
(fg-term-white "gray65") (fg-term-white "#a6a6a6")
(bg-term-white-bright "white") (bg-term-white-bright "#ffffff")
(fg-term-white-bright "white") (fg-term-white-bright "#ffffff")
;;;; Heading mappings ;;;; Heading mappings

View file

@ -1,11 +1,10 @@
;;; modus-operandi-theme.el --- Elegant, highly legible theme with a white background -*- lexical-binding:t -*- ;;; modus-operandi-theme.el --- Elegant, highly legible theme with a white background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2024 Free Software Foundation, Inc. ;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com> ;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; URL: https://github.com/protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
;; Keywords: faces, theme, accessibility ;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -126,12 +125,12 @@ which corresponds to a minimum contrast in relative luminance of
(bg-magenta-subtle "#ffddff") (bg-magenta-subtle "#ffddff")
(bg-cyan-subtle "#bfefff") (bg-cyan-subtle "#bfefff")
(bg-red-nuanced "#fff1f0") (bg-red-nuanced "#ffe8e8")
(bg-green-nuanced "#ecf7ed") (bg-green-nuanced "#e0f6e0")
(bg-yellow-nuanced "#fff3da") (bg-yellow-nuanced "#f8f0d0")
(bg-blue-nuanced "#f3f3ff") (bg-blue-nuanced "#ecedff")
(bg-magenta-nuanced "#fdf0ff") (bg-magenta-nuanced "#f8e6f5")
(bg-cyan-nuanced "#ebf6fa") (bg-cyan-nuanced "#e0f2fa")
;;; Uncommon accent backgrounds ;;; Uncommon accent backgrounds
@ -210,6 +209,7 @@ which corresponds to a minimum contrast in relative luminance of
;;; Paren match ;;; Paren match
(bg-paren-match "#5fcfff") (bg-paren-match "#5fcfff")
(fg-paren-match fg-main)
(bg-paren-expression "#efd3f5") (bg-paren-expression "#efd3f5")
(underline-paren-match unspecified) (underline-paren-match unspecified)
@ -239,6 +239,11 @@ which corresponds to a minimum contrast in relative luminance of
(bg-prominent-note bg-cyan-intense) (bg-prominent-note bg-cyan-intense)
(fg-prominent-note fg-main) (fg-prominent-note fg-main)
(bg-active-argument bg-yellow-nuanced)
(fg-active-argument yellow-warmer)
(bg-active-value bg-cyan-nuanced)
(fg-active-value cyan-warmer)
;;;; Code mappings ;;;; Code mappings
(builtin magenta-warmer) (builtin magenta-warmer)
@ -341,16 +346,29 @@ which corresponds to a minimum contrast in relative luminance of
;;;; Prose mappings ;;;; Prose mappings
(prose-block fg-dim) (bg-prose-block-delimiter bg-dim)
(prose-code green-cooler) (fg-prose-block-delimiter fg-dim)
(bg-prose-block-contents bg-dim)
(bg-prose-code unspecified)
(fg-prose-code cyan-cooler)
(bg-prose-macro unspecified)
(fg-prose-macro magenta-cooler)
(bg-prose-verbatim unspecified)
(fg-prose-verbatim magenta-warmer)
(prose-done green) (prose-done green)
(prose-macro magenta-cooler) (prose-todo red)
(prose-metadata fg-dim) (prose-metadata fg-dim)
(prose-metadata-value fg-alt) (prose-metadata-value fg-alt)
(prose-table fg-alt) (prose-table fg-alt)
(prose-table-formula magenta-warmer)
(prose-tag magenta-faint) (prose-tag magenta-faint)
(prose-todo red)
(prose-verbatim magenta-warmer)
;;;; Rainbow mappings ;;;; Rainbow mappings
@ -364,6 +382,17 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer) (rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer) (rainbow-8 magenta-warmer)
;;;; Search mappings
(bg-search-current bg-yellow-intense)
(bg-search-lazy bg-cyan-intense)
(bg-search-replace bg-red-intense)
(bg-search-rx-group-0 bg-blue-intense)
(bg-search-rx-group-1 bg-green-intense)
(bg-search-rx-group-2 bg-red-subtle)
(bg-search-rx-group-3 bg-magenta-subtle)
;;;; Space mappings ;;;; Space mappings
(bg-space unspecified) (bg-space unspecified)
@ -372,10 +401,10 @@ which corresponds to a minimum contrast in relative luminance of
;;;; Terminal mappings ;;;; Terminal mappings
(bg-term-black "black") (bg-term-black "#000000")
(fg-term-black "black") (fg-term-black "#000000")
(bg-term-black-bright "gray35") (bg-term-black-bright "#595959")
(fg-term-black-bright "gray35") (fg-term-black-bright "#595959")
(bg-term-red red) (bg-term-red red)
(fg-term-red red) (fg-term-red red)
@ -407,10 +436,10 @@ which corresponds to a minimum contrast in relative luminance of
(bg-term-cyan-bright cyan-cooler) (bg-term-cyan-bright cyan-cooler)
(fg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler)
(bg-term-white "gray65") (bg-term-white "#a6a6a6")
(fg-term-white "gray65") (fg-term-white "#a6a6a6")
(bg-term-white-bright "white") (bg-term-white-bright "#ffffff")
(fg-term-white-bright "white") (fg-term-white-bright "#ffffff")
;;;; Heading mappings ;;;; Heading mappings

View file

@ -1,11 +1,11 @@
;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ocher background -*- lexical-binding:t -*- ;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ochre background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2024 Free Software Foundation, Inc. ;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com> ;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; URL: https://github.com/protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes ;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -44,7 +44,7 @@
;;;###theme-autoload ;;;###theme-autoload
(deftheme modus-operandi-tinted (deftheme modus-operandi-tinted
"Elegant, highly legible theme with a light ocher background. "Elegant, highly legible theme with a light ochre background.
Conforms with the highest legibility standard for color contrast Conforms with the highest legibility standard for color contrast
between background and foreground in any given piece of text, between background and foreground in any given piece of text,
which corresponds to a minimum contrast in relative luminance of which corresponds to a minimum contrast in relative luminance of
@ -125,12 +125,12 @@ which corresponds to a minimum contrast in relative luminance of
(bg-magenta-subtle "#ffddff") (bg-magenta-subtle "#ffddff")
(bg-cyan-subtle "#bfefff") (bg-cyan-subtle "#bfefff")
(bg-red-nuanced "#ffe8f0") (bg-red-nuanced "#ffe8e8")
(bg-green-nuanced "#e0f5e0") (bg-green-nuanced "#e0f6e0")
(bg-yellow-nuanced "#f9ead0") (bg-yellow-nuanced "#f8f0d0")
(bg-blue-nuanced "#ebebff") (bg-blue-nuanced "#ecedff")
(bg-magenta-nuanced "#f6e7ff") (bg-magenta-nuanced "#f8e6f5")
(bg-cyan-nuanced "#e1f3fc") (bg-cyan-nuanced "#e0f2fa")
;;; Uncommon accent backgrounds ;;; Uncommon accent backgrounds
@ -209,6 +209,7 @@ which corresponds to a minimum contrast in relative luminance of
;;; Paren match ;;; Paren match
(bg-paren-match "#7fdfcf") (bg-paren-match "#7fdfcf")
(fg-paren-match fg-main)
(bg-paren-expression "#efd3f5") (bg-paren-expression "#efd3f5")
(underline-paren-match unspecified) (underline-paren-match unspecified)
@ -217,9 +218,9 @@ which corresponds to a minimum contrast in relative luminance of
;;;; General mappings ;;;; General mappings
(fringe bg-dim) (fringe bg-dim)
(cursor red) (cursor red-intense)
(keybind blue-cooler) (keybind red)
(name magenta) (name magenta)
(identifier yellow-cooler) (identifier yellow-cooler)
@ -238,6 +239,11 @@ which corresponds to a minimum contrast in relative luminance of
(bg-prominent-note bg-cyan-intense) (bg-prominent-note bg-cyan-intense)
(fg-prominent-note fg-main) (fg-prominent-note fg-main)
(bg-active-argument bg-yellow-nuanced)
(fg-active-argument yellow-warmer)
(bg-active-value bg-cyan-nuanced)
(fg-active-value cyan-warmer)
;;;; Code mappings ;;;; Code mappings
(builtin magenta-warmer) (builtin magenta-warmer)
@ -340,16 +346,29 @@ which corresponds to a minimum contrast in relative luminance of
;;;; Prose mappings ;;;; Prose mappings
(prose-block fg-dim) (bg-prose-block-delimiter bg-dim)
(prose-code green-cooler) (fg-prose-block-delimiter fg-dim)
(bg-prose-block-contents bg-dim)
(bg-prose-code unspecified)
(fg-prose-code cyan-cooler)
(bg-prose-macro unspecified)
(fg-prose-macro magenta-cooler)
(bg-prose-verbatim unspecified)
(fg-prose-verbatim magenta-warmer)
(prose-done green) (prose-done green)
(prose-macro magenta-cooler) (prose-todo red)
(prose-metadata fg-dim) (prose-metadata fg-dim)
(prose-metadata-value fg-alt) (prose-metadata-value fg-alt)
(prose-table fg-alt) (prose-table fg-alt)
(prose-table-formula magenta-warmer)
(prose-tag magenta-faint) (prose-tag magenta-faint)
(prose-todo red)
(prose-verbatim magenta-warmer)
;;;; Rainbow mappings ;;;; Rainbow mappings
@ -363,6 +382,17 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer) (rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer) (rainbow-8 magenta-warmer)
;;;; Search mappings
(bg-search-current bg-yellow-intense)
(bg-search-lazy bg-cyan-intense)
(bg-search-replace bg-red-intense)
(bg-search-rx-group-0 bg-blue-intense)
(bg-search-rx-group-1 bg-green-intense)
(bg-search-rx-group-2 bg-red-subtle)
(bg-search-rx-group-3 bg-magenta-subtle)
;;;; Space mappings ;;;; Space mappings
(bg-space unspecified) (bg-space unspecified)
@ -371,10 +401,10 @@ which corresponds to a minimum contrast in relative luminance of
;;;; Terminal mappings ;;;; Terminal mappings
(bg-term-black "black") (bg-term-black "#000000")
(fg-term-black "black") (fg-term-black "#000000")
(bg-term-black-bright "gray35") (bg-term-black-bright "#595959")
(fg-term-black-bright "gray35") (fg-term-black-bright "#595959")
(bg-term-red red) (bg-term-red red)
(fg-term-red red) (fg-term-red red)
@ -406,10 +436,10 @@ which corresponds to a minimum contrast in relative luminance of
(bg-term-cyan-bright cyan-cooler) (bg-term-cyan-bright cyan-cooler)
(fg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler)
(bg-term-white "gray65") (bg-term-white "#a6a6a6")
(fg-term-white "gray65") (fg-term-white "#a6a6a6")
(bg-term-white-bright "white") (bg-term-white-bright "#ffffff")
(fg-term-white-bright "white") (fg-term-white-bright "#ffffff")
;;;; Heading mappings ;;;; Heading mappings

View file

@ -1,11 +1,10 @@
;;; modus-operandi-tritanopia-theme.el --- Tritanopia-optimized theme with a white background -*- lexical-binding:t -*- ;;; modus-operandi-tritanopia-theme.el --- Tritanopia-optimized theme with a white background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2024 Free Software Foundation, Inc. ;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com> ;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; URL: https://github.com/protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
;; Keywords: faces, theme, accessibility ;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -128,12 +127,12 @@ standard)."
(bg-magenta-subtle "#ffddff") (bg-magenta-subtle "#ffddff")
(bg-cyan-subtle "#bfefff") (bg-cyan-subtle "#bfefff")
(bg-red-nuanced "#fff1f0") (bg-red-nuanced "#ffe8e8")
(bg-green-nuanced "#ecf7ed") (bg-green-nuanced "#e0f6e0")
(bg-yellow-nuanced "#fff3da") (bg-yellow-nuanced "#f8f0d0")
(bg-blue-nuanced "#f3f3ff") (bg-blue-nuanced "#ecedff")
(bg-magenta-nuanced "#fdf0ff") (bg-magenta-nuanced "#f8e6f5")
(bg-cyan-nuanced "#ebf6fa") (bg-cyan-nuanced "#e0f2fa")
;;; Uncommon accent backgrounds ;;; Uncommon accent backgrounds
@ -212,6 +211,7 @@ standard)."
;;; Paren match ;;; Paren match
(bg-paren-match "#5fcfff") (bg-paren-match "#5fcfff")
(fg-paren-match fg-main)
(bg-paren-expression "#efd3f5") (bg-paren-expression "#efd3f5")
(underline-paren-match unspecified) (underline-paren-match unspecified)
@ -241,6 +241,11 @@ standard)."
(bg-prominent-note bg-cyan-intense) (bg-prominent-note bg-cyan-intense)
(fg-prominent-note fg-main) (fg-prominent-note fg-main)
(bg-active-argument bg-red-nuanced)
(fg-active-argument red-warmer)
(bg-active-value bg-cyan-nuanced)
(fg-active-value cyan)
;;;; Code mappings ;;;; Code mappings
(builtin magenta) (builtin magenta)
@ -343,16 +348,29 @@ standard)."
;;;; Prose mappings ;;;; Prose mappings
(prose-block fg-dim) (bg-prose-block-delimiter bg-dim)
(prose-code cyan) (fg-prose-block-delimiter fg-dim)
(bg-prose-block-contents bg-dim)
(bg-prose-code unspecified)
(fg-prose-code cyan)
(bg-prose-macro unspecified)
(fg-prose-macro red-warmer)
(bg-prose-verbatim unspecified)
(fg-prose-verbatim magenta-warmer)
(prose-done cyan) (prose-done cyan)
(prose-macro red-warmer) (prose-todo red)
(prose-metadata fg-dim) (prose-metadata fg-dim)
(prose-metadata-value fg-alt) (prose-metadata-value fg-alt)
(prose-table fg-alt) (prose-table fg-alt)
(prose-tag fg-alt) (prose-table-formula red-cooler)
(prose-todo red)
(prose-verbatim magenta-warmer) (prose-tag magenta-faint)
;;;; Rainbow mappings ;;;; Rainbow mappings
@ -366,6 +384,17 @@ standard)."
(rainbow-7 magenta-faint) (rainbow-7 magenta-faint)
(rainbow-8 red-faint) (rainbow-8 red-faint)
;;;; Search mappings
(bg-search-current bg-red-intense)
(bg-search-lazy bg-cyan-intense)
(bg-search-replace bg-magenta-intense)
(bg-search-rx-group-0 bg-blue-intense)
(bg-search-rx-group-1 bg-magenta-intense)
(bg-search-rx-group-2 bg-cyan-subtle)
(bg-search-rx-group-3 bg-red-subtle)
;;;; Space mappings ;;;; Space mappings
(bg-space unspecified) (bg-space unspecified)
@ -374,10 +403,10 @@ standard)."
;;;; Terminal mappings ;;;; Terminal mappings
(bg-term-black "black") (bg-term-black "#000000")
(fg-term-black "black") (fg-term-black "#000000")
(bg-term-black-bright "gray35") (bg-term-black-bright "#595959")
(fg-term-black-bright "gray35") (fg-term-black-bright "#595959")
(bg-term-red red) (bg-term-red red)
(fg-term-red red) (fg-term-red red)
@ -409,10 +438,10 @@ standard)."
(bg-term-cyan-bright cyan-cooler) (bg-term-cyan-bright cyan-cooler)
(fg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler)
(bg-term-white "gray65") (bg-term-white "#a6a6a6")
(fg-term-white "gray65") (fg-term-white "#a6a6a6")
(bg-term-white-bright "white") (bg-term-white-bright "#ffffff")
(fg-term-white-bright "white") (fg-term-white-bright "#ffffff")
;;;; Heading mappings ;;;; Heading mappings

File diff suppressed because it is too large Load diff

View file

@ -1,11 +1,11 @@
;;; modus-vivendi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a black background -*- lexical-binding:t -*- ;;; modus-vivendi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a black background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2024 Free Software Foundation, Inc. ;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com> ;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; URL: https://github.com/protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes ;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -127,12 +127,12 @@ standard)."
(bg-magenta-subtle "#552f5f") (bg-magenta-subtle "#552f5f")
(bg-cyan-subtle "#004065") (bg-cyan-subtle "#004065")
(bg-red-nuanced "#2c0614") (bg-red-nuanced "#3a0c14")
(bg-green-nuanced "#001904") (bg-green-nuanced "#092f1f")
(bg-yellow-nuanced "#221000") (bg-yellow-nuanced "#381d0f")
(bg-blue-nuanced "#0f0e39") (bg-blue-nuanced "#12154a")
(bg-magenta-nuanced "#230631") (bg-magenta-nuanced "#2f0c3f")
(bg-cyan-nuanced "#041529") (bg-cyan-nuanced "#042837")
;;; Uncommon accent backgrounds ;;; Uncommon accent backgrounds
@ -211,6 +211,7 @@ standard)."
;;; Paren match ;;; Paren match
(bg-paren-match "#2f7f9f") (bg-paren-match "#2f7f9f")
(fg-paren-match fg-main)
(bg-paren-expression "#453040") (bg-paren-expression "#453040")
(underline-paren-match unspecified) (underline-paren-match unspecified)
@ -240,6 +241,11 @@ standard)."
(bg-prominent-note bg-cyan-intense) (bg-prominent-note bg-cyan-intense)
(fg-prominent-note fg-main) (fg-prominent-note fg-main)
(bg-active-argument bg-yellow-nuanced)
(fg-active-argument yellow-warmer)
(bg-active-value bg-blue-nuanced)
(fg-active-value blue-warmer)
;;;; Code mappings ;;;; Code mappings
(builtin magenta-warmer) (builtin magenta-warmer)
@ -288,7 +294,7 @@ standard)."
(date-event fg-alt) (date-event fg-alt)
(date-holiday yellow-warmer) (date-holiday yellow-warmer)
(date-holiday-other blue) (date-holiday-other blue)
(date-now blue-faint) (date-now fg-main)
(date-range fg-alt) (date-range fg-alt)
(date-scheduled yellow-cooler) (date-scheduled yellow-cooler)
(date-weekday cyan) (date-weekday cyan)
@ -342,16 +348,29 @@ standard)."
;;;; Prose mappings ;;;; Prose mappings
(prose-block fg-dim) (bg-prose-block-delimiter bg-dim)
(prose-code cyan-cooler) (fg-prose-block-delimiter fg-dim)
(bg-prose-block-contents bg-dim)
(bg-prose-code unspecified)
(fg-prose-code cyan-cooler)
(bg-prose-macro unspecified)
(fg-prose-macro magenta-cooler)
(bg-prose-verbatim unspecified)
(fg-prose-verbatim magenta-warmer)
(prose-done blue) (prose-done blue)
(prose-macro magenta-cooler) (prose-todo yellow-warmer)
(prose-metadata fg-dim) (prose-metadata fg-dim)
(prose-metadata-value fg-alt) (prose-metadata-value fg-alt)
(prose-table fg-alt) (prose-table fg-alt)
(prose-table-formula yellow-warmer)
(prose-tag magenta-faint) (prose-tag magenta-faint)
(prose-todo yellow-warmer)
(prose-verbatim magenta-warmer)
;;;; Rainbow mappings ;;;; Rainbow mappings
@ -365,6 +384,17 @@ standard)."
(rainbow-7 blue-faint) (rainbow-7 blue-faint)
(rainbow-8 magenta-faint) (rainbow-8 magenta-faint)
;;;; Search mappings
(bg-search-current bg-yellow-intense)
(bg-search-lazy bg-blue-intense)
(bg-search-replace bg-magenta-intense)
(bg-search-rx-group-0 bg-cyan-intense)
(bg-search-rx-group-1 bg-magenta-intense)
(bg-search-rx-group-2 bg-blue-subtle)
(bg-search-rx-group-3 bg-yellow-subtle)
;;;; Space mappings ;;;; Space mappings
(bg-space unspecified) (bg-space unspecified)
@ -373,10 +403,10 @@ standard)."
;;;; Terminal mappings ;;;; Terminal mappings
(bg-term-black "black") (bg-term-black "#000000")
(fg-term-black "black") (fg-term-black "#000000")
(bg-term-black-bright "gray35") (bg-term-black-bright "#595959")
(fg-term-black-bright "gray35") (fg-term-black-bright "#595959")
(bg-term-red red) (bg-term-red red)
(fg-term-red red) (fg-term-red red)
@ -408,10 +438,10 @@ standard)."
(bg-term-cyan-bright cyan-cooler) (bg-term-cyan-bright cyan-cooler)
(fg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler)
(bg-term-white "gray65") (bg-term-white "#a6a6a6")
(fg-term-white "gray65") (fg-term-white "#a6a6a6")
(bg-term-white-bright "white") (bg-term-white-bright "#ffffff")
(fg-term-white-bright "white") (fg-term-white-bright "#ffffff")
;;;; Heading mappings ;;;; Heading mappings

View file

@ -1,11 +1,11 @@
;;; modus-vivendi-theme.el --- Elegant, highly legible theme with a black background -*- lexical-binding:t -*- ;;; modus-vivendi-theme.el --- Elegant, highly legible theme with a black background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2024 Free Software Foundation, Inc. ;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com> ;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; URL: https://github.com/protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes ;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -125,12 +125,12 @@ which corresponds to a minimum contrast in relative luminance of
(bg-magenta-subtle "#552f5f") (bg-magenta-subtle "#552f5f")
(bg-cyan-subtle "#004065") (bg-cyan-subtle "#004065")
(bg-red-nuanced "#2c0614") (bg-red-nuanced "#3a0c14")
(bg-green-nuanced "#001904") (bg-green-nuanced "#092f1f")
(bg-yellow-nuanced "#221000") (bg-yellow-nuanced "#381d0f")
(bg-blue-nuanced "#0f0e39") (bg-blue-nuanced "#12154a")
(bg-magenta-nuanced "#230631") (bg-magenta-nuanced "#2f0c3f")
(bg-cyan-nuanced "#041529") (bg-cyan-nuanced "#042837")
;;; Uncommon accent backgrounds ;;; Uncommon accent backgrounds
@ -209,6 +209,7 @@ which corresponds to a minimum contrast in relative luminance of
;;; Paren match ;;; Paren match
(bg-paren-match "#2f7f9f") (bg-paren-match "#2f7f9f")
(fg-paren-match fg-main)
(bg-paren-expression "#453040") (bg-paren-expression "#453040")
(underline-paren-match unspecified) (underline-paren-match unspecified)
@ -238,6 +239,11 @@ which corresponds to a minimum contrast in relative luminance of
(bg-prominent-note bg-cyan-intense) (bg-prominent-note bg-cyan-intense)
(fg-prominent-note fg-main) (fg-prominent-note fg-main)
(bg-active-argument bg-yellow-nuanced)
(fg-active-argument yellow-cooler)
(bg-active-value bg-cyan-nuanced)
(fg-active-value cyan-cooler)
;;;; Code mappings ;;;; Code mappings
(builtin magenta-warmer) (builtin magenta-warmer)
@ -340,16 +346,29 @@ which corresponds to a minimum contrast in relative luminance of
;;;; Prose mappings ;;;; Prose mappings
(prose-block fg-dim) (bg-prose-block-delimiter bg-dim)
(prose-code cyan-cooler) (fg-prose-block-delimiter fg-dim)
(bg-prose-block-contents bg-dim)
(bg-prose-code unspecified)
(fg-prose-code cyan-cooler)
(bg-prose-macro unspecified)
(fg-prose-macro magenta-cooler)
(bg-prose-verbatim unspecified)
(fg-prose-verbatim magenta-warmer)
(prose-done green) (prose-done green)
(prose-macro magenta-cooler) (prose-todo red)
(prose-metadata fg-dim) (prose-metadata fg-dim)
(prose-metadata-value fg-alt) (prose-metadata-value fg-alt)
(prose-table fg-alt) (prose-table fg-alt)
(prose-table-formula magenta-warmer)
(prose-tag magenta-faint) (prose-tag magenta-faint)
(prose-todo red)
(prose-verbatim magenta-warmer)
;;;; Rainbow mappings ;;;; Rainbow mappings
@ -363,6 +382,17 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer) (rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer) (rainbow-8 magenta-warmer)
;;;; Search mappings
(bg-search-current bg-yellow-intense)
(bg-search-lazy bg-cyan-intense)
(bg-search-replace bg-red-intense)
(bg-search-rx-group-0 bg-blue-intense)
(bg-search-rx-group-1 bg-green-intense)
(bg-search-rx-group-2 bg-red-subtle)
(bg-search-rx-group-3 bg-magenta-subtle)
;;;; Space mappings ;;;; Space mappings
(bg-space unspecified) (bg-space unspecified)
@ -371,10 +401,10 @@ which corresponds to a minimum contrast in relative luminance of
;;;; Terminal mappings ;;;; Terminal mappings
(bg-term-black "black") (bg-term-black "#000000")
(fg-term-black "black") (fg-term-black "#000000")
(bg-term-black-bright "gray35") (bg-term-black-bright "#595959")
(fg-term-black-bright "gray35") (fg-term-black-bright "#595959")
(bg-term-red red) (bg-term-red red)
(fg-term-red red) (fg-term-red red)
@ -406,10 +436,10 @@ which corresponds to a minimum contrast in relative luminance of
(bg-term-cyan-bright cyan-cooler) (bg-term-cyan-bright cyan-cooler)
(fg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler)
(bg-term-white "gray65") (bg-term-white "#a6a6a6")
(fg-term-white "gray65") (fg-term-white "#a6a6a6")
(bg-term-white-bright "white") (bg-term-white-bright "#ffffff")
(fg-term-white-bright "white") (fg-term-white-bright "#ffffff")
;;;; Heading mappings ;;;; Heading mappings
@ -451,7 +481,6 @@ Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
with both as symbols. The latter is a named color that already with both as symbols. The latter is a named color that already
exists in the palette and is associated with a HEX-VALUE.") exists in the palette and is associated with a HEX-VALUE.")
(defcustom modus-vivendi-palette-overrides nil (defcustom modus-vivendi-palette-overrides nil
"Overrides for `modus-vivendi-palette'. "Overrides for `modus-vivendi-palette'.

View file

@ -1,11 +1,11 @@
;;; modus-vivendi-tinted-theme.el --- Elegant, highly legible theme with a night sky background -*- lexical-binding:t -*- ;;; modus-vivendi-tinted-theme.el --- Elegant, highly legible theme with a night sky background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2024 Free Software Foundation, Inc. ;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com> ;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; URL: https://github.com/protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes ;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -125,12 +125,18 @@ which corresponds to a minimum contrast in relative luminance of
(bg-magenta-subtle "#552f5f") (bg-magenta-subtle "#552f5f")
(bg-cyan-subtle "#004065") (bg-cyan-subtle "#004065")
(bg-red-nuanced "#350f14") (bg-red-nuanced "#3a0c14")
(bg-green-nuanced "#002718") (bg-green-nuanced "#092f1f")
(bg-yellow-nuanced "#2c1f00") (bg-yellow-nuanced "#381d0f")
(bg-blue-nuanced "#131c4d") (bg-blue-nuanced "#12154a")
(bg-magenta-nuanced "#2f133f") (bg-magenta-nuanced "#2f0c3f")
(bg-cyan-nuanced "#04253f") (bg-cyan-nuanced "#042837")
;;; Uncommon accent backgrounds
(bg-ochre "#442c2f")
(bg-lavender "#38325c")
(bg-sage "#0f3d30")
;;; Graphs ;;; Graphs
@ -200,15 +206,10 @@ which corresponds to a minimum contrast in relative luminance of
(bg-diff-context "#1a1f30") (bg-diff-context "#1a1f30")
;;; Uncommon accent backgrounds
(bg-ochre "#442c2f")
(bg-lavender "#38325c")
(bg-sage "#0f3d30")
;;; Paren match ;;; Paren match
(bg-paren-match "#2f7f9f") (bg-paren-match "#5f789f")
(fg-paren-match fg-main)
(bg-paren-expression "#453040") (bg-paren-expression "#453040")
(underline-paren-match unspecified) (underline-paren-match unspecified)
@ -217,9 +218,9 @@ which corresponds to a minimum contrast in relative luminance of
;;;; General mappings ;;;; General mappings
(fringe bg-dim) (fringe bg-dim)
(cursor magenta-warmer) (cursor magenta-intense)
(keybind blue-cooler) (keybind magenta-cooler)
(name magenta) (name magenta)
(identifier yellow-faint) (identifier yellow-faint)
@ -238,6 +239,11 @@ which corresponds to a minimum contrast in relative luminance of
(bg-prominent-note bg-cyan-intense) (bg-prominent-note bg-cyan-intense)
(fg-prominent-note fg-main) (fg-prominent-note fg-main)
(bg-active-argument bg-yellow-nuanced)
(fg-active-argument yellow-cooler)
(bg-active-value bg-cyan-nuanced)
(fg-active-value cyan-cooler)
;;;; Code mappings ;;;; Code mappings
(builtin magenta-warmer) (builtin magenta-warmer)
@ -337,20 +343,32 @@ which corresponds to a minimum contrast in relative luminance of
(fg-prompt cyan-cooler) (fg-prompt cyan-cooler)
(bg-prompt unspecified) (bg-prompt unspecified)
(bg-space-err bg-red-intense)
;;;; Prose mappings ;;;; Prose mappings
(prose-block fg-dim) (bg-prose-block-delimiter bg-dim)
(prose-code cyan-cooler) (fg-prose-block-delimiter fg-dim)
(bg-prose-block-contents bg-dim)
(bg-prose-code unspecified)
(fg-prose-code cyan-cooler)
(bg-prose-macro unspecified)
(fg-prose-macro magenta-cooler)
(bg-prose-verbatim unspecified)
(fg-prose-verbatim magenta-warmer)
(prose-done green) (prose-done green)
(prose-macro magenta-cooler) (prose-todo red)
(prose-metadata fg-dim) (prose-metadata fg-dim)
(prose-metadata-value fg-alt) (prose-metadata-value fg-alt)
(prose-table fg-alt) (prose-table fg-alt)
(prose-table-formula magenta-warmer)
(prose-tag magenta-faint) (prose-tag magenta-faint)
(prose-todo red)
(prose-verbatim magenta-warmer)
;;;; Rainbow mappings ;;;; Rainbow mappings
@ -364,17 +382,29 @@ which corresponds to a minimum contrast in relative luminance of
(rainbow-7 blue-warmer) (rainbow-7 blue-warmer)
(rainbow-8 magenta-warmer) (rainbow-8 magenta-warmer)
;;;; Search mappings
(bg-search-current bg-yellow-intense)
(bg-search-lazy bg-cyan-intense)
(bg-search-replace bg-red-intense)
(bg-search-rx-group-0 bg-blue-intense)
(bg-search-rx-group-1 bg-green-intense)
(bg-search-rx-group-2 bg-red-subtle)
(bg-search-rx-group-3 bg-magenta-subtle)
;;;; Space mappings ;;;; Space mappings
(bg-space unspecified) (bg-space unspecified)
(fg-space border) (fg-space border)
(bg-space-err bg-red-intense)
;;;; Terminal mappings ;;;; Terminal mappings
(bg-term-black "black") (bg-term-black "#000000")
(fg-term-black "black") (fg-term-black "#000000")
(bg-term-black-bright "gray35") (bg-term-black-bright "#595959")
(fg-term-black-bright "gray35") (fg-term-black-bright "#595959")
(bg-term-red red) (bg-term-red red)
(fg-term-red red) (fg-term-red red)
@ -406,10 +436,10 @@ which corresponds to a minimum contrast in relative luminance of
(bg-term-cyan-bright cyan-cooler) (bg-term-cyan-bright cyan-cooler)
(fg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler)
(bg-term-white "gray65") (bg-term-white "#a6a6a6")
(fg-term-white "gray65") (fg-term-white "#a6a6a6")
(bg-term-white-bright "white") (bg-term-white-bright "#ffffff")
(fg-term-white-bright "white") (fg-term-white-bright "#ffffff")
;;;; Heading mappings ;;;; Heading mappings

View file

@ -1,11 +1,10 @@
;;; modus-vivendi-tritanopia-theme.el --- Tritanopia-optimized theme with a black background -*- lexical-binding:t -*- ;;; modus-vivendi-tritanopia-theme.el --- Tritanopia-optimized theme with a black background -*- lexical-binding:t -*-
;; Copyright (C) 2019-2024 Free Software Foundation, Inc. ;; Copyright (C) 2019-2024 Free Software Foundation, Inc.
;; Author: Protesilaos Stavrou <info@protesilaos.com> ;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; URL: https://github.com/protesilaos/modus-themes
;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
;; Keywords: faces, theme, accessibility ;; Keywords: faces, theme, accessibility
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
@ -128,12 +127,12 @@ standard)."
(bg-magenta-subtle "#552f5f") (bg-magenta-subtle "#552f5f")
(bg-cyan-subtle "#004065") (bg-cyan-subtle "#004065")
(bg-red-nuanced "#2c0614") (bg-red-nuanced "#3a0c14")
(bg-green-nuanced "#001904") (bg-green-nuanced "#092f1f")
(bg-yellow-nuanced "#221000") (bg-yellow-nuanced "#381d0f")
(bg-blue-nuanced "#0f0e39") (bg-blue-nuanced "#12154a")
(bg-magenta-nuanced "#230631") (bg-magenta-nuanced "#2f0c3f")
(bg-cyan-nuanced "#041529") (bg-cyan-nuanced "#042837")
;;; Uncommon accent backgrounds ;;; Uncommon accent backgrounds
@ -212,6 +211,7 @@ standard)."
;;; Paren match ;;; Paren match
(bg-paren-match "#2f7f9f") (bg-paren-match "#2f7f9f")
(fg-paren-match fg-main)
(bg-paren-expression "#453040") (bg-paren-expression "#453040")
(underline-paren-match unspecified) (underline-paren-match unspecified)
@ -241,6 +241,11 @@ standard)."
(bg-prominent-note bg-cyan-intense) (bg-prominent-note bg-cyan-intense)
(fg-prominent-note fg-main) (fg-prominent-note fg-main)
(bg-active-argument bg-red-nuanced)
(fg-active-argument red-warmer)
(bg-active-value bg-cyan-nuanced)
(fg-active-value cyan)
;;;; Code mappings ;;;; Code mappings
(builtin magenta) (builtin magenta)
@ -343,16 +348,29 @@ standard)."
;;;; Prose mappings ;;;; Prose mappings
(prose-block fg-dim) (bg-prose-block-delimiter bg-dim)
(prose-code cyan) (fg-prose-block-delimiter fg-dim)
(bg-prose-block-contents bg-dim)
(bg-prose-code unspecified)
(fg-prose-code cyan)
(bg-prose-macro unspecified)
(fg-prose-macro red-warmer)
(bg-prose-verbatim unspecified)
(fg-prose-verbatim magenta-warmer)
(prose-done cyan) (prose-done cyan)
(prose-macro red-warmer) (prose-todo red)
(prose-metadata fg-dim) (prose-metadata fg-dim)
(prose-metadata-value fg-alt) (prose-metadata-value fg-alt)
(prose-table fg-alt) (prose-table fg-alt)
(prose-tag fg-alt) (prose-table-formula red-cooler)
(prose-todo red)
(prose-verbatim magenta-warmer) (prose-tag magenta-faint)
;;;; Rainbow mappings ;;;; Rainbow mappings
@ -366,6 +384,17 @@ standard)."
(rainbow-7 magenta-faint) (rainbow-7 magenta-faint)
(rainbow-8 red-faint) (rainbow-8 red-faint)
;;;; Search mappings
(bg-search-current bg-red-intense)
(bg-search-lazy bg-cyan-intense)
(bg-search-replace bg-magenta-intense)
(bg-search-rx-group-0 bg-blue-intense)
(bg-search-rx-group-1 bg-magenta-intense)
(bg-search-rx-group-2 bg-cyan-subtle)
(bg-search-rx-group-3 bg-red-subtle)
;;;; Space mappings ;;;; Space mappings
(bg-space unspecified) (bg-space unspecified)
@ -374,10 +403,10 @@ standard)."
;;;; Terminal mappings ;;;; Terminal mappings
(bg-term-black "black") (bg-term-black "#000000")
(fg-term-black "black") (fg-term-black "#000000")
(bg-term-black-bright "gray35") (bg-term-black-bright "#595959")
(fg-term-black-bright "gray35") (fg-term-black-bright "#595959")
(bg-term-red red) (bg-term-red red)
(fg-term-red red) (fg-term-red red)
@ -409,10 +438,10 @@ standard)."
(bg-term-cyan-bright cyan-cooler) (bg-term-cyan-bright cyan-cooler)
(fg-term-cyan-bright cyan-cooler) (fg-term-cyan-bright cyan-cooler)
(bg-term-white "gray65") (bg-term-white "#a6a6a6")
(fg-term-white "gray65") (fg-term-white "#a6a6a6")
(bg-term-white-bright "white") (bg-term-white-bright "#ffffff")
(fg-term-white-bright "white") (fg-term-white-bright "#ffffff")
;;;; Heading mappings ;;;; Heading mappings

View file

@ -817,31 +817,27 @@ or an empty string if none."
cmds)) cmds))
(defun vc-git-dir-extra-headers (dir) (defun vc-git-dir-extra-headers (dir)
(let ((str (vc-git--out-str "symbolic-ref" "HEAD")) (let ((str (with-output-to-string
(with-current-buffer standard-output
(vc-git--out-ok "symbolic-ref" "HEAD"))))
(stash-list (vc-git-stash-list)) (stash-list (vc-git-stash-list))
(default-directory dir) (default-directory dir)
(in-progress (vc-git--cmds-in-progress)) (in-progress (vc-git--cmds-in-progress))
branch remote-url stash-button stash-string tracking-branch) branch remote remote-url stash-button stash-string)
(if (string-match "^\\(refs/heads/\\)?\\(.+\\)$" str) (if (string-match "^\\(refs/heads/\\)?\\(.+\\)$" str)
(progn (progn
(setq branch (match-string 2 str)) (setq branch (match-string 2 str))
(let ((remote (vc-git--out-str (setq remote
"config" (concat "branch." branch ".remote"))) (with-output-to-string
(merge (vc-git--out-str (with-current-buffer standard-output
"config" (concat "branch." branch ".merge")))) (vc-git--out-ok "config"
(when (string-match "\\([^\n]+\\)" remote) (concat "branch." branch ".remote")))))
(setq remote (match-string 1 remote))) (when (string-match "\\([^\n]+\\)" remote)
(when (string-match "^\\(refs/heads/\\)?\\(.+\\)$" merge) (setq remote (match-string 1 remote)))
(setq tracking-branch (match-string 2 merge))) (when (> (length remote) 0)
(pcase remote (setq remote-url (vc-git-repository-url dir remote))))
("." (setq branch "not (detached HEAD)"))
(setq remote-url "none (tracking local branch)"))
((pred (not string-empty-p))
(setq
remote-url (vc-git-repository-url dir remote)
tracking-branch (concat remote "/" tracking-branch))))))
(setq branch "none (detached HEAD)"))
(when stash-list (when stash-list
(let* ((len (length stash-list)) (let* ((len (length stash-list))
(limit (limit
@ -894,11 +890,6 @@ or an empty string if none."
(propertize "Branch : " 'face 'vc-dir-header) (propertize "Branch : " 'face 'vc-dir-header)
(propertize branch (propertize branch
'face 'vc-dir-header-value) 'face 'vc-dir-header-value)
(when tracking-branch
(concat
"\n"
(propertize "Tracking : " 'face 'vc-dir-header)
(propertize tracking-branch 'face 'vc-dir-header-value)))
(when remote-url (when remote-url
(concat (concat
"\n" "\n"
@ -2235,17 +2226,8 @@ The difference to vc-do-command is that this function always invokes
(apply #'process-file vc-git-program nil buffer nil "--no-pager" command args))) (apply #'process-file vc-git-program nil buffer nil "--no-pager" command args)))
(defun vc-git--out-ok (command &rest args) (defun vc-git--out-ok (command &rest args)
"Run `git COMMAND ARGS...' and insert standard output in current buffer.
Return whether the process exited with status zero."
(zerop (apply #'vc-git--call '(t nil) command args))) (zerop (apply #'vc-git--call '(t nil) command args)))
(defun vc-git--out-str (command &rest args)
"Run `git COMMAND ARGS...' and return standard output.
The exit status is ignored."
(with-output-to-string
(with-current-buffer standard-output
(apply #'vc-git--out-ok command args))))
(defun vc-git--run-command-string (file &rest args) (defun vc-git--run-command-string (file &rest args)
"Run a git command on FILE and return its output as string. "Run a git command on FILE and return its output as string.
FILE can be nil." FILE can be nil."

View file

@ -24,8 +24,6 @@
;;; Code: ;;; Code:
(require 'ert-x)
(require 'vc)
(require 'vc-git) (require 'vc-git)
(ert-deftest vc-git-test-program-version-general () (ert-deftest vc-git-test-program-version-general ()
@ -83,42 +81,4 @@
(should-not (vc-git-annotate-time)) (should-not (vc-git-annotate-time))
(should-not (vc-git-annotate-time)))) (should-not (vc-git-annotate-time))))
(defmacro vc-git-test--with-repo (name &rest body)
"Initialize a repository in a temporary directory and evaluate BODY.
The current directory will be set to the top of that repository; NAME
will be bound to that directory's file name. Once BODY exits, the
directory will be deleted."
(declare (indent 1))
`(ert-with-temp-directory ,name
(let ((default-directory ,name))
(vc-create-repo 'Git)
,@body)))
(defun vc-git-test--run (&rest args)
"Run git ARGS…, check for non-zero status, and return output."
(with-temp-buffer
(apply 'vc-git-command t 0 nil args)
(buffer-string)))
(ert-deftest vc-git-test-dir-track-local-branch ()
"Test that `vc-dir' works when tracking local branches. Bug#68183."
(skip-unless (executable-find vc-git-program))
(vc-git-test--with-repo repo
;; Create an initial commit to get a branch started.
(write-region "hello" nil "README")
(vc-git-test--run "add" "README")
(vc-git-test--run "commit" "-mFirst")
;; Get current branch name lazily, to remain agnostic of
;; init.defaultbranch.
(let ((upstream-branch
(string-trim (vc-git-test--run "branch" "--show-current"))))
(vc-git-test--run "checkout" "--track" "-b" "hack" upstream-branch)
(vc-dir default-directory)
(pcase-dolist (`(,header ,value)
`(("Branch" "hack")
("Tracking" ,upstream-branch)))
(goto-char (point-min))
(re-search-forward (format "^%s *: %s$" header value))))))
;;; vc-git-tests.el ends here ;;; vc-git-tests.el ends here