Files
typewriter/docs/v0.4-visual-and-ex.md
Julien Calixte 55a8d21e0f docs(macroplan): split each version into its own page
Move each version's scope checklist and status out of the monolithic
macroplan into a dedicated docs/vX.Y-<slug>.md page; macroplan keeps the
source block, the rollup status, and a one-line summary + link per
version. v0.1 reuses its existing product/technical pages.

Also drop the "Optional column ruler at 80" requirement from v0.6.
2026-07-12 02:10:29 +02:00

2.2 KiB

v0.4 — Visual mode + ex commands

Part of the Typoena macro plan. Requirements and targets: qfd.md. Load-bearing decisions: adr.md.

Status: COMPLETE in core 2026-07-11, host-tested (83 editor tests), on-device smoke-test pending. Charwise Visual (v) and linewise VisualLine (V) selection landed with y/d/c on the span: charwise is vim-inclusive of the char under the further caret, linewise spans whole logical lines and fills the register linewise (so Vyp copies a line, Vd deletes it like dd). Motions (h j k l, w b e, 0 $, gg G, Ctrl-d/u) and counts extend the selection; v/V toggle/switch submode, Esc cancels. The selection renders as reverse-video cells (black fill, glyphs redrawn white) — the only selection affordance on a 1-bit panel — with the caret cell punched back to normal video so the active end stands out. The Normal-mode motions were factored into a shared move_by helper so Normal and Visual can't drift.

DECISION (2026-07-07, resolved 2026-07-11): v/V = Visual selection (vim-standard). The read-only View (reading/scroll) mode that used to sit on v/V moved to gr (go-read) — a g-prefixed gesture reusing the existing pending-g machinery, no vim clash. View mode stays; v/V are now Visual.

  • Visual char (v) and line (V) modes, y d c on selections — landed 2026-07-11 (18 new tests). Known limits (deferred): no o swap-ends, no x/s operator aliases, no Visual . repeat, no :'<,'> range commands.
  • [~] : command line (mechanism ✓; :w/:wq/:x save, :fmt/:sync/:gl wired; :q deliberately dropped — nothing to quit to). Command-line editing added 2026-07-11: Ctrl-W deletes the previous word, Cmd-Backspace clears the line. :e <path> deferred to v0.5 — opening another file needs host file-IO + buffer switching, which is v0.5's multi-file work (gated behind Spikes 11/14); half-building it here ahead of its dirty-buffer handling wasn't worth it.
  • Ahead of schedule / unscheduled: :fmt Markdown formatter (table alignment, blank-line collapse, trailing-whitespace strip)