diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-09 20:06:53 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-09 20:06:53 -0500 |
| commit | 35abac5bf53beb265282bd16fec6c5c2e2627cfb (patch) | |
| tree | 930c461a9746e109903cb14a7658b477d16c3e91 /scripts/theme-studio/run-tests.sh | |
| parent | 0c56d76c6e1bff97e52a60d27b783a664fefc24c (diff) | |
| download | dotemacs-35abac5bf53beb265282bd16fec6c5c2e2627cfb.tar.gz dotemacs-35abac5bf53beb265282bd16fec6c5c2e2627cfb.zip | |
feat(theme-studio): re-bind "(gone)" assignments when a name returns
Deleting a palette color leaves any assignment pointing at it showing "(gone)". Recreating a color with the same deleted name now re-points those stranded assignments to the new color, even when its hex differs, instead of leaving them stuck on the old hex forever.
Delete records the removed name and hex; the next add of that name re-points every reference (syntax map, UI faces, package faces) to the new hex and consumes the record. The registry clears on import so a stale name from a previous theme can't re-bind across a load. I pulled the re-point loop that update-selected already used into a shared helper. A #healtest gate covers delete-then-recreate-with-a-new-hex.
Diffstat (limited to 'scripts/theme-studio/run-tests.sh')
| -rwxr-xr-x | scripts/theme-studio/run-tests.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/theme-studio/run-tests.sh b/scripts/theme-studio/run-tests.sh index 4cdcd383..1ef748f4 100755 --- a/scripts/theme-studio/run-tests.sh +++ b/scripts/theme-studio/run-tests.sh @@ -53,7 +53,7 @@ CHROME="" for c in google-chrome-stable google-chrome chromium chromium-browser; do if command -v "$c" >/dev/null 2>&1; then CHROME="$c"; break; fi done -HASHES="selftest cursortest readouttest deltatest oklchtest planetest locktest sorttest mocktest ramptest contrasttest safetest" +HASHES="selftest cursortest readouttest deltatest oklchtest planetest locktest sorttest mocktest ramptest contrasttest safetest healtest" if [ "$NO_BROWSER" = 1 ]; then skip_msg "browser hash gates (--no-browser)" elif [ -z "$CHROME" ]; then |
