diff options
Diffstat (limited to 'test/snapshots')
| -rw-r--r-- | test/snapshots/chordcut.golden | 4 | ||||
| -rw-r--r-- | test/snapshots/edit.golden | 2 | ||||
| -rw-r--r-- | test/snapshots/exec-bigdrag.golden | 2 | ||||
| -rw-r--r-- | test/snapshots/exec.golden | 2 | ||||
| -rw-r--r-- | test/snapshots/fsearch.golden | 118 | ||||
| -rw-r--r-- | test/snapshots/fsearch.snap | 13 | ||||
| -rw-r--r-- | test/snapshots/images.golden | 2 | ||||
| -rw-r--r-- | test/snapshots/layout-open.golden | 2 | ||||
| -rw-r--r-- | test/snapshots/leader.golden | 369 | ||||
| -rw-r--r-- | test/snapshots/leader.snap | 64 | ||||
| -rw-r--r-- | test/snapshots/modal.golden | 6 | ||||
| -rw-r--r-- | test/snapshots/psearch.golden | 310 | ||||
| -rw-r--r-- | test/snapshots/psearch.snap | 68 | ||||
| -rw-r--r-- | test/snapshots/rsearch.golden | 38 | ||||
| -rw-r--r-- | test/snapshots/rsearch.snap | 12 | ||||
| -rw-r--r-- | test/snapshots/shrinktag.golden | 10 | ||||
| -rw-r--r-- | test/snapshots/tty.golden | 62 | ||||
| -rw-r--r-- | test/snapshots/tty.snap | 11 | ||||
| -rw-r--r-- | test/snapshots/ttyedit.golden | 155 | ||||
| -rw-r--r-- | test/snapshots/ttyedit.snap | 45 | ||||
| -rw-r--r-- | test/snapshots/ttylook.golden | 2 |
21 files changed, 1190 insertions, 107 deletions
diff --git a/test/snapshots/chordcut.golden b/test/snapshots/chordcut.golden index eefc6fa3..d4496d09 100644 --- a/test/snapshots/chordcut.golden +++ b/test/snapshots/chordcut.golden @@ -379,8 +379,8 @@ | 4 line 4line | 5 lline 5 | 6 canon -echo; printf '\x f.txt -| 7 ne; printf '\x1b[?1000l BOO -| 8 +| 7 BOO +| | | | diff --git a/test/snapshots/edit.golden b/test/snapshots/edit.golden index 6815dbd6..2d11868f 100644 --- a/test/snapshots/edit.golden +++ b/test/snapshots/edit.golden @@ -1,4 +1,4 @@ -== snap inserted grid=100x30 cursor=4,9 +== snap inserted grid=100x30 cursor=16,9 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/edit/cwd Del NOR /tmp/pardes-snap/edit/cwd Del | diff --git a/test/snapshots/exec-bigdrag.golden b/test/snapshots/exec-bigdrag.golden index 5ea48200..19189267 100644 --- a/test/snapshots/exec-bigdrag.golden +++ b/test/snapshots/exec-bigdrag.golden @@ -1,4 +1,4 @@ -== snap alive grid=200x60 cursor=104,37 +== snap alive grid=200x60 cursor=119,37 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/exec-bigdrag/cwd Del NOR /tmp/pardes-snap/exec-bigdrag/cwd Del | bash: line: command not found diff --git a/test/snapshots/exec.golden b/test/snapshots/exec.golden index 5f1470c9..00211a42 100644 --- a/test/snapshots/exec.golden +++ b/test/snapshots/exec.golden @@ -1,4 +1,4 @@ -== snap exec grid=100x30 cursor=4,7 +== snap exec grid=100x30 cursor=16,7 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/exec/cwd Del NOR /tmp/pardes-snap/exec/cwd Del | diff --git a/test/snapshots/fsearch.golden b/test/snapshots/fsearch.golden index 8a7aabd8..8ea0ffbf 100644 --- a/test/snapshots/fsearch.golden +++ b/test/snapshots/fsearch.golden @@ -69,19 +69,19 @@ | 4 l4 | 5 l5 | 6 MARK b g.txt -| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a -| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b -| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c +| 7 l7 +| 8 l8 +| 9 l9 | 10 MARK c | 11 l11 | 12 l12 | | -| NOR /tmp/pardes-snap/fsearch/cwd Del -| -| g.txt -| -| +| NOR /tmp/pardes-snap/fsearch/cwd/+Search Del NOR /tmp/pardes-snap/fsearch/cwd Del +| 1 /tmp/pardes-snap/fsearch/cwd/g.txt:2:1 MARK a +| 2 /tmp/pardes-snap/fsearch/cwd/g.txt:6:1 MARK b g.txt +| 3 /tmp/pardes-snap/fsearch/cwd/g.txt:10:1 MARK c +| 4 | | | @@ -100,19 +100,19 @@ | 4 l4 | 5 l5 | 6 MARK b g.txt -| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a -| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b -| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c +| 7 l7 +| 8 l8 +| 9 l9 | 10 MARK c | 11 l11 | 12 l12 | | -| NOR /tmp/pardes-snap/fsearch/cwd Del -| -| g.txt -| -| +| NOR /tmp/pardes-snap/fsearch/cwd/+Search Del NOR /tmp/pardes-snap/fsearch/cwd Del +| 1 /tmp/pardes-snap/fsearch/cwd/g.txt:2:1 MARK a +| 2 /tmp/pardes-snap/fsearch/cwd/g.txt:6:1 MARK b g.txt +| 3 /tmp/pardes-snap/fsearch/cwd/g.txt:10:1 MARK c +| 4 | | | @@ -131,7 +131,7 @@ |5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, -|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 #d8c8a8,#4a3a1e, 120-121 d,#525252, 122-179 d,d, +|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, @@ -139,8 +139,8 @@ |13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, -|16: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#383c54, 62-97 #969696,#2c2a3e, 98-119 d,#2c2a3e, 120-121 d,#525252, 122-179 d,d, -|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, +|16: 0-1 d,#383c54, 2-45 #969696,#2c2a3e, 46-59 d,#2c2a3e, 60-61 d,#383c54, 62-97 #969696,#2c2a3e, 98-119 d,#2c2a3e, 120-121 d,#525252, 122-179 d,d, +|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 #d8c8a8,#4a3a1e, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, |20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-59 d,d, 60-61 d,#525252, 62-119 d,d, 120-121 d,#525252, 122-179 d,d, @@ -162,17 +162,20 @@ | 4 l4 | 5 l5 | 6 MARK b g.txt -| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a -| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b -| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c +| 7 l7 +| 8 l8 +| 9 l9 | 10 MARK c | 11 l11 | 12 l12 | | -| NOR /tmp/pardes-snap/fsearch/cwd Del +| NOR /tmp/pardes-snap/fsearch/cwd/+Search Del NOR /tmp/pardes-snap/fsearch/cwd Del +| 1 /tmp/pardes-snap/fsearch/cwd/g.txt:2:1 MARK a +| 2 /tmp/pardes-snap/fsearch/cwd/g.txt:6:1 MARK b g.txt +| 3 /tmp/pardes-snap/fsearch/cwd/g.txt:10:1 MARK c +| 4 | -| g.txt | | | @@ -181,31 +184,28 @@ | | | -| -| -| -== snap third grid=180x30 cursor=7,11 +== snap third grid=180x30 cursor=7,9 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/fsearch/cwd/g.txt Save Del NOR /tmp/pardes-snap/fsearch/cwd Del NOR /tmp/pardes-snap/fsearch/cwd Del -| 1 l1 -| 2 MARK a g.txt g.txt | 3 l3 -| 4 l4 +| 4 l4 g.txt g.txt | 5 l5 -| 6 MARK b g.txt -| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a -| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b -| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c +| 6 MARK b +| 7 l7 +| 8 l8 g.txt +| 9 l9 | 10 MARK c | 11 l11 | 12 l12 | | -| NOR /tmp/pardes-snap/fsearch/cwd Del -| -| g.txt | | +| NOR /tmp/pardes-snap/fsearch/cwd/+Search Del NOR /tmp/pardes-snap/fsearch/cwd Del +| 1 /tmp/pardes-snap/fsearch/cwd/g.txt:2:1 MARK a +| 2 /tmp/pardes-snap/fsearch/cwd/g.txt:6:1 MARK b g.txt +| 3 /tmp/pardes-snap/fsearch/cwd/g.txt:10:1 MARK c +| 4 | | | @@ -224,19 +224,19 @@ | 4 l4 | 5 l5 | 6 MARK b g.txt -| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a -| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b -| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c +| 7 l7 +| 8 l8 +| 9 l9 | 10 MARK c | 11 l11 | 12 l12 | | -| NOR /tmp/pardes-snap/fsearch/cwd Del -| -| g.txt -| -| +| NOR /tmp/pardes-snap/fsearch/cwd/+Search Del NOR /tmp/pardes-snap/fsearch/cwd Del +| 1 /tmp/pardes-snap/fsearch/cwd/g.txt:2:1 MARK a +| 2 /tmp/pardes-snap/fsearch/cwd/g.txt:6:1 MARK b g.txt +| 3 /tmp/pardes-snap/fsearch/cwd/g.txt:10:1 MARK c +| 4 | | | @@ -255,19 +255,19 @@ | 4 l4 | 5 l5 | 6 MARK b g.txt -| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a -| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b -| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c +| 7 l7 +| 8 l8 +| 9 l9 | 10 MARK c | 11 l11 | 12 l12 | | -| NOR /tmp/pardes-snap/fsearch/cwd Del -| -| g.txt -| -| +| NOR /tmp/pardes-snap/fsearch/cwd/+Search Del NOR /tmp/pardes-snap/fsearch/cwd Del +| 1 /tmp/pardes-snap/fsearch/cwd/g.txt:2:1 MARK a +| 2 /tmp/pardes-snap/fsearch/cwd/g.txt:6:1 MARK b g.txt +| 3 /tmp/pardes-snap/fsearch/cwd/g.txt:10:1 MARK c +| 4 | | | @@ -286,16 +286,16 @@ | 4 l4 | 5 l5 | 6 MARK b g.txt -| 7 l7 /tmp/pardes-snap/fsearch/cwd/g.txt:2:MARK a -| 8 l8 /tmp/pardes-snap/fsearch/cwd/g.txt:6:MARK b -| 9 l9 /tmp/pardes-snap/fsearch/cwd/g.txt:10:MARK c +| 7 l7 +| 8 l8 +| 9 l9 | 10 MARK c | 11 l11 | 12 l12 | | -| NOR /tmp/pardes-snap/fsearch/cwd Del -| +| NOR /tmp/pardes-snap/fsearch/cwd/+Search Del NOR /tmp/pardes-snap/fsearch/cwd Del +| 1 | g.txt | | diff --git a/test/snapshots/fsearch.snap b/test/snapshots/fsearch.snap index 38c39c02..7953b408 100644 --- a/test/snapshots/fsearch.snap +++ b/test/snapshots/fsearch.snap @@ -1,8 +1,9 @@ # `/` file search: the pattern types into the tag (persistent, no popup); -# Enter runs grep -nH into a shell pane so the results are ordinary terminal -# text; n/N select the next/prev result row there (prompt rows skipped via the -# OSC 133 semantic marks) and look it — the file pane scrolls to path:NNN. -# Esc abandons the input; a no-match search leaves n with nowhere to go. +# Enter searches the buffer in-core and writes `path:NNN: text` into a +Search +# OUTPUT BUFFER (a file pane with no file behind it — no Save in its tag); +# n/N select the next/prev row there and look it, so the file pane scrolls to +# path:NNN. Esc abandons the input; a no-match search empties the buffer and +# leaves n with nowhere to go. file g.txt l1\nMARK a\nl3\nl4\nl5\nMARK b\nl7\nl8\nl9\nMARK c\nl11\nl12 start 30 180 -n 3 wait 8000 g.txt @@ -28,10 +29,10 @@ text MARK stable 400 5000 snap typing key enter -wait 10000 g.txt:2:MARK +wait 10000 g.txt:2:1 MARK stable 700 10000 snap results -# n selects result 1 in the results pane + scrolls the file to line 2 +# n selects result 1 in the results buffer + scrolls the file to line 2 key n stable 700 15000 snap first diff --git a/test/snapshots/images.golden b/test/snapshots/images.golden index c5a2322e..fc5af97b 100644 --- a/test/snapshots/images.golden +++ b/test/snapshots/images.golden @@ -1,4 +1,4 @@ -== snap img-open grid=150x30 cursor=4,7 +== snap img-open grid=150x30 cursor=11,7 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | img /tmp/pardes-snap/images/cwd/pic.ppm Petscii NOR /tmp/pardes-snap/images/cwd Del NOR /tmp/pardes-snap/images/cwd Del | diff --git a/test/snapshots/layout-open.golden b/test/snapshots/layout-open.golden index c4ab4219..6ccc8467 100644 --- a/test/snapshots/layout-open.golden +++ b/test/snapshots/layout-open.golden @@ -1,4 +1,4 @@ -== snap before grid=100x30 cursor=4,7 +== snap before grid=100x30 cursor=2,8 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/layout-open/cwd Del NOR /tmp/pardes-snap/layout-open/cwd Del | diff --git a/test/snapshots/leader.golden b/test/snapshots/leader.golden new file mode 100644 index 00000000..9bf559c0 --- /dev/null +++ b/test/snapshots/leader.golden @@ -0,0 +1,369 @@ +== snap spc grid=100x40 cursor=7,2 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt Sav SPC NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap spc-h grid=100x40 cursor=7,2 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt S SPC h NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap abandoned grid=100x40 cursor=7,2 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap unmapped grid=100x40 cursor=7,2 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap help-word grid=100x40 cursor=7,22 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/leader/cwd/+Help Del +| 1 pardes builtins - SPC then the keys, +| 2 or execute the name anywhere +| 3 +| 4 SPC ? Help +| 5 SPC c d Delcol +| 6 SPC c n Newcol +| 7 SPC d Del +| 8 SPC h t Tutor +| 9 SPC k Kill +| 10 SPC s d Dump +| 11 SPC s r Restore +| 12 SPC t c Colors +| 13 SPC t d Debug +| 14 SPC t n NextColor +| 15 SPC t r Crt +| 16 SPC w Save +| 17 +| +== snap help-group grid=100x40 cursor=7,22 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/leader/cwd/+Help Del +| 1 pardes builtins under SPC h +| 2 +| 3 SPC h t Tutor +| 4 +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap tutor grid=100x40 cursor=7,32 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/leader/cwd/+Help Del +| 1 pardes builtins under SPC h +| 2 +| 3 SPC h t Tutor +| 4 +| +| +| +| +| +| NOR /Tutor Save Del +| 1 +| 2 PARDES TUTOR +| 3 tmux + vi + acme, from +| 4 +| 5 The model is acme's: EVERYTHING is +| 6 the same way. Modal editing (helix- +| 7 Press j until you reach the introdu +| 8 +== snap deleted grid=100x40 cursor=7,22 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/leader/cwd/+Help Del +| 1 pardes builtins under SPC h +| 2 +| 3 SPC h t Tutor +| 4 +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap help-all grid=100x40 cursor=7,22 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del +| 1 Help +| cmds.txt +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/leader/cwd/+Help Del +| 1 pardes builtins - SPC then the keys, +| 2 or execute the name anywhere +| 3 +| 4 SPC ? Help +| 5 SPC c d Delcol +| 6 SPC c n Newcol +| 7 SPC d Del +| 8 SPC h t Tutor +| 9 SPC k Kill +| 10 SPC s d Dump +| 11 SPC s r Restore +| 12 SPC t c Colors +| 13 SPC t d Debug +| 14 SPC t n NextColor +| 15 SPC t r Crt +| 16 SPC w Save +| 17 +| diff --git a/test/snapshots/leader.snap b/test/snapshots/leader.snap new file mode 100644 index 00000000..9da5f288 --- /dev/null +++ b/test/snapshots/leader.snap @@ -0,0 +1,64 @@ +# The SPC leader: every builtin also has a KEY PATH, and SPC walks it. While a +# path is pending the active pane's tag shows it at its RIGHT edge (the `/` +# input's rule — state you can see — right-aligned so it never collides with +# the tail's builtins). `?` at any depth opens the Help builtin, listing what +# the prefix typed so far can still reach, into a +Help OUTPUT BUFFER (a file +# pane with no file behind it, like +Search). The paths, the Help lines and +# the execute dispatch are all folded out of ONE enum at comptime — so +# executing the WORD `Help` runs the same builtin the leader does. +file cmds.txt Help +start 40 100 cmds.txt +wait 8000 Kill Newcol +wait 8000 cmds.txt +stable 700 20000 +# SPC arms the leader: the indicator appears on the active pane's tag +key space +stable 400 5000 +snap spc +# ... and grows as the path is typed (`h` = the docs group) +key h +stable 400 5000 +snap spc-h +# Esc abandons the sequence: indicator gone, nothing ran, cursor untouched +key esc +settle 700 +stable 400 5000 +snap abandoned +# an UNMAPPED key abandons too, rather than waiting: a typo must not leave the +# next keystroke armed at a builtin that closes panes +key space +key q +stable 400 5000 +snap unmapped +# executing the WORD `Help` (middle-click) runs the builtin — the enum IS the +# lookup, so a name works anywhere text lives. Every builtin, with its keys. +press middle 9 3 +release middle 9 3 +wait 10000 SPC h t +stable 700 15000 +snap help-word +# `SPC h ?`: only the `h` group, rewritten into the SAME +Help buffer +key space +key h +key ? +wait 10000 under SPC h +stable 700 15000 +snap help-group +# `SPC h t`: the Tutor builtin, zero arguments +key space +key h +key t +wait 10000 PARDES TUTOR +stable 700 15000 +snap tutor +# `SPC d`: Del is pane-scoped — it closes the tutor, focus falls back +key space +key d +stable 700 15000 +snap deleted +# `SPC ?` at the root lists everything again +key space +key ? +wait 10000 SPC s r +stable 700 15000 +snap help-all diff --git a/test/snapshots/modal.golden b/test/snapshots/modal.golden index 57b68c99..b94e986f 100644 --- a/test/snapshots/modal.golden +++ b/test/snapshots/modal.golden @@ -246,7 +246,7 @@ |27: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, |28: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, |29: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d, -== snap typed grid=100x30 cursor=2,6 +== snap typed grid=100x30 cursor=7,6 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/modal/cwd Del NOR /tmp/pardes-snap/modal/cwd Del | @@ -308,7 +308,7 @@ | | | -== snap redone grid=100x30 cursor=2,6 +== snap redone grid=100x30 cursor=7,6 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/modal/cwd Del NOR /tmp/pardes-snap/modal/cwd Del | @@ -339,7 +339,7 @@ | | | -== snap bottom grid=100x30 cursor=2,8 +== snap bottom grid=100x30 cursor=2,9 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/modal/cwd Del NOR /tmp/pardes-snap/modal/cwd Del | diff --git a/test/snapshots/psearch.golden b/test/snapshots/psearch.golden new file mode 100644 index 00000000..8e5443d5 --- /dev/null +++ b/test/snapshots/psearch.golden @@ -0,0 +1,310 @@ +== snap output grid=140x30 cursor=4,8 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/psearch/cwd Del +| +| x MARK a +| zz +| x MARK b +| zz +| x MARK c +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap typing grid=140x30 cursor=44,1 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| INS /tmp/pardes-snap/psearch/cwd Del /MARK +| +| x MARK a +| zz +| x MARK b +| zz +| x MARK c +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap results grid=140x30 cursor=74,8 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b x MARK a +| 3 @p0:6:3 x MARK c zz +| 4 x MARK b +| zz +| x MARK c +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap first grid=140x30 cursor=74,3 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b x MARK a +| 3 @p0:6:3 x MARK c zz +| 4 x MARK b +| zz +| x MARK c +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== style first +|0: 0-48 #969696,#2c2a3e, 49-139 d,#2c2a3e, +|1: 0-1 d,#383c54, 2-45 #969696,#2c2a3e, 46-69 d,#2c2a3e, 70-71 d,#6e4fd0, 72-107 #969696,#2c2a3e, 108-139 d,#2c2a3e, +|2: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 #d8c8a8,#4a3a1e, 70-71 d,#525252, 72-139 d,d, +|3: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|4: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|5: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|16: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|17: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|18: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|19: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|20: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|21: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|22: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|23: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|24: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|25: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|26: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|27: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|28: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +|29: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-69 d,d, 70-71 d,#525252, 72-139 d,d, +== snap second grid=140x30 cursor=74,5 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b x MARK a +| 3 @p0:6:3 x MARK c zz +| 4 x MARK b +| zz +| x MARK c +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap back grid=140x30 cursor=74,3 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b x MARK a +| 3 @p0:6:3 x MARK c zz +| 4 x MARK b +| zz +| x MARK c +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap nomatch grid=140x30 cursor=74,3 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del +| 1 +| x MARK a +| zz +| x MARK b +| zz +| x MARK c +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap ttyinert grid=140x30 cursor=74,8 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del TTY /tmp/pardes-snap/psearch/cwd Del +| 1 $ printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n' +| x MARK a +| zz +| x MARK b +| zz +| x MARK c +| $ +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap rightsearch grid=140x30 cursor=74,3 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b x MARK a +| 3 @p0:6:3 x MARK c zz +| 4 x MARK b +| zz +| x MARK c +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/test/snapshots/psearch.snap b/test/snapshots/psearch.snap new file mode 100644 index 00000000..4c5e74d0 --- /dev/null +++ b/test/snapshots/psearch.snap @@ -0,0 +1,68 @@ +# `/` search on a TERMINAL pane: the same tag input as a file pane, searching +# the shell's own scrollback (the plain text view Look reads, prompt rows +# hidden). Results land in a +Search OUTPUT BUFFER — a file pane with no file +# behind it, so its tag has no Save — and point at `@p0:LINE`, the look target +# that names a live pane, since a terminal has no path. n/N walk the buffer +# and look each row, scrolling the terminal to that line of its scrollback. +start 30 140 +wait 8000 Kill Newcol +stable 700 20000 +# print something to search (a bare boot starts in tty mode; the marker is +# split so the echoed command line, which normal mode hides anyway, can never +# be the thing that matched) +text printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n' +key enter +wait 10000 MARK c +stable 700 10000 +key c-b +stable 600 8000 +snap output +# / types the pattern into the terminal's tag exactly as on a file pane +key / +stable 400 5000 +text MARK +stable 400 5000 +snap typing +# Enter opens the results buffer: three @p0:LINE:COL rows, focus stays here +key enter +wait 10000 @p0:2:3 +stable 700 15000 +snap results +# n looks result 1: the terminal's cursor lands on that scrollback line, at +# the matched COLUMN (3, past the leading "x ") — not the start of the line +key n +stable 700 15000 +snap first +snapstyle first +key n +stable 700 15000 +snap second +# N walks back +key N +stable 700 15000 +snap back +# a no-match search empties the buffer; n then has nowhere to go +key / +text zzqq +key enter +stable 700 10000 +key n +stable 400 5000 +snap nomatch +# right-clicking a word that names no file is the same search (acme button 3), +# but NOT in tty mode: there the click belongs to the program on the other end, +# so the buffer stays empty +key c-b +stable 600 8000 +press right 75 4 +release right 75 4 +stable 700 10000 +snap ttyinert +# back in normal mode the same click searches for MARK +key c-b +stable 600 8000 +press right 75 4 +release right 75 4 +wait 10000 @p0:2:3 +stable 700 15000 +snap rightsearch diff --git a/test/snapshots/rsearch.golden b/test/snapshots/rsearch.golden index c067d1ee..e716ef39 100644 --- a/test/snapshots/rsearch.golden +++ b/test/snapshots/rsearch.golden @@ -39,17 +39,17 @@ | | code.txt | -| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now -| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again | | | | | -| NOR /tmp/pardes-snap/rsearch/cwd Del | -| code.txt sub | +| NOR /tmp/pardes-snap/rsearch/cwd/+Search Del NOR /tmp/pardes-snap/rsearch/cwd Del +| 1 /tmp/pardes-snap/rsearch/cwd/code.txt:1:5 run count_x +| 2 /tmp/pardes-snap/rsearch/cwd/code.txt:3:1 count_x aga code.txt sub +| 3 | | | @@ -70,18 +70,16 @@ | | code.txt | -| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now -| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again | | -| /tmp/pardes-snap/rsearch/cwd/code.txt:4:pick two words | | -| NOR /tmp/pardes-snap/rsearch/cwd Del | -| code.txt sub | | +| NOR /tmp/pardes-snap/rsearch/cwd/+Search Del NOR /tmp/pardes-snap/rsearch/cwd Del +| 1 /tmp/pardes-snap/rsearch/cwd/code.txt:4:1 pick two wo +| 2 code.txt sub | | | @@ -91,7 +89,9 @@ | | | -== snap path-open grid=180x30 cursor=7,19 +| +| +== snap path-open grid=180x30 cursor=7,12 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/rsearch/cwd/code.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del NOR /tmp/pardes-snap/rsearch/cwd Del | 1 run count_x now @@ -101,20 +101,20 @@ | | code.txt | -| /tmp/pardes-snap/rsearch/cwd/code.txt:1:run count_x now -| /tmp/pardes-snap/rsearch/cwd/code.txt:3:count_x again -| -| -| /tmp/pardes-snap/rsearch/cwd/code.txt:4:pick two words -| -| -| NOR /tmp/pardes-snap/rsearch/cwd/sub/dep.txt Save Del NOR /tmp/pardes-snap/rsearch/cwd Del +| NOR /tmp/pardes-snap/rsearch/cwd/sub/dep.txt Save Del | 1 d1 -| 2 d2 code.txt sub +| 2 d2 | 3 DEPTARGET | 4 d4 | 5 d5 | 6 d6 +| NOR /tmp/pardes-snap/rsearch/cwd/+Search Del NOR /tmp/pardes-snap/rsearch/cwd Del +| 1 /tmp/pardes-snap/rsearch/cwd/code.txt:4:1 pick two wo +| 2 code.txt sub +| +| +| +| | | | diff --git a/test/snapshots/rsearch.snap b/test/snapshots/rsearch.snap index e42d195a..16f40137 100644 --- a/test/snapshots/rsearch.snap +++ b/test/snapshots/rsearch.snap @@ -1,7 +1,7 @@ # acme button-3 in a text file = search: right-click / right-select reuse the -# `/` grep machinery. A click expands the file-ish word (look.isFileChar) and, -# when it names no file, greps it into a shell (results are ordinary terminal -# text; n/N walk them like `/`). A right-select greps the swept span verbatim. +# `/` machinery. A click expands the file-ish word (look.isFileChar) and, when +# it names no file, searches the buffer for it — hits into the +Search output +# buffer, n/N walk them like `/`. A right-select searches the span verbatim. # A real path (sub/dep.txt:3) still resolves and OPENS — expansion keeps / . : # so paths are not broken; only the non-file case falls through to search. dirmk sub @@ -25,10 +25,10 @@ wait 10000 count_x stable 700 15000 snap opened # right-CLICK the identifier `count_x` (line 1, the 'n' at col 15). It names no -# file, so the click greps it: the results list both lines that contain it. +# file, so the click searches for it: the results list both lines containing it. press right 15 3 release right 15 3 -wait 10000 code.txt:1:run count_x +wait 10000 code.txt:1:5 run count_x stable 700 15000 snap search # right-SELECT `pick two` (line 4, sweep cols 8..15): a multi-word span passes @@ -36,7 +36,7 @@ snap search press right 8 6 drag right 15 6 release right 15 6 -wait 10000 code.txt:4:pick two +wait 10000 code.txt:4:1 pick two stable 700 15000 snap select # right-CLICK the path `sub/dep.txt:3` (line 2, col 18): isFileChar keeps / . : diff --git a/test/snapshots/shrinktag.golden b/test/snapshots/shrinktag.golden index 031f15ef..d087fbda 100644 --- a/test/snapshots/shrinktag.golden +++ b/test/snapshots/shrinktag.golden @@ -1,4 +1,4 @@ -== snap before grid=100x30 cursor=4,7 +== snap before grid=100x30 cursor=2,8 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/shrinktag/cwd Del NOR /tmp/pardes-snap/shrinktag/cwd Del | @@ -29,7 +29,7 @@ | | | -== snap shrunk grid=100x30 cursor=4,7 +== snap shrunk grid=100x30 cursor=2,8 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/shrinktag/cwd Del NOR /tmp/pardes-snap/shrinktag/cwd Del | NOR /tmp/pardes-snap/shrinktag/cwd Del @@ -60,7 +60,7 @@ | | | -== snap move-preview grid=100x30 cursor=4,7 +== snap move-preview grid=100x30 cursor=2,8 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/shrinktag/cwd Del NOR /tmp/pardes-snap/shrinktag/cwd Del | NOR /tmp/pardes-snap/shrinktag/cwd Del @@ -91,7 +91,7 @@ | | | -== snap restored grid=100x30 cursor=4,7 +== snap restored grid=100x30 cursor=2,8 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/shrinktag/cwd Del NOR /tmp/pardes-snap/shrinktag/cwd Del | @@ -122,7 +122,7 @@ | | | -== snap bottom-shrunk grid=100x30 cursor=4,7 +== snap bottom-shrunk grid=100x30 cursor=2,8 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/shrinktag/cwd Del NOR /tmp/pardes-snap/shrinktag/cwd Del | diff --git a/test/snapshots/tty.golden b/test/snapshots/tty.golden index d4cbb360..1f7b8c0b 100644 --- a/test/snapshots/tty.golden +++ b/test/snapshots/tty.golden @@ -91,3 +91,65 @@ | | | +== snap shift-esc-on grid=100x30 cursor=4,6 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| TTY /tmp/pardes-snap/tty/cwd Del NOR /tmp/pardes-snap/tty/cwd Del +| $ ls +| m.txt m.txt +| $ echo SNAP''OK +| SNAPOK +| $ +| +| +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/tty/cwd Del +| +| m.txt +| +| +| +| +| +| +| +| +| +| +| +== snap shift-esc-off grid=100x30 cursor=4,6 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/tty/cwd Del NOR /tmp/pardes-snap/tty/cwd Del +| +| m.txt m.txt +| +| SNAPOK +| +| +| +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/tty/cwd Del +| +| m.txt +| +| +| +| +| +| +| +| +| +| +| diff --git a/test/snapshots/tty.snap b/test/snapshots/tty.snap index 97eee3f5..a3af511d 100644 --- a/test/snapshots/tty.snap +++ b/test/snapshots/tty.snap @@ -1,4 +1,6 @@ -# tty mode round-trip: Ctrl-b in, run a command, Ctrl-b out +# tty mode round-trip: Ctrl-b in, run a command, Ctrl-b out. Shift-Esc is the +# same toggle (CSI 27;2u — needs a host that reports modifiers on Escape); a +# PLAIN Esc is not, it still goes to the shell. file m.txt marker start 30 100 -n 3 wait 8000 m.txt @@ -14,3 +16,10 @@ snap tty-echo key c-b stable 600 8000 snap tty-off +# Shift-Esc: in, then out again — the same toggle from the other key +send \e[27;2u +stable 600 8000 +snap shift-esc-on +send \e[27;2u +stable 600 8000 +snap shift-esc-off diff --git a/test/snapshots/ttyedit.golden b/test/snapshots/ttyedit.golden new file mode 100644 index 00000000..6671634e --- /dev/null +++ b/test/snapshots/ttyedit.golden @@ -0,0 +1,155 @@ +== snap before grid=100x30 cursor=7,6 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/ttyedit/cwd Del NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt words.txt +| +| +| one two three +| four five six +| seven eight nine +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt +| +| +| +| +| +| +| +| +| +| +| +== snap split grid=100x30 cursor=2,7 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| INS /tmp/pardes-snap/ttyedit/cwd Del NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt words.txt +| +| +| one t +| wo three +| four five six +| seven eight nine +| +| +| +| +| +| +| NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt +| +| +| +| +| +| +| +| +| +| +| +== snap opened grid=100x30 cursor=6,8 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/ttyedit/cwd Del NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt words.txt +| +| +| one t +| wo three +| OPEN +| four five six +| seven eight nine +| +| +| +| +| +| NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt +| +| +| +| +| +| +| +| +| +| +| +== snap joined grid=100x30 cursor=10,7 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/ttyedit/cwd Del NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt words.txt +| +| +| one t +| wo threeOPEN +| four five six +| seven eight nine +| +| +| +| +| +| +| NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt +| +| +| +| +| +| +| +| +| +| +| +== snap undone grid=100x30 cursor=7,6 +|Kill Newcol Tutor Debug Colors NextColor Crt Dump +| NOR /tmp/pardes-snap/ttyedit/cwd Del NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt words.txt +| +| +| one two three +| four five six +| seven eight nine +| +| +| +| +| +| +| +| NOR /tmp/pardes-snap/ttyedit/cwd Del +| +| words.txt +| +| +| +| +| +| +| +| +| +| +| diff --git a/test/snapshots/ttyedit.snap b/test/snapshots/ttyedit.snap new file mode 100644 index 00000000..18872ce4 --- /dev/null +++ b/test/snapshots/ttyedit.snap @@ -0,0 +1,45 @@ +# editing a shell pane exactly like a document: Enter SPLITS the line under +# the cursor and pushes the shell rows below it down, `o` opens a fresh line, +# and backspace at column 0 joins back up. Before the edit buffer landed a +# terminal could only splice single-row insertion runs, so none of this was +# expressible. test/hxcases/parity.jsonl pins the keystroke-level equivalence +# with a file pane case for case; this is the end-to-end pty proof. +file words.txt alpha beta +start 30 100 -n 3 +wait 8000 words.txt +stable 700 20000 +key c-b +stable 600 8000 +text printf 'one two three\nfour five six\nseven eight nine\n' +key enter +wait 8000 seven +stable 700 10000 +key c-b +stable 600 8000 +# click into the middle of the first output row +press left 8 7 +release left 8 7 +stable 400 5000 +snap before +# Enter splits the row there: "one t" stays, "wo three" becomes a real line +# of its own and the two output rows below it slide down +key i enter +stable 400 5000 +snap split +key esc +stable 400 5000 +# `o` opens a line below the split's tail and pushes the rest down again +key o +text OPEN +key esc +stable 400 5000 +snap opened +# backspace at column 0 joins the opened line back onto its predecessor +key i home bs +key esc +stable 400 5000 +snap joined +# undo walks the whole session back out to untouched shell output +key u u u +stable 400 5000 +snap undone diff --git a/test/snapshots/ttylook.golden b/test/snapshots/ttylook.golden index 410c71f7..c36f8f92 100644 --- a/test/snapshots/ttylook.golden +++ b/test/snapshots/ttylook.golden @@ -122,7 +122,7 @@ | | | -== snap insert grid=120x30 cursor=2,3 +== snap insert grid=120x30 cursor=4,3 |Kill Newcol Tutor Debug Colors NextColor Crt Dump | NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del | |
