Compare commits

..

No commits in common. "ce6df051fbd4d1a42c02c33b3cf3061cfed921f0" and "f29e01f2442b6e83e402be00e3f86d3121e817b8" have entirely different histories.

View file

@ -4020,18 +4020,12 @@ pub const Editor = struct {
const b = try self.buf_for_update(); const b = try self.buf_for_update();
var root = b.root; var root = b.root;
for (self.cursels.items) |*cursel_| if (cursel_.*) |*cursel| { for (self.cursels.items) |*cursel_| if (cursel_.*) |*cursel| {
var indent_extra = true;
const smart_brace_indent = blk: { const smart_brace_indent = blk: {
var sel = Selection.from_cursor(&cursel.cursor); var sel = Selection.from_cursor(&cursel.cursor);
move_cursor_left(root, &sel.begin, self.metrics) catch break :blk false; move_cursor_left(root, &sel.begin, self.metrics) catch break :blk false;
const egc_left, _, _ = sel.end.egc_at(root, self.metrics) catch break :blk false; const egc_left, _, _ = sel.end.egc_at(root, self.metrics) catch break :blk false;
const egc_right, _, _ = sel.begin.egc_at(root, self.metrics) catch break :blk false; const egc_right, _, _ = sel.begin.egc_at(root, self.metrics) catch break :blk false;
if (std.mem.eql(u8, egc_right, "[") and std.mem.eql(u8, egc_left, "]")) { break :blk std.mem.eql(u8, egc_right, "{") and std.mem.eql(u8, egc_left, "}");
indent_extra = false;
break :blk true;
}
break :blk (std.mem.eql(u8, egc_right, "{") and std.mem.eql(u8, egc_left, "}")) or
(std.mem.eql(u8, egc_right, "(") and std.mem.eql(u8, egc_left, ")"));
}; };
root = try self.cursel_smart_insert_line(root, cursel, b.allocator); root = try self.cursel_smart_insert_line(root, cursel, b.allocator);
@ -4040,8 +4034,7 @@ pub const Editor = struct {
const cursor = cursel.cursor; const cursor = cursel.cursor;
root = try self.cursel_smart_insert_line(root, cursel, b.allocator); root = try self.cursel_smart_insert_line(root, cursel, b.allocator);
cursel.cursor = cursor; cursel.cursor = cursor;
if (indent_extra) root = try self.indent_cursel(root, cursel, b.allocator);
root = try self.indent_cursel(root, cursel, b.allocator);
} }
}; };
try self.update_buf(root); try self.update_buf(root);