aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/face_data.py
Commit message (Collapse)AuthorAgeFilesLines
* chore(theme-studio): label the EMMS app and lowercase the expanded labelsCraig Jennings16 hours1-3/+3
| | | | Add a display-label override for the emms inventory app (emacs multimedia system), and lowercase all the acronym-expansion labels (eat, lsp, shr, emms) so they match the lowercase package-name labels and the package ids. The hovers keep normal capitalization since they are descriptions, not labels.
* feat(theme-studio): move reuse context from app labels into a hoverCraig Jennings18 hours1-2/+12
| | | | Clean the app labels and move the "what reuses this" context into the app dropdown's tooltip, so the labels stay short. The foundational face sets name their consumers on hover: ansi-color (vterm, eshell, compilation, ghostel, eat), shr (eww, nov, mu4e/message), gnus (mu4e article view), and dired (dirvish). Labels now carry only the name plus any acronym expansion. A small APP_HOVERS dict in face_data.py feeds an app "hover" field that sets the dropdown's title on selection.
* chore(theme-studio): spell out the LSP and SHR app namesCraig Jennings18 hours1-2/+2
| | | | Match the EAT format: lsp-mode -> Language Server Protocol (LSP), shr -> Simple HTML Renderer (SHR).
* chore(theme-studio): label the EAT app with its full name (EAT)Craig Jennings18 hours1-1/+1
|
* feat(theme-studio): expose EAT terminal faces with a previewCraig Jennings20 hours1-0/+13
| | | | Add EAT as a theme-studio app so its faces become editable in the studio: the 16 named ANSI palette faces, the SGR attribute faces (bold, faint, italic, slow/fast blink), and the three shell-prompt annotation faces. renderEatPreview draws a sample terminal with the palette rows, colored ls output, and the prompt annotations, so editing a face updates the preview live. No seed colors are set, so the faces sit at their own defaults until themed, consistent with the vanilla pass. Mirrors the existing ghostel terminal app.
* feat(theme-studio): add ansi-color faces to drive all ANSI consumersCraig Jennings6 days1-0/+16
| | | | | | theme-studio could theme ghostel-color-* but not the base ansi-color-* faces. build-inventory.el skips built-in faces, and ansi-color is part of Emacs core, so the 16 base ANSI faces never reached the dropdown. That left vterm, eshell, and compilation buffers on stock ANSI colors no matter the theme. I added ansi-color as a bespoke app (the same path shr already uses for a built-in library), with the 16 palette faces seeded to match the ghostel colors. Theming ansi-color-* now sets the 16 colors for every ANSI consumer at once. ghostel-color-* inherit these, so clearing a ghostel-color face lets it follow ansi-color rather than holding its own value.
* refactor(theme-studio): single-source the bespoke-app list in face_dataCraig Jennings7 days1-0/+30
| | | | The bespoke apps were listed twice: generate.py's _BESPOKE_APPS (key, label, preview, faces, prefix, seed) and app_inventory's BESPOKE_APPS set of keys, which had drifted (it carried both "org" and "org-mode"). The spec list now lives in face_data.py as BESPOKE_APP_SPECS, beside the FACES/SEED constants it references. generate.py builds APPS from it, and app_inventory derives its exclusion set from the same keys plus an explicit "org" alias of the "org-mode" app. Adding a bespoke app is now one row. APPS order and the generated page are unchanged.
* feat(theme-studio): add gnus as a view packageCraig Jennings10 days1-0/+12
| | | | mu4e renders the open message with gnus, so the article-view headers, quote levels, signature, and inline emphasis are all gnus faces, not mu4e ones. gnus ships them as bright greens on a dark background, and the theme had no way to reach them. I added gnus as a bespoke view package: the article-view face set in face_data.py with palette seeds that mirror the mu4e header treatment, a realistic preview (header block, emphasized body, an 11-level quoted reply chain, signature), and a #gnustest gate that asserts every emitted face is a real gnus face. Theming and exporting gnus in the studio retires the green in the live view.
* feat(theme-studio): add org-faces app for agenda keyword and priority colorsCraig Jennings11 days1-0/+16
| | | | Surface the org-faces-config.el header-row faces as their own theme-studio app, placed beside elfeed and mu4e so it reads as a custom layer rather than built-in org. The seed mirrors the module defaults exactly across all 28 faces (10 keywords, 4 priorities, and their dim variants), so the editor opens on the live colors. The preview shows a focused agenda block and an auto-dim block covering every face.
* chore(theme-studio): remove dead code and clear a type warningCraig Jennings12 days1-1/+0
| | | | | | | | | - ramp (app-core.js) and its test-ramp.mjs: superseded by regenColumn, no production caller. - optList (app-core.js) and its tests: superseded by paletteOptionList. - ITALIC in generate.py: computed, never read (ITALIC_MAP is the live one). - a stray empty string in MU4E_FACES that .split() silently dropped. - the dead #familytest alias in the columntest gate, which HASHES never listed. - widen face_rows to Sequence[str], clearing the list-invariance warnings on the APPS calls.
* feat(theme-studio): auto-dim split previewCraig Jennings12 days1-0/+6
| | | | | | | | auto-dim-other-buffers is a package face, not a theme face, so build-inventory.el (it scans only elpa/straight packages) never listed it and the studio couldn't theme it. This adds it as a bespoke app. The preview is a vertical split: the focused window on the left in real syntax colors, the same code on the right collapsed to the single auto-dim-other-buffers face, the way Emacs renders a non-selected window. Both panes follow the language selector. A trailing row shows auto-dim-other-buffers-hide, whose foreground matches the background so it vanishes when dimmed. A #autodimtest gate covers the split, the uniform recolor, and language sync.
* Split theme studio generator data and templateCraig Jennings13 days1-0/+297