summaryrefslogtreecommitdiff
path: root/test/snapshots/find.snap
diff options
context:
space:
mode:
Diffstat (limited to 'test/snapshots/find.snap')
-rw-r--r--test/snapshots/find.snap63
1 files changed, 44 insertions, 19 deletions
diff --git a/test/snapshots/find.snap b/test/snapshots/find.snap
index 1fd36aa6..8f288525 100644
--- a/test/snapshots/find.snap
+++ b/test/snapshots/find.snap
@@ -1,11 +1,13 @@
# The Find builtin (SPC f f) = `fd`, in-core: it arms the SAME tag input `/`
# does, but Enter walks the pane's DIRECTORY instead of its text and writes one
# matching path per row into a "+Search" OUTPUT BUFFER. Every row is therefore
-# an ordinary look target, which is the whole point: n/N step the rows and look
-# them with no code of their own, opening each found file, and focus returns to
-# the pane that owns the search so the next n keeps stepping. The walk skips
-# .git, matches the NAME case-insensitively, and sorts (readdir order is not
-# stable). `SPC f s` is Save, which moved out of `w` to make this group.
+# an ordinary look target, which is the whole point: n/N SELECT the next/prev
+# one with no code of their own, and the look chord — Enter, the same one that
+# opens a path anywhere else — is what OPENS it. Focus then follows the file
+# that opened, but the look was made FROM the results buffer, so the next n
+# resumes stepping that same list. The walk skips .git, matches the NAME
+# case-insensitively, and sorts (readdir order is not stable). `SPC f s` is
+# Save, which moved out of `w` to make this group.
dirmk sub
dirmk sub/nest
dirmk .git
@@ -35,25 +37,30 @@ key enter
wait 10000 zqmark-alpha.txt
stable 700 15000
snap results
-# n looks row 1 — a path, so the file OPENS — and focus comes back here. The
-# look comes FROM the results buffer, but that is an output pane and not a
+# n SELECTS row 1 and Enter looks it — a path, so the file OPENS. The look
+# comes FROM the results buffer, but that is an output pane and not a
# document, so the file joins the docs above it (below here.txt) instead of
# stacking under the list: the +Search stays at the foot of the column.
key n
+key enter
wait 10000 beta body
stable 700 15000
snap first
snapstyle first
key n
+key enter
wait 10000 gamma body
stable 700 15000
snap second
key n
+key enter
wait 10000 alpha body
stable 700 15000
snap third
-# N walks back up: the file is already open, so the look just focuses it
+# N walks back up one row; Enter looks it, and the file is already open, so
+# the look just focuses it
key N
+key enter
stable 700 15000
snap back
# executing the WORD Find (middle-click in a body) arms the same input — the
@@ -66,23 +73,39 @@ key esc
settle 100
stable 400 5000
snap cancel
-# a no-match walk opens an empty list; n then has nowhere to go. The list is
-# exactly as tall as its results — one blank row plus its tag — and it stacks
-# above the earlier one, whose height is untouched.
+# every search is asked from a PANE, and both a look and now a step leave you
+# somewhere else — so click back into here.txt first. That is not bookkeeping:
+# a search never refills the buffer it was asked FROM (fillResults skips it),
+# so `owned by here.txt` is the whole premise of the two steps below.
+press left 8 3
+release left 8 3
+stable 400 5000
+# a no-match walk opens an empty list of its own. It is exactly as tall as its
+# results — one blank row plus its tag — and it stacks above the earlier one,
+# whose height is untouched.
key space
key f
key f
text zzqq
key enter
stable 700 10000
+# n does not stop on the empty list, because the walk is a RING across panes
+# rather than one buffer's rows: with nothing look-able here it carries on
+# into the list that DOES have some — the zqm one — and resumes it one row
+# past where the N above left it. Nothing opens; only the selection moved.
key n
stable 400 5000
snap nomatch
# ... and asking for `zqm` AGAIN re-arms the list it ALREADY filled instead of
-# stacking an identical twin under the empty one — even though n/N were armed
-# on the zzqq list, so the reuse is by what a buffer HOLDS (this search, this
-# pattern, this directory), not by which one the pane happens to point at. The
-# frame is therefore the `results` frame unchanged, down to the byte.
+# stacking an identical twin under the empty one — even though the step above
+# left the cursor sitting in the zqm list, so the reuse is by what a buffer
+# HOLDS (this search, this pattern, this directory), not by which one anything
+# happens to point at. Asked from here.txt again (the click, as above), and
+# the LIST it rewrites is therefore the `nomatch` frame unchanged, down to the
+# byte — only the cursor comes back with it.
+press left 8 3
+release left 8 3
+stable 400 5000
key space
key f
key f
@@ -94,10 +117,12 @@ snap refit
# Find is a TOPBAR word too (row 1, its own column, next to Grep): the same
# builtin the leader path runs, reached with the mouse. Chorded — a selection
# held when it runs IS the argument — so dragging over `alpha` and clicking
-# Find walks for that name with nothing typed and no input armed.
-press left 8 8
-drag left 13 8
-release left 13 8
+# Find walks for that name with nothing typed and no input armed. Row 34 is
+# `alpha body`: the three found files stack in the order the looks above
+# OPENED them, which is beta, gamma, alpha down the column.
+press left 8 34
+drag left 13 34
+release left 13 34
stable 400 5000
press middle 12 1
release middle 12 1