You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6c1f2c5
Browse filesBrowse the repository at this point in the historyBrowse files
gluck
committed
cli: the selection is a wash, and it covers the whole block
THE BAR IS GONE. A selected block wore a slim cyan bar in the left margin
AND a background lift; the bar said what the lift already said, in the
column the adornment's snake wants, and it was a second thing to keep
right at every width. The lift is the whole cue now, one step off the
pane for a block in range and one step further for the focused one,
which is what tells a reader where Enter, t and d will land.
AND IT COVERS THE BLOCK, not the half of it that is text. Chrome rows
carrying a block's ref are washed with it, the chrome BETWEEN washed rows
is washed, and the band closes over the rule that fences the box beneath
them: select a question and its heading, its text and the seam under it
lift together, which is what Gluck asked for and what a "selection" ought
to mean. It stops at the first row of a block that is not selected, so
the answer's voice header stays the answer's.
The wash moves into the palette (term.NodeWash) beside the visual
selection's, rather than living as a literal in the pager, and
firstVisible is now one scanner for "the row from its first painted
cell", shared by the gutter junctions and the band's rule test.
WITH COLOUR OFF THERE IS NO CUE. Deliberate: nothing else in the pager is
legible without colour either, and reverse video is a one-line change in
one place if anyone ever needs it.
TESTS. Two traps, both of which made assertions vacuous:
- term.NodeWash answers "" when colour is off, and a test process is
not a terminal, so `strings.Contains(row, term.NodeWash(...))` was
TRUE FOR EVERY ROW. The washes are now read once with colour forced.
- `tmux capture-pane -e` emits renditions as a RUNNING STATE across the
whole capture, not per row: two washed rows share one sequence and
the second, read alone, looks unwashed. That cost half an hour of
hunting a paint bug that was not there (the emitted frame was
correct, verified with pipe-pane). Per-row colour claims against a
capture now go through capturedWashes, which tracks the background in
force at each row's first cell.
The colour frame goldens were already stale on main (they only rebuild
under FORCE_COLOR); they are regenerated here along with the plain pair.
0 commit comments