From d7112799388e0948d8acff682b612205520020ef Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Sun, 21 Dec 2025 17:03:22 +0100 Subject: [PATCH] refactor: call insert trigger commands when a single trigger char is inserted --- src/tui/editor.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/tui/editor.zig b/src/tui/editor.zig index e037cfb..31635aa 100644 --- a/src/tui/editor.zig +++ b/src/tui/editor.zig @@ -2843,6 +2843,7 @@ pub const Editor = struct { cursor.row, cursor.col, root_ = try root_.insert_chars(cursor.row, cursor.col, s, allocator, self.metrics); cursor.target = cursor.col; self.nudge_insert(.{ .begin = begin, .end = cursor.* }, cursel, s.len); + if (s.len == 1) self.run_insert_triggers(s[0]); return root_; } @@ -6216,6 +6217,15 @@ pub const Editor = struct { return false; } + pub fn run_insert_triggers(self: *Self, char: u8) void { + switch (char) { + '\n', '\t', ' ' => return, + else => {}, + } + for (self.insert_triggers.items) |item| if (item.char == char) + tp.self_pid().send(.{ "cmd", item.command, .{[_]u8{char}} }) catch {}; + } + pub fn add_completion(self: *Self, row: usize, col: usize, is_incomplete: bool, msg: tp.message) Result { if (!(row == self.completion_row and col == self.completion_col)) { self.completions.clearRetainingCapacity();