Add text event callback

This commit is contained in:
Zachary Yedidia 2020-01-31 00:56:15 -05:00
parent 016b8dcc4c
commit e3131a0779
2 changed files with 17 additions and 14 deletions

View File

@ -211,10 +211,6 @@ func main() {
if err != nil {
screen.TermMessage(err)
}
err = config.RunPluginFn("init")
if err != nil {
screen.TermMessage(err)
}
b := LoadInput()
@ -227,6 +223,11 @@ func main() {
action.InitTabs(b)
action.InitGlobals()
err = config.RunPluginFn("init")
if err != nil {
screen.TermMessage(err)
}
events = make(chan tcell.Event)
// Here is the event loop which runs in a separate thread

View File

@ -5,6 +5,10 @@ import (
"unicode/utf8"
dmp "github.com/sergi/go-diff/diffmatchpatch"
"github.com/zyedidia/micro/internal/config"
ulua "github.com/zyedidia/micro/internal/lua"
"github.com/zyedidia/micro/internal/screen"
luar "layeh.com/gopher-luar"
)
const (
@ -187,16 +191,14 @@ func (eh *EventHandler) Execute(t *TextEvent) {
}
eh.UndoStack.Push(t)
// TODO: Call plugins on text events
// for pl := range loadedPlugins {
// ret, err := Call(pl+".onBeforeTextEvent", t)
// if err != nil && !strings.HasPrefix(err.Error(), "function does not exist") {
// screen.TermMessage(err)
// }
// if val, ok := ret.(lua.LBool); ok && val == lua.LFalse {
// return
// }
// }
b, err := config.RunPluginFnBool("onBeforeTextEvent", luar.New(ulua.L, t))
if err != nil {
screen.TermMessage(err)
}
if !b {
return
}
ExecuteTextEvent(t, eh.buf)
}