aboutsummaryrefslogtreecommitdiff
path: root/scripts/calendar_sync_api.py
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-08 02:56:39 -0500
committerCraig Jennings <c@cjennings.net>2026-06-08 02:56:39 -0500
commit4df47d136cb2ea498a6d5396518d20e50abd12aa (patch)
tree5fc6f2b6df23deecdd96642f1f2d0bafadc4d722 /scripts/calendar_sync_api.py
parentdc9df42e1476b519b69f2dbd7af4028633e03fcc (diff)
downloaddotemacs-4df47d136cb2ea498a6d5396518d20e50abd12aa.tar.gz
dotemacs-4df47d136cb2ea498a6d5396518d20e50abd12aa.zip
feat(theme-selector): convert theme.json into a loadable deftheme
build-theme.el is the last link in the theme-selector pipeline: a theme.json export becomes a single self-contained themes/<name>-theme.el. All four tiers convert: default from assignments.bg/.p, the syntax categories to their font-lock/tree-sitter faces with the bold/italic sets applied, UI passthrough, and package faces with :inherit/:height/weight/slant. The output is a flat generated deftheme, not the palette/faces/theme trio the hand-authored dupre ships. A theme.json carries resolved per-face hex, not dupre's semantic-mapping layer, so a flat deftheme is the faithful output and never clobbers the curated dupre files. I omitted the dec (decorator) key: Emacs has no dedicated decorator face and renders decorators with font-lock-type-face, which the type key already owns, so coloring dec independently would clobber types. Decorators follow the type color, as they do in stock Emacs. 20 ERT tests cover the attribute builder, each tier, the dec omission, and an end-to-end convert-and-load with a WCAG-AA assertion on the round-tripped default.
Diffstat (limited to 'scripts/calendar_sync_api.py')
0 files changed, 0 insertions, 0 deletions