feat: add alternate select (shift+enter) to symbols palette that selects the symbol

This commit is contained in:
CJ van den Berg 2026-02-06 16:23:30 +01:00
parent da8677357f
commit 21dc4477f7
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9
2 changed files with 44 additions and 2 deletions

View file

@ -148,11 +148,23 @@ fn find_closest(palette: *Type) ?usize {
}
fn select(menu: **Type.MenuType, button: *Type.ButtonType, _: Type.Pos) void {
const self = menu.*.opts.ctx;
const editor = tui.get_active_editor() orelse return;
editor.clear_matches();
_, _, _, const sel = get_values(button.opts.label);
tp.self_pid().send(.{ "cmd", "exit_overlay_mode" }) catch |e| menu.*.opts.ctx.logger.err(module_name, e);
tp.self_pid().send(.{ "cmd", "goto_line_and_column", .{ sel.begin.row + 1, sel.begin.col + 1 } }) catch |e| menu.*.opts.ctx.logger.err(module_name, e);
switch (self.activate) {
.normal => tp.self_pid().send(.{ "cmd", "goto_line_and_column", .{
sel.begin.row + 1,
sel.begin.col + 1,
} }) catch |e| menu.*.opts.ctx.logger.err(module_name, e),
.alternate => tp.self_pid().send(.{ "cmd", "select_range", .{
sel.begin.row,
sel.begin.col,
sel.end.row,
sel.end.col,
} }) catch {},
}
}
pub fn updated(palette: *Type, button_: ?*Type.ButtonType) !void {