branch: externals/modus-themes
commit 53fa9fd23d78a7ea97a60e562fc363b9b48653a6
Author: Protesilaos Stavrou <[email protected]>
Commit: Protesilaos Stavrou <[email protected]>

    Document how users can configure vc-annotate colours
---
 doc/modus-themes.info | 421 ++++++++++++++++++++++++++++----------------------
 doc/modus-themes.org  |  43 +++++-
 2 files changed, 275 insertions(+), 189 deletions(-)

diff --git a/doc/modus-themes.info b/doc/modus-themes.info
index a7ee867381..0409ac8387 100644
--- a/doc/modus-themes.info
+++ b/doc/modus-themes.info
@@ -131,6 +131,7 @@ Use colors from the Modus themes palette
 Advanced customization
 
 * DIY Palette override presets::
+* DIY Add support for vc-annotate::
 * DIY Add support for engrave-faces::
 * DIY Stylistic variants using palette overrides::
 * DIY More accurate colors in terminal emulators::
@@ -1656,6 +1657,7 @@ such, they are labeled as "do-it-yourself" or "DIY".
 * Menu:
 
 * DIY Palette override presets::
+* DIY Add support for vc-annotate::
 * DIY Add support for engrave-faces::
 * DIY Stylistic variants using palette overrides::
 * DIY More accurate colors in terminal emulators::
@@ -1681,7 +1683,7 @@ such, they are labeled as "do-it-yourself" or "DIY".
 * DIY Use a hook at the post-load-theme phase::
 
 
-File: modus-themes.info,  Node: DIY Palette override presets,  Next: DIY Add 
support for engrave-faces,  Up: Advanced customization
+File: modus-themes.info,  Node: DIY Palette override presets,  Next: DIY Add 
support for vc-annotate,  Up: Advanced customization
 
 7.1 DIY Palette override presets
 ================================
@@ -1744,9 +1746,47 @@ the general idea (extra space for didactic purposes):
              ,@modus-themes-preset-overrides-intense))
 
 
-File: modus-themes.info,  Node: DIY Add support for engrave-faces,  Next: DIY 
Stylistic variants using palette overrides,  Prev: DIY Palette override 
presets,  Up: Advanced customization
+File: modus-themes.info,  Node: DIY Add support for vc-annotate,  Next: DIY 
Add support for engrave-faces,  Prev: DIY Palette override presets,  Up: 
Advanced customization
 
