diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-05 15:57:48 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-10 09:17:07 -0300 |
| commit | 1891a51ed2b64eec3964d3af3807be90d08a14c2 (patch) | |
| tree | 1f8e3afb3d2e765ade98ca8f41b3a416db396d24 /test/snapshots/wrap.snap | |
| parent | 68d208e1a0ff37eaef4a2a97b04797a1a6df277c (diff) | |
| download | pardes-1891a51ed2b64eec3964d3af3807be90d08a14c2.tar.gz pardes-1891a51ed2b64eec3964d3af3807be90d08a14c2.zip | |
soft-wrap long lines behind a toggle
Diffstat (limited to 'test/snapshots/wrap.snap')
| -rw-r--r-- | test/snapshots/wrap.snap | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/snapshots/wrap.snap b/test/snapshots/wrap.snap new file mode 100644 index 00000000..c6e976b1 --- /dev/null +++ b/test/snapshots/wrap.snap @@ -0,0 +1,54 @@ +# Soft line breaks (the Wrap builtin, `SPC t w`): a file line too long for the +# pane renders across several body rows instead of running off the right edge. +# OFF by default, and off it is the clipping render it has always been. +# +# Three rules pinned here. The break is at min(100, the pane's own content +# width), so a narrow pane breaks at its own edge and a wide one stops at 100. +# A continuation row carries a BLANK gutter — the number belongs to the LINE, +# and a number repeated down a wrapped line would read as several lines. And +# the mouse follows the render: a click on a continuation row lands on the +# character under the pointer, which only works if the click resolves through +# the same row->line map the body was drawn from. +# +# The line is 20 decades, each headed by its own column marker: `0` at column +# 0, `4` at 40, `A` at 100. So the first character of a continuation row NAMES +# the column it broke at, and the width rule is readable straight off the grid. +file long.txt 0---------1---------2---------3---------4---------5---------6---------7---------8---------9---------A---------B---------C---------D---------E---------F---------G---------H---------I---------J---------\nsecond line\nthird line\n +# 47 columns: the 2-column chrome gutter plus the 5-column line-number gutter +# leave 40 for content, under 100, so the PANE's width is the break. +start 14 47 long.txt +wait 8000 New Newcol +stable 700 20000 +# off: line 1 on ONE row, cut at the right edge, lines 2 and 3 under it +snap off +key space t w +stable 400 5000 +# on: five rows for line 1 (200 bytes / 40), the four continuations gutterless +# and starting at `4` `8` `C` `G` — the columns 40, 80, 120, 160 +snap on-narrow +# a click on the SECOND row of line 1, on the `5` marker at column 50. The +# cursor must come back to the cell that was clicked (grid 17,3): the click +# resolved to line 1 column 50, and the render put line 1 column 50 back where +# the finger was. Off by one row and it would land in line 2 instead. +press left 18 4 +release left 18 4 +stable 400 5000 +snap clicked +# motions stay LOGICAL: one `j` from line 1 leaves the whole wrapped line +# behind and lands on line 2, four screen rows down at once. +key j +stable 400 5000 +snap logical-j +# ...and off again is off: the same clipped body as the first snap, because +# the map the readers consult goes back to empty and every one of them falls +# back to the row arithmetic it used before any of this existed +key space t w +stable 400 5000 +snap off-again +# 127 columns: 120 for content, so the 100 wins and the break is at the `A` +start 14 127 long.txt +wait 8000 New Newcol +stable 700 20000 +key space t w +stable 400 5000 +snap on-wide |
