fix: call configured init_commands for all mode types

This commit is contained in:
CJ van den Berg 2025-04-08 18:04:31 +02:00
parent d594e42f1a
commit 545b470e03
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -659,6 +659,7 @@ fn enter_overlay_mode(self: *Self, mode: type) command.Result {
if (self.input_mode_outer_) |_| try cmds.exit_overlay_mode(self, .{}); if (self.input_mode_outer_) |_| try cmds.exit_overlay_mode(self, .{});
self.input_mode_outer_ = self.input_mode_; self.input_mode_outer_ = self.input_mode_;
self.input_mode_ = try mode.create(self.allocator); self.input_mode_ = try mode.create(self.allocator);
if (self.input_mode_) |*m| m.run_init();
refresh_hover(); refresh_hover();
} }
@ -674,8 +675,7 @@ fn enter_input_mode(self: *Self, new_mode: Mode) command.Result {
self.input_mode_ = null; self.input_mode_ = null;
} }
self.input_mode_ = new_mode; self.input_mode_ = new_mode;
if (new_mode.init_command) |cmd| if (self.input_mode_) |*m| m.run_init();
cmd.execute_const();
} }
fn refresh_input_mode(self: *Self) command.Result { fn refresh_input_mode(self: *Self) command.Result {
@ -690,6 +690,7 @@ fn refresh_input_mode(self: *Self) command.Result {
self.input_mode_ = null; self.input_mode_ = null;
} }
self.input_mode_ = new_mode; self.input_mode_ = new_mode;
if (self.input_mode_) |*m| m.run_init();
} }
fn set_theme_by_name(self: *Self, name: []const u8) !void { fn set_theme_by_name(self: *Self, name: []const u8) !void {
@ -951,6 +952,7 @@ const cmds = struct {
self.input_mode_outer_ = self.input_mode_; self.input_mode_outer_ = self.input_mode_;
self.input_mode_ = input_mode_; self.input_mode_ = input_mode_;
self.mini_mode_ = mini_mode_; self.mini_mode_ = mini_mode_;
if (self.input_mode_) |*m| m.run_init();
} }
pub fn exit_mini_mode(self: *Self, _: Ctx) Result { pub fn exit_mini_mode(self: *Self, _: Ctx) Result {