diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-15 08:22:35 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-15 08:22:35 -0500 |
| commit | a459ae777f3ef95b3aa8e1f8834b3e85db3189c8 (patch) | |
| tree | 249cf239915934e152813e6096f482445f9d87f3 | |
| parent | bbd8daca0d618f55e53ce3fefb8c5e353c58c954 (diff) | |
| download | dotemacs-a459ae777f3ef95b3aa8e1f8834b3e85db3189c8.tar.gz dotemacs-a459ae777f3ef95b3aa8e1f8834b3e85db3189c8.zip | |
build: add deploy-wip target for live WIP theme reload
Build scripts/theme-studio/WIP.json into themes/WIP-theme.el, load it into the running daemon via the existing theme-reload target, and fire a silent desktop notification on success. The notify runs after the reload, so a build or load failure aborts before claiming the theme deployed.
| -rw-r--r-- | Makefile | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -47,7 +47,7 @@ EMACS_TEST = $(EMACS_BATCH) -L $(TEST_DIR) -L $(MODULE_DIR) # No colors - using plain text symbols instead .PHONY: help targets test test-all test-unit test-integration test-file test-name \ - test-bash theme-studio-test theme-studio-check theme-studio-coverage theme-studio-gen theme-studio-open theme-studio-theme theme-studio-theme-load theme-studio-theme-reload \ + test-bash theme-studio-test theme-studio-check theme-studio-coverage theme-studio-gen theme-studio-open theme-studio-theme theme-studio-theme-load theme-studio-theme-reload deploy-wip \ benchmark coverage coverage-summary coverage-clean \ validate-parens validate-modules compile compile-file lint profile \ clean clean-compiled clean-tests reset @@ -79,6 +79,7 @@ help: @echo " make theme-studio-theme JSON=/path/theme.json - Convert JSON export to themes/<name>-theme.el" @echo " make theme-studio-theme-load THEME=name - Disable all custom themes, then load THEME" @echo " make theme-studio-theme-reload JSON=/path.json - Convert JSON, then cleanly reload its theme" + @echo " make deploy-wip - Build WIP.json into the theme, load it live, ping silently" @echo "" @echo " Coverage:" @echo " make coverage - Generate simplecov JSON and summarize modules" @@ -172,6 +173,18 @@ ifndef JSON endif @$(MAKE) -C scripts/theme-studio theme-reload JSON='$(abspath $(JSON))' OUT='$(abspath $(OUT))' THEME='$(THEME)' +# Path to the theme-studio work-in-progress export. +WIP_JSON = scripts/theme-studio/WIP.json + +# Build WIP.json into themes/WIP-theme.el, load it into the running Emacs +# daemon, and fire a silent desktop notification when done. Requires the +# daemon to be up (the load goes through emacsclient). Only notifies on +# success — a build or load failure aborts make before the ping. +deploy-wip: + @$(MAKE) theme-studio-theme-reload JSON='$(WIP_JSON)' OUT='$(OUT)' THEME=WIP + @notify success "WIP theme deployed" "Built WIP.json and loaded it into Emacs." --silent + @echo "[i] WIP theme deployed and loaded into the running daemon." + BANNER = ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # Run the .el test files in $(1), each in its own Emacs, with :slow and :perf |
