aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/face_data.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/theme-studio/face_data.py')
-rw-r--r--scripts/theme-studio/face_data.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/scripts/theme-studio/face_data.py b/scripts/theme-studio/face_data.py
index bfce31cdd..d94f23068 100644
--- a/scripts/theme-studio/face_data.py
+++ b/scripts/theme-studio/face_data.py
@@ -143,6 +143,21 @@ GHOSTEL_SEED={
"ghostel-color-blue":{"fg":"blue"},"ghostel-color-magenta":{"fg":"regal"},"ghostel-color-cyan":{"fg":"sage"},"ghostel-color-white":{"fg":"silver"},
"ghostel-color-bright-black":{"fg":"steel"},"ghostel-color-bright-red":{"fg":"#de4949"},"ghostel-color-bright-green":{"fg":"#84b068"},"ghostel-color-bright-yellow":{"fg":"#eed376"},
"ghostel-color-bright-blue":{"fg":"#7a9abe"},"ghostel-color-bright-magenta":{"fg":"#b07fd0"},"ghostel-color-bright-cyan":{"fg":"#7fc0a8"},"ghostel-color-bright-white":{"fg":"white"}}
+# ansi-color (built-in, not in the inventory): the 16 ANSI palette faces that every
+# ANSI consumer resolves -- vterm, eshell, compilation, and ghostel (whose
+# ghostel-color-* faces :inherit these). Theming ansi-color-* drives the 16
+# colors everywhere at once. Seed mirrors the ghostel palette so the two agree.
+# Note: a face left unset here inherits nothing extra; a consumer that sets its
+# own color directly (e.g. a seeded ghostel-color-red) overrides this inheritance.
+ANSI_COLOR_FACES=("ansi-color-black ansi-color-red ansi-color-green ansi-color-yellow "
+ "ansi-color-blue ansi-color-magenta ansi-color-cyan ansi-color-white "
+ "ansi-color-bright-black ansi-color-bright-red ansi-color-bright-green ansi-color-bright-yellow "
+ "ansi-color-bright-blue ansi-color-bright-magenta ansi-color-bright-cyan ansi-color-bright-white").split()
+ANSI_COLOR_SEED={
+ "ansi-color-black":{"fg":"pewter"},"ansi-color-red":{"fg":"terracotta"},"ansi-color-green":{"fg":"emerald"},"ansi-color-yellow":{"fg":"gold"},
+ "ansi-color-blue":{"fg":"blue"},"ansi-color-magenta":{"fg":"regal"},"ansi-color-cyan":{"fg":"sage"},"ansi-color-white":{"fg":"silver"},
+ "ansi-color-bright-black":{"fg":"steel"},"ansi-color-bright-red":{"fg":"#de4949"},"ansi-color-bright-green":{"fg":"#84b068"},"ansi-color-bright-yellow":{"fg":"#eed376"},
+ "ansi-color-bright-blue":{"fg":"#7a9abe"},"ansi-color-bright-magenta":{"fg":"#b07fd0"},"ansi-color-bright-cyan":{"fg":"#7fc0a8"},"ansi-color-bright-white":{"fg":"white"}}
# auto-dim-other-buffers: non-selected windows recede to a faded fg on a near-black
# bg. The -hide face keeps org hidden text invisible in a dimmed window (fg=bg).
AUTODIM_FACES=("auto-dim-other-buffers auto-dim-other-buffers-hide").split()
@@ -316,3 +331,46 @@ SHR_FACES=("shr-h1 shr-h2 shr-h3 shr-h4 shr-h5 shr-h6 shr-text shr-link shr-sele
SHR_SEED={
"shr-h1":{"fg":"gold","bold":True,"height":1.4},"shr-h2":{"fg":"blue","bold":True,"height":1.2},"shr-h3":{"fg":"blue","bold":True},"shr-h4":{"fg":"silver","bold":True},"shr-h5":{"fg":"steel","bold":True},"shr-h6":{"fg":"pewter","bold":True},
"shr-text":{"fg":"#cdced1"},"shr-link":{"fg":"blue","underline":True},"shr-selected-link":{"fg":"gold","bold":True,"underline":True},"shr-code":{"fg":"terracotta","bg":"bg-dim"},"shr-mark":{"fg":"#000000","bg":"gold"},"shr-strike-through":{"fg":"pewter","strike":True},"shr-sup":{"fg":"steel","height":0.8},"shr-abbreviation":{"fg":"steel","italic":True,"underline":True}}
+# gnus drives the mu4e article (message) view: headers, quote levels, signature,
+# buttons, and inline emphasis. gnus's own defaults are bright greens on a dark
+# background, so these seeds restate the set in the theme palette.
+GNUS_FACES=("gnus-header-name gnus-header-from gnus-header-subject gnus-header-content gnus-header-newsgroups "
+ "gnus-cite-1 gnus-cite-2 gnus-cite-3 gnus-cite-4 gnus-cite-5 gnus-cite-6 gnus-cite-7 gnus-cite-8 gnus-cite-9 gnus-cite-10 gnus-cite-11 gnus-cite-attribution "
+ "gnus-signature gnus-button "
+ "gnus-emphasis-bold gnus-emphasis-italic gnus-emphasis-underline gnus-emphasis-strikethru gnus-emphasis-highlight-words").split()
+GNUS_SEED={
+ "gnus-header-name":{"fg":"blue","bold":True},"gnus-header-from":{"fg":"gold"},"gnus-header-subject":{"fg":"white","bold":True},"gnus-header-content":{"fg":"silver"},"gnus-header-newsgroups":{"fg":"silver"},
+ "gnus-cite-1":{"fg":"sage"},"gnus-cite-2":{"fg":"steel"},"gnus-cite-3":{"fg":"gold"},"gnus-cite-4":{"fg":"blue"},"gnus-cite-5":{"fg":"sage"},"gnus-cite-6":{"fg":"steel"},"gnus-cite-7":{"fg":"gold"},"gnus-cite-8":{"fg":"blue"},"gnus-cite-9":{"fg":"sage"},"gnus-cite-10":{"fg":"steel"},"gnus-cite-11":{"fg":"gold"},"gnus-cite-attribution":{"fg":"silver","italic":True},
+ "gnus-signature":{"fg":"pewter","italic":True},"gnus-button":{"fg":"blue","underline":True},
+ "gnus-emphasis-bold":{"bold":True},"gnus-emphasis-italic":{"italic":True},"gnus-emphasis-underline":{"underline":True},"gnus-emphasis-strikethru":{"fg":"pewter","strike":True},"gnus-emphasis-highlight-words":{"fg":"gold","bold":True}}
+
+# The bespoke package apps, single-sourced here. Each row is
+# (key, label, preview, FACES, prefix, SEED); add an app by adding one row.
+# generate.py builds APPS from this, and app_inventory derives the set of
+# bespoke keys (to exclude them from the generic-inventory path) from it too.
+BESPOKE_APP_SPECS=[
+ ("org-mode","org-mode","org",ORG_FACES,"org-",ORG_SEED),
+ ("magit","magit","magit",MAGIT_FACES,"magit-",MAGIT_SEED),
+ ("elfeed","elfeed","elfeed",ELFEED_FACES,"elfeed-",ELFEED_SEED),
+ ("mu4e","mu4e","mu4e",MU4E_FACES,"mu4e-",MU4E_SEED),
+ ("gnus","gnus (mu4e article view)","gnus",GNUS_FACES,"gnus-",GNUS_SEED),
+ ("org-faces","org-faces","orgfaces",ORGFACES_FACES,"org-faces-",ORGFACES_SEED),
+ ("ghostel","ghostel","ghostel",GHOSTEL_FACES,"ghostel-",GHOSTEL_SEED),
+ ("ansi-color","ansi-color (vterm/eshell/compilation/ghostel)","ansicolor",ANSI_COLOR_FACES,"ansi-color-",ANSI_COLOR_SEED),
+ ("auto-dim-other-buffers","auto-dim","autodim",AUTODIM_FACES,"auto-dim-other-buffers-",AUTODIM_SEED),
+ ("dashboard","dashboard","dashboard",DASHBOARD_FACES,"dashboard-",DASHBOARD_SEED),
+ ("lsp-mode","lsp-mode","lsp",LSP_FACES,"lsp-",LSP_SEED),
+ ("git-gutter","git-gutter","gitgutter",GITGUTTER_FACES,"git-gutter:",GITGUTTER_SEED),
+ ("flycheck","flycheck","flycheck",FLYCHECK_FACES,"flycheck-",FLYCHECK_SEED),
+ ("dired","dired","dired",DIRED_FACES,"dired-",DIRED_SEED),
+ ("dirvish","dirvish","dirvish",DIRVISH_FACES,"dirvish-",DIRVISH_SEED),
+ ("calibredb","calibredb","calibredb",CALIBREDB_FACES,"calibredb-",CALIBREDB_SEED),
+ ("erc","erc","erc",ERC_FACES,"erc-",ERC_SEED),
+ ("org-drill","org-drill","orgdrill",ORGDRILL_FACES,"org-drill-",ORGDRILL_SEED),
+ ("org-noter","org-noter","orgnoter",ORGNOTER_FACES,"org-noter-",ORGNOTER_SEED),
+ ("signel","signel","signel",SIGNEL_FACES,"signel-",SIGNEL_SEED),
+ ("pearl","pearl","pearl",PEARL_FACES,"pearl-",PEARL_SEED),
+ ("slack","slack","slack",SLACK_FACES,"slack-",SLACK_SEED),
+ ("telega","telega","telega",TELEGA_FACES,"telega-",TELEGA_SEED),
+ ("shr","shr (HTML: nov/eww/mail)","shr",SHR_FACES,"shr-",SHR_SEED),
+]