From 2586e804e4df670bf6a5072ec776d9fc00c1c4b9 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 28 Sep 2026 22:57:53 -0300 Subject: A tag that exactly fills its row stays one row, as acme's does Tags wrapped one cell early to keep a cell for the caret past a full row, so a tag that exactly filled its column broke as De / l. acme's frame wraps a box only when it is wider than what the row has left, and frptofchar clamps the tick past a full line's end to the frame's edge. Tags now wrap at their full width; the caret past a full row sits at the tag layer's edge, and on the pane's last cell in a terminal grid, which has none past it. Two tiny-screen tests collapse their tags, as the others do, and the 41 goldens that moved were re-recorded by name after the same check: rows shift back up under the shorter tags and nothing else changes. chordcut's file-body clicks moved back with them. Co-Authored-By: Claude Opus 5.5 --- docs/tags.md | 6 +- src/Terminal.zig | 2 + src/draw.zig | 8 +- src/look.zig | 1 + src/tagline.zig | 8 +- test/panes.zig | 26 ++++++ test/snapshots/badutf.golden | 4 +- test/snapshots/chordcut.golden | 94 ++++++++++--------- test/snapshots/chordcut.snap | 92 +++++++++---------- test/snapshots/colgrip.golden | 24 ++--- test/snapshots/cornerdrag-left.golden | 50 +++++------ test/snapshots/cornerdrag.golden | 66 +++++++------- test/snapshots/doccol.golden | 16 ++-- test/snapshots/edit.golden | 16 ++-- test/snapshots/emptycol.golden | 12 +-- test/snapshots/ghostty-mid.golden | 4 +- test/snapshots/hscroll.golden | 12 +-- test/snapshots/images.golden | 14 +-- test/snapshots/layout-close.golden | 56 ++++++------ test/snapshots/layout-open.golden | 20 ++--- test/snapshots/load.golden | 16 ++-- test/snapshots/look-dir.golden | 12 +-- test/snapshots/lookloaded.golden | 16 ++-- test/snapshots/lookpanes.golden | 44 ++++----- test/snapshots/modal.golden | 16 ++-- test/snapshots/respawn.golden | 8 +- test/snapshots/scroll.golden | 12 +-- test/snapshots/selarg.golden | 4 +- test/snapshots/shellset.golden | 4 +- test/snapshots/shrinktag.golden | 20 ++--- test/snapshots/splitparent.golden | 14 +-- test/snapshots/tagalign.golden | 22 ++--- test/snapshots/tagalign2col.golden | 10 +-- test/snapshots/tagnav.golden | 10 +-- test/snapshots/theme.golden | 164 +++++++++++++++++----------------- test/snapshots/tinywin.golden | 2 +- test/snapshots/topbarexec.golden | 20 ++--- test/snapshots/tty.golden | 14 +-- test/snapshots/ttyclick.golden | 10 +-- test/snapshots/ttyedit.golden | 12 +-- test/snapshots/ttyfollow.golden | 12 +-- test/snapshots/ttylook.golden | 24 ++--- test/snapshots/ttypaste.golden | 8 +- test/snapshots/ttyprompt.golden | 12 +-- test/snapshots/winch.golden | 16 ++-- test/snapshots/windownav.golden | 8 +- test/snapshots/windowops.golden | 58 ++++++------ test/snapshots/wrap.golden | 4 +- 48 files changed, 567 insertions(+), 536 deletions(-) diff --git a/docs/tags.md b/docs/tags.md index aa680c48..e6ec0585 100644 --- a/docs/tags.md +++ b/docs/tags.md @@ -74,8 +74,10 @@ A tag is a text like a pane's body: pane tags, column tags and the workspace tag all edit with the body's own normal and insert modes, undo included. A pane's tag may hold more than one line, and a line wider than the pane wraps onto more rows, as acme's tag does: it takes a row per shown -line, up to eight, and leaves its body at least one row. A word the wrap -breaks across rows is still one word to a click. A collapsed pane shows +line, up to eight, and leaves its body at least one row. A line exactly as +wide as the pane stays one row, its caret at the tag's edge past the last +character, as acme's tick is (in a terminal, on the last cell). A word the +wrap breaks across rows is still one word to a click. A collapsed pane shows only the first row. A pane tag starts expanded, showing all its rows, and can be collapsed to diff --git a/src/Terminal.zig b/src/Terminal.zig index 76be29d0..504ab887 100644 --- a/src/Terminal.zig +++ b/src/Terminal.zig @@ -2505,6 +2505,8 @@ test "a prompt row hidden end to end paints nothing at all" { defer p.deinit(); while (p.nextEffect()) |_| {} const pane = p.panes[0].?; + pane.tag_expanded = false; // a 12x8 screen: the body, not the tag + p.sync(); pane.tty_filter = false; pane.body.mode = .normal; p.update(.{ .output = .{ .pane = 0, .bytes = "\x1b]133;A\x1b\\\x1b[32maaaaaaaaa\x1b]133;B\x1b\\\x1b[41;36m\u{754C}\x1b[0m\r\n" } }); diff --git a/src/draw.zig b/src/draw.zig index 963d61c1..fb770b60 100644 --- a/src/draw.zig +++ b/src/draw.zig @@ -987,9 +987,11 @@ fn joinPaneTag(p: *Pardes, s: *Surface, arena: std.mem.Allocator, pane: *Pane, r // The grid's row: the gap cell and the text, as far as the pane. joinCells(s, region.rect.x, region.rect.y + @as(u16, @intCast(line)), storage[line * pitch ..][0..pitch], config.GUTTER, region.rect.w, tag_fg); } - if (temporary.cursor) |cursor| if (cursor.x - TAG_TEXT_INSET < r.w - TAG_TEXT_INSET) { - s.cursor = .{ .x = r.x + cursor.x, .y = region.rect.y + cursor.y, .bar = cursor.bar }; - }; + // Past a full row's end the layer's caret is at the tag's edge, as + // acme's tick is; the grid has no cell there, so it takes the last one. + if (temporary.cursor) |cursor| { + s.cursor = .{ .x = r.x + @min(cursor.x, r.w - 1), .y = region.rect.y + cursor.y, .bar = cursor.bar }; + } } /// A notice chip, painted once as a tag layer at the tagline's pitch, and the diff --git a/src/look.zig b/src/look.zig index d90d27b8..17746cd1 100644 --- a/src/look.zig +++ b/src/look.zig @@ -1378,6 +1378,7 @@ test "Look hover waits without mutating the pane and input cancels it" { while (p.nextEffect()) |_| {} const other_id = p.freeSlot() orelse return error.NoSparePaneForHoverTest; _ = try p.newShell(other_id, ""); + p.panes[other_id].?.tag_expanded = false; // the blank spot right of the file is its body, not its tag try std.testing.expect(layout.splitColumn(p, 0, other_id, false)); p.sync(); while (p.nextEffect()) |_| {} diff --git a/src/tagline.zig b/src/tagline.zig index 68fa2645..d024be4e 100644 --- a/src/tagline.zig +++ b/src/tagline.zig @@ -286,10 +286,12 @@ pub fn wrapTag(arena: std.mem.Allocator, whole: []const u8, width: usize) !Shown return .{ .text = out.items, .soft = soft.items }; } -/// The tag's width for wrapping: its columns, one kept for the caret past -/// a full row's end. +/// The tag's width for wrapping: all its columns. A row the text fills +/// exactly stays one row, as acme's frame wraps a box only when it is wider +/// than what is left (libframe frutil.c _frcklinewrap), and the caret past +/// its end sits at the edge (frptofchar.c clamps it to r.max.x). pub fn tagWidth(p: *const Pardes, id: usize) usize { - return @max(1, @as(usize, p.tagCapacity(p.rects[id].w -| TAG_TEXT_INSET)) -| 1); + return @max(1, @as(usize, p.tagCapacity(p.rects[id].w -| TAG_TEXT_INSET))); } pub fn shownTag(p: *Pardes, arena: std.mem.Allocator, pane: *Pane) !Shown { diff --git a/test/panes.zig b/test/panes.zig index f00b35c4..25f0f6db 100644 --- a/test/panes.zig +++ b/test/panes.zig @@ -1733,6 +1733,32 @@ test "paste into pane commands and prompts never inserts into the body" { try std.testing.expect(std.mem.indexOf(u8, pardes.tagline.curTail(pane), " Custom\nCommand") != null); } +test "a tag that exactly fills its row stays one row, its caret at the edge as acme's tick" { + const p = try Pardes.init(std.testing.allocator, .{ .tty_only = true, .cols = 50, .rows = 12 }); + defer p.deinit(); + const pane = try p.setTestFile("body\n"); + const width = pardes.tagline.tagWidth(p, 0); + // Pad the path until the whole tag is exactly the row. + const bare = try pardes.tagline.tagText(p, p.scratch.allocator(), pane); + const pad = width - bare.len + pane.file.?.path.len; + p.gpa.free(pane.file.?.path); + const path = try p.gpa.alloc(u8, pad); + @memset(path, 'a'); + path[0] = '/'; + pane.file.?.path = path; + try std.testing.expectEqual(width, (try pardes.tagline.tagText(p, p.scratch.allocator(), pane)).len); + p.update(.{ .key = .{ .cp = ':' } }); + p.update(.{ .key = .{ .cp = 'A' } }); + var arena = std.heap.ArenaAllocator.init(p.gpa); + defer arena.deinit(); + const surface = try p.render(arena.allocator()); + try std.testing.expectEqual(@as(u16, 1), pane.tag_rows); + // The layer's caret is past the last character; the grid's, on the pane's + // last cell, since it has none past it. + try std.testing.expectEqual(@as(u16, @intCast(width)), surface.tag_layers[0].cursor.?.x); + try std.testing.expectEqual(p.rects[0].x + p.rects[0].w - 1, surface.cursor.?.x); +} + test "a long pane tag wraps onto rows, and a click on a wrapped row maps to the whole tag's address" { const p = try Pardes.init(std.testing.allocator, .{ .tty_only = true, .cols = 50, .rows = 12 }); defer p.deinit(); diff --git a/test/snapshots/badutf.golden b/test/snapshots/badutf.golden index 4490531a..d013a610 100644 --- a/test/snapshots/badutf.golden +++ b/test/snapshots/badutf.golden @@ -10,8 +10,8 @@ == snap hscroll-midglyph grid=50x31 cursor=46,4 |Newcol Joincol Find Grep Help Changelog Tutor Dump | New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/badutf/cwd/wide.txt Save Tty -| Collapse Del +| /tmp/pardes-snap/badutf/cwd/wide.txt Save Tty C +| ollapse Del | 1 日本語 日本語 日本語 日本語 日本語 tail | 2 | 3 diff --git a/test/snapshots/chordcut.golden b/test/snapshots/chordcut.golden index d6ea6879..4b26fa2b 100644 --- a/test/snapshots/chordcut.golden +++ b/test/snapshots/chordcut.golden @@ -1,13 +1,12 @@ -== snap opened grid=120x31 cursor=7,9 +== snap opened grid=120x31 cursor=7,8 |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter -| Collapse Del Collapse Del +| /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter C /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter C +| ollapse Del ollapse Del | ls ls | f.txt g.txt f.txt g.txt | -| /tmp/pardes-snap/chordcut/cwd/f.txt Save Tty Collapse De -| l +| /tmp/pardes-snap/chordcut/cwd/f.txt Save Tty Collapse Del | 1 line 1 | 2 line 2 | 3 line 3 @@ -16,79 +15,78 @@ | 6 | | -| /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter -| Collapse Del +| +| /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter C +| ollapse Del | ls | f.txt g.txt -== snap cut grid=120x31 cursor=7,10 -|7: * /tmp/pardes-snap/chordcut/cwd/f.txt Save Tty Collapse De -|10: 2 2 -== snap copied grid=120x31 cursor=10,11 -== snap pointpaste grid=120x31 cursor=16,12 -|12: 4 line 4line -== snap replaced grid=120x31 cursor=11,13 -|13: 5 lline 5 -== snap cancelexec grid=120x31 cursor=25,10 -|10: 2 2echo B''OO g.txt -== snap execafter grid=120x31 cursor=25,10 -|9: 1 line 1 Exec -|17: /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter /tmp/pardes-snap/chordcut/cwd (echo B''OO) exit 0 Kill S -|18: Collapse Del ave Collapse Del +== snap cut grid=120x31 cursor=7,9 +|7: * /tmp/pardes-snap/chordcut/cwd/f.txt Save Tty Collapse Del +|9: 2 2 +== snap copied grid=120x31 cursor=10,10 +== snap pointpaste grid=120x31 cursor=16,11 +|11: 4 line 4line +== snap replaced grid=120x31 cursor=11,12 +|12: 5 lline 5 +== snap cancelexec grid=120x31 cursor=25,9 +|9: 2 2echo B''OO g.txt +== snap execafter grid=120x31 cursor=25,9 +|8: 1 line 1 Exec +|17: /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter C /tmp/pardes-snap/chordcut/cwd (echo B''OO) exit 0 Kill Sa +|18: ollapse Del ve Collapse Del |19: ls % echo B''OO |20: f.txt g.txt BOO |21: exit 0 -== snap cancellook grid=120x31 cursor=25,10 -|9: 1 line 1 -== snap lookafter grid=120x31 cursor=7,24 -|22: /tmp/pardes-snap/chordcut/cwd/g.txt Save Tty Collapse De -|23: l -|24: 1 line 1 -|25: 2 line 2 -|26: 3 +== snap cancellook grid=120x31 cursor=25,9 +|8: 1 line 1 +== snap lookafter grid=120x31 cursor=7,23 +|22: /tmp/pardes-snap/chordcut/cwd/g.txt Save Tty Collapse Del +|23: 1 line 1 +|24: 2 line 2 +|25: 3 == style chordsel grid=120x31 |0: 0-70 #b2c3b8,#1d2824, 71-119 d,#1d2824, |1: 0-1 #ffffff,#887455, 2-2 d,#26362d, 3-34 #becfc4,#26362d, 35-59 d,#26362d, 60-61 #ffffff,#887455, 62-62 d,#1d2824, 63-94 #b2c3b8,#1d2824, 95-119 d,#1d2824, -|2: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-32 #b2c3b8,#1d2824, 33-40 #d3b0d9,#1d2824, 41-58 #b2c3b8,#1d2824, 59-59 d,#1d2824, 60-61 #ffffff,#496656, 62-62 d,#1d2824, 63-92 #b2c3b8,#1d2824, 93-100 #d3b0d9,#1d2824, 101-118 #b2c3b8,#1d2824, 119-119 d,#1d2824, -|3: 0-2 d,#1d2824, 3-14 #b2c3b8,#1d2824, 15-62 d,#1d2824, 63-74 #b2c3b8,#1d2824, 75-119 d,#1d2824, +|2: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-32 #b2c3b8,#1d2824, 33-40 #d3b0d9,#1d2824, 41-59 #b2c3b8,#1d2824, 60-61 #ffffff,#496656, 62-62 d,#1d2824, 63-92 #b2c3b8,#1d2824, 93-100 #d3b0d9,#1d2824, 101-119 #b2c3b8,#1d2824, +|3: 0-2 d,#1d2824, 3-13 #b2c3b8,#1d2824, 14-62 d,#1d2824, 63-73 #b2c3b8,#1d2824, 74-119 d,#1d2824, |4: 0-0 d,#608269, 1-1 d,#0d1410, 2-59 #e5eee5,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |5: 0-0 d,#608269, 1-1 d,#0d1410, 2-59 #e5eee5,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |6: 0-0 d,#608269, 1-59 d,#0d1410, 60-60 d,#608269, 61-119 d,#0d1410, -|7: 0-0 #ffffff,#496656, 1-1 #000000,#f9cb70,b 2-2 d,#1d2824, 3-32 #b2c3b8,#1d2824, 33-37 #d3b0d9,#1d2824, 38-58 #b2c3b8,#1d2824, 59-59 d,#1d2824, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|8: 0-2 d,#1d2824, 3-3 #b2c3b8,#1d2824, 4-59 d,#1d2824, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|9: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|10: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-24 #e5eee5,#0d1410, 25-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|11: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|12: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-16 #e5eee5,#0d1410, 17-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|13: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-13 #e5eee5,#0d1410, 14-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|7: 0-0 #ffffff,#496656, 1-1 #000000,#f9cb70,b 2-2 d,#1d2824, 3-32 #b2c3b8,#1d2824, 33-37 #d3b0d9,#1d2824, 38-59 #b2c3b8,#1d2824, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|8: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|9: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-24 #e5eee5,#0d1410, 25-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|10: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|11: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-16 #e5eee5,#0d1410, 17-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|12: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-13 #e5eee5,#0d1410, 14-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|13: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |14: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |15: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |16: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|17: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-32 #b2c3b8,#1d2824, 33-40 #d3b0d9,#1d2824, 41-58 #b2c3b8,#1d2824, 59-59 d,#1d2824, 60-61 #ffffff,#496656, 62-62 d,#1d2824, 63-118 #b2c3b8,#1d2824, 119-119 d,#1d2824, -|18: 0-2 d,#1d2824, 3-14 #b2c3b8,#1d2824, 15-62 d,#1d2824, 63-78 #b2c3b8,#1d2824, 79-119 d,#1d2824, +|17: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-32 #b2c3b8,#1d2824, 33-40 #d3b0d9,#1d2824, 41-59 #b2c3b8,#1d2824, 60-61 #ffffff,#496656, 62-62 d,#1d2824, 63-119 #b2c3b8,#1d2824, +|18: 0-2 d,#1d2824, 3-13 #b2c3b8,#1d2824, 14-62 d,#1d2824, 63-77 #b2c3b8,#1d2824, 78-119 d,#1d2824, |19: 0-0 d,#608269, 1-1 d,#0d1410, 2-59 #e5eee5,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |20: 0-0 d,#608269, 1-1 d,#0d1410, 2-59 #e5eee5,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |21: 0-0 d,#608269, 1-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|22: 0-1 #000000,#add38a, 2-2 d,#26362d, 3-32 #becfc4,#26362d, 33-37 #dfbce5,#26362d, 38-58 #becfc4,#26362d, 59-59 d,#26362d, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|23: 0-2 d,#26362d, 3-3 #becfc4,#26362d, 4-59 d,#26362d, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|24: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #616f64,#0d1410,b 7-10 #f5f7ee,#3c614a, 11-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|25: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|22: 0-1 #000000,#add38a, 2-2 d,#26362d, 3-32 #becfc4,#26362d, 33-37 #dfbce5,#26362d, 38-59 #becfc4,#26362d, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|23: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #616f64,#0d1410,b 7-10 #f5f7ee,#3c614a, 11-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|24: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|25: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |26: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |27: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |28: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |29: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, |30: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, == style clickdismiss grid=120x31 -|24: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, -|25: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #616f64,#0d1410,b 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|23: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, +|24: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #616f64,#0d1410,b 7-12 #e5eee5,#0d1410, 13-59 d,#0d1410, 60-60 d,#608269, 61-61 d,#0d1410, 62-119 #e5eee5,#0d1410, == snap ttyprobe grid=120x31 cursor=42,23 -|17: $ /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter /tmp/pardes-snap/chordcut/cwd (echo B''OO) exit 0 Kill S +|17: $ /tmp/pardes-snap/chordcut/cwd Tty+bash Save Mode Filter C /tmp/pardes-snap/chordcut/cwd (echo B''OO) exit 0 Kill Sa |19: $ ls % echo B''OO |21: $ stty -icanon -echo; printf '\x1b[?2004h\x1b[?1000h\x1b[? exit 0 |22: 1006h'; cat -v |23: ^[[<0;38;6M^[[<0;38;6m^[[200~line^[[201~ |24: |25: -|26: == snap ttyprompt grid=120x31 cursor=8,25 |24: $ |25: $ line diff --git a/test/snapshots/chordcut.snap b/test/snapshots/chordcut.snap index 36aad675..1baef7ec 100644 --- a/test/snapshots/chordcut.snap +++ b/test/snapshots/chordcut.snap @@ -29,42 +29,42 @@ wait 10000 line 3 stable 700 15000 snap opened # 1-2 Cut: left-drag over "line" on line 2, tap middle while holding +press left 8 10 +drag left 11 10 +press middle 11 10 +release middle 11 10 +release left 11 10 +stable 400 5000 +snap cut +# 1-2 then 1-3 in one hold = copy: line 3 keeps its text, register loaded press left 8 11 drag left 11 11 press middle 11 11 release middle 11 11 +press right 11 11 +release right 11 11 release left 11 11 stable 400 5000 -snap cut -# 1-2 then 1-3 in one hold = copy: line 3 keeps its text, register loaded -press left 8 12 -drag left 11 12 -press middle 11 12 -release middle 11 12 -press right 11 12 -release right 11 12 -release left 11 12 -stable 400 5000 snap copied # 1-3 at a bare click point: hold left past the end of line 4, tap right — # the register splices in at the click -press left 14 13 -press right 14 13 -release right 14 13 -release left 14 13 +press left 14 12 +press right 14 12 +release right 14 12 +release left 14 12 stable 400 5000 snap pointpaste # 1-3 over a fresh selection replaces it with the register -press left 9 14 -drag left 11 14 -press right 11 14 -release right 11 14 -release left 11 14 +press left 9 13 +drag left 11 13 +press right 11 13 +release right 11 13 +release left 11 13 stable 400 5000 snap replaced # arm the cancel tests: append `echo B''OO g.txt` to line 2 -press left 10 11 -release left 10 11 +press left 10 10 +release left 10 10 stable 400 5000 key i text echo B''OO g.txt @@ -73,50 +73,50 @@ settle 100 stable 400 5000 # 2-3 cancel (acme textselect2): tap right during the middle execute-drag # over `echo B''OO` — the command never runs (no BOO anywhere) -press middle 10 11 -drag middle 19 11 -press right 19 11 -release right 19 11 -release middle 19 11 +press middle 10 10 +drag middle 19 10 +press right 19 10 +release right 19 10 +release middle 19 10 stable 700 8000 snap cancelexec # the same drag released clean proves the word was live: BOO appears -press middle 10 11 -drag middle 19 11 -release middle 19 11 +press middle 10 10 +drag middle 19 10 +release middle 19 10 wait 10000 BOO stable 700 10000 snap execafter # 3-1 cancel (acme textselect3): tap left during the right look-drag over # g.txt — no pane opens -press right 21 11 -drag right 25 11 -press left 25 11 -release left 25 11 -release right 25 11 +press right 21 10 +drag right 25 10 +press left 25 10 +release left 25 10 +release right 25 10 stable 700 8000 snap cancellook # the same look released clean opens g.txt -press right 21 11 -drag right 25 11 -release right 25 11 +press right 21 10 +drag right 25 10 +release right 25 10 wait 10000 line 2 stable 700 10000 snap lookafter # a fresh left click dismisses the chord's leftover selection instead of # dragging the anchored span to the click: copy `line` on g.txt line 1 # (styled snap shows the selection), then click the next row (it's gone) -press left 8 25 -drag left 11 25 -press middle 11 25 -release middle 11 25 -press right 11 25 -release right 11 25 -release left 11 25 +press left 8 24 +drag left 11 24 +press middle 11 24 +release middle 11 24 +press right 11 24 +release right 11 24 +release left 11 24 stable 400 5000 snapstyle chordsel -press left 8 26 -release left 8 26 +press left 8 25 +release left 8 25 stable 400 5000 snapstyle clickdismiss # g.txt opened under the lower shell's text and left it three rows: close it, diff --git a/test/snapshots/colgrip.golden b/test/snapshots/colgrip.golden index 95a2390f..020661ea 100644 --- a/test/snapshots/colgrip.golden +++ b/test/snapshots/colgrip.golden @@ -1,8 +1,8 @@ == style rest grid=100x24 |0: 0-70 #b2c3b8,#1d2824, 71-99 d,#1d2824, |1: 0-1 #ffffff,#887455, 2-2 d,#1d2824, 3-34 #b2c3b8,#1d2824, 35-49 d,#1d2824, 50-51 #ffffff,#887455, 52-52 d,#26362d, 53-84 #becfc4,#26362d, 85-99 d,#26362d, -|2: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-31 #b2c3b8,#1d2824, 32-36 #d3b0d9,#1d2824, 37-48 #b2c3b8,#1d2824, 49-49 d,#1d2824, 50-51 #000000,#add38a, 52-52 d,#26362d, 53-81 #becfc4,#26362d, 82-89 #dfbce5,#26362d, 90-98 #becfc4,#26362d, 99-99 d,#26362d, -|3: 0-2 d,#1d2824, 3-12 #b2c3b8,#1d2824, 13-49 d,#1d2824, 50-52 d,#26362d, 53-73 #becfc4,#26362d, 74-99 d,#26362d, +|2: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-31 #b2c3b8,#1d2824, 32-36 #d3b0d9,#1d2824, 37-49 #b2c3b8,#1d2824, 50-51 #000000,#add38a, 52-52 d,#26362d, 53-81 #becfc4,#26362d, 82-89 #dfbce5,#26362d, 90-99 #becfc4,#26362d, +|3: 0-2 d,#1d2824, 3-11 #b2c3b8,#1d2824, 12-49 d,#1d2824, 50-52 d,#26362d, 53-72 #becfc4,#26362d, 73-99 d,#26362d, |4: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-7 #e5eee5,#0d1410, 8-49 d,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |5: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-49 d,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |6: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-49 d,#0d1410, 50-50 d,#608269, 51-99 d,#0d1410, @@ -28,8 +28,8 @@ == snap resize-drag grid=100x24 cursor=54,6 |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol ╎ New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/colgrip/cwd/w.txt S╎ve Tty Co /tmp/pardes-snap/colgrip/cwd Tty+bash Save Mod -| llapse Del ╎ e Filter Collapse Del +| /tmp/pardes-snap/colgrip/cwd/w.txt S╎ve Tty Col /tmp/pardes-snap/colgrip/cwd Tty+bash Save Mode +| lapse Del ╎ Filter Collapse Del | 1 x ╎ ls | ╎ w.txt | ╎ @@ -52,8 +52,8 @@ | ╎ == style resize-drag grid=100x24 |1: 0-1 #ffffff,#887455, 2-2 d,#1d2824, 3-34 #b2c3b8,#1d2824, 35-38 d,#1d2824, 39-39 #f4c086,#1d2824, 40-49 d,#1d2824, 50-51 #000000,#f4c086, 52-52 d,#26362d, 53-84 #becfc4,#26362d, 85-99 d,#26362d, -|2: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-31 #b2c3b8,#1d2824, 32-36 #d3b0d9,#1d2824, 37-38 #b2c3b8,#1d2824, 39-39 #f4c086,#1d2824, 40-48 #b2c3b8,#1d2824, 49-49 d,#1d2824, 50-51 #000000,#add38a, 52-52 d,#26362d, 53-81 #becfc4,#26362d, 82-89 #dfbce5,#26362d, 90-98 #becfc4,#26362d, 99-99 d,#26362d, -|3: 0-2 d,#1d2824, 3-12 #b2c3b8,#1d2824, 13-38 d,#1d2824, 39-39 #f4c086,#1d2824, 40-49 d,#1d2824, 50-52 d,#26362d, 53-73 #becfc4,#26362d, 74-99 d,#26362d, +|2: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-31 #b2c3b8,#1d2824, 32-36 #d3b0d9,#1d2824, 37-38 #b2c3b8,#1d2824, 39-39 #f4c086,#1d2824, 40-49 #b2c3b8,#1d2824, 50-51 #000000,#add38a, 52-52 d,#26362d, 53-81 #becfc4,#26362d, 82-89 #dfbce5,#26362d, 90-99 #becfc4,#26362d, +|3: 0-2 d,#1d2824, 3-11 #b2c3b8,#1d2824, 12-38 d,#1d2824, 39-39 #f4c086,#1d2824, 40-49 d,#1d2824, 50-52 d,#26362d, 53-72 #becfc4,#26362d, 73-99 d,#26362d, |4: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-7 #e5eee5,#0d1410, 8-38 d,#0d1410, 39-39 #f4c086,#0d1410, 40-49 d,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |5: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-38 d,#0d1410, 39-39 #f4c086,#0d1410, 40-49 d,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |6: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-38 d,#0d1410, 39-39 #f4c086,#0d1410, 40-49 d,#0d1410, 50-50 d,#608269, 51-99 d,#0d1410, @@ -76,8 +76,8 @@ |23: 0-0 d,#608269, 1-1 d,#0d1410, 2-6 #59675c,#0d1410, 7-38 d,#0d1410, 39-39 #f4c086,#0d1410, 40-49 d,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, == snap resize-done grid=100x24 cursor=44,6 |1: New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/colgrip/cwd/w.txt S /tmp/pardes-snap/colgrip/cwd Tty+bash Save Mode Filter C -|3: ave Tty Collapse Del ollapse Del +|2: /tmp/pardes-snap/colgrip/cwd/w.txt Sa /tmp/pardes-snap/colgrip/cwd Tty+bash Save Mode Filter Co +|3: ve Tty Collapse Del llapse Del |4: 1 x ls |5: w.txt |6: @@ -121,8 +121,8 @@ |23: ╎ == style reorder-drag grid=100x24 |1: 0-1 #ffffff,#887455, 2-2 d,#1d2824, 3-34 #b2c3b8,#1d2824, 35-39 d,#1d2824, 40-41 #000000,#f4c086, 42-42 d,#26362d, 43-74 #becfc4,#26362d, 75-99 d,#26362d, -|2: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-31 #b2c3b8,#1d2824, 32-36 #d3b0d9,#1d2824, 37-38 #b2c3b8,#1d2824, 39-39 d,#1d2824, 40-41 #000000,#add38a, 42-42 d,#26362d, 43-71 #becfc4,#26362d, 72-79 #dfbce5,#26362d, 80-98 #becfc4,#26362d, 99-99 d,#26362d, -|3: 0-2 d,#1d2824, 3-22 #b2c3b8,#1d2824, 23-39 d,#1d2824, 40-42 d,#26362d, 43-53 #becfc4,#26362d, 54-99 d,#26362d, +|2: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-31 #b2c3b8,#1d2824, 32-36 #d3b0d9,#1d2824, 37-39 #b2c3b8,#1d2824, 40-41 #000000,#add38a, 42-42 d,#26362d, 43-71 #becfc4,#26362d, 72-79 #dfbce5,#26362d, 80-99 #becfc4,#26362d, +|3: 0-2 d,#1d2824, 3-21 #b2c3b8,#1d2824, 22-39 d,#1d2824, 40-42 d,#26362d, 43-52 #becfc4,#26362d, 53-99 d,#26362d, |4: 0-0 d,#608269, 1-1 #f4c086,#0d1410, 2-6 #59675c,#0d1410, 7-7 #e5eee5,#0d1410, 8-39 d,#0d1410, 40-40 d,#608269, 41-41 d,#0d1410, 42-99 #e5eee5,#0d1410, |5: 0-0 d,#608269, 1-1 #f4c086,#0d1410, 2-6 #59675c,#0d1410, 7-39 d,#0d1410, 40-40 d,#608269, 41-41 d,#0d1410, 42-99 #e5eee5,#0d1410, |6: 0-0 d,#608269, 1-1 #f4c086,#0d1410, 2-6 #59675c,#0d1410, 7-39 d,#0d1410, 40-40 d,#608269, 41-99 d,#0d1410, @@ -145,8 +145,8 @@ |23: 0-0 d,#608269, 1-1 #f4c086,#0d1410, 2-6 #59675c,#0d1410, 7-39 d,#0d1410, 40-40 d,#608269, 41-41 d,#0d1410, 42-99 #e5eee5,#0d1410, == snap reorder-done grid=100x24 cursor=4,6 |1: New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/colgrip/cwd Tty+bash Save Mode Filter C /tmp/pardes-snap/colgrip/cwd/w.txt S -|3: ollapse Del ave Tty Collapse Del +|2: /tmp/pardes-snap/colgrip/cwd Tty+bash Save Mode Filter Co /tmp/pardes-snap/colgrip/cwd/w.txt Sa +|3: llapse Del ve Tty Collapse Del |4: ls 1 x |5: w.txt |6: diff --git a/test/snapshots/cornerdrag-left.golden b/test/snapshots/cornerdrag-left.golden index e0d2ab51..22bdd5b7 100644 --- a/test/snapshots/cornerdrag-left.golden +++ b/test/snapshots/cornerdrag-left.golden @@ -1,13 +1,13 @@ == snap right-split grid=100x31 cursor=54,11 |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash -| Save Mode Filter Collapse Del Save Mode Filter Collapse Del +| /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash S /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash S +| ave Mode Filter Collapse Del ave Mode Filter Collapse Del | ls ls | w.txt w.txt | -| /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash -| Save Mode Filter Collapse Del +| /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash S +| ave Mode Filter Collapse Del | ls | w.txt | @@ -16,19 +16,19 @@ | | | -| /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash -| Save Mode Filter Collapse Del +| /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash S +| ave Mode Filter Collapse Del | ls | w.txt == snap hover-corner grid=100x31 cursor=54,11 |1: New Tty Find Grep Joincol Delcol ╎ New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash ╎ /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash -|3: Save Mode Filter Collapse Del ╎ Save Mode Filter Collapse Del +|2: /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash ╎ /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash S +|3: ave Mode Filter Collapse Del ╎ ave Mode Filter Collapse Del |4: ls ╎ ls |5: w.txt ╎ w.txt |6: ╎ -|7: ╎ /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash -|8: ╎ Save Mode Filter Collapse Del +|7: ╎ /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash S +|8: ╎ ave Mode Filter Collapse Del |9: ╎ ls |10: ╎ w.txt |11: ╎ @@ -38,7 +38,7 @@ |15: ╎ |16: ╎ |17: /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash ╎ -|18: Save Mode Filter Collapse Del ╎ +|18: ave Mode Filter Collapse Del ╎ |19: ls ╎ |20: w.txt ╎ |21: ╎ @@ -54,13 +54,13 @@ == snap hover-left-corner grid=100x31 cursor=54,11 == snap corner-drag grid=100x31 cursor=54,11 |1: New Tty Find Grep Joincol ╎elcol New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/cornerdra╎-left/cwd Tty+bash /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash -|3: Save Mode Filter Collapse ╎el Save Mode Filter Collapse Del +|2: /tmp/pardes-snap/cornerdra╎-left/cwd Tty+bash S /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash S +|3: ave Mode Filter Collapse D╎l ave Mode Filter Collapse Del |4: ls ╎ ls |5: w.txt ╎ w.txt |6: ╎ -|7: ╎ /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash -|8: ╎ Save Mode Filter Collapse Del +|7: ╎ /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash S +|8: ╎ ave Mode Filter Collapse Del |9: ╎ ls |10: ╎ w.txt |11: ╎ @@ -69,8 +69,8 @@ |14: ╎ |15: ╎ |16: ╎ -|17: /tmp/pardes-snap/cornerdra╎-left/cwd Tty+bash -|18: Save Mode Filter Collapse ╎el +|17: /tmp/pardes-snap/cornerdra╎-left/cwd Tty+bash S +|18: ave Mode Filter Collapse D╎l |19: ls ╎ |20: w.txt ╎ |21: ╎ @@ -85,13 +85,13 @@ |30: ╎ == snap corner-done grid=100x31 cursor=34,11 |1: New Tty Find Grep Joincol D New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/cornerdra /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash Save Mode Filter Col -|3: g-left/cwd Tty+bash Save M lapse Del -|4: ode Filter Collapse Del ls +|2: /tmp/pardes-snap/cornerdrag /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash Save Mode Filter Coll +|3: -left/cwd Tty+bash Save Mod apse Del +|4: e Filter Collapse Del ls |5: ls w.txt |6: w.txt -|7: /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash Save Mode Filter Col -|8: lapse Del +|7: /tmp/pardes-snap/cornerdrag-left/cwd Tty+bash Save Mode Filter Coll +|8: apse Del |9: ls |10: w.txt |11: @@ -100,9 +100,9 @@ |14: |15: |16: -|17: /tmp/pardes-snap/cornerdra -|18: g-left/cwd Tty+bash Save M -|19: ode Filter Collapse Del +|17: /tmp/pardes-snap/cornerdrag +|18: -left/cwd Tty+bash Save Mod +|19: e Filter Collapse Del |20: ls |21: w.txt |22: diff --git a/test/snapshots/cornerdrag.golden b/test/snapshots/cornerdrag.golden index d70e41e4..730cc2bf 100644 --- a/test/snapshots/cornerdrag.golden +++ b/test/snapshots/cornerdrag.golden @@ -1,8 +1,8 @@ == snap hover-corner grid=100x31 cursor=4,6 |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol ╎ New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save ╎ /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save -| Mode Filter Collapse Del ╎ Mode Filter Collapse Del +| /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save ╎ /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save M +| ode Filter Collapse Del ╎ ode Filter Collapse Del | ls ╎ ls | w.txt ╎ w.txt | ╎ @@ -17,7 +17,7 @@ | ╎ | ╎ | /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save ╎ -| Mode Filter Collapse Del ╎ +| ode Filter Collapse Del ╎ | ls ╎ | w.txt ╎ | ╎ @@ -32,8 +32,8 @@ | ╎ == snap edge-drag grid=100x31 cursor=4,6 |1: New Tty Find Grep Joincol ╎elcol New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/cornerdra╎/cwd Tty+bash Save /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save -|3: Mode Filter Collapse Del ╎ Mode Filter Collapse Del +|2: /tmp/pardes-snap/cornerdra╎/cwd Tty+bash Save M /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save M +|3: ode Filter Collapse Del ╎ ode Filter Collapse Del |4: ls ╎ ls |5: w.txt ╎ w.txt |6: ╎ @@ -47,8 +47,8 @@ |14: ╎ |15: ╎ |16: ╎ -|17: /tmp/pardes-snap/cornerdra╎/cwd Tty+bash Save -|18: Mode Filter Collapse Del ╎ +|17: /tmp/pardes-snap/cornerdra╎/cwd Tty+bash Save M +|18: ode Filter Collapse Del ╎ |19: ls ╎ |20: w.txt ╎ |21: ╎ @@ -63,9 +63,9 @@ |30: ╎ == snap edge-done grid=100x31 cursor=4,7 |1: New Tty Find Grep Joincol D New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/cornerdra /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filter Collapse -|3: g/cwd Tty+bash Save Mode F Del -|4: ilter Collapse Del ls +|2: /tmp/pardes-snap/cornerdrag /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filter Collapse +|3: /cwd Tty+bash Save Mode Fil Del +|4: ter Collapse Del ls |5: ls w.txt |6: w.txt |7: @@ -78,9 +78,9 @@ |14: |15: |16: -|17: /tmp/pardes-snap/cornerdra -|18: g/cwd Tty+bash Save Mode F -|19: ilter Collapse Del +|17: /tmp/pardes-snap/cornerdrag +|18: /cwd Tty+bash Save Mode Fil +|19: ter Collapse Del |20: ls |21: w.txt |22: @@ -94,9 +94,9 @@ |30: == snap corner-drag grid=100x31 cursor=4,7 |1: New Tty Find Grep Joincol D New Tty Find Grep Joincol ╎elcol -|2: /tmp/pardes-snap/cornerdra /tmp/pardes-snap/cornerdra╎/cwd Tty+bash Save Mode Filter Collapse -|3: g/cwd Tty+bash Save Mode F Del ╎ -|4: ilter Collapse Del ls ╎ +|2: /tmp/pardes-snap/cornerdrag /tmp/pardes-snap/cornerdra╎/cwd Tty+bash Save Mode Filter Collapse +|3: /cwd Tty+bash Save Mode Fil Del ╎ +|4: ter Collapse Del ls ╎ |5: ls w.txt ╎ |6: w.txt ╎ |7: ╎ @@ -109,9 +109,9 @@ |14: ╎ |15: ╎ |16: ╎ -|17: /tmp/pardes-snap/cornerdra ╎ -|18: g/cwd Tty+bash Save Mode F ╎ -|19: ilter Collapse Del ╎ +|17: /tmp/pardes-snap/cornerdrag ╎ +|18: /cwd Tty+bash Save Mode Fil ╎ +|19: ter Collapse Del ╎ |20: ls ╎ |21: w.txt ╎ |22: ╎ @@ -125,15 +125,15 @@ |30: ╎ == snap corner-done grid=100x31 cursor=4,6 |1: New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte /tmp/pardes-snap/cornerdrag/cwd Tty+ -|3: r Collapse Del bash Save Mode Filter Collapse Del +|2: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filter /tmp/pardes-snap/cornerdrag/cwd Tty+b +|3: Collapse Del ash Save Mode Filter Collapse Del |4: ls ls |5: w.txt w.txt |6: |7: |8: -|9: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte -|10: r Collapse Del +|9: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filter +|10: Collapse Del |11: ls |12: w.txt |13: @@ -156,15 +156,15 @@ |30: == snap clamp-x grid=100x31 cursor=4,6 |1: New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol D╎lcol -|2: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte /tmp/pardes-snap/cornerdrag╎cwd Tty+ -|3: r Collapse Del bash Save Mode Filter Colla╎se Del +|2: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filter /tmp/pardes-snap/cornerdrag╎cwd Tty+b +|3: Collapse Del ash Save Mode Filter Collap╎e Del |4: ls ls ╎ |5: w.txt w.txt ╎ |6: ╎ |7: ╎ |8: ╎ -|9: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte ╎ -|10: r Collapse Del ╎ +|9: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filter ╎ +|10: Collapse Del ╎ |11: ls ╎ |12: w.txt ╎ |13: ╎ @@ -187,15 +187,15 @@ |30: ╎ == snap clamp-y grid=100x31 cursor=4,6 |1: New Tty Find Grep Joincol Delcol ╎ New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte╎ /tmp/pardes-snap/cornerdrag/cwd Tty+ -|3: r Collapse Del ╎ bash Save Mode Filter Collapse Del +|2: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte╎ /tmp/pardes-snap/cornerdrag/cwd Tty+b +|3: Collapse Del ╎ ash Save Mode Filter Collapse Del |4: ls ╎ ls |5: w.txt ╎ w.txt |6: ╎ |7: ╎ |8: ╎ |9: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte╎ -|10: r Collapse Del ╎ +|10: Collapse Del ╎ |11: ls ╎ |12: w.txt ╎ |13: ╎ @@ -218,8 +218,8 @@ |30: ╎ == snap clamp-done grid=100x31 cursor=4,6 |1: New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -|2: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte /tmp/pardes-snap/cornerdrag/cwd Tty+ -|3: r Collapse Del bash Save Mode Filter Collapse Del +|2: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filter /tmp/pardes-snap/cornerdrag/cwd Tty+b +|3: Collapse Del ash Save Mode Filter Collapse Del |4: ls ls |5: w.txt w.txt |6: @@ -246,4 +246,4 @@ |27: |28: |29: -|30: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filte +|30: /tmp/pardes-snap/cornerdrag/cwd Tty+bash Save Mode Filter diff --git a/test/snapshots/doccol.golden b/test/snapshots/doccol.golden index 078f1c04..db2b0074 100644 --- a/test/snapshots/doccol.golden +++ b/test/snapshots/doccol.golden @@ -1,25 +1,25 @@ == snap boot grid=100x31 cursor=7,4 |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/doccol/cwd/a.txt Save Tty Col /tmp/pardes-snap/doccol/cwd Tty+bash Save Mode -| lapse Del Filter Collapse Del +| /tmp/pardes-snap/doccol/cwd/a.txt Save Tty Coll /tmp/pardes-snap/doccol/cwd Tty+bash Save Mode +| apse Del Filter Collapse Del | 1 AAA ls | a.txt b.txt c.txt == snap two-docs grid=100x31 cursor=7,19 -|17: /tmp/pardes-snap/doccol/cwd/b.txt Save Tty Col -|18: lapse Del +|17: /tmp/pardes-snap/doccol/cwd/b.txt Save Tty Coll +|18: apse Del |19: 1 BBB |20: 2 B-TWO == snap moved grid=100x31 cursor=57,22 |17: |18: |19: -|20: /tmp/pardes-snap/doccol/cwd/b.txt Save Tty Col -|21: lapse Del +|20: /tmp/pardes-snap/doccol/cwd/b.txt Save Tty Coll +|21: apse Del |22: 1 BBB |23: 2 B-TWO == snap worked grid=100x31 cursor=59,23 == snap third grid=100x31 cursor=57,28 -|26: /tmp/pardes-snap/doccol/cwd/c.txt Save Tty Col -|27: lapse Del +|26: /tmp/pardes-snap/doccol/cwd/c.txt Save Tty Coll +|27: apse Del |28: 1 CCC diff --git a/test/snapshots/edit.golden b/test/snapshots/edit.golden index d4ec9581..c607989f 100644 --- a/test/snapshots/edit.golden +++ b/test/snapshots/edit.golden @@ -1,8 +1,8 @@ == snap inserted grid=100x31 cursor=16,10 |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/edit/cwd Tty+bash Save Mode F /tmp/pardes-snap/edit/cwd Tty+bash Save Mode F -| ilter Collapse Del ilter Collapse Del +| /tmp/pardes-snap/edit/cwd Tty+bash Save Mode Fi /tmp/pardes-snap/edit/cwd Tty+bash Save Mode Fi +| lter Collapse Del lter Collapse Del | ls ls | e.txt e.txt | @@ -16,15 +16,15 @@ | | | -| /tmp/pardes-snap/edit/cwd Tty+bash Save Mode F -| ilter Collapse Del +| /tmp/pardes-snap/edit/cwd Tty+bash Save Mode Fi +| lter Collapse Del | ls | e.txt == style inserted grid=100x31 |0: 0-70 #b2c3b8,#1d2824, 71-99 d,#1d2824, |1: 0-1 #ffffff,#887455, 2-2 d,#26362d, 3-34 #becfc4,#26362d, 35-49 d,#26362d, 50-51 #ffffff,#887455, 52-52 d,#1d2824, 53-84 #b2c3b8,#1d2824, 85-99 d,#1d2824, -|2: 0-1 #000000,#add38a, 2-2 d,#26362d, 3-28 #becfc4,#26362d, 29-36 #dfbce5,#26362d, 37-48 #becfc4,#26362d, 49-49 d,#26362d, 50-51 #ffffff,#496656, 52-52 d,#1d2824, 53-78 #b2c3b8,#1d2824, 79-86 #d3b0d9,#1d2824, 87-98 #b2c3b8,#1d2824, 99-99 d,#1d2824, -|3: 0-2 d,#26362d, 3-20 #becfc4,#26362d, 21-49 d,#26362d, 50-52 d,#1d2824, 53-70 #b2c3b8,#1d2824, 71-99 d,#1d2824, +|2: 0-1 #000000,#add38a, 2-2 d,#26362d, 3-28 #becfc4,#26362d, 29-36 #dfbce5,#26362d, 37-49 #becfc4,#26362d, 50-51 #ffffff,#496656, 52-52 d,#1d2824, 53-78 #b2c3b8,#1d2824, 79-86 #d3b0d9,#1d2824, 87-99 #b2c3b8,#1d2824, +|3: 0-2 d,#26362d, 3-19 #becfc4,#26362d, 20-49 d,#26362d, 50-52 d,#1d2824, 53-69 #b2c3b8,#1d2824, 70-99 d,#1d2824, |4: 0-0 d,#608269, 1-1 d,#0d1410, 2-49 #e5eee5,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |5: 0-0 d,#608269, 1-1 d,#0d1410, 2-49 #e5eee5,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |6: 0-0 d,#608269, 1-49 d,#0d1410, 50-50 d,#608269, 51-99 d,#0d1410, @@ -38,8 +38,8 @@ |14: 0-0 d,#608269, 1-1 d,#0d1410, 2-49 #e5eee5,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |15: 0-0 d,#608269, 1-1 d,#0d1410, 2-49 #e5eee5,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |16: 0-0 d,#608269, 1-1 d,#0d1410, 2-49 #e5eee5,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, -|17: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-28 #b2c3b8,#1d2824, 29-36 #d3b0d9,#1d2824, 37-48 #b2c3b8,#1d2824, 49-49 d,#1d2824, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, -|18: 0-2 d,#1d2824, 3-20 #b2c3b8,#1d2824, 21-49 d,#1d2824, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, +|17: 0-1 #ffffff,#496656, 2-2 d,#1d2824, 3-28 #b2c3b8,#1d2824, 29-36 #d3b0d9,#1d2824, 37-49 #b2c3b8,#1d2824, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, +|18: 0-2 d,#1d2824, 3-19 #b2c3b8,#1d2824, 20-49 d,#1d2824, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |19: 0-0 d,#608269, 1-1 d,#0d1410, 2-49 #e5eee5,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |20: 0-0 d,#608269, 1-1 d,#0d1410, 2-49 #e5eee5,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, |21: 0-0 d,#608269, 1-49 d,#0d1410, 50-50 d,#608269, 51-51 d,#0d1410, 52-99 #e5eee5,#0d1410, diff --git a/test/snapshots/emptycol.golden b/test/snapshots/emptycol.golden index 37415cd7..1e3f916d 100644 --- a/test/snapshots/emptycol.golden +++ b/test/snapshots/emptycol.golden @@ -1,17 +1,17 @@ == snap newcol grid=100x24 cursor=53,1 |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/emptycol/cwd/notes.txt Save T -| ty Collapse Del +| /tmp/pardes-snap/emptycol/cwd/notes.txt Save Tt +| y Collapse Del | 1 one | 2 two == snap filled grid=100x24 cursor=54,6 -|2: /tmp/pardes-snap/emptycol/cwd/notes.txt Save T /tmp/pardes-snap/emptycol/cwd Tty+bash Save Mo -|3: ty Collapse Del de Filter Collapse Del +|2: /tmp/pardes-snap/emptycol/cwd/notes.txt Save Tt /tmp/pardes-snap/emptycol/cwd Tty+bash Save Mod +|3: y Collapse Del e Filter Collapse Del |4: 1 one ls |5: 2 two notes.txt == snap emptied grid=100x24 cursor=53,1 -|2: /tmp/pardes-snap/emptycol/cwd/notes.txt Save T -|3: ty Collapse Del +|2: /tmp/pardes-snap/emptycol/cwd/notes.txt Save Tt +|3: y Collapse Del |4: 1 one |5: 2 two diff --git a/test/snapshots/ghostty-mid.golden b/test/snapshots/ghostty-mid.golden index 05d63bc8..ab117f8a 100644 --- a/test/snapshots/ghostty-mid.golden +++ b/test/snapshots/ghostty-mid.golden @@ -2,7 +2,7 @@ |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol | /tmp/pardes-snap/ghostty-mid/cwd Tty+bash Save /tmp/pardes-snap/ghostty-mid/cwd Tty+bash Save -| Mode Filter Collapse Del Mode Filter Collapse Del +| Mode Filter Collapse Del Mode Filter Collapse Del | ZZPAD ls | ./g.sh g.txt | ./g.sh @@ -17,6 +17,6 @@ | | | /tmp/pardes-snap/ghostty-mid/cwd Tty+bash Save -| Mode Filter Collapse Del +| Mode Filter Collapse Del | ls | g.txt diff --git a/test/snapshots/hscroll.golden b/test/snapshots/hscroll.golden index 8ce8b968..ddd7bab7 100644 --- a/test/snapshots/hscroll.golden +++ b/test/snapshots/hscroll.golden @@ -1,13 +1,13 @@ == snap opened grid=90x31 cursor=7,9 |Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit | New Tty Find Grep Joincol Delcol New Tty Find Grep Joincol Delcol -| /tmp/pardes-snap/hscroll/cwd Tty+bash Sav /tmp/pardes-snap/hscroll/cwd Tty+bash Sav -| e Mode Filter Collapse Del e Mode Filter Collapse Del +| /tmp/pardes-snap/hscroll/cwd Tty+bash Save /tmp/pardes-snap/hscroll/cwd Tty+bash Save +| Mode Filter Collapse Del Mode Filter Collapse Del | ls ls | wide.txt wide.txt | -| /tmp/pardes-snap/hscroll/cwd/wide.txt Sav -| e Tty Collapse Del +| /tmp/pardes-snap/hscroll/cwd/wide.txt Save +| Tty Collapse Del | 1 short1 END_A_MARKER_WAY_OUT_RIGHT_padp | | @@ -16,8 +16,8 @@ | | | -| /tmp/pardes-snap/hscroll/cwd Tty+bash Sav -| e Mode Filter Collapse Del +| /tmp/pardes-snap/hscroll/cwd Tty+bash Save +| Mode Filter Collapse Del | ls | wide.txt == snap wheeled grid=90x31 cursor=7,9 diff --git a/test/snapshots/images.golden b/test/snapshots/images.golden index 46caaff7..dfa49491 100644 --- a/test/snapshots/images.golden +++ b/test/snapshots/images.golden @@ -5,8 +5,8 @@ | ls ls | pic.ppm pic.ppm | -| img petscii:off palette:commodore ascii:on /tmp/pardes-snap/images/cwd/ -| pic.ppm Tty Collapse Del +| img petscii:off palette:commodore ascii:on /tmp/pardes-snap/images/cwd/p +| ic.ppm Tty Collapse Del | x🬱\╲🬌\~▄🬥4▟g*🬺🬶_🬆🬻 | >A8🬌Cq&.\H&🬹🬜C▛🬻 | >