From 00597ce93f902c7b84d2e9f54e39e02dd2ede1cd Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Thu, 14 Nov 2024 18:36:44 +0100 Subject: [PATCH] refactor: merge BindingSet functions init and load_json --- src/keybind/dynamic/keybind.zig | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/keybind/dynamic/keybind.zig b/src/keybind/dynamic/keybind.zig index 61028a9..4ce950a 100644 --- a/src/keybind/dynamic/keybind.zig +++ b/src/keybind/dynamic/keybind.zig @@ -50,9 +50,8 @@ fn Handler(namespace_name: []const u8, mode_name: []const u8) type { const self: *@This() = try allocator.create(@This()); self.* = .{ .allocator = allocator, - .bindings = try BindingSet.init(allocator), + .bindings = try BindingSet.init(allocator, @embedFile("keybindings.json"), namespace_name, mode_name), }; - try self.bindings.load_json(@embedFile("keybindings.json"), namespace_name, mode_name); return EventHandler.to_owned(self); } pub fn deinit(self: *@This()) void { @@ -459,8 +458,8 @@ const BindingSet = struct { } } - fn init(allocator: std.mem.Allocator) !@This() { - return .{ + fn init(allocator: std.mem.Allocator, json_string: []const u8, namespace_name: []const u8, mode_name: []const u8) !@This() { + var self: @This() = .{ .allocator = allocator, .current_sequence = try std.ArrayList(KeyEvent).initCapacity(allocator, 16), .current_sequence_egc = try std.ArrayList(u8).initCapacity(allocator, 16), @@ -468,6 +467,8 @@ const BindingSet = struct { .input_buffer = try std.ArrayList(u8).initCapacity(allocator, 16), .bindings = std.ArrayList(Binding).init(allocator), }; + try self.load_json(json_string, namespace_name, mode_name); + return self; } fn deinit(self: *const BindingSet) void {