diff options
| -rw-r--r-- | docs/design.typ | 5 | ||||
| -rw-r--r-- | src/pardes.zig | 19 | ||||
| -rw-r--r-- | src/tutor.txt | 12 | ||||
| -rw-r--r-- | test/snapshots/find.golden | 144 | ||||
| -rw-r--r-- | test/snapshots/find.snap | 5 | ||||
| -rw-r--r-- | test/snapshots/leader.golden | 32 | ||||
| -rw-r--r-- | test/snapshots/leader.snap | 4 | ||||
| -rw-r--r-- | test/snapshots/psearch.golden | 218 | ||||
| -rw-r--r-- | test/snapshots/psearch.snap | 18 |
9 files changed, 241 insertions, 216 deletions
diff --git a/docs/design.typ b/docs/design.typ index c7284049..118459e1 100644 --- a/docs/design.typ +++ b/docs/design.typ @@ -211,7 +211,10 @@ backwards, duplicate dirs skipped; absolute words try one dir and stop) so a relative name is openable from any window that can see it; dir → shell + `ls` in source column (dedup by cwd), file → file pane at line (dedup by path, first doc opens left column and may evict a lone pristine shell; later docs -split below the existing doc), image ext → image pane. Middle+left chord: kept +split below the existing doc — an output pane, `+Search`/`+Help`, is not a +doc for either half of that rule: it never claims a column, it splits below +whatever pane asked for it, and nothing splits from it), image ext → image +pane. Middle+left chord: kept left selection appended as trailing CLI argument. Wheel: scroll hovered pane, batched. diff --git a/src/pardes.zig b/src/pardes.zig index d3376273..31757732 100644 --- a/src/pardes.zig +++ b/src/pardes.zig @@ -4940,19 +4940,24 @@ pub const Pardes = struct { p.placeDoc(id, free, np); } - /// place a fresh doc pane. Any doc already open is the split parent (the + /// place a fresh doc pane. An OUTPUT buffer (+Search/+Help) is NOT a + /// document: it is the result list belonging to the pane that asked for it, + /// so it never claims a column and is never anyone else's split parent — it + /// lands right below `from_id`, be that a shell, a file or another list. + /// A real doc joins the docs: any doc already open is the split parent (the /// source if it IS one, else the first found) and the newcomer lands right /// below it, so all docs share one column. The FIRST doc of the session /// instead gets a column of its own on the left (acme: files left, shells - /// right) — nothing is displaced, the other columns just narrow. Only a - /// full column bar falls back to stacking into the leftmost one. + /// right) — nothing is displaced, the other columns just narrow. A full + /// column bar, or a result list whose source died, stacks into the leftmost. fn placeDoc(p: *Pardes, from_id: usize, free: usize, nt: *Pane) void { + const doc = if (nt.file) |f| !f.output else true; // an image is a doc var src_id: ?usize = null; - if (p.panes[from_id]) |src| if (src.file != null or src.image != null) { + if (p.panes[from_id]) |src| if (!doc or (if (src.file) |f| !f.output else src.image != null)) { src_id = from_id; }; - if (src_id == null) for (p.panes, 0..) |sl, i| { - if (sl) |pp| if ((pp.file != null or pp.image != null) and i != free) { + if (doc and src_id == null) for (p.panes, 0..) |sl, i| { + if (sl) |pp| if (i != free and (if (pp.file) |f| !f.output else pp.image != null)) { src_id = i; break; }; @@ -4965,7 +4970,7 @@ pub const Pardes = struct { p.active = free; return; } - if (p.ncol < MAX_COLS) { + if (doc and p.ncol < MAX_COLS) { p.layoutInsertColumn(0, free); p.active = free; return; diff --git a/src/tutor.txt b/src/tutor.txt index 195173c6..39a869e2 100644 --- a/src/tutor.txt +++ b/src/tutor.txt @@ -139,8 +139,11 @@ and case-insensitive, and writes one row per hit into a "+Search" pane. That is an OUTPUT BUFFER: a file pane with no file behind it, so it has no Save, but everything else about it is an ordinary buffer you can read, - edit, select and look in. `n`/`N` step the rows and look each one, so the - view follows along. Right-clicking a word that names no file in ANY open + edit, select and look in. It is not a document, though, and never takes a + column of its own: it opens BELOW the pane that asked for it, in that + pane's column, be that a file or a shell — and a file you then open from + its rows goes where files go, not under the list. `n`/`N` step the rows + and look each one, so the view follows along. Right-clicking a word that names no file in ANY open pane's directory searches for it — acme's button 3 — except in tty mode, where the click belongs to the program on the other end. On a shell with no search armed, n/N instead step the lookable tokens in its output. @@ -494,8 +497,9 @@ `?` works at ANY depth: SPC ? lists everything, SPC h ? lists only what the "h" group holds. Help writes into a "+Help" OUTPUT BUFFER, - the same kind of pane "/" search results land in — ordinary text, so - the names in it are live: middle-click "Tutor" there and it opens. + the same kind of pane "/" search results land in — so it opens below + the pane you asked from, never in a column of its own — and ordinary + text, so the names in it are live: middle-click "Tutor" and it opens. (No practice blocks: these run builtins, not text edits.) diff --git a/test/snapshots/find.golden b/test/snapshots/find.golden index 25bae1df..59b939ae 100644 --- a/test/snapshots/find.golden +++ b/test/snapshots/find.golden @@ -174,8 +174,8 @@ | | | -| -| +| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del +| 1 beta body | | | @@ -194,8 +194,8 @@ | | | -| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del -| 1 beta body +| +| | | | @@ -215,8 +215,8 @@ |8: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |9: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |10: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, -|11: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, -|12: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, +|11: 0-1 d,#262626, 2-59 #949494,#121212, 60-61 d,#444444, 62-119 #bdbdbd,#080808, +|12: 0-1 d,#444444, 2-6 #626262,#080808, 7-15 #bdbdbd,#080808, 16-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |13: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |14: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |15: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, @@ -235,8 +235,8 @@ |28: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |29: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |30: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, -|31: 0-1 d,#262626, 2-59 #949494,#121212, 60-61 d,#444444, 62-119 #bdbdbd,#080808, -|32: 0-1 d,#444444, 2-6 #626262,#080808, 7-15 #bdbdbd,#080808, 16-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, +|31: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, +|32: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |33: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |34: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, |35: 0-1 d,#444444, 2-6 #626262,#080808, 7-59 d,#080808, 60-61 d,#444444, 62-119 #bdbdbd,#080808, @@ -251,13 +251,13 @@ | here.txt other.txt sub zqmark-alpha.txt | | +| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa +| 1 gamma body | | | -| -| -| -| +| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del +| 1 beta body | | | @@ -271,13 +271,13 @@ | 2 /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt | 3 /tmp/pardes-snap/find/cwd/zqmark-alpha.txt | 4 -| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa -| 1 gamma body | | | -| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del -| 1 beta body +| +| +| +| | | | @@ -289,13 +289,16 @@ |Kill Newcol Tutor Debug NextColor Dump | NOR /tmp/pardes-snap/find/cwd/here.txt Save Del NOR /tmp/pardes-snap/find/cwd Del | 1 Find -| here.txt other.txt sub zqmark-alpha.txt -| -| +| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del here.txt other.txt sub zqmark-alpha.txt +| 1 alpha body | +| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa +| 1 gamma body | | | +| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del +| 1 beta body | | | @@ -304,21 +307,18 @@ | | | +| NOR /tmp/pardes-snap/find/cwd/+Search Del +| 1 /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt +| 2 /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt +| 3 /tmp/pardes-snap/find/cwd/zqmark-alpha.txt +| 4 | | | -| NOR /tmp/pardes-snap/find/cwd/+Search Del -| 1 /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt -| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del -| 1 alpha body | -| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa -| 1 gamma body | | | -| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del -| 1 beta body | | | @@ -330,11 +330,16 @@ |Kill Newcol Tutor Debug NextColor Dump | NOR /tmp/pardes-snap/find/cwd/here.txt Save Del NOR /tmp/pardes-snap/find/cwd Del | 1 Find -| here.txt other.txt sub zqmark-alpha.txt +| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del here.txt other.txt sub zqmark-alpha.txt +| 1 alpha body | +| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa +| 1 gamma body | | | +| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del +| 1 beta body | | | @@ -343,25 +348,20 @@ | | | +| NOR /tmp/pardes-snap/find/cwd/+Search Del +| 1 /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt +| 2 /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt +| 3 /tmp/pardes-snap/find/cwd/zqmark-alpha.txt +| 4 | | | | | -| NOR /tmp/pardes-snap/find/cwd/+Search Del -| 2 /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt -| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del -| 1 alpha body | -| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa -| 1 gamma body | | | -| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del -| 1 beta body -| -| | | | @@ -370,12 +370,17 @@ == snap word grid=120x40 cursor=56,1 |Kill Newcol Tutor Debug NextColor Dump | INS /tmp/pardes-snap/find/cwd/here.txt Save Del Find / NOR /tmp/pardes-snap/find/cwd Del -| 1 Find -| here.txt other.txt sub zqmark-alpha.txt +|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ +| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del here.txt other.txt sub zqmark-alpha.txt +| 1 alpha body | +| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa +| 1 gamma body | | | +| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del +| 1 beta body | | | @@ -384,24 +389,19 @@ | | | +| NOR /tmp/pardes-snap/find/cwd/+Search Del +| 1 /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt +| 2 /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt +| 3 /tmp/pardes-snap/find/cwd/zqmark-alpha.txt +| 4 | | | | | -| NOR /tmp/pardes-snap/find/cwd/+Search Del -| 2 /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt -| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del -| 1 alpha body -| -| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa -| 1 gamma body | | | -| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del -| 1 beta body -| | | | @@ -411,14 +411,17 @@ == snap cancel grid=120x40 cursor=7,2 |Kill Newcol Tutor Debug NextColor Dump | NOR /tmp/pardes-snap/find/cwd/here.txt Save Del NOR /tmp/pardes-snap/find/cwd Del -| 1 Find -| here.txt other.txt sub zqmark-alpha.txt -| -| +|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ +| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del here.txt other.txt sub zqmark-alpha.txt +| 1 alpha body | +| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa +| 1 gamma body | | | +| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del +| 1 beta body | | | @@ -427,21 +430,18 @@ | | | +| NOR /tmp/pardes-snap/find/cwd/+Search Del +| 1 /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt +| 2 /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt +| 3 /tmp/pardes-snap/find/cwd/zqmark-alpha.txt +| 4 | | | -| NOR /tmp/pardes-snap/find/cwd/+Search Del -| 2 /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt -| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del -| 1 alpha body | -| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa -| 1 gamma body | | | -| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del -| 1 beta body | | | @@ -452,12 +452,17 @@ == snap nomatch grid=120x40 cursor=7,2 |Kill Newcol Tutor Debug NextColor Dump | NOR /tmp/pardes-snap/find/cwd/here.txt Save Del NOR /tmp/pardes-snap/find/cwd Del -| 1 Find -| here.txt other.txt sub zqmark-alpha.txt +|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ +| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del here.txt other.txt sub zqmark-alpha.txt +| 1 alpha body | +| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa +| 1 gamma body | | | +| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del +| 1 beta body | | | @@ -466,23 +471,18 @@ | | | +| NOR /tmp/pardes-snap/find/cwd/+Search Del +| 1 +| | | | | | -| NOR /tmp/pardes-snap/find/cwd/+Search Del -| 1 -| NOR /tmp/pardes-snap/find/cwd/zqmark-alpha.txt Save Del -| 1 alpha body | -| NOR /tmp/pardes-snap/find/cwd/sub/nest/zqmark-gamma.txt Sa -| 1 gamma body | | | -| NOR /tmp/pardes-snap/find/cwd/sub/ZQMARK-beta.txt Save Del -| 1 beta body | | | diff --git a/test/snapshots/find.snap b/test/snapshots/find.snap index 28d5ebb2..03fefaa7 100644 --- a/test/snapshots/find.snap +++ b/test/snapshots/find.snap @@ -35,7 +35,10 @@ 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 +# 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 +# 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 wait 10000 beta body stable 700 15000 diff --git a/test/snapshots/leader.golden b/test/snapshots/leader.golden index 497f1e3d..7ad00456 100644 --- a/test/snapshots/leader.golden +++ b/test/snapshots/leader.golden @@ -244,7 +244,7 @@ | | | -== snap tutor grid=100x40 cursor=7,32 +== snap tutor grid=100x40 cursor=7,12 |Kill Newcol Tutor Debug NextColor Dump | NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del | 1 Help @@ -256,6 +256,21 @@ | | | +| NOR /Tutor Save Del +| 1 +| 2 PARDES TUTOR +| 3 tmux + vi + acme, from +| 4 +| 5 The model is acme's: EVERYTHING is +| 6 the same way. Modal editing (helix- +| 7 Press j until you reach the introdu +| 8 +| 9 +| NOR /tmp/pardes-snap/leader/cwd/+Help Del +| 1 pardes builtins under SPC h +| 2 +| 3 SPC h t Tutor +| 4 | | | @@ -266,25 +281,10 @@ | | | -| NOR /tmp/pardes-snap/leader/cwd/+Help Del -| 1 pardes builtins under SPC h -| 2 -| 3 SPC h t Tutor -| 4 | | | | -| -| NOR /Tutor Save Del -| 1 -| 2 PARDES TUTOR -| 3 tmux + vi + acme, from -| 4 -| 5 The model is acme's: EVERYTHING is -| 6 the same way. Modal editing (helix- -| 7 Press j until you reach the introdu -| 8 == snap deleted grid=100x40 cursor=7,22 |Kill Newcol Tutor Debug NextColor Dump | NOR /tmp/pardes-snap/leader/cwd/cmds.txt Save De NOR /tmp/pardes-snap/leader/cwd Del diff --git a/test/snapshots/leader.snap b/test/snapshots/leader.snap index 4d01d2e0..70b8a4d4 100644 --- a/test/snapshots/leader.snap +++ b/test/snapshots/leader.snap @@ -44,7 +44,9 @@ key ? wait 10000 under SPC h stable 700 15000 snap help-group -# `SPC h t`: the Tutor builtin, zero arguments +# `SPC h t`: the Tutor builtin, zero arguments. It runs from the +Help pane, +# but that is an output pane and not a document — so the tutor lands under +# cmds.txt, the real doc, with the listing left at the foot of the column. key space key h key t diff --git a/test/snapshots/psearch.golden b/test/snapshots/psearch.golden index ae5b2b34..c89ec509 100644 --- a/test/snapshots/psearch.golden +++ b/test/snapshots/psearch.golden @@ -60,21 +60,21 @@ | | | -== snap results grid=140x30 cursor=74,8 +== snap results grid=140x30 cursor=4,8 |Kill Newcol Tutor Debug NextColor Dump -| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del -| 1 @p0:2:3 x MARK a -| 2 @p0:4:3 x MARK b x MARK a -| 3 @p0:6:3 x MARK c zz -| 4 x MARK b -| zz -| x MARK c -| -| -| -| +| NOR /tmp/pardes-snap/psearch/cwd Del | +| x MARK a +| zz +| x MARK b +| zz +| x MARK c | +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b +| 3 @p0:6:3 x MARK c +| 4 | | | @@ -91,21 +91,21 @@ | | | -== snap first grid=140x30 cursor=74,3 +== snap first grid=140x30 cursor=4,3 |Kill Newcol Tutor Debug NextColor Dump -| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del -| 1 @p0:2:3 x MARK a -| 2 @p0:4:3 x MARK b x MARK a -| 3 @p0:6:3 x MARK c zz -| 4 x MARK b -| zz -| x MARK c -| -| -| -| +| NOR /tmp/pardes-snap/psearch/cwd Del | +| x MARK a +| zz +| x MARK b +| zz +| x MARK c | +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b +| 3 @p0:6:3 x MARK c +| 4 | | | @@ -124,50 +124,50 @@ | == style first |0: 0-37 #949494,#121212, 38-139 d,#121212, -|1: 0-1 d,#262626, 2-45 #949494,#121212, 46-69 d,#121212, 70-71 d,#626262, 72-107 #949494,#121212, 108-139 d,#121212, -|2: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 #d8c8a8,#4a3a1e, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|3: 0-1 d,#444444, 2-6 #626262,#080808, 7-22 #bdbdbd,#080808, 23-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|4: 0-1 d,#444444, 2-6 #626262,#080808, 7-22 #bdbdbd,#080808, 23-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|5: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|6: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|7: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|8: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|9: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|10: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|11: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|12: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|13: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|14: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|15: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|16: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|17: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|18: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|19: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|20: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|21: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|22: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|23: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|24: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|25: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|26: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|27: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|28: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -|29: 0-1 d,#444444, 2-6 #626262,#080808, 7-69 d,#080808, 70-71 d,#444444, 72-139 #bdbdbd,#080808, -== snap second grid=140x30 cursor=74,5 +|1: 0-1 d,#626262, 2-37 #949494,#121212, 38-139 d,#121212, +|2: 0-1 d,#444444, 2-139 #bdbdbd,#080808, +|3: 0-1 d,#444444, 2-139 #bdbdbd,#080808, +|4: 0-1 d,#444444, 2-139 #bdbdbd,#080808, +|5: 0-1 d,#444444, 2-139 #bdbdbd,#080808, +|6: 0-1 d,#444444, 2-139 #bdbdbd,#080808, +|7: 0-1 d,#444444, 2-139 #bdbdbd,#080808, +|8: 0-1 d,#444444, 2-139 #bdbdbd,#080808, +|9: 0-1 d,#262626, 2-45 #949494,#121212, 46-139 d,#121212, +|10: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 #d8c8a8,#4a3a1e, +|11: 0-1 d,#444444, 2-6 #626262,#080808, 7-22 #bdbdbd,#080808, 23-139 d,#080808, +|12: 0-1 d,#444444, 2-6 #626262,#080808, 7-22 #bdbdbd,#080808, 23-139 d,#080808, +|13: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|14: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|15: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|16: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|17: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|18: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|19: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|20: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|21: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|22: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|23: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|24: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|25: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|26: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|27: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|28: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +|29: 0-1 d,#444444, 2-6 #626262,#080808, 7-139 d,#080808, +== snap second grid=140x30 cursor=4,5 |Kill Newcol Tutor Debug NextColor Dump -| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del -| 1 @p0:2:3 x MARK a -| 2 @p0:4:3 x MARK b x MARK a -| 3 @p0:6:3 x MARK c zz -| 4 x MARK b -| zz -| x MARK c -| -| -| -| +| NOR /tmp/pardes-snap/psearch/cwd Del | +| x MARK a +| zz +| x MARK b +| zz +| x MARK c | +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b +| 3 @p0:6:3 x MARK c +| 4 | | | @@ -184,21 +184,21 @@ | | | -== snap back grid=140x30 cursor=74,3 +== snap back grid=140x30 cursor=4,3 |Kill Newcol Tutor Debug NextColor Dump -| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del -| 1 @p0:2:3 x MARK a -| 2 @p0:4:3 x MARK b x MARK a -| 3 @p0:6:3 x MARK c zz -| 4 x MARK b -| zz -| x MARK c -| -| -| -| +| NOR /tmp/pardes-snap/psearch/cwd Del | +| x MARK a +| zz +| x MARK b +| zz +| x MARK c | +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b +| 3 @p0:6:3 x MARK c +| 4 | | | @@ -215,18 +215,18 @@ | | | -== snap nomatch grid=140x30 cursor=74,3 +== snap nomatch grid=140x30 cursor=4,3 |Kill Newcol Tutor Debug NextColor Dump -| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del -| 1 -| x MARK a -| zz -| x MARK b -| zz -| x MARK c -| +| NOR /tmp/pardes-snap/psearch/cwd Del | +| x MARK a +| zz +| x MARK b +| zz +| x MARK c | +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del +| 1 | | | @@ -246,18 +246,18 @@ | | | -== snap ttyinert grid=140x30 cursor=74,8 +== snap ttyinert grid=140x30 cursor=4,8 |Kill Newcol Tutor Debug NextColor Dump -| NOR /tmp/pardes-snap/psearch/cwd/+Search Del TTY /tmp/pardes-snap/psearch/cwd Del -| 1 $ printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n' -| x MARK a -| zz -| x MARK b -| zz -| x MARK c -| $ -| -| +| TTY /tmp/pardes-snap/psearch/cwd Del +| $ printf 'x MA''RK a\nzz\nx MA''RK b\nzz\nx MA''RK c\n' +| x MARK a +| zz +| x MARK b +| zz +| x MARK c +| $ +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del +| 1 | | | @@ -277,21 +277,21 @@ | | | -== snap rightsearch grid=140x30 cursor=74,3 +== snap rightsearch grid=140x30 cursor=4,3 |Kill Newcol Tutor Debug NextColor Dump -| NOR /tmp/pardes-snap/psearch/cwd/+Search Del NOR /tmp/pardes-snap/psearch/cwd Del -| 1 @p0:2:3 x MARK a -| 2 @p0:4:3 x MARK b x MARK a -| 3 @p0:6:3 x MARK c zz -| 4 x MARK b -| zz -| x MARK c -| -| -| -| +| NOR /tmp/pardes-snap/psearch/cwd Del | +| x MARK a +| zz +| x MARK b +| zz +| x MARK c | +| NOR /tmp/pardes-snap/psearch/cwd/+Search Del +| 1 @p0:2:3 x MARK a +| 2 @p0:4:3 x MARK b +| 3 @p0:6:3 x MARK c +| 4 | | | diff --git a/test/snapshots/psearch.snap b/test/snapshots/psearch.snap index 4c5e74d0..77ba294b 100644 --- a/test/snapshots/psearch.snap +++ b/test/snapshots/psearch.snap @@ -4,6 +4,12 @@ # behind it, so its tag has no Save — and point at `@p0:LINE`, the look target # that names a live pane, since a terminal has no path. n/N walk the buffer # and look each row, scrolling the terminal to that line of its scrollback. +# PLACEMENT, and this script is the proof: an output buffer is NOT a document +# — it is the result list of the pane that asked for it — so even here, with no +# doc pane in the session for it to join, it does NOT take a column of its own. +# It splits BELOW the shell it came from: every snap below stays ONE column, +# the shell's tag and the +Search tag both starting at x=0, thirty rows split +# between them, and nothing shifts sideways. start 30 140 wait 8000 Kill Newcol stable 700 20000 @@ -51,18 +57,20 @@ stable 400 5000 snap nomatch # right-clicking a word that names no file is the same search (acme button 3), # but NOT in tty mode: there the click belongs to the program on the other end, -# so the buffer stays empty +# so the buffer stays empty. Col 5 row 4 is the `M` of the first `x MARK a`, +# in the shell's body in both modes (normal hides the prompt row, leaving it +# blank, so the output rows sit at the same place either way). key c-b stable 600 8000 -press right 75 4 -release right 75 4 +press right 5 4 +release right 5 4 stable 700 10000 snap ttyinert # back in normal mode the same click searches for MARK key c-b stable 600 8000 -press right 75 4 -release right 75 4 +press right 5 4 +release right 5 4 wait 10000 @p0:2:3 stable 700 15000 snap rightsearch |
