From 22cc818ad6f10c34a5c2a8d6bfe89024f6435341 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Sun, 17 Nov 2024 23:32:42 +0100 Subject: [PATCH] fix: caching of keybind.insert_command IDs --- src/keybind/dynamic/keybind.zig | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/keybind/dynamic/keybind.zig b/src/keybind/dynamic/keybind.zig index df2d577..c5f998a 100644 --- a/src/keybind/dynamic/keybind.zig +++ b/src/keybind/dynamic/keybind.zig @@ -145,6 +145,7 @@ const BindingSet = struct { namespace_name: []const u8, mode_name: []const u8, insert_command: []const u8, + insert_command_id: ?command.ID = null, const KeySyntax = enum { flow, vim }; const OnMatchFailure = enum { insert, ignore }; @@ -307,13 +308,10 @@ const BindingSet = struct { } fn flush(self: *@This()) !void { - const Static = struct { - var insert_chars_id: ?command.ID = null; - }; if (self.input_buffer.items.len > 0) { defer self.input_buffer.clearRetainingCapacity(); - const id = Static.insert_chars_id orelse - command.get_id_cache(self.insert_command, &Static.insert_chars_id) orelse { + const id = self.insert_command_id orelse + command.get_id_cache(self.insert_command, &self.insert_command_id) orelse { return tp.exit_error(error.InputTargetNotFound, null); }; if (!builtin.is_test) {