-7.2 DIY Add support for ‘engrave-faces’
+7.2 DIY Add support for ‘vc-annotate’
+=====================================
+
+The built-in ‘vc-annotate’ command relies on a user option to read color
+values.  Users thus need to write their own configuration like this
+(*note DIY Use a hook at the post-load-theme phase::):
+
+     (defun my-modus-vc-annotate (&rest _)
+       (modus-themes-with-colors
+         (setq vc-annotate-background-mode nil)
+         (setq vc-annotate-very-old-color fg-dim)
+         (setq vc-annotate-color-map
+               `(( 20. . ,red)
+                 ( 40. . ,red-cooler)
+                 ( 60. . ,red-warmer)
+                 ( 80. . ,yellow-warmer)
+                 (100. . ,yellow)
+                 (120. . ,yellow-cooler)
+                 (140. . ,green-warmer)
+                 (160. . ,green)
+                 (180. . ,green-cooler)
+                 (200. . ,cyan-cooler)
+                 (220. . ,cyan-warmer)
+                 (240. . ,cyan)
+                 (260. . ,blue-warmer)
+                 (280. . ,blue)
+                 (300. . ,blue-cooler)
+                 (320. . ,blue-intense)
+                 (340. . ,magenta-cooler)
+                 (360. . ,fg-dim)))))
+
+     (with-eval-after-load 'vc-annotate
+       (my-modus-vc-annotate)
+       (add-hook 'enable-theme-functions #'my-modus-vc-annotate))
+
+
+File: modus-themes.info,  Node: DIY Add support for engrave-faces,  Next: DIY 
Stylistic variants using palette overrides,  Prev: DIY Add support for 
vc-annotate,  Up: Advanced customization
+
+7.3 DIY Add support for ‘engrave-faces’
 =======================================
 
 The ‘engraved-faces’ package is used as part of an Org export process to
@@ -1841,7 +1881,7 @@ post-load-theme phase::).
 
 File: modus-themes.info,  Node: DIY Stylistic variants using palette 
overrides,  Next: DIY More accurate colors in terminal emulators,  Prev: DIY 
Add support for engrave-faces,  Up: Advanced customization
 
-7.3 DIY Stylistic variants using palette overrides
+7.4 DIY Stylistic variants using palette overrides
 ==================================================
 
 This section contains practical examples of overriding the palette of
@@ -1882,7 +1922,7 @@ Palette override presets: DIY Palette override presets.).
 
 File: modus-themes.info,  Node: DIY Make the mode line borderless,  Next: DIY 
Make the active mode line colorful,  Up: DIY Stylistic variants using palette 
overrides
 
-7.3.1 DIY Make the mode line borderless
+7.4.1 DIY Make the mode line borderless
 ---------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -1914,7 +1954,7 @@ line colorful.
 
 File: modus-themes.info,  Node: DIY Make the active mode line colorful,  Next: 
DIY Make the tab bar more or less colorful,  Prev: DIY Make the mode line 
borderless,  Up: DIY Stylistic variants using palette overrides
 
-7.3.2 DIY Make the active mode line colorful
+7.4.2 DIY Make the active mode line colorful
 --------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -1964,7 +2004,7 @@ borderless.
 
 File: modus-themes.info,  Node: DIY Make the tab bar more or less colorful,  
Next: DIY Make the fringe invisible or another color,  Prev: DIY Make the 
active mode line colorful,  Up: DIY Stylistic variants using palette overrides
 
-7.3.3 DIY Make the tab bar more or less colorful
+7.4.3 DIY Make the tab bar more or less colorful
 ------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2008,7 +2048,7 @@ manual.
 
 File: modus-themes.info,  Node: DIY Make the fringe invisible or another 
color,  Next: DIY Make links use subtle or no underlines,  Prev: DIY Make the 
tab bar more or less colorful,  Up: DIY Stylistic variants using palette 
overrides
 
-7.3.4 DIY Make the fringe invisible or another color
+7.4.4 DIY Make the fringe invisible or another color
 ----------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2035,7 +2075,7 @@ which shows indicators such as for truncation or 
continuation lines.
 
 File: modus-themes.info,  Node: DIY Make links use subtle or no underlines,  
Next: DIY Make prompts more or less colorful,  Prev: DIY Make the fringe 
invisible or another color,  Up: DIY Stylistic variants using palette overrides
 
-7.3.5 DIY Make links use subtle or no underlines
+7.4.5 DIY Make links use subtle or no underlines
 ------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2061,7 +2101,7 @@ mappings can read correctly.
 
 File: modus-themes.info,  Node: DIY Make prompts more or less colorful,  Next: 
DIY Make completion matches more or less colorful,  Prev: DIY Make links use 
subtle or no underlines,  Up: DIY Stylistic variants using palette overrides
 
-7.3.6 DIY Make prompts more or less colorful
+7.4.6 DIY Make prompts more or less colorful
 --------------------------------------------
 
 This section contains practical examples of overriding the palette of
@@ -2092,7 +2132,7 @@ prompts.
 
 File: modus-themes.info,  Node: DIY Make completion matches more or less 
colorful,  Next: DIY Make comments yellow and strings green,  Prev: DIY Make 
prompts more or less colorful,  Up: DIY Stylistic variants using palette 
overrides
 
-7.3.7 DIY Make completion matches more or less colorful
+7.4.7 DIY Make completion matches more or less colorful
 -------------------------------------------------------
 
 This section contains practical examples of overriding the palette of
@@ -2170,7 +2210,7 @@ colors to two:
 
 File: modus-themes.info,  Node: DIY Make comments yellow and strings green,  
Next: DIY Make code syntax use the old alt-syntax style,  Prev: DIY Make 
completion matches more or less colorful,  Up: DIY Stylistic variants using 
palette overrides
 
-7.3.8 DIY Make comments yellow and strings green
+7.4.8 DIY Make comments yellow and strings green
 ------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2209,7 +2249,7 @@ alternative styles for code syntax.
 
 File: modus-themes.info,  Node: DIY Make code syntax use the old alt-syntax 
style,  Next: DIY Make use of alternative styles for code syntax,  Prev: DIY 
Make comments yellow and strings green,  Up: DIY Stylistic variants using 
palette overrides
 
-7.3.9 DIY Make code syntax use the old alt-syntax style
+7.4.9 DIY Make code syntax use the old alt-syntax style
 -------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2285,7 +2325,7 @@ alternative styles for code syntax.
 
 File: modus-themes.info,  Node: DIY Make use of alternative styles for code 
syntax,  Next: DIY Make matching parenthesis more or less intense,  Prev: DIY 
Make code syntax use the old alt-syntax style,  Up: DIY Stylistic variants 
using palette overrides
 
-7.3.10 DIY Make use of alternative styles for code syntax
+7.4.10 DIY Make use of alternative styles for code syntax
 ---------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2371,7 +2411,7 @@ syntax use the old alt-syntax style.
 
 File: modus-themes.info,  Node: DIY Make matching parenthesis more or less 
intense,  Next: DIY Make box buttons more or less gray,  Prev: DIY Make use of 
alternative styles for code syntax,  Up: DIY Stylistic variants using palette 
overrides
 
-7.3.11 DIY Make matching parenthesis more or less intense
+7.4.11 DIY Make matching parenthesis more or less intense
 ---------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2401,7 +2441,7 @@ underlines for those highlights.
 
 File: modus-themes.info,  Node: DIY Make box buttons more or less gray,  Next: 
DIY Make TODO and DONE more or less intense,  Prev: DIY Make matching 
parenthesis more or less intense,  Up: DIY Stylistic variants using palette 
overrides
 
-7.3.12 DIY Make box buttons more or less gray
+7.4.12 DIY Make box buttons more or less gray
 ---------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2422,7 +2462,7 @@ active buttons and amplifies it for the inactive ones.
 
 File: modus-themes.info,  Node: DIY Make TODO and DONE more or less intense,  
Next: DIY Make headings more or less colorful,  Prev: DIY Make box buttons more 
or less gray,  Up: DIY Stylistic variants using palette overrides
 
-7.3.13 DIY Make TODO and DONE more or less intense
+7.4.13 DIY Make TODO and DONE more or less intense
 --------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2457,7 +2497,7 @@ inline code in prose use alternative styles.
 
 File: modus-themes.info,  Node: DIY Make headings more or less colorful,  
Next: DIY Make Org block colors more or less colorful,  Prev: DIY Make TODO and 
DONE more or less intense,  Up: DIY Stylistic variants using palette overrides
 
-7.3.14 DIY Make headings more or less colorful
+7.4.14 DIY Make headings more or less colorful
 ----------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2507,7 +2547,7 @@ less intense.
 
 File: modus-themes.info,  Node: DIY Make Org block colors more or less 
colorful,  Next: DIY Make Org agenda more or less colorful,  Prev: DIY Make 
headings more or less colorful,  Up: DIY Stylistic variants using palette 
overrides
 
-7.3.15 DIY Make Org block colors more or less colorful
+7.4.15 DIY Make Org block colors more or less colorful
 ------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2602,7 +2642,7 @@ until version 4.3.0.
 
 File: modus-themes.info,  Node: DIY Make Org agenda more or less colorful,  
Next: DIY Make inline code in prose use alternative styles,  Prev: DIY Make Org 
block colors more or less colorful,  Up: DIY Stylistic variants using palette 
overrides
 
-7.3.16 DIY Make Org agenda more or less colorful
+7.4.16 DIY Make Org agenda more or less colorful
 ------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2672,7 +2712,7 @@ chapters with practical stylistic variants.
 
 File: modus-themes.info,  Node: DIY Make inline code in prose use alternative 
styles,  Next: DIY Make mail citations and headers more or less colorful,  
Prev: DIY Make Org agenda more or less colorful,  Up: DIY Stylistic variants 
using palette overrides
 
-7.3.17 DIY Make inline code in prose use alternative styles
+7.4.17 DIY Make inline code in prose use alternative styles
 -----------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2725,7 +2765,7 @@ permutation.
 
 File: modus-themes.info,  Node: DIY Make mail citations and headers more or 
less colorful,  Next: DIY Make the region preserve text colors plus other 
styles,  Prev: DIY Make inline code in prose use alternative styles,  Up: DIY 
Stylistic variants using palette overrides
 
-7.3.18 DIY Make mail citations and headers more or less colorful
+7.4.18 DIY Make mail citations and headers more or less colorful
 ----------------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2784,7 +2824,7 @@ Before we show the code, this is the anatomy of a message:
 
 File: modus-themes.info,  Node: DIY Make the region preserve text colors plus 
other styles,  Next: DIY Make mouse highlights more or less colorful,  Prev: 
DIY Make mail citations and headers more or less colorful,  Up: DIY Stylistic 
variants using palette overrides
 
-7.3.19 DIY Make the region preserve text colors, plus other styles
+7.4.19 DIY Make the region preserve text colors, plus other styles
 ------------------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2818,7 +2858,7 @@ region background.
 
 File: modus-themes.info,  Node: DIY Make mouse highlights more or less 
colorful,  Next: DIY Make language underlines less colorful,  Prev: DIY Make 
the region preserve text colors plus other styles,  Up: DIY Stylistic variants 
using palette overrides
 
-7.3.20 DIY Make mouse highlights more or less colorful
+7.4.20 DIY Make mouse highlights more or less colorful
 ------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2840,7 +2880,7 @@ hover effects and related highlights:
 
 File: modus-themes.info,  Node: DIY Make language underlines less colorful,  
Next: DIY Make line numbers use alternative styles,  Prev: DIY Make mouse 
highlights more or less colorful,  Up: DIY Stylistic variants using palette 
overrides
 
-7.3.21 DIY Make language underlines less colorful
+7.4.21 DIY Make language underlines less colorful
 -------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2866,7 +2906,7 @@ prose spell checkers.
 
 File: modus-themes.info,  Node: DIY Make line numbers use alternative styles,  
Next: DIY Make diffs use only a foreground,  Prev: DIY Make language underlines 
less colorful,  Up: DIY Stylistic variants using palette overrides
 
-7.3.22 DIY Make line numbers use alternative styles
+7.4.22 DIY Make line numbers use alternative styles
 ---------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2901,7 +2941,7 @@ how to affect the ‘display-line-numbers-mode’.
 
 File: modus-themes.info,  Node: DIY Make diffs use only a foreground,  Next: 
DIY Make deuteranopia diffs red and blue instead of yellow and blue,  Prev: DIY 
Make line numbers use alternative styles,  Up: DIY Stylistic variants using 
palette overrides
 
-7.3.23 DIY Make diffs use only a foreground
+7.4.23 DIY Make diffs use only a foreground
 -------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -2966,7 +3006,7 @@ palettes directly instead of just using the "common" 
overrides.
 
 File: modus-themes.info,  Node: DIY Make deuteranopia diffs red and blue 
instead of yellow and blue,  Prev: DIY Make diffs use only a foreground,  Up: 
DIY Stylistic variants using palette overrides
 
-7.3.24 DIY Make deuteranopia diffs red and blue instead of yellow and blue
+7.4.24 DIY Make deuteranopia diffs red and blue instead of yellow and blue
 --------------------------------------------------------------------------
 
 This is one of our practical examples to override the semantic colors of
@@ -3018,7 +3058,7 @@ regular ‘modus-operandi’ and ‘modus-vivendi’.
 
 File: modus-themes.info,  Node: DIY More accurate colors in terminal 
emulators,  Next: DIY Range of color with terminal emulators,  Prev: DIY 
Stylistic variants using palette overrides,  Up: Advanced customization
 
-7.4 DIY More accurate colors in terminal emulators
+7.5 DIY More accurate colors in terminal emulators
 ==================================================
 
 [ This is based on partial information.  Please help verify and/or
@@ -3047,7 +3087,7 @@ adapted to shell aliases:
 
 File: modus-themes.info,  Node: DIY Range of color with terminal emulators,  
Next: DIY Per-theme customization settings,  Prev: DIY More accurate colors in 
terminal emulators,  Up: Advanced customization
 
-7.5 DIY Range of color with terminal emulators
+7.6 DIY Range of color with terminal emulators
 ==============================================
 
 [ This is based on partial information.  Please help verify and/or
@@ -3117,7 +3157,7 @@ colors::):
 
 File: modus-themes.info,  Node: DIY Per-theme customization settings,  Next: 
DIY Do not extend the region background,  Prev: DIY Range of color with 
terminal emulators,  Up: Advanced customization
 
-7.6 DIY Per-theme customization settings
+7.7 DIY Per-theme customization settings
 ========================================
 
 If you prefer to maintain different customization options between the
@@ -3153,7 +3193,7 @@ of ‘modus-themes-toggle’ and relevant functions.
 
 File: modus-themes.info,  Node: DIY Do not extend the region background,  
Next: DIY Add padding to the mode line,  Prev: DIY Per-theme customization 
settings,  Up: Advanced customization
 
-7.7 DIY Do not extend the region background
+7.8 DIY Do not extend the region background
 ===========================================
 
 By default, the background of the ‘region’ face extends from the end of
@@ -3171,7 +3211,7 @@ Make the region preserve text colors plus other styles.
 
 File: modus-themes.info,  Node: DIY Add padding to the mode line,  Next: DIY 
Remap face with local value,  Prev: DIY Do not extend the region background,  
Up: Advanced customization
 
-7.8 DIY Add padding to the mode line
+7.9 DIY Add padding to the mode line
 ====================================
 
 [ Consider using the ‘spacious-padding’ package from GNU ELPA (by
@@ -3235,8 +3275,8 @@ state of affairs.
 
 File: modus-themes.info,  Node: DIY Remap face with local value,  Next: DIY 
Font configurations for Org and others,  Prev: DIY Add padding to the mode 
line,  Up: Advanced customization
 
-7.9 DIY Remap face with local value
-===================================
+7.10 DIY Remap face with local value
+====================================
 
 There are cases where we need to change the buffer-local attributes of a
 face.  This might be because we have our own minor mode that reuses a
@@ -3298,7 +3338,7 @@ experimentation up to you.
 
 File: modus-themes.info,  Node: DIY Font configurations for Org and others,  
Next: DIY Configure bold and italic faces,  Prev: DIY Remap face with local 
value,  Up: Advanced customization
 
-7.10 DIY Font configurations for Org and others
+7.11 DIY Font configurations for Org and others
 ===============================================
 
 [ Consider using the ‘fontaine’ package from GNU ELPA (by Protesilaos)
@@ -3369,7 +3409,7 @@ account for those finer increments.
 
 File: modus-themes.info,  Node: DIY Configure bold and italic faces,  Next: 
DIY Custom Org todo keyword and priority faces,  Prev: DIY Font configurations 
for Org and others,  Up: Advanced customization
 
-7.11 DIY Configure bold and italic faces
+7.12 DIY Configure bold and italic faces
 ========================================
 
 [ Consider using the ‘fontaine’ package from GNU ELPA (by Protesilaos)
@@ -3468,7 +3508,7 @@ the post-load-theme phase.
 
 File: modus-themes.info,  Node: DIY Custom Org todo keyword and priority 
faces,  Next: DIY Custom Org emphasis faces,  Prev: DIY Configure bold and 
italic faces,  Up: Advanced customization
 
-7.12 DIY Custom Org todo keyword and priority faces
+7.13 DIY Custom Org todo keyword and priority faces
 ===================================================
 
 Users of ‘org-mode’ have the option to configure various keywords and
@@ -3551,7 +3591,7 @@ Do it if you plan to control face attributes.
 
 File: modus-themes.info,  Node: DIY Custom Org emphasis faces,  Next: DIY Use 
colored Org source blocks per language,  Prev: DIY Custom Org todo keyword and 
priority faces,  Up: Advanced customization
 
-7.13 DIY Custom Org emphasis faces
+7.14 DIY Custom Org emphasis faces
 ==================================
 
 Org provides the user option ‘org-emphasis-alist’ which associates a
@@ -3672,7 +3712,7 @@ invoke ‘M-x org-mode-restart’.
 
 File: modus-themes.info,  Node: DIY Use colored Org source blocks per 
language,  Next: DIY Measure color contrast,  Prev: DIY Custom Org emphasis 
faces,  Up: Advanced customization
 
-7.14 DIY Use colored Org source blocks per language
+7.15 DIY Use colored Org source blocks per language
 ===================================================
 
 *note DIY Make Org block colors more or less colorful::.
@@ -3759,7 +3799,7 @@ idea:
 
 File: modus-themes.info,  Node: DIY Measure color contrast,  Next: DIY Load 
theme depending on time of day,  Prev: DIY Use colored Org source blocks per 
language,  Up: Advanced customization
 
-7.15 DIY Measure color contrast
+7.16 DIY Measure color contrast
 ===============================
 
 The themes provide the functions ‘modus-themes-wcag-formula’ and
@@ -3824,7 +3864,7 @@ theme's color palette.
 
 File: modus-themes.info,  Node: DIY Load theme depending on time of day,  
Next: DIY Backdrop for pdf-tools,  Prev: DIY Measure color contrast,  Up: 
Advanced customization
 
-7.16 DIY Load theme depending on time of day
+7.17 DIY Load theme depending on time of day
 ============================================
 
 While we do provide ‘modus-themes-toggle’ to manually switch between the
@@ -3851,7 +3891,7 @@ location using the built-in ‘solar.el’ and then 
configuring the
 
 File: modus-themes.info,  Node: DIY Backdrop for pdf-tools,  Next: DIY Toggle 
themes without reloading them,  Prev: DIY Load theme depending on time of day,  
Up: Advanced customization
 
-7.17 DIY Backdrop for pdf-tools
+7.18 DIY Backdrop for pdf-tools
 ===============================
 
 Most PDF files use a white background for their page, making it
@@ -3926,7 +3966,7 @@ to dark mode when ‘modus-themes-toggle’ is called.
 
 File: modus-themes.info,  Node: DIY Toggle themes without reloading them,  
Next: DIY Use more spacious margins or padding in Emacs frames,  Prev: DIY 
Backdrop for pdf-tools,  Up: Advanced customization
 
-7.18 DIY Toggle themes without reloading them
+7.19 DIY Toggle themes without reloading them
 =============================================
 
 Users who have a stable setup and who only ever need to toggle between
@@ -3953,7 +3993,7 @@ their own command which calls ‘enable-theme’ instead of 
‘load-theme’:
 
 File: modus-themes.info,  Node: DIY Use more spacious margins or padding in 
Emacs frames,  Next: DIY Custom hl-todo colors,  Prev: DIY Toggle themes 
without reloading them,  Up: Advanced customization
 
-7.19 DIY Use more spacious margins or padding in Emacs frames
+7.20 DIY Use more spacious margins or padding in Emacs frames
 =============================================================
 
 [ UPDATE 2023-06-25: Instead of following these instructions, you can
@@ -4041,7 +4081,7 @@ theme loading: DIY A theme-agnostic hook for theme 
loading.).
 
 File: modus-themes.info,  Node: DIY Custom hl-todo colors,  Next: DIY Add 
support for solaire-mode,  Prev: DIY Use more spacious margins or padding in 
Emacs frames,  Up: Advanced customization
 
-7.20 DIY Custom hl-todo colors
+7.21 DIY Custom hl-todo colors
 ==============================
 
 The ‘hl-todo’ package provides the user option ‘hl-todo-keyword-faces’:
@@ -4084,7 +4124,7 @@ otherwise the defaults are not always legible.
 
 File: modus-themes.info,  Node: DIY Add support for solaire-mode,  Next: DIY 
Add support for meow-mode,  Prev: DIY Custom hl-todo colors,  Up: Advanced 
customization
 
-7.21 DIY Add support for solaire-mode
+7.22 DIY Add support for solaire-mode
 =====================================
 
 The ‘solaire-mode’ package dims the background of what it considers
@@ -4145,7 +4185,7 @@ the post-load-theme phase.
 
 File: modus-themes.info,  Node: DIY Add support for meow-mode,  Next: DIY Add 
support for combobulate,  Prev: DIY Add support for solaire-mode,  Up: Advanced 
customization
 
-7.22 DIY Add support for meow-mode
+7.23 DIY Add support for meow-mode
 ==================================
 
 The ‘meow’ package provides a modal editing experience.  It is meant to
@@ -4176,7 +4216,7 @@ the post-load-theme phase.
 
 File: modus-themes.info,  Node: DIY Add support for combobulate,  Next: DIY 
Use a hook at the post-load-theme phase,  Prev: DIY Add support for meow-mode,  
Up: Advanced customization
 
-7.23 DIY Add support for combobulate
+7.24 DIY Add support for combobulate
 ====================================
 
 The ‘combobulate’ package provides the means to operate on text that is
@@ -4227,18 +4267,22 @@ the post-load-theme phase.
 
 File: modus-themes.info,  Node: DIY Use a hook at the post-load-theme phase,  
Prev: DIY Add support for combobulate,  Up: Advanced customization
 
-7.24 DIY Use a hook at the post-load-theme phase
+7.25 DIY Use a hook at the post-load-theme phase
 ================================================
 
 Many of the Do-It-Yourself (DIY) snippets provided herein make use of a
 hook to apply the desired changes.  In most examples, this hook is the
 ‘modus-themes-after-load-theme-hook’ (alias
 ‘modus-themes-post-load-hook’).  This hook is provided by the Modus
-themes and is called at the end of one the following:
+themes and is called at the end of one the following (or their
+derivatives):
 
 Command ‘modus-themes-toggle’
      *note Option for which themes to toggle::.
 
+Command ‘modus-themes-rotate’
+     *note Option for which themes to rotate::.
+
 Command ‘modus-themes-select’
      Select a Modus theme using minibuffer completion and then load it.
 
@@ -4275,7 +4319,7 @@ it will not use them (in plain terms, the code works with 
or without
 
 File: modus-themes.info,  Node: DIY A theme-agnostic hook for theme loading,  
Up: DIY Use a hook at the post-load-theme phase
 
-7.24.1 DIY A theme-agnostic hook for theme loading
+7.25.1 DIY A theme-agnostic hook for theme loading
 --------------------------------------------------
 
 [ NOTE: The following is for versions of Emacs before 29.  For Emacs 29
@@ -7634,142 +7678,143 @@ B.3 Concept index
 
 Tag Table:
 Node: Top874
-Node: Overview9152
-Node: How do the themes look like11918
-Node: Learn about the latest changes12277
-Node: Installation12665
-Node: Install manually from source13576
-Node: Install from the archives14399
-Node: Install on GNU/Linux14998
-Node: Debian 11 Bullseye15489
-Node: GNU Guix15897
-Node: Dealing with byte compilation errors16180
-Node: Enable and load17338
-Node: The require-theme for built-in Emacs themes21569
-Node: Sample configuration22486
-Node: Differences between loading and enabling24762
-Node: Customization options26827
-Node: Disable other themes30596
-Node: Bold constructs31950
-Node: Italic constructs32822
-Node: Option for which themes to toggle33650
-Node: Option for which themes to rotate34413
-Node: Mixed fonts35410
-Node: Command prompts36464
-Node: Completion UIs38305
-Node: Org mode blocks41154
-Node: Heading styles41797
-Node: UI typeface46223
-Node: Palette overrides47196
-Node: Palette extension51553
-Node: Preview theme colors54029
-Node: Commands for the preview palette buffer55684
-Node: Use colors from the Modus themes palette57762
-Node: Get a single color from the palette with 
modus-themes-get-color-value58626
-Node: Use theme colors in code with modus-themes-with-colors60987
-Node: Advanced customization63241
-Node: DIY Palette override presets65019
-Node: DIY Add support for engrave-faces67853
-Node: DIY Stylistic variants using palette overrides77836
-Node: DIY Make the mode line borderless79895
-Node: DIY Make the active mode line colorful81270
-Node: DIY Make the tab bar more or less colorful83488
-Node: DIY Make the fringe invisible or another color85425
-Node: DIY Make links use subtle or no underlines86622
-Node: DIY Make prompts more or less colorful87740
-Node: DIY Make completion matches more or less colorful89063
-Node: DIY Make comments yellow and strings green92622
-Node: DIY Make code syntax use the old alt-syntax style94329
-Node: DIY Make use of alternative styles for code syntax97442
-Node: DIY Make matching parenthesis more or less intense100904
-Node: DIY Make box buttons more or less gray102276
-Node: DIY Make TODO and DONE more or less intense103289
-Node: DIY Make headings more or less colorful104790
-Node: DIY Make Org block colors more or less colorful106907
-Node: DIY Make Org agenda more or less colorful111279
-Node: DIY Make inline code in prose use alternative styles114454
-Node: DIY Make mail citations and headers more or less colorful116694
-Node: DIY Make the region preserve text colors plus other styles119094
-Node: DIY Make mouse highlights more or less colorful120650
-Node: DIY Make language underlines less colorful121663
-Node: DIY Make line numbers use alternative styles122815
-Node: DIY Make diffs use only a foreground124458
-Node: DIY Make deuteranopia diffs red and blue instead of yellow and 
blue127345
-Node: DIY More accurate colors in terminal emulators129817
-Node: DIY Range of color with terminal emulators131125
-Node: DIY Per-theme customization settings133912
-Node: DIY Do not extend the region background135345
-Node: DIY Add padding to the mode line136143
-Node: DIY Remap face with local value139071
-Node: DIY Font configurations for Org and others141610
-Ref: DIY Font configurations for Org and others-Footnote-1144593
-Node: DIY Configure bold and italic faces144780
-Node: DIY Custom Org todo keyword and priority faces149402
-Node: DIY Custom Org emphasis faces153143
-Node: DIY Use colored Org source blocks per language158020
-Node: DIY Measure color contrast162660
-Node: DIY Load theme depending on time of day165377
-Node: DIY Backdrop for pdf-tools166405
-Node: DIY Toggle themes without reloading them169566
-Node: DIY Use more spacious margins or padding in Emacs frames170875
-Node: DIY Custom hl-todo colors175112
-Node: DIY Add support for solaire-mode176929
-Node: DIY Add support for meow-mode180021
-Node: DIY Add support for combobulate181831
-Node: DIY Use a hook at the post-load-theme phase185454
-Node: DIY A theme-agnostic hook for theme loading187575
-Node: Build on top of the Modus themes190206
-Node: Complete example of a Modus derivative theme196426
-Node: Complete example of a package that is derived from Modus197432
-Node: Complete example of a private theme derived from Modus200427
-Node: Complete example of a custom theme with its own palette202049
-Node: Complete example that also uses modus-themes-generate-palette206716
-Node: Determine what counts as a Modus theme223485
-Node: Create convenience commands to load a derivative theme226895
-Node: Arrange to activate your derivative themes229163
-Node: Face coverage231219
-Node: Supported packages231681
-Node: Indirectly covered packages237596
-Node: Notes on individual packages238952
-Node: Note on calendarel weekday and weekend colors240054
-Node: Note on git-gutter in Doom Emacs241204
-Node: Note on php-mode multiline comments243706
-Node: Note on underlines in compilation buffers244468
-Node: Note on inline Latex in Org buffers245342
-Node: Note on dimmerel245954
-Node: Note on display-fill-column-indicator-mode247441
-Node: Note on highlight-parenthesesel248894
-Node: Note on mmm-modeel background colors254973
-Node: Note for prism257327
-Node: Note on company-mode overlay pop-up260541
-Ref: Note on company-mode overlay pop-up-Footnote-1261271
-Ref: Note on company-mode overlay pop-up-Footnote-2261338
-Node: Note on ERC escaped color sequences261393
-Ref: Note on ERC escaped color sequences-Footnote-1262823
-Node: Note on powerline or spaceline262933
-Node: Note on SHR colors263349
-Node: Note on SHR fonts263771
-Node: Note on Ement colors and fonts264460
-Node: Note on pdf-tools link hints265966
-Node: Note on the Notmuch logo268424
-Node: Note on goto-address-mode faces268958
-Node: Frequently Asked Questions270078
-Node: Is the contrast ratio about adjacent colors?270709
-Node: What does it mean to avoid exaggerations?272218
-Node: Why are colors mostly variants of blue magenta cyan?274068
-Node: What is the best setup for legibility?278402
-Node: Are these color schemes?281044
-Node: Port the Modus themes to other platforms?284698
-Node: Contributing287532
-Node: Sources of the themes287931
-Node: Issues you can help with288827
-Node: Patches require copyright assignment to the FSF290219
-Node: Acknowledgements292441
-Node: GNU Free Documentation License297070
-Node: Indices322233
-Node: Function index322412
-Node: Variable index327570
-Node: Concept index332287
+Node: Overview9188
+Node: How do the themes look like11954
+Node: Learn about the latest changes12313
+Node: Installation12701
+Node: Install manually from source13612
+Node: Install from the archives14435
+Node: Install on GNU/Linux15034
+Node: Debian 11 Bullseye15525
+Node: GNU Guix15933
+Node: Dealing with byte compilation errors16216
+Node: Enable and load17374
+Node: The require-theme for built-in Emacs themes21605
+Node: Sample configuration22522
+Node: Differences between loading and enabling24798
+Node: Customization options26863
+Node: Disable other themes30632
+Node: Bold constructs31986
+Node: Italic constructs32858
+Node: Option for which themes to toggle33686
+Node: Option for which themes to rotate34449
+Node: Mixed fonts35446
+Node: Command prompts36500
+Node: Completion UIs38341
+Node: Org mode blocks41190
+Node: Heading styles41833
+Node: UI typeface46259
+Node: Palette overrides47232
+Node: Palette extension51589
+Node: Preview theme colors54065
+Node: Commands for the preview palette buffer55720
+Node: Use colors from the Modus themes palette57798
+Node: Get a single color from the palette with 
modus-themes-get-color-value58662
+Node: Use theme colors in code with modus-themes-with-colors61023
+Node: Advanced customization63277
+Node: DIY Palette override presets65091
+Node: DIY Add support for vc-annotate67923
+Node: DIY Add support for engrave-faces69405
+Node: DIY Stylistic variants using palette overrides79391
+Node: DIY Make the mode line borderless81450
+Node: DIY Make the active mode line colorful82825
+Node: DIY Make the tab bar more or less colorful85043
+Node: DIY Make the fringe invisible or another color86980
+Node: DIY Make links use subtle or no underlines88177
+Node: DIY Make prompts more or less colorful89295
+Node: DIY Make completion matches more or less colorful90618
+Node: DIY Make comments yellow and strings green94177
+Node: DIY Make code syntax use the old alt-syntax style95884
+Node: DIY Make use of alternative styles for code syntax98997
+Node: DIY Make matching parenthesis more or less intense102459
+Node: DIY Make box buttons more or less gray103831
+Node: DIY Make TODO and DONE more or less intense104844
+Node: DIY Make headings more or less colorful106345
+Node: DIY Make Org block colors more or less colorful108462
+Node: DIY Make Org agenda more or less colorful112834
+Node: DIY Make inline code in prose use alternative styles116009
+Node: DIY Make mail citations and headers more or less colorful118249
+Node: DIY Make the region preserve text colors plus other styles120649
+Node: DIY Make mouse highlights more or less colorful122205
+Node: DIY Make language underlines less colorful123218
+Node: DIY Make line numbers use alternative styles124370
+Node: DIY Make diffs use only a foreground126013
+Node: DIY Make deuteranopia diffs red and blue instead of yellow and 
blue128900
+Node: DIY More accurate colors in terminal emulators131372
+Node: DIY Range of color with terminal emulators132680
+Node: DIY Per-theme customization settings135467
+Node: DIY Do not extend the region background136900
+Node: DIY Add padding to the mode line137698
+Node: DIY Remap face with local value140626
+Node: DIY Font configurations for Org and others143167
+Ref: DIY Font configurations for Org and others-Footnote-1146150
+Node: DIY Configure bold and italic faces146337
+Node: DIY Custom Org todo keyword and priority faces150959
+Node: DIY Custom Org emphasis faces154700
+Node: DIY Use colored Org source blocks per language159577
+Node: DIY Measure color contrast164217
+Node: DIY Load theme depending on time of day166934
+Node: DIY Backdrop for pdf-tools167962
+Node: DIY Toggle themes without reloading them171123
+Node: DIY Use more spacious margins or padding in Emacs frames172432
+Node: DIY Custom hl-todo colors176669
+Node: DIY Add support for solaire-mode178486
+Node: DIY Add support for meow-mode181578
+Node: DIY Add support for combobulate183388
+Node: DIY Use a hook at the post-load-theme phase187011
+Node: DIY A theme-agnostic hook for theme loading189238
+Node: Build on top of the Modus themes191869
+Node: Complete example of a Modus derivative theme198089
+Node: Complete example of a package that is derived from Modus199095
+Node: Complete example of a private theme derived from Modus202090
+Node: Complete example of a custom theme with its own palette203712
+Node: Complete example that also uses modus-themes-generate-palette208379
+Node: Determine what counts as a Modus theme225148
+Node: Create convenience commands to load a derivative theme228558
+Node: Arrange to activate your derivative themes230826
+Node: Face coverage232882
+Node: Supported packages233344
+Node: Indirectly covered packages239259
+Node: Notes on individual packages240615
+Node: Note on calendarel weekday and weekend colors241717
+Node: Note on git-gutter in Doom Emacs242867
+Node: Note on php-mode multiline comments245369
+Node: Note on underlines in compilation buffers246131
+Node: Note on inline Latex in Org buffers247005
+Node: Note on dimmerel247617
+Node: Note on display-fill-column-indicator-mode249104
+Node: Note on highlight-parenthesesel250557
+Node: Note on mmm-modeel background colors256636
+Node: Note for prism258990
+Node: Note on company-mode overlay pop-up262204
+Ref: Note on company-mode overlay pop-up-Footnote-1262934
+Ref: Note on company-mode overlay pop-up-Footnote-2263001
+Node: Note on ERC escaped color sequences263056
+Ref: Note on ERC escaped color sequences-Footnote-1264486
+Node: Note on powerline or spaceline264596
+Node: Note on SHR colors265012
+Node: Note on SHR fonts265434
+Node: Note on Ement colors and fonts266123
+Node: Note on pdf-tools link hints267629
+Node: Note on the Notmuch logo270087
+Node: Note on goto-address-mode faces270621
+Node: Frequently Asked Questions271741
+Node: Is the contrast ratio about adjacent colors?272372
+Node: What does it mean to avoid exaggerations?273881
+Node: Why are colors mostly variants of blue magenta cyan?275731
+Node: What is the best setup for legibility?280065
+Node: Are these color schemes?282707
+Node: Port the Modus themes to other platforms?286361
+Node: Contributing289195
+Node: Sources of the themes289594
+Node: Issues you can help with290490
+Node: Patches require copyright assignment to the FSF291882
+Node: Acknowledgements294104
+Node: GNU Free Documentation License298733
+Node: Indices323896
+Node: Function index324075
+Node: Variable index329233
+Node: Concept index333950
 
 End Tag Table
 
diff --git a/doc/modus-themes.org b/doc/modus-themes.org
index 9a791f2c59..8904d4dc15 100644
--- a/doc/modus-themes.org
+++ b/doc/modus-themes.org
@@ -1564,6 +1564,45 @@ the general idea (extra space for didactic purposes):
         ,@modus-themes-preset-overrides-intense))
 #+end_src
 
+** DIY Add support for ~vc-annotate~
+:PROPERTIES:
+:CUSTOM_ID: h:4016a69a-d0df-4683-9859-3386d506ad72
+:END:
+
+The built-in ~vc-annotate~ command relies on a user option to read
+color values. Users thus need to write their own configuration like
+this ([[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][DIY Use a hook at the 
post-load-theme phase]]):
+
+#+begin_src emacs-lisp
+(defun my-modus-vc-annotate (&rest _)
+  (modus-themes-with-colors
+    (setq vc-annotate-background-mode nil)
+    (setq vc-annotate-very-old-color fg-dim)
+    (setq vc-annotate-color-map
+          `(( 20. . ,red)
+            ( 40. . ,red-cooler)
+            ( 60. . ,red-warmer)
+            ( 80. . ,yellow-warmer)
+            (100. . ,yellow)
+            (120. . ,yellow-cooler)
+            (140. . ,green-warmer)
+            (160. . ,green)
+            (180. . ,green-cooler)
+            (200. . ,cyan-cooler)
+            (220. . ,cyan-warmer)
+            (240. . ,cyan)
+            (260. . ,blue-warmer)
+            (280. . ,blue)
+            (300. . ,blue-cooler)
+            (320. . ,blue-intense)
+            (340. . ,magenta-cooler)
+            (360. . ,fg-dim)))))
+
+(with-eval-after-load 'vc-annotate
+  (my-modus-vc-annotate)
+  (add-hook 'enable-theme-functions #'my-modus-vc-annotate))
+#+end_src
+
 ** DIY Add support for ~engrave-faces~
 :PROPERTIES:
 :CUSTOM_ID: h:6c3f87a8-3573-43de-89e0-53f567c0ede1
@@ -4081,10 +4120,12 @@ Many of the Do-It-Yourself (DIY) snippets provided 
herein make use of
 a hook to apply the desired changes. In most examples, this hook is
 the ~modus-themes-after-load-theme-hook~ (alias ~modus-themes-post-load-hook~).
 This hook is provided by the Modus themes and is called at the end of
-one the following:
+one the following (or their derivatives):
 
 - Command ~modus-themes-toggle~ :: 
[[#h:4fbfed66-5a89-447a-a07d-a03f6819c5bd][Option for which themes to toggle]].
 
+- Command ~modus-themes-rotate~ :: 
[[#h:a10c0202-3683-4fad-9897-433c25e255f6][Option for which themes to rotate]].
+
 - Command ~modus-themes-select~ :: Select a Modus theme using minibuffer
   completion and then load it.
 


Reply via email to