From da432a22ecbb6cb07bea5269214db58edc0a2abf Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 27 Mar 2024 21:13:14 +0100 Subject: [PATCH] feat: open current file in recent list on ctrl release --- src/tui/mode/overlay/open_recent.zig | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/tui/mode/overlay/open_recent.zig b/src/tui/mode/overlay/open_recent.zig index 767a7e4..ec93e15 100644 --- a/src/tui/mode/overlay/open_recent.zig +++ b/src/tui/mode/overlay/open_recent.zig @@ -113,6 +113,7 @@ fn mapEvent(self: *Self, evtype: u32, keypress: u32, modifiers: u32) tp.result { return switch (evtype) { nc.event_type.PRESS => self.mapPress(keypress, modifiers), nc.event_type.REPEAT => self.mapPress(keypress, modifiers), + nc.event_type.RELEASE => self.mapRelease(keypress, modifiers), else => {}, }; } @@ -125,6 +126,10 @@ fn mapPress(self: *Self, keypress: u32, modifiers: u32) tp.result { 'Q' => self.cmd("quit", .{}), 'W' => self.cmd("close_file", .{}), 'E' => self.cmd("open_recent_menu_down", .{}), + nc.key.ESC => self.cmd("exit_overlay_mode", .{}), + nc.key.UP => self.cmd("open_recent_menu_up", .{}), + nc.key.DOWN => self.cmd("open_recent_menu_down", .{}), + nc.key.ENTER => self.cmd("open_recent_menu_activate", .{}), else => {}, }, nc.mod.CTRL | nc.mod.SHIFT => switch (keynormal) { @@ -155,6 +160,13 @@ fn mapPress(self: *Self, keypress: u32, modifiers: u32) tp.result { }; } +fn mapRelease(self: *Self, keypress: u32, _: u32) tp.result { + return switch (keypress) { + nc.key.LCTRL, nc.key.RCTRL => self.cmd("open_recent_menu_activate", .{}), + else => {}, + }; +} + fn cmd(_: *Self, name_: []const u8, ctx: command.Context) tp.result { try command.executeName(name_, ctx); }