summaryrefslogtreecommitdiff
path: root/test/snapshots/stepgrain.snap
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-08-14 13:40:29 -0300
committerGabriel Schneider <[email protected]>2026-08-15 11:57:13 -0300
commitf67fec978a9296c651ec06bd2f43686d34ff86ee (patch)
treecbf5568883e5888398e0887093fc5afc524fd54d /test/snapshots/stepgrain.snap
parent9280c597b000eed661fd98793e182fdcb640f6cd (diff)
downloadpardes-f67fec978a9296c651ec06bd2f43686d34ff86ee.tar.gz
pardes-f67fec978a9296c651ec06bd2f43686d34ff86ee.zip
look: richer path/range parsing, pdf rendering, corner-drag and stepgrain snapshots
Diffstat (limited to 'test/snapshots/stepgrain.snap')
-rw-r--r--test/snapshots/stepgrain.snap77
1 files changed, 77 insertions, 0 deletions
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