diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-14 13:40:29 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-15 11:57:13 -0300 |
| commit | f67fec978a9296c651ec06bd2f43686d34ff86ee (patch) | |
| tree | cbf5568883e5888398e0887093fc5afc524fd54d /test/snapshots | |
| parent | 9280c597b000eed661fd98793e182fdcb640f6cd (diff) | |
| download | pardes-f67fec978a9296c651ec06bd2f43686d34ff86ee.tar.gz pardes-f67fec978a9296c651ec06bd2f43686d34ff86ee.zip | |
look: richer path/range parsing, pdf rendering, corner-drag and stepgrain snapshots
Diffstat (limited to 'test/snapshots')
| -rw-r--r-- | test/snapshots/cornerdrag-left.golden | 155 | ||||
| -rw-r--r-- | test/snapshots/cornerdrag-left.snap | 41 | ||||
| -rw-r--r-- | test/snapshots/grep.golden | 2 | ||||
| -rw-r--r-- | test/snapshots/grep.snap | 13 | ||||
| -rw-r--r-- | test/snapshots/jumps.snap | 35 | ||||
| -rw-r--r-- | test/snapshots/stepgrain.golden | 310 | ||||
| -rw-r--r-- | test/snapshots/stepgrain.snap | 77 | ||||
| -rw-r--r-- | test/snapshots/ttytaken.golden | 124 | ||||
| -rw-r--r-- | test/snapshots/ttytaken.snap | 43 |
9 files changed, 774 insertions, 26 deletions
diff --git a/test/snapshots/cornerdrag-left.golden b/test/snapshots/cornerdrag-left.golden new file mode 100644 index 00000000..b87651b1 --- /dev/null +++ b/test/snapshots/cornerdrag-left.golden @@ -0,0 +1,155 @@ +== snap right-split grid=100x30 cursor=54,8 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/cornerdrag-left/cwd New Del /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ls ls +| w.txt w.txt +| +| /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ls +| w.txt +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ls +| w.txt +| +| +| +| +| +| +| +| +| +| +| +== snap hover-corner grid=100x30 cursor=54,8 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/cornerdrag-left/cwd New Del ╎ /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ls ╎ ls +| w.txt ╎ w.txt +| ╎╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ +| ╎ /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ╎ ls +| ╎ w.txt +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| /tmp/pardes-snap/cornerdrag-left/cwd New Del ╎ +| ls ╎ +| w.txt ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +== snap hover-left-corner grid=100x30 cursor=54,8 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/cornerdrag-left/cwd New Del ╎ /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ls ╎ ls +| w.txt ╎ w.txt +| ╎ +| ╎ /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ╎ ls +| ╎ w.txt +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ +| /tmp/pardes-snap/cornerdrag-left/cwd New Del ╎ +| ls ╎ +| w.txt ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +== snap corner-drag grid=100x30 cursor=54,8 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/cornerdrag╎left/cwd New Del /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ls ╎ ls +| w.txt ╎ w.txt +| ╎ +| ╎ /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ╎ ls +| ╎ w.txt +| ╎ +| ╎ +| ╎ +| ╎╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ +| ╎ +| ╎ +| ╎ +| ╎ +| /tmp/pardes-snap/cornerdrag╎left/cwd New Del +| ls ╎ +| w.txt ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +| ╎ +== snap corner-done grid=100x30 cursor=34,15 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/cornerdrag- /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ls ls +| w.txt w.txt +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/cornerdrag-left/cwd New Del +| ls +| w.txt +| +| /tmp/pardes-snap/cornerdrag- +| ls +| w.txt +| +| +| +| +| +| +| +| +| +| +| diff --git a/test/snapshots/cornerdrag-left.snap b/test/snapshots/cornerdrag-left.snap new file mode 100644 index 00000000..c90dbc76 --- /dev/null +++ b/test/snapshots/cornerdrag-left.snap @@ -0,0 +1,41 @@ +# corner grabs on the RIGHT column's side of the v border. The v handle is the +# LEFT column's last cell, so that column's own h hint runs THROUGH it while the +# right column's hints start one cell further right — the crossing there reads as +# a T butting into the junction rather than a full cross, and it is grabbable all +# the same: one drag moves the column edge and the RIGHT column's pane edge. +# Layout: windowops' -n 3 (col 0 x 0 w 50, panes on rows 1-15 and 16-29; col 1 +# x 50 w 50), then focus right and Alt-n so col 1 holds two panes as well, split +# at ITS own row. The two corners on col 49 are then row 16 (col 0's seam, the +# one that already worked) and row 5 (col 1's, the one this script is about). +file w.txt x +start 30 100 -n 3 +wait 8000 w.txt +stable 700 20000 +# a second pane in the RIGHT column +key c-w l +stable 400 5000 +key a-n +stable 700 15000 +snap right-split +# hover col 1's corner: the v hint runs full height AND col 1's h hint lights, +# from col 51 rightward. Before this that row was dark on the handle — only the +# hovered column's seam lit, and the hovered cell belongs to col 0 +motion 50 5 +stable 400 5000 +snap hover-corner +# CONTROL: col 0's own seam is still a left-column corner, its h hint drawn +# through the handle from col 1 to the handle itself, unchanged +motion 50 16 +stable 400 5000 +snap hover-left-corner +# grab col 1's corner and drag down-left: the column preview and col 1's row +# preview both follow the one mouse, the row dashes lying to the RIGHT of the v +# line because they are the right column's +press left 50 5 +drag left 30 12 +stable 400 5000 +snap corner-drag +release left 30 12 +motion 45 25 +stable 500 8000 +snap corner-done diff --git a/test/snapshots/grep.golden b/test/snapshots/grep.golden index 846ab703..af4c4708 100644 --- a/test/snapshots/grep.golden +++ b/test/snapshots/grep.golden @@ -153,7 +153,7 @@ | 2 a.txt:3:6-11 last TARGET line | 3 sub/b.txt:2:1-6 TARGET inside sub | 4 -== snap nomatch grid=180x30 cursor=37,28 +== snap nomatch grid=180x30 cursor=62,3 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill | /tmp/pardes-snap/grep/cwd/a.txt Save New Del /tmp/pardes-snap/grep/cwd New Del /tmp/pardes-snap/grep/cwd New Del | 1 hello TARGET one ls ls diff --git a/test/snapshots/grep.snap b/test/snapshots/grep.snap index 1d3efc9e..ab708a25 100644 --- a/test/snapshots/grep.snap +++ b/test/snapshots/grep.snap @@ -6,7 +6,8 @@ # looking it SELECTS the hit — with the path RELATIVE to the directory # of the pane that asked — the same directory its results buffer is named in, # so the short name resolves; only a hit from outside that tree stays absolute. -# n/N SELECT the next/prev row like any other result list and open nothing; +# n/N SELECT the next/prev row like any other result list and open nothing — +# one press per row, the location at its head, never the matched text after it; # Enter looks what they leave selected, and a row pointing into a file nothing # has open yet opens it. dirmk sub @@ -62,10 +63,12 @@ wait 10000 TARGET inside sub stable 700 15000 snap opened-hit # a pattern nothing holds: an empty list of its own, with nothing in it for n -# to stop on — so the ring carries that step back into the TARGET list. The -# look above is why both of those read the way they do: it left the cursor in -# sub/b.txt, so the empty list is named in sub/ rather than cwd/, and it left -# the hit SELECTED there (a ranged result row is one a look selects). +# to stop on — so the ring carries that step out of it and on round. It lands +# in the SHELL, whose `ls` row is free text and steps word by word: the TARGET +# list is standing on its last row, and a row-grained walk has nothing left in +# it to offer. The look above is why these read the way they do: it left the +# cursor in sub/b.txt, so the empty list is named in sub/ rather than cwd/, and +# it left the hit SELECTED there (a ranged result row is one a look selects). # Armed from the LEADER, not the topbar word, because of that selection: a # topbar execute chords whatever is selected into its argument, so a # middle-click here would run `Grep TARGET` and never ask for a pattern at diff --git a/test/snapshots/jumps.snap b/test/snapshots/jumps.snap index db131bd4..d7d44967 100644 --- a/test/snapshots/jumps.snap +++ b/test/snapshots/jumps.snap @@ -64,19 +64,20 @@ snap last-back key space j l stable 700 15000 snap jumplist -# n/N select the next/prev look-able span and Enter looks it, exactly as they -# do a +Search: the stepped span is selected in the buffer (snapstyle) and the -# Enter after it moves the pane the row names. Row 1 is the shell (no path, so +# n/N select the next/prev row and Enter looks it, exactly as they do a +# +Search: the stepped span is selected in the buffer (snapstyle) and the Enter +# after it moves the pane the row names. Row 1 is the shell (no path, so # `@pN`), row 2 the file at line 1, row 4 the file at line 100 — so the body # visibly rides the list. # -# SPANS, not rows, and this buffer is the one place in the suite where the two -# differ: an `@pN` row's trailing text is the pane's DIRECTORY, which is a -# look-able word of its own, so row 1 and row 3 each hold TWO stops and -# reaching the next row takes two steps. A file row's text is its content line -# (`line 1`), which resolves to nothing, so those hold one. Stepping words -# rather than rows is what makes the walk the same motion in a results buffer -# and in the middle of a paragraph, and this is the price of that. +# ONE PRESS PER ROW, and this buffer is where that rule earns itself: an `@pN` +# row's trailing text is the pane's DIRECTORY, which is a look-able word of its +# own, so rows 1 and 3 used to hold TWO stops each and reaching the next row +# took two steps. A results buffer is a LIST — its rows are locations, and the +# text after one says what is THERE rather than naming another place to go — so +# the walk takes the location at the head of a row and moves on to the next row +# (output_pane.Grain.line). Free text still steps every word: that is the +# terminal walk in ttylook, and it is why the two goldens differ. # # An `@pN` row moves focus like any other, which it did not use to: the STEP # only selects now, and the look Enter runs goes to the pane by the same route @@ -86,26 +87,20 @@ key enter stable 700 15000 snap step1-shell snapstyle step1-shell -# past the directory on row 1, then onto row 2 -key n -stable 400 5000 +# on to row 2 — one press, the directory on row 1 is no longer a stop of its own key n key enter stable 700 15000 snap step2-file -# row 3 is the shell again, both its spans, and then row 4 -key n -stable 400 5000 +# row 3 is the shell again, then row 4 key n stable 400 5000 key n key enter stable 700 15000 snap step4-line100 -# N is the exact inverse: the same two spans of row 3 in the other order, so -# two presses land back on its location and Enter follows it to the shell -key N -stable 400 5000 +# N is the exact inverse: one press back onto row 3's location, and Enter +# follows it to the shell key N key enter stable 700 15000 diff --git a/test/snapshots/stepgrain.golden b/test/snapshots/stepgrain.golden new file mode 100644 index 00000000..f269c865 --- /dev/null +++ b/test/snapshots/stepgrain.golden @@ -0,0 +1,310 @@ +== snap results grid=150x30 cursor=7,2 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/stepgrain/cwd/a.txt Save New Del +| 1 hello ZQMARK one +| 2 see also sub/b.txt for ZQMARK two +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 1 a.txt:1:7-12 hello ZQMARK one +| 2 a.txt:2:24-29 see also sub/b.txt for ZQMARK two +| 3 sub/b.txt:1:1-6 ZQMARK inside sub +== snap step-row1 grid=150x30 cursor=7,27 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/stepgrain/cwd/a.txt Save New Del +| 1 hello ZQMARK one +| 2 see also sub/b.txt for ZQMARK two +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 1 a.txt:1:7-12 hello ZQMARK one +| 2 a.txt:2:24-29 see also sub/b.txt for ZQMARK two +| 3 sub/b.txt:1:1-6 ZQMARK inside sub +== style step-row1 +|0: 0-56 #949494,#121212, 57-149 d,#121212, +|1: 0-1 #ffffff,#262626, 2-129 #949494,#121212, 130-149 d,#121212, +|2: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-22 #bdbdbd,#080808, 23-149 d,#080808, +|3: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-39 #bdbdbd,#080808, 40-149 d,#080808, +|4: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|5: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|6: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|7: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|8: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|9: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|10: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|11: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|12: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|13: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|14: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|15: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|16: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|17: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|18: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|19: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|20: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|21: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|22: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|23: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|24: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|25: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|26: 0-1 #ffffff,#626262, 2-129 #949494,#121212, 130-149 d,#121212, +|27: 0-0 d,#444444, 1-1 d,#080808, 2-6 #949494,#121212, 7-18 #080808,#80a0ff, 19-35 #bdbdbd,#080808, 36-149 d,#080808, +|28: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-53 #bdbdbd,#080808, 54-149 d,#080808, +|29: 0-0 d,#121212, 1-1 d,#080808, 2-6 #626262,#080808, 7-39 #bdbdbd,#080808, 40-149 d,#080808, +== snap step-row2 grid=150x30 cursor=7,28 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/stepgrain/cwd/a.txt Save New Del +| 1 hello ZQMARK one +| 2 see also sub/b.txt for ZQMARK two +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 1 a.txt:1:7-12 hello ZQMARK one +| 2 a.txt:2:24-29 see also sub/b.txt for ZQMARK two +| 3 sub/b.txt:1:1-6 ZQMARK inside sub +== style step-row2 +|0: 0-56 #949494,#121212, 57-149 d,#121212, +|1: 0-1 #ffffff,#262626, 2-129 #949494,#121212, 130-149 d,#121212, +|2: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-22 #bdbdbd,#080808, 23-149 d,#080808, +|3: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-39 #bdbdbd,#080808, 40-149 d,#080808, +|4: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|5: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|6: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|7: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|8: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|9: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|10: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|11: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|12: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|13: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|14: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|15: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|16: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|17: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|18: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|19: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|20: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|21: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|22: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|23: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|24: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|25: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|26: 0-1 #ffffff,#626262, 2-129 #949494,#121212, 130-149 d,#121212, +|27: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-35 #bdbdbd,#080808, 36-149 d,#080808, +|28: 0-0 d,#444444, 1-1 d,#080808, 2-6 #949494,#121212, 7-19 #080808,#80a0ff, 20-53 #bdbdbd,#080808, 54-149 d,#080808, +|29: 0-0 d,#121212, 1-1 d,#080808, 2-6 #626262,#080808, 7-39 #bdbdbd,#080808, 40-149 d,#080808, +== snap step-row3 grid=150x30 cursor=7,28 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/stepgrain/cwd/a.txt Save New Del +| 1 hello ZQMARK one +| 2 see also sub/b.txt for ZQMARK two +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 2 a.txt:2:24-29 see also sub/b.txt for ZQMARK two +| 3 sub/b.txt:1:1-6 ZQMARK inside sub +| 4 +== snap step-wrap grid=150x30 cursor=7,27 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/stepgrain/cwd/a.txt Save New Del +| 1 hello ZQMARK one +| 2 see also sub/b.txt for ZQMARK two +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 1 a.txt:1:7-12 hello ZQMARK one +| 2 a.txt:2:24-29 see also sub/b.txt for ZQMARK two +| 3 sub/b.txt:1:1-6 ZQMARK inside sub +== snap blank-in-path grid=150x30 cursor=7,25 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/stepgrain/cwd/a.txt Save New Del +| 1 hello ZQMARK one +| 2 see also sub/b.txt for ZQMARK two +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 1 two words.txt +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 1 a.txt:1:7-12 hello ZQMARK one +| 2 a.txt:2:24-29 see also sub/b.txt for ZQMARK two +| 3 sub/b.txt:1:1-6 ZQMARK inside sub +== style blank-in-path +|0: 0-56 #949494,#121212, 57-149 d,#121212, +|1: 0-1 #ffffff,#262626, 2-129 #949494,#121212, 130-149 d,#121212, +|2: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-22 #bdbdbd,#080808, 23-149 d,#080808, +|3: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-39 #bdbdbd,#080808, 40-149 d,#080808, +|4: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|5: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|6: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|7: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|8: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|9: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|10: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|11: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|12: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|13: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|14: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|15: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|16: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|17: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|18: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|19: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|20: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|21: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|22: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|23: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|24: 0-1 #ffffff,#626262, 2-129 #949494,#121212, 130-149 d,#121212, +|25: 0-0 d,#444444, 1-1 d,#080808, 2-6 #949494,#121212, 7-19 #080808,#80a0ff, 20-149 d,#080808, +|26: 0-1 #ffffff,#262626, 2-129 #949494,#121212, 130-149 d,#121212, +|27: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-18 #080808,#80a0ff, 19-35 #bdbdbd,#080808, 36-149 d,#080808, +|28: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-53 #bdbdbd,#080808, 54-149 d,#080808, +|29: 0-0 d,#121212, 1-1 d,#080808, 2-6 #626262,#080808, 7-39 #bdbdbd,#080808, 40-149 d,#080808, +== snap blank-opened grid=150x30 cursor=7,14 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/stepgrain/cwd/a.txt Save New Del +| 1 hello ZQMARK one +| 2 see also sub/b.txt for ZQMARK two +| +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/stepgrain/cwd/two words.txt Save New Del +| 1 +| +| +| +| +| +| +| +| +| +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 1 two words.txt +| /tmp/pardes-snap/stepgrain/cwd/+Search New Del +| 1 a.txt:1:7-12 hello ZQMARK one +| 2 a.txt:2:24-29 see also sub/b.txt for ZQMARK two +| 3 sub/b.txt:1:1-6 ZQMARK inside sub diff --git a/test/snapshots/stepgrain.snap b/test/snapshots/stepgrain.snap new file mode 100644 index 00000000..a12d7bbd --- /dev/null +++ b/test/snapshots/stepgrain.snap @@ -0,0 +1,77 @@ +# WHAT ONE PRESS OF `n` TAKES, and why that is not one answer. A pane's rows +# decide it (output_pane.Grain, read in Pardes.lookSpanIn): +# +# free text — a terminal, a file, a PDF — is stepped WORD by word, several +# stops to a line, because a line of it may name several places at once (the +# `ls` row in ttylook.snap hops big.txt -> plain.txt -> sub); +# +# a RESULTS BUFFER is stepped ROW by row, on the location at the head of the +# row, because a row there IS one location and the words after it are the +# MATCHED TEXT — the same hit, spelled out. That text is full of look-able +# words, and stopping on them was stopping on the same result twice. +# +# This script is the second rule. Row 2 below matched on a line that mentions +# `sub/b.txt`, so the old word-grained walk stopped there before it ever +# reached row 3; now `n` presses and rows correspond one to one, and the fourth +# press wraps the ring back to row 1. +# +# LARGEST from the head, so a path with a BLANK in it is one span rather than +# the word in front of it: `two words.txt` selects whole and opens. +dirmk sub +file a.txt hello ZQMARK one\nsee also sub/b.txt for ZQMARK two +file sub/b.txt ZQMARK inside sub +run touch 'two words.txt' +start 30 150 a.txt +wait 8000 hello ZQMARK +stable 700 20000 +# Grep from the leader: three hits, sorted by path, the empty file contributing +# none. Row 2 is the one whose TEXT holds a path. +key space +key f +key g +stable 400 5000 +text ZQMARK +key enter +wait 10000 sub/b.txt:1:1 +stable 700 15000 +snap results +# one press, one row: the head of row 1... +key n +stable 400 5000 +snap step-row1 +snapstyle step-row1 +# ...the head of row 2, and NOT the `sub/b.txt` sitting in its matched text — +# the cursor column is the assertion +key n +stable 400 5000 +snap step-row2 +snapstyle step-row2 +# ...row 3, and then the ring comes round to row 1 again +key n +stable 400 5000 +snap step-row3 +key n +stable 400 5000 +snap step-wrap +# Back into the file, so the Find below is asked from a pane that is not a +# results buffer (fillResults never refills the buffer it was asked from). +press left 8 3 +release left 8 3 +stable 400 5000 +# A path with a blank in it: the row is one span from its first cell, because +# the walk asks about the LONGEST run of the row first and the filesystem is +# what vouches for it. Enter then opens exactly what is selected. +key space +key f +key f +text words +key enter +wait 10000 two words.txt +stable 700 15000 +key n +stable 400 5000 +snap blank-in-path +snapstyle blank-in-path +key enter +stable 700 15000 +snap blank-opened diff --git a/test/snapshots/ttytaken.golden b/test/snapshots/ttytaken.golden new file mode 100644 index 00000000..960081d1 --- /dev/null +++ b/test/snapshots/ttytaken.golden @@ -0,0 +1,124 @@ +== snap opened grid=100x30 cursor=7,2 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/ttytaken/cwd/cmd.txt Save New D /tmp/pardes-snap/ttytaken/cwd New Del +| 1 echo TAKEN''ONE ls +| 2 echo TAKEN''TWO big.txt cmd.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap at-prompt grid=100x30 cursor=7,2 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/ttytaken/cwd/cmd.txt Save New D /tmp/pardes-snap/ttytaken/cwd New Del +| 1 echo TAKEN''ONE ls +| 2 echo TAKEN''TWO big.txt cmd.txt +| echo TAKEN''ONE +| TAKENONE +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap paging grid=100x30 cursor=59,29 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/ttytaken/cwd/cmd.txt Save New D$ /tmp/pardes-snap/ttytaken/cwd New Del +| 1 echo TAKEN''ONE line 1 +| 2 echo TAKEN''TWO line 2 +| line 3 +| line 4 +| line 5 +| line 6 +| line 7 +| line 8 +| line 9 +| line 10 +| line 11 +| line 12 +| line 13 +| line 14 +| line 15 +| line 16 +| line 17 +| line 18 +| line 19 +| line 20 +| line 21 +| line 22 +| line 23 +| line 24 +| line 25 +| line 26 +| line 27 +| big.txt +== snap spawned grid=100x30 cursor=53,25 +|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill +| /tmp/pardes-snap/ttytaken/cwd/cmd.txt Save New D$ /tmp/pardes-snap/ttytaken/cwd New Del +| 1 echo TAKEN''ONE line 1 +| 2 echo TAKEN''TWO line 2 +| line 3 +| line 4 +| line 5 +| line 6 +| line 7 +| line 8 +| line 9 +| line 10 +| line 11 +| line 12 +| line 13 +| line 14 +| line 15 +| line 16 +| line 17 +| line 18 +| line 19 +| line 20 +| line 21 +| line 22 +| line 23 +| : +| /tmp/pardes-snap/ttytaken/cwd New Del +| echo TAKEN''TWO +| TAKENTWO +| diff --git a/test/snapshots/ttytaken.snap b/test/snapshots/ttytaken.snap new file mode 100644 index 00000000..6505fc63 --- /dev/null +++ b/test/snapshots/ttytaken.snap @@ -0,0 +1,43 @@ +# Process monitoring, end to end. A pane whose tty is held by a full-screen +# program is not somewhere a command line may be typed: the SAME middle-drag +# Exec goes into the shell while it sits at its prompt, and into a NEW shell +# beside it once `less` owns the terminal — where it runs, instead of becoming +# keystrokes the pager would eat. Nothing about the pager's screen changes. +file cmd.txt echo TAKEN''ONE\necho TAKEN''TWO +lines big.txt 40 +start 30 100 -n 1 +wait 8000 cmd.txt +stable 700 20000 +# open the command file by looking its name in the greeting `ls` +press right 14 4 +release right 14 4 +wait 10000 echo TAKEN +stable 700 20000 +snap opened +# at the prompt: the drag runs in the shell that is already on this directory +press middle 8 3 +drag middle 22 3 +release middle 22 3 +wait 10000 TAKENONE +stable 700 20000 +snap at-prompt +# ...and now a pager owns that terminal. Ctrl-b is raw tty (config.tty_toggle), +# which is how a script types AT the shell instead of into the pane's own edit +# buffer — the same way exec.snap runs a command line. +press left 60 8 +release left 60 8 +stable 400 5000 +key c-b +stable 400 5000 +text env LESS= less big.txt +key enter +wait 10000 line 1 +stable 700 20000 +snap paging +# the same gesture on the second line: a new shell, not `less` keystrokes +press middle 8 4 +drag middle 22 4 +release middle 22 4 +wait 10000 TAKENTWO +stable 700 20000 +snap spawned |
