run onBeforeTextEvent also for undo and redo events

This commit is contained in:
matthias314 2024-12-25 11:42:04 -05:00
parent 2898f1590d
commit 98f33b7847

View File

@ -114,6 +114,15 @@ func (eh *EventHandler) DoTextEvent(t *TextEvent, useUndo bool) {
// ExecuteTextEvent runs a text event
func ExecuteTextEvent(t *TextEvent, buf *SharedBuffer) {
b, err := config.RunPluginFnBool(nil, "onBeforeTextEvent", luar.New(ulua.L, buf), luar.New(ulua.L, t))
if err != nil {
screen.TermMessage(err)
}
if !b {
return
}
if t.EventType == TextEventInsert {
for _, d := range t.Deltas {
buf.insert(d.Start, d.Text)
@ -241,15 +250,6 @@ func (eh *EventHandler) Execute(t *TextEvent) {
}
eh.UndoStack.Push(t)
b, err := config.RunPluginFnBool(nil, "onBeforeTextEvent", luar.New(ulua.L, eh.buf), luar.New(ulua.L, t))
if err != nil {
screen.TermMessage(err)
}
if !b {
return
}
ExecuteTextEvent(t, eh.buf)
}