# RULE: a results buffer is a list of things you can RUN, and its traits say # what a ROW IS. Every list before this one held LOCATIONS — a row with a # `path:LINE:COL` word inside it — so n/N select that word and Enter Looks it. # `SPC t t` (Themes) opens the first one whose rows are COMMANDS: `Theme # `, exactly the line you would type, with no path in it to pick out, so # n/N select the WHOLE ROW. One motion, two grains, and the same split either # way — the step only SELECTS, and Tab (Exec, or the middle button, which is # the same builtin) is what RUNS what it left. Walking the list therefore # wears nothing as you pass; the theme changes on the Tab, and picking one is # running it and stopping. There is still no preview state, nothing to confirm # and nothing to cancel: the row you ran is the theme you have. # # The whole ring is in the buffer, in sections: the fifteen native themes, # acme, lapis and lapis_plain, the faithful ports a family at a time, the legacy helix and # dark, then everything exported from the vendored helix .toml and zed .json # files, sorted. The colors below are # read with snapstyle, so this proves the generated themes are real data and # not just names in a list. lines t.txt 40 start 31 100 t.txt wait 8000 t.txt stable 700 20000 snap boot # SPC t t: the list lands below the pane that asked, focus stays HERE — but a # fresh output buffer is where the walk's ring starts, so the first n goes # into the list and every one after it carries on down it. key space t t wait 10000 Theme orchard stable 700 15000 snap list # n selects row 1 whole and Tab runs it: `Theme orchard`, which is already the # boot theme, so only the selection moves. That is the honest first step — an # idempotent command has to be safe to run. key n key tab stable 700 15000 snap step-orchard snapstyle step-orchard # ...and now the theme really does change under the cursor, one row at a time key n key tab stable 700 15000 snap step-dusk snapstyle step-dusk # Selection alone can skip rows without previewing or applying their themes. # Four steps reach atelier, the Acme homage; Tab then applies it. key n key n key n key n key tab stable 700 15000 snap step-atelier snapstyle step-atelier key n key tab stable 700 15000 snap step-forge snapstyle step-forge key n key tab stable 700 15000 snap step-lagoon snapstyle step-lagoon key n key tab stable 700 15000 snap step-solarium snapstyle step-solarium key n key tab stable 700 15000 snap step-spectrum snapstyle step-spectrum key n key tab stable 700 15000 snap step-harvest snapstyle step-harvest key n key tab stable 700 15000 snap step-clay snapstyle step-clay # The three native contrast variants precede acme, lapis and lapis_plain, and then the first # ported family's section. Its heading # and blank separator are not stops in the n/N command walk. key n key tab stable 700 15000 snap step-forge-black snapstyle step-forge-black key n key tab stable 700 15000 snap step-forge-soft snapstyle step-forge-soft key n key tab stable 700 15000 snap step-orchard-black snapstyle step-orchard-black key n key tab stable 700 15000 snap step-acme snapstyle step-acme key n key tab stable 700 15000 snap step-lapis snapstyle step-lapis key n key tab stable 700 15000 snap step-lapis-plain snapstyle step-lapis-plain key n key tab stable 700 15000 snap step-dark-plus snapstyle step-dark-plus # across the Visual Studio Code section into Solarized: a section heading and # its blank line are skipped like the first. (The imported half, past the # legacy section, is sorted by name, so the ring is the same everywhere # whatever order the directory read handed the files over in.) key n key tab stable 700 15000 snap step-solarized-dark snapstyle step-solarized-dark # N walks back the same way — it is the exact inverse of n — and the Tab after # it runs the row it lands on, so the theme rewinds too key N key tab stable 700 15000 snap step-back snapstyle step-back # PICKING is just stopping: the theme the last Tab ran is still on, and the # list is closed with an explicit Del. No window move is needed to get there — # the walk lands IN the pane it steps, so the cursor has been in the list # since the first n. Body-normal Esc is Last, so it deliberately leaves this # document-like output buffer open. # ...and the WHOLE ring is in there: `ge` to the last line, which # only reaches `Theme zenburn` if nothing truncated the buffer on the way in. It # is an ordinary file pane, so it scrolls like one; a motion runs nothing and # neither does a step, so no theme changes here and the one the last Tab chose # is still on. key g e stable 700 15000 snap tail key space d settle 100 stable 700 15000 snap picked snapstyle picked