refactor: run triggers only on primary cursel
This commit is contained in:
parent
4f39bbbd41
commit
b5d137666f
2 changed files with 5 additions and 4 deletions
|
|
@ -2286,7 +2286,7 @@ pub const Editor = struct {
|
|||
var size: usize = 0;
|
||||
const root_, const trigger_char = try root.delete_range_char(sel, allocator, &size, self.metrics);
|
||||
self.nudge_delete(sel, cursel, size);
|
||||
if (trigger_char) |char| self.run_triggers(char, .delete);
|
||||
if (trigger_char) |char| self.run_triggers(cursel, char, .delete);
|
||||
return root_;
|
||||
}
|
||||
|
||||
|
|
@ -2865,7 +2865,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_triggers(s[0], .insert);
|
||||
if (s.len == 1) self.run_triggers(cursel, s[0], .insert);
|
||||
return root_;
|
||||
}
|
||||
|
||||
|
|
@ -6253,11 +6253,12 @@ pub const Editor = struct {
|
|||
return false;
|
||||
}
|
||||
|
||||
pub fn run_triggers(self: *Self, char: u8, event: TriggerEvent) void {
|
||||
pub fn run_triggers(self: *Self, cursel: *const CurSel, char: u8, event: TriggerEvent) void {
|
||||
switch (char) {
|
||||
'\n', '\t', ' ' => return,
|
||||
else => {},
|
||||
}
|
||||
if (!cursel.cursor.eql(self.get_primary().cursor)) return;
|
||||
for (self.get_event_triggers(event).items) |item| if (item.char == char) {
|
||||
if (command.log_execute)
|
||||
self.logger.print("trigger: {t} '{c}' {?s}({d})", .{ event, char, command.get_name(item.command), item.command });
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ pub fn update_query(self: *Type, query: []const u8) void {
|
|||
editor.need_render();
|
||||
if (query.len > 0) {
|
||||
const last_char = query[query.len - 1];
|
||||
editor.run_triggers(last_char, .insert);
|
||||
editor.run_triggers(primary, last_char, .insert);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue