aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/package-inventory.json
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-09 05:19:58 -0500
committerCraig Jennings <c@cjennings.net>2026-06-09 05:19:58 -0500
commit01b1af5ab6f5e21277818dcfc148c9429e296abf (patch)
tree843bdfbe79d3ba759bf281bdb1ea2ea7ded44f61 /scripts/theme-studio/package-inventory.json
parent89d760d47c05b62246ed9ec5eeb6cd22396784b4 (diff)
downloaddotemacs-01b1af5ab6f5e21277818dcfc148c9429e296abf.tar.gz
dotemacs-01b1af5ab6f5e21277818dcfc148c9429e296abf.zip
refactor(theme-studio): parameterize clear-unlocked, add effFg/effBg helpers
The three clear-unlocked functions (syntax, UI, package) repeated the same loop: walk the tier's rows, skip the locked ones, reset the rest. Pulled that into clearUnlockedRows(items, keyFn, resetFn) — keyFn returns a row's lock key or null to skip it outright (syntax bg and the default fg), resetFn does the tier-specific clearing. #locktest already pins clear-unlocked-skips-locked across all three tiers, so it guards this directly. The "unset foreground reads as the default fg, unset background as the ground" fallback was written inline at nine sites as ||MAP['p'] / ||MAP['bg']. Replaced them with effFg(v) and effBg(v). The syntax, UI, and package render paths now resolve their raw value through the same two helpers. Behavior-preserving: the rendered DOM (script stripped) is byte-identical to before, and every gate stays green.
Diffstat (limited to 'scripts/theme-studio/package-inventory.json')
0 files changed, 0 insertions, 0 deletions