summaryrefslogtreecommitdiff
path: root/src/ninep
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 03:14:45 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit7fe3a1d9a9ee3c2510ecac40e079608447eead70 (patch)
tree01cf469853198f2def268745254253a786c34718 /src/ninep
parenta7960117dfb83ad65a0466a96affbbb524936b7f (diff)
downloadpardes-7fe3a1d9a9ee3c2510ecac40e079608447eead70.tar.gz
pardes-7fe3a1d9a9ee3c2510ecac40e079608447eead70.zip
The docs give the full-column refusal, an Edit block left open at close, and byte columns
Round 11's doc findings: the skill names the full-column refusal beside the 64-pane cap; fs.md and the skill say an Edit block still open when its open closes fails with unmatched { and an err; and line:col's byte columns get the tip for character columns from tools (the same on ASCII, else a search or #n). A unit test pins the unmatched { at close. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/ninep')
-rw-r--r--src/ninep/tree.zig11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ninep/tree.zig b/src/ninep/tree.zig
index 414a0b6e..f45a1a90 100644
--- a/src/ninep/tree.zig
+++ b/src/ninep/tree.zig
@@ -1522,3 +1522,14 @@ test "no placement leaves a pane shorter than its tag and two rows; a full colum
try testing.expect(p.rects[k].h >= p.panes[k].?.tag_rows + pardes.layout.min_body_rows);
};
}
+
+test "an Edit block still open when its open closes fails there with an err and changes nothing" {
+ const p = try th.withFile(testing.allocator, "abc\n");
+ defer p.deinit();
+ const ctl_node = Node.of(serialOf(p), .ctl);
+ const c = call(p, .{ .tag = 1, .op = .open, .node = ctl_node, .omode = 1 }).reply.handle;
+ _ = call(p, .{ .tag = 2, .op = .write, .node = ctl_node, .handle = c, .data = "Edit ,x/b/{\ni/[/\n" });
+ _ = call(p, .{ .tag = 3, .op = .release, .node = ctl_node, .handle = c, .opened = true });
+ try testing.expect(th.logHas(p, "unmatched"));
+ try testing.expectEqualStrings("abc\n", p.panes[0].?.file.?.content);
+}