From 4cb0f7df02a5e2428518ffdc3dc0a10ec7491197 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 10 Dec 2025 12:38:47 +0100 Subject: [PATCH] feat: activated selected entry on tab in the completion palette closes #423 --- src/tui/mode/overlay/completion_palette.zig | 4 ++++ src/tui/mode/overlay/palette.zig | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/tui/mode/overlay/completion_palette.zig b/src/tui/mode/overlay/completion_palette.zig index a0ee283..5c5cef6 100644 --- a/src/tui/mode/overlay/completion_palette.zig +++ b/src/tui/mode/overlay/completion_palette.zig @@ -205,6 +205,10 @@ fn get_replace_selection(replace: Buffer.Selection) ?Buffer.Selection { replace; } +pub fn complete(palette: *Type, _: ?*Type.ButtonType) !void { + palette.menu.activate_selected(); +} + fn select(menu: **Type.MenuType, button: *Type.ButtonType, _: Type.Pos) void { const values = get_values(button.opts.label); const editor = tui.get_active_editor() orelse return; diff --git a/src/tui/mode/overlay/palette.zig b/src/tui/mode/overlay/palette.zig index 4b4d1cf..e19e907 100644 --- a/src/tui/mode/overlay/palette.zig +++ b/src/tui/mode/overlay/palette.zig @@ -554,6 +554,12 @@ pub fn Create(options: type) type { .icon = "󰗨", }; + pub fn palette_menu_complete(self: *Self, _: Ctx) Result { + if (@hasDecl(options, "complete")) + options.complete(self, self.menu.get_selected()) catch {}; + } + pub const palette_menu_complete_meta: Meta = .{}; + pub fn palette_menu_activate(self: *Self, _: Ctx) Result { self.menu.activate_selected(); }