diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-09 09:41:28 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-09 09:41:28 -0500 |
| commit | b6aed0e390ee25358d0d6270dd43a7edcaf87f97 (patch) | |
| tree | bdd77d21635653294dca82940abf06245042bb2f /scripts/setup-telega.sh | |
| parent | c8360f5783673f6978c4eec6e7beefc4bd73997f (diff) | |
| download | dotemacs-b6aed0e390ee25358d0d6270dd43a7edcaf87f97.tar.gz dotemacs-b6aed0e390ee25358d0d6270dd43a7edcaf87f97.zip | |
fix(theme-studio): make the live buffer preview render UI faces the way Emacs does
The mock buffer rendered several faces wrong, verified against the running daemon and emacs -Q:
- highlight was flat monochrome text. Like region, the highlight face is background-only, so Emacs lets the syntax foreground show through (face merge: highlight over a keyword keeps the keyword color, adds the highlight background). Both now go through one overlay helper that keeps token colors and only overrides the foreground when the face sets one.
- cursor was an empty block at end-of-line. Emacs draws a box cursor on the character at point, in the frame background over the cursor color — now it sits on a real glyph.
- the overlay faces, the line-number gutter, and the paren faces ignored weight/underline/etc. They now honor bold/italic/underline/strike, matching the table preview.
- the fringe showed only its background. It now draws a continuation indicator in the fringe foreground.
- the mode line had no box. It now carries the 3D released-button box that is the Emacs default.
Defaults seeded to the theme-independent Emacs core styles (from emacs -Q): error/warning/success are bold; lazy-highlight and show-paren-match are underlined (link already was).
Added a #mocktest gate pinning these — overlay faces keep token colors, the cursor is on a glyph, styles render, the fringe indicator is present, the mode line has its box. Verified it goes red when the rendering regresses.
Diffstat (limited to 'scripts/setup-telega.sh')
0 files changed, 0 insertions, 0 deletions
