fix: keep cursor position in rename_symbol

This commit is contained in:
CJ van den Berg 2025-12-05 11:50:44 +01:00
parent 2cecc9b13b
commit 141f5595ff
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -1105,9 +1105,7 @@ const cmds = struct {
pub fn rename_symbol_item(self: *Self, ctx: Ctx) Result {
const editor = self.get_active_editor() orelse return;
// because the incoming message is an array of Renames, we manuallly
// parse instead of using ctx.args.match() which doesn't seem to return
// the parsed length needed to correctly advance iter.
const primary_cursor = editor.get_primary().cursor;
var iter = ctx.args.buf;
var len = try cbor.decodeArrayHeader(&iter);
var first = true;
@ -1144,6 +1142,7 @@ const cmds = struct {
);
}
}
try editor.set_primary_selection_from_cursor(primary_cursor);
}
pub const rename_symbol_item_meta: Meta = .{ .arguments = &.{.array} };
pub const rename_symbol_item_elem_meta: Meta = .{ .arguments = &.{ .string, .integer, .integer, .integer, .integer, .string } };