diff options
Diffstat (limited to 'test/snapshots/find.snap')
| -rw-r--r-- | test/snapshots/find.snap | 63 |
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 |
