diff options
| author | Gabriel Schneider <[email protected]> | 2026-07-31 11:42:18 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-01 15:02:08 -0300 |
| commit | 911215846f1d5a9b2e37a00e74fb9266d4a0884a (patch) | |
| tree | 31413ca3336cbbd1933d9dc3e24f09a3b8ef46b4 /test/snapshots/fsearch.snap | |
| parent | 0b7a480bef38b209741c520e2478d178767a9e51 (diff) | |
| download | pardes-911215846f1d5a9b2e37a00e74fb9266d4a0884a.tar.gz pardes-911215846f1d5a9b2e37a00e74fb9266d4a0884a.zip | |
a Look path can name a range, and search selects what it found
file:LINE:COL-ENDLINE:ENDCOL, with the two short forms people actually type
reading naturally: file:412:9-21 on one line, file:412-418 whole ones. Ends are
inclusive. A path feature, not a search feature — a ranged path typed in a tag
or middle-clicked out of a shell's output selects just the same; search is only
its first consumer.
The dash is the fussy part. `-` was already a file char, so a ranged word
survives click expansion whole, but a range needs a number on BOTH sides or
my-file:10, build-2 and 2026-07-30 would stop being paths. Table-driven test in
look.zig for exactly that.
Selecting goes through the cellRange/setPaneRange pair the multi-cursor work
left, and hxOff clamps both ends, so a stale range selects what still exists
rather than crashing or reaching past EOF — pinned with an 8:6-400:9 range in a
nine-line file.
Producers: / search, Grep, and five LSP sites through a new spanRow — goto,
references, rename tokens and both symbol lists were throwing away real
protocol ranges at path:line:col. Left alone deliberately: Find rows are bare
paths with nothing to span, a jump is a spot not a span, and the diagnostic and
format paths only ever have a point, where half a range would be worse than
none.
One knock-on worth knowing: n now leaves an EXPLICIT selection, so a topbar
execute chords it. grep.snap's no-match step was silently becoming
`Grep TARGET`; it runs from the leader path now, which never chords, and the
dedicated chord steps stayed where they were.
Diffstat (limited to 'test/snapshots/fsearch.snap')
| -rw-r--r-- | test/snapshots/fsearch.snap | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/test/snapshots/fsearch.snap b/test/snapshots/fsearch.snap index d27d6f08..af1363dd 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 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 opens an EMPTY buffer +# Enter searches the buffer in-core and writes `path:LINE:COL-ENDCOL 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 the hit AND SELECTS IT — the row names the match's whole span, not +# just where it starts. Esc abandons the input; a no-match search opens an EMPTY buffer # (every search gets its own, stacked under the pane) 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 @@ -30,10 +31,12 @@ text MARK stable 400 5000 snap typing key enter -wait 10000 g.txt:2:1 MARK +wait 10000 g.txt:2:1-4 MARK stable 700 10000 snap results -# n selects result 1 in the results buffer + scrolls the file to line 2 +# n selects result 1 in the results buffer, scrolls the file to line 2 and +# selects the four cells the pattern matched there — the styles below are what +# prove the second half of that key n stable 700 15000 snap first |
