diff options
| author | Gabriel Schneider <[email protected]> | 2026-10-02 01:01:43 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-02 01:33:55 -0300 |
| commit | 2537126c643db75419ff846f1041e40d154c9426 (patch) | |
| tree | d37ab2310b1dc41308c869afeb393608bfc5d245 /src/edit.zig | |
| parent | 39d4a7c38b12f907d8ba6c08bb14600b503a13d7 (diff) | |
| download | pardes-2537126c643db75419ff846f1041e40d154c9426.tar.gz pardes-2537126c643db75419ff846f1041e40d154c9426.zip | |
Insert on a terminal's text says it edits a copy, run with Tab or B2, that the program's next drawing replaces, and that Ctrl-b types to the program
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/edit.zig')
| -rw-r--r-- | src/edit.zig | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/edit.zig b/src/edit.zig index bf65935e..b2909d87 100644 --- a/src/edit.zig +++ b/src/edit.zig @@ -2166,6 +2166,18 @@ test "Enter in insert mode keeps a tab-indented line's tabs, as o and O do" { try std.testing.expect(std.mem.startsWith(u8, pane.file.?.content, "\t\tvalue = 1;\n\t\t\n")); } +test "insert on a terminal's text says it edits a copy the program's next drawing replaces" { + const p = try Pardes.init(std.testing.allocator, .{ .tty_only = true }); + defer p.deinit(); + while (p.nextEffect()) |_| {} + const pane = p.panes[0].?; + if (!pane.isTerminal()) return error.SkipZigTest; + pane.body.mode = .normal; + p.update(.{ .key = .{ .cp = 'i' } }); + p.update(.{ .key = .{ .cp = 'x', .text = "x" } }); + try std.testing.expect(std.mem.indexOf(u8, pane.msg[0..pane.msg_len], "a copy of the terminal's text") != null); +} + test "insert and normal modes edit complete Unicode graphemes" { const gpa = std.testing.allocator; const p = try Pardes.init(gpa, .{ .cols = 60, .rows = 12 }); |
