aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/samples.py
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-14 22:11:42 -0500
committerCraig Jennings <c@cjennings.net>2026-06-14 22:11:42 -0500
commita03105dfc3f55f6d025cd976da47d1fee9d952ba (patch)
treea85d70bbf28806f8ee1a13696841baaae216d30b /scripts/theme-studio/samples.py
parent0484e1cf9ea8273f81178c1e16d6299f2c03c513 (diff)
downloaddotemacs-a03105dfc3f55f6d025cd976da47d1fee9d952ba.tar.gz
dotemacs-a03105dfc3f55f6d025cd976da47d1fee9d952ba.zip
refactor(theme-studio): derive the gate list and sentinel the samples split
run-tests.sh built its browser-gate list by hand, so a new gate could go unrun or a removed one stay listed (that drift hid the #familytest alias). It now derives the list from the gate blocks in browser-gates.js. generate.py split samples.py on the first "cols=" substring to import only the data section, which would truncate at the wrong place if "cols=" ever appeared earlier. Both sides now use an explicit THEME_STUDIO_DATA_END marker.
Diffstat (limited to 'scripts/theme-studio/samples.py')
-rw-r--r--scripts/theme-studio/samples.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/theme-studio/samples.py b/scripts/theme-studio/samples.py
index c80b0d405..02605e75b 100644
--- a/scripts/theme-studio/samples.py
+++ b/scripts/theme-studio/samples.py
@@ -288,6 +288,9 @@ ZIGS=[
[('punc','}')],
]
+# THEME_STUDIO_DATA_END: generate.py execs only the lines above this marker (the
+# code samples and COLS). Everything below is the standalone /tmp/dupre-canon.html
+# preview generator, run only when samples.py is executed directly.
cols="".join(f'<div class="col"><h2>{n}</h2><pre>{render(s)}</pre></div>' for n,s in [("Elisp",ELS),("Go",GOS),("Python",PYS),("TypeScript",TSS),("Java",JAS),("C",CS),("C++",CPS),("Rust",RUSTS),("Zig",ZIGS),("Shell",SHS)])
legend_rows=[
("keyword (bold)","kw","class def if return import"),("builtin","bi","len range print"),