summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-07-09 15:41:28 -0300
committerGabriel Schneider <[email protected]>2026-08-01 15:02:07 -0300
commitddc2eefb1e7cdd402593efb1297c25fc7ae4b110 (patch)
treefd56641c114ff18719088aea0f27ce29b7721241 /test
parentf948213755d6cc1920be1794149644108c6a3f30 (diff)
downloadpardes-ddc2eefb1e7cdd402593efb1297c25fc7ae4b110.tar.gz
pardes-ddc2eefb1e7cdd402593efb1297c25fc7ae4b110.zip
small ui fixes
Diffstat (limited to 'test')
-rw-r--r--test/snapshots/chordcut.actual403
-rw-r--r--test/snapshots/cursorline.actual124
-rw-r--r--test/snapshots/fileedit.actual116
-rw-r--r--test/snapshots/hscroll.actual155
-rw-r--r--test/snapshots/images.actual124
-rw-r--r--test/snapshots/look-center.actual93
-rw-r--r--test/snapshots/look-file-1col.golden31
-rw-r--r--test/snapshots/look-file-1col.snap18
-rw-r--r--test/snapshots/look-file.actual62
-rw-r--r--test/snapshots/scrolloff.actual217
-rw-r--r--test/snapshots/syntax.actual124
-rw-r--r--test/snapshots/tag.actual155
-rw-r--r--test/snapshots/ttylook.actual279
13 files changed, 1901 insertions, 0 deletions
diff --git a/test/snapshots/chordcut.actual b/test/snapshots/chordcut.actual
new file mode 100644
index 00000000..4f2d494c
--- /dev/null
+++ b/test/snapshots/chordcut.actual
@@ -0,0 +1,403 @@
+== snap opened grid=60x30 cursor=7,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap cut grid=60x30 cursor=7,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap copied grid=60x30 cursor=7,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt f.txt g.txt
+|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
+| NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap pointpaste grid=60x30 cursor=7,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt f.txt g.txt
+|
+| INS /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap replaced grid=60x30 cursor=11,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 l g. 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap cancelexec grid=60x30 cursor=9,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+|
+| f.txt echo B''OO g.txtg.txt f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 l g. 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap execafter grid=60x30 cursor=9,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| f.txt
+| BOO f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 l g. 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap cancellook grid=60x30 cursor=9,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| f.txt
+| BOO f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 l g. 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap lookafter grid=60x30 cursor=9,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| f.txt
+| BOO f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 l g. 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== style chordsel
+|0: 0-48 #969696,#2c2a3e, 49-59 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#383c54, 32-59 #969696,#2c2a3e,
+|2: 0-1 d,#2a2a2a, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|3: 0-1 d,#2a2a2a, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|4: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|5: 0-1 d,#6e4fd0, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|16: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
+|17: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|18: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|19: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|20: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|21: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|22: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|23: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|24: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|25: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|26: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|27: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|28: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|29: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+== style clickdismiss
+|0: 0-48 #969696,#2c2a3e, 49-59 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#383c54, 32-59 #969696,#2c2a3e,
+|2: 0-1 d,#2a2a2a, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|3: 0-1 d,#2a2a2a, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|4: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|5: 0-1 d,#6e4fd0, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
+|6: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|16: 0-1 d,#383c54, 2-29 #969696,#2c2a3e, 30-31 d,#525252, 32-59 d,d,
+|17: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|18: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|19: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|20: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|21: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|22: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|23: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|24: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|25: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|26: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|27: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|28: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+|29: 0-1 d,#525252, 2-29 d,d, 30-31 d,#525252, 32-59 d,d,
+== snap ttyprobe grid=60x30 cursor=9,11
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| cut/cwd/f.txt: Permission de
+| nied f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 l g. 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 canon -echo; printf '\x
+| 6 lilne 5
+| 7
+|
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap ttyprompt grid=60x30 cursor=9,11
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| cut/cwd/f.txt: Permission de
+| nied f.txt g.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+| 1 l g. 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 canon -echo; printf '\x
+| 6 lillne; printf '\x1b[?1
+| 7 ne 5
+| 8
+|
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
diff --git a/test/snapshots/cursorline.actual b/test/snapshots/cursorline.actual
new file mode 100644
index 00000000..f687968d
--- /dev/null
+++ b/test/snapshots/cursorline.actual
@@ -0,0 +1,124 @@
+== snap top grid=100x30 cursor=7,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/cursorline/cwd Del NOR /tmp/pardes-snap/cursorline/cwd Del
+|
+| cur.txt cur.txt
+|
+| NOR /tmp/pardes-snap/cursorline/cwd/cur.txt Save
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/cursorline/cwd Del
+|
+| cur.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== style top
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-40 #969696,#2c2a3e, 41-49 d,#2c2a3e, 50-51 d,#383c54, 52-90 #969696,#2c2a3e, 91-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-40 #969696,#2c2a3e, 41-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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 down3 grid=100x30 cursor=7,9
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/cursorline/cwd Del NOR /tmp/pardes-snap/cursorline/cwd Del
+|
+| cur.txt cur.txt
+|
+| NOR /tmp/pardes-snap/cursorline/cwd/cur.txt Save
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/cursorline/cwd Del
+|
+| cur.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== style down3
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-40 #969696,#2c2a3e, 41-49 d,#2c2a3e, 50-51 d,#383c54, 52-90 #969696,#2c2a3e, 91-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-40 #969696,#2c2a3e, 41-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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,
diff --git a/test/snapshots/fileedit.actual b/test/snapshots/fileedit.actual
new file mode 100644
index 00000000..97bb7b5e
--- /dev/null
+++ b/test/snapshots/fileedit.actual
@@ -0,0 +1,116 @@
+== snap edited grid=100x30 cursor=9,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/fileedit/cwd Del NOR /tmp/pardes-snap/fileedit/cwd Del
+| EDIT''ME
+| f.txt f.txt
+|
+| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/fileedit/cwd Del
+|
+| f.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap deleted grid=100x30 cursor=2,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/fileedit/cwd Del NOR /tmp/pardes-snap/fileedit/cwd Del
+| EDIT''ME
+| f.txt f.txt
+|
+| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/fileedit/cwd Del
+|
+| f.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap undone grid=100x30 cursor=7,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/fileedit/cwd Del NOR /tmp/pardes-snap/fileedit/cwd Del
+| EDIT''ME
+| f.txt f.txt
+|
+| NOR /tmp/pardes-snap/fileedit/cwd/f.txt Save Del
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/fileedit/cwd Del
+|
+| f.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== file saved
+line 1
+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
+
+== end file
diff --git a/test/snapshots/hscroll.actual b/test/snapshots/hscroll.actual
new file mode 100644
index 00000000..3a731901
--- /dev/null
+++ b/test/snapshots/hscroll.actual
@@ -0,0 +1,155 @@
+== snap opened grid=60x30 cursor=7,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt wide.txt
+|
+| NOR /tmp/pardes-snap/hscroll
+| 1 short1 END_A_MARKER_WAY
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap wheeled grid=60x30 cursor=7,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt wide.txt
+|
+| NOR /tmp/pardes-snap/hscroll
+| 1 short1 END_A_MARKER_WAY
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap clamped grid=60x30 cursor=7,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt wide.txt
+|
+| NOR /tmp/pardes-snap/hscroll
+| 1 short1 END_A_MARKER_WAY
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap dollar grid=60x30 cursor=26,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt wide.txt
+|
+| NOR /tmp/pardes-snap/hscroll
+| 1 padpadpadpadpad_TAIL
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap zero grid=60x30 cursor=7,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/hscroll NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt wide.txt
+|
+| NOR /tmp/pardes-snap/hscroll
+| 1 short1 END_A_MARKER_WAY
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/hscroll
+|
+| wide.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
diff --git a/test/snapshots/images.actual b/test/snapshots/images.actual
new file mode 100644
index 00000000..efa7e76b
--- /dev/null
+++ b/test/snapshots/images.actual
@@ -0,0 +1,124 @@
+== snap img-open grid=100x30 cursor=4,7
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/images/cwd Del NOR /tmp/pardes-snap/images/cwd Del
+|
+| pic.ppm pic.ppm
+|
+| img /tmp/pardes-snap/images/cwd/pic.ppm Petscii
+| █🬵
+| █🬆█
+| 🬝▀█
+| █🬆█
+| 🬝▀█
+| █🬵
+| █🬆█
+| 🬝▀█
+| █🬆█
+| 🬝▀█
+| NOR /tmp/pardes-snap/images/cwd Del
+|
+| pic.ppm
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== style img-open
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#2a2a2a, 2-15 d,d, 16-33 #ffffff,#ffffff, 34-34 #ffffff,#352879, 35-35 #352879,#ffffff, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#2a2a2a, 2-15 d,d, 16-31 #ffffff,#ffffff, 32-33 #ffffff,#352879, 34-34 #352879,#ffffff, 35-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#2a2a2a, 2-15 d,d, 16-29 #ffffff,#ffffff, 30-31 #ffffff,#352879, 32-32 #352879,#ffffff, 33-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#2a2a2a, 2-15 d,d, 16-27 #ffffff,#ffffff, 28-29 #ffffff,#352879, 30-30 #352879,#ffffff, 31-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#2a2a2a, 2-15 d,d, 16-25 #ffffff,#ffffff, 26-27 #ffffff,#352879, 28-28 #352879,#ffffff, 29-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#2a2a2a, 2-15 d,d, 16-23 #ffffff,#ffffff, 24-24 #ffffff,#352879, 25-25 #352879,#ffffff, 26-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#2a2a2a, 2-15 d,d, 16-21 #ffffff,#ffffff, 22-23 #ffffff,#352879, 24-24 #352879,#ffffff, 25-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#2a2a2a, 2-15 d,d, 16-19 #ffffff,#ffffff, 20-21 #ffffff,#352879, 22-22 #352879,#ffffff, 23-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#2a2a2a, 2-15 d,d, 16-17 #ffffff,#ffffff, 18-19 #ffffff,#352879, 20-20 #352879,#ffffff, 21-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#2a2a2a, 2-15 d,d, 16-17 #ffffff,#352879, 18-18 #352879,#ffffff, 19-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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,
+== style term-palette
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#2a2a2a, 2-15 d,d, 16-33 #ffffff,#ffffff, 34-34 #ffffff,#352879, 35-35 #352879,#ffffff, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#2a2a2a, 2-15 d,d, 16-31 #ffffff,#ffffff, 32-33 #ffffff,#352879, 34-34 #352879,#ffffff, 35-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#2a2a2a, 2-15 d,d, 16-29 #ffffff,#ffffff, 30-31 #ffffff,#352879, 32-32 #352879,#ffffff, 33-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#2a2a2a, 2-15 d,d, 16-27 #ffffff,#ffffff, 28-29 #ffffff,#352879, 30-30 #352879,#ffffff, 31-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#2a2a2a, 2-15 d,d, 16-25 #ffffff,#ffffff, 26-27 #ffffff,#352879, 28-28 #352879,#ffffff, 29-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#2a2a2a, 2-15 d,d, 16-23 #ffffff,#ffffff, 24-24 #ffffff,#352879, 25-25 #352879,#ffffff, 26-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#2a2a2a, 2-15 d,d, 16-21 #ffffff,#ffffff, 22-23 #ffffff,#352879, 24-24 #352879,#ffffff, 25-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#2a2a2a, 2-15 d,d, 16-19 #ffffff,#ffffff, 20-21 #ffffff,#352879, 22-22 #352879,#ffffff, 23-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#2a2a2a, 2-15 d,d, 16-17 #ffffff,#ffffff, 18-19 #ffffff,#352879, 20-20 #352879,#ffffff, 21-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#2a2a2a, 2-15 d,d, 16-17 #ffffff,#352879, 18-18 #352879,#ffffff, 19-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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,
+== style no-ascii
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#2a2a2a, 2-15 d,d, 16-33 #ffffff,#ffffff, 34-34 #ffffff,#352879, 35-35 #352879,#ffffff, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#2a2a2a, 2-15 d,d, 16-31 #ffffff,#ffffff, 32-33 #ffffff,#352879, 34-34 #352879,#ffffff, 35-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#2a2a2a, 2-15 d,d, 16-29 #ffffff,#ffffff, 30-31 #ffffff,#352879, 32-32 #352879,#ffffff, 33-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#2a2a2a, 2-15 d,d, 16-27 #ffffff,#ffffff, 28-29 #ffffff,#352879, 30-30 #352879,#ffffff, 31-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#2a2a2a, 2-15 d,d, 16-25 #ffffff,#ffffff, 26-27 #ffffff,#352879, 28-28 #352879,#ffffff, 29-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#2a2a2a, 2-15 d,d, 16-23 #ffffff,#ffffff, 24-24 #ffffff,#352879, 25-25 #352879,#ffffff, 26-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#2a2a2a, 2-15 d,d, 16-21 #ffffff,#ffffff, 22-23 #ffffff,#352879, 24-24 #352879,#ffffff, 25-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#2a2a2a, 2-15 d,d, 16-19 #ffffff,#ffffff, 20-21 #ffffff,#352879, 22-22 #352879,#ffffff, 23-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#2a2a2a, 2-15 d,d, 16-17 #ffffff,#ffffff, 18-19 #ffffff,#352879, 20-20 #352879,#ffffff, 21-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#2a2a2a, 2-15 d,d, 16-17 #ffffff,#352879, 18-18 #352879,#ffffff, 19-35 #352879,#352879, 36-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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,
diff --git a/test/snapshots/look-center.actual b/test/snapshots/look-center.actual
new file mode 100644
index 00000000..49931c43
--- /dev/null
+++ b/test/snapshots/look-center.actual
@@ -0,0 +1,93 @@
+== snap center-open grid=100x30 cursor=7,11
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/look-center/cwd Del NOR /tmp/pardes-snap/look-center/cwd Del
+|
+| big.txt big.txt
+|
+| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav
+| 95 line 95
+| 96 line 96
+| 97 line 97
+| 98 line 98
+| 99 line 99
+| 100 line 100
+| 101 line 101
+| 102 line 102
+| 103 line 103
+| 104 line 104
+| NOR /tmp/pardes-snap/look-center/cwd Del
+|
+| big.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap center-dedup grid=100x30 cursor=7,11
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/look-center/cwd Del NOR /tmp/pardes-snap/look-center/cwd Del
+|
+| big.txt big.txt
+|
+| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav
+| 95 line 95
+| 96 line 96
+| 97 line 97
+| 98 line 98
+| 99 line 99
+| 100 line 100
+| 101 line 101
+| 102 line 102
+| 103 line 103
+| 104 line 104
+| NOR /tmp/pardes-snap/look-center/cwd Del
+|
+| big.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap center-clamp grid=100x30 cursor=7,11
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/look-center/cwd Del NOR /tmp/pardes-snap/look-center/cwd Del
+|
+| big.txt big.txt
+|
+| NOR /tmp/pardes-snap/look-center/cwd/big.txt Sav
+| 95 line 95
+| 96 line 96
+| 97 line 97
+| 98 line 98
+| 99 line 99
+| 100 line 100
+| 101 line 101
+| 102 line 102
+| 103 line 103
+| 104 line 104
+| NOR /tmp/pardes-snap/look-center/cwd Del
+|
+| big.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
diff --git a/test/snapshots/look-file-1col.golden b/test/snapshots/look-file-1col.golden
new file mode 100644
index 00000000..a7fe21bb
--- /dev/null
+++ b/test/snapshots/look-file-1col.golden
@@ -0,0 +1,31 @@
+== snap file-open-1col grid=100x30 cursor=7,18
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/look-file-1col/cwd Del
+|
+| big.txt
+|
+| NOR /tmp/pardes-snap/look-file-1col/cwd/big.txt Save Del
+| 28 line 28
+| 29 line 29
+| 30 line 30
+| 31 line 31
+| 32 line 32
+| 33 line 33
+| 34 line 34
+| 35 line 35
+| 36 line 36
+| 37 line 37
+| 38 line 38
+| 39 line 39
+| 40 line 40
+| 41 line 41
+| 42 line 42
+| 43 line 43
+| 44 line 44
+| 45 line 45
+| 46 line 46
+| 47 line 47
+| 48 line 48
+| 49 line 49
+| 50 line 50
+| 51 line 51
diff --git a/test/snapshots/look-file-1col.snap b/test/snapshots/look-file-1col.snap
new file mode 100644
index 00000000..585bc0d0
--- /dev/null
+++ b/test/snapshots/look-file-1col.snap
@@ -0,0 +1,18 @@
+# single column (-n 1): a right-click look on a file splits BELOW the pane the
+# look came from (follows the layout) instead of jumping to the top-left column
+lines big.txt 60
+start 30 100 -n 1
+wait 8000 big.txt
+stable 700 20000
+press left 5 8
+release left 5 8
+stable 400 5000
+key i
+text big.txt:40
+key esc
+settle 700
+stable 400 5000
+press right 7 8
+release right 7 8
+stable 700 15000
+snap file-open-1col
diff --git a/test/snapshots/look-file.actual b/test/snapshots/look-file.actual
new file mode 100644
index 00000000..30fc95a7
--- /dev/null
+++ b/test/snapshots/look-file.actual
@@ -0,0 +1,62 @@
+== snap file-open grid=100x30 cursor=7,11
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/look-file/cwd Del NOR /tmp/pardes-snap/look-file/cwd Del
+|
+| big.txt big.txt
+|
+| NOR /tmp/pardes-snap/look-file/cwd/big.txt Save
+| 35 line 35
+| 36 line 36
+| 37 line 37
+| 38 line 38
+| 39 line 39
+| 40 line 40
+| 41 line 41
+| 42 line 42
+| 43 line 43
+| 44 line 44
+| NOR /tmp/pardes-snap/look-file/cwd Del
+|
+| big.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== style file-open
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-39 #969696,#2c2a3e, 40-49 d,#2c2a3e, 50-51 d,#383c54, 52-89 #969696,#2c2a3e, 90-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#2a2a2a, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-39 #969696,#2c2a3e, 40-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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,
diff --git a/test/snapshots/scrolloff.actual b/test/snapshots/scrolloff.actual
new file mode 100644
index 00000000..645ac4ff
--- /dev/null
+++ b/test/snapshots/scrolloff.actual
@@ -0,0 +1,217 @@
+== snap top grid=100x30 cursor=2,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt g.txt
+|
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap edge grid=100x30 cursor=2,4
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt g.txt
+|
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap scrolled1 grid=100x30 cursor=2,4
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt g.txt
+|
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap jdown grid=100x30 cursor=2,4
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt g.txt
+|
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap end grid=100x30 cursor=2,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt g.txt
+|
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap kup grid=100x30 cursor=2,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt g.txt
+|
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap top2 grid=100x30 cursor=2,2
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/scrolloff/cwd Del NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt g.txt
+|
+| NOR /tmp/pardes-snap/scrolloff/cwd/g.txt Save De
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| 8 line 8
+| 9 line 9
+| 10 line 10
+| NOR /tmp/pardes-snap/scrolloff/cwd Del
+|
+| g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
diff --git a/test/snapshots/syntax.actual b/test/snapshots/syntax.actual
new file mode 100644
index 00000000..487110e5
--- /dev/null
+++ b/test/snapshots/syntax.actual
@@ -0,0 +1,124 @@
+== snap zig-open grid=100x30 cursor=7,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/syntax/cwd Del NOR /tmp/pardes-snap/syntax/cwd Del
+|
+| demo.zig demo.zig
+|
+| NOR /tmp/pardes-snap/syntax/cwd/demo.zig Save De
+| 1 const std = @import("std"); // greet
+| 2 pub fn main() void {
+| 3 var x: u32 = 42;
+| 4 _ = x;
+| 5 }
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/syntax/cwd Del
+|
+| demo.zig
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== style zig-open
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-18 d,d, 19-25 #cc70d8,d,b 26-26 d,d, 27-31 #8ab87a,d, 32-34 d,d, 35-42 #f0f0f0,d,b 43-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-10 d,d, 11-12 #cc70d8,d,b 13-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-23 d,d, 24-25 #d0c070,d, 26-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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,
+== style colors-off
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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,
+== style colors-on
+|0: 0-48 #969696,#2c2a3e, 49-99 d,#2c2a3e,
+|1: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#383c54, 52-86 #969696,#2c2a3e, 87-99 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|3: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|4: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|5: 0-1 d,#6e4fd0, 2-49 #969696,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|6: 0-1 d,#525252, 2-6 #969696,#2c2a3e, 7-18 d,d, 19-25 #cc70d8,d,b 26-26 d,d, 27-31 #8ab87a,d, 32-34 d,d, 35-42 #f0f0f0,d,b 43-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|7: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-10 d,d, 11-12 #cc70d8,d,b 13-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|8: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-23 d,d, 24-25 #d0c070,d, 26-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|9: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|10: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|11: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|12: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|13: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|14: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|15: 0-1 d,#525252, 2-6 #5a5a5a,d, 7-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|16: 0-1 d,#383c54, 2-36 #969696,#2c2a3e, 37-49 d,#2c2a3e, 50-51 d,#525252, 52-99 d,d,
+|17: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|18: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|19: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|20: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|21: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|22: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|23: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|24: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|25: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|26: 0-1 d,#525252, 2-49 d,d, 50-51 d,#525252, 52-99 d,d,
+|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,
diff --git a/test/snapshots/tag.actual b/test/snapshots/tag.actual
new file mode 100644
index 00000000..b1c4c7fd
--- /dev/null
+++ b/test/snapshots/tag.actual
@@ -0,0 +1,155 @@
+== snap tag-focus grid=100x30 cursor=34,1
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| INS /tmp/pardes-snap/tag/cwd Del NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap tag-typed grid=100x30 cursor=40,1
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| INS /tmp/pardes-snap/tag/cwd Del t.txt NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap tag-del grid=100x30 cursor=36,1
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| INS /tmp/pardes-snap/tag/cwd Del t NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap tag-exit grid=100x30 cursor=4,4
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/tag/cwd Del t.txt NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap tag-look grid=100x30 cursor=7,6
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| INS /tmp/pardes-snap/tag/cwd Del t.txt NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt t.txt
+|
+| NOR /tmp/pardes-snap/tag/cwd/t.txt Save Del
+| 1 x
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/tag/cwd Del
+|
+| t.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
diff --git a/test/snapshots/ttylook.actual b/test/snapshots/ttylook.actual
new file mode 100644
index 00000000..d387f8cb
--- /dev/null
+++ b/test/snapshots/ttylook.actual
@@ -0,0 +1,279 @@
+== snap tok1 grid=120x30 cursor=2,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== style tok1
+|0: 0-48 #969696,#2c2a3e, 49-119 d,#2c2a3e,
+|1: 0-1 d,#6e4fd0, 2-37 #969696,#2c2a3e, 38-59 d,#2c2a3e, 60-61 d,#383c54, 62-97 #969696,#2c2a3e, 98-119 d,#2c2a3e,
+|2: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|3: 0-1 d,#525252, 2-8 #d8c8a8,#4a3a1e, 9-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|4: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|5: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|6: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|7: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|8: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|9: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|10: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|11: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|12: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|13: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|14: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|15: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|16: 0-1 d,#383c54, 2-37 #969696,#2c2a3e, 38-59 d,#2c2a3e, 60-61 d,#525252, 62-119 d,d,
+|17: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|18: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|19: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|20: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|21: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|22: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|23: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|24: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|25: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|26: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|27: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|28: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+|29: 0-1 d,#525252, 2-59 d,d, 60-61 d,#525252, 62-119 d,d,
+== snap tok2 grid=120x30 cursor=11,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap tokback grid=120x30 cursor=2,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap insert grid=120x30 cursor=2,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| nnbig.txt plain.txt sub big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap tok3 grid=120x30 cursor=22,3
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap diropen grid=120x30 cursor=4,7
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub big.txt plain.txt sub
+|
+| NOR /tmp/pardes-snap/ttylook/cwd/sub Del
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap noop grid=120x30 cursor=4,7
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub big.txt plain.txt sub
+|
+| NOR /tmp/pardes-snap/ttylook/cwd/sub Del
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+| NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap fileopen grid=120x30 cursor=7,9
+|Kill Newcol Tutor Debug Colors NextColor Crt Dump
+| NOR /tmp/pardes-snap/ttylook/cwd Del NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub big.txt plain.txt sub
+|
+| NOR /tmp/pardes-snap/ttylook/cwd/sub Del
+|
+|
+| NOR /tmp/pardes-snap/ttylook/cwd/big.txt Save Del
+| 1 line 1
+| 2 line 2
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6 line 6
+| 7 line 7
+| NOR /tmp/pardes-snap/ttylook/cwd Del
+|
+| big.txt plain.txt sub
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|