From a03105dfc3f55f6d025cd976da47d1fee9d952ba Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 14 Jun 2026 22:11:42 -0500 Subject: 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. --- scripts/theme-studio/samples.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'scripts/theme-studio/samples.py') 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'

{n}

{render(s)}
' 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"), -- cgit v1.2.3