Add CurPane and CurTab functions for plugins

This commit is contained in:
Zachary Yedidia
2020-02-01 12:20:08 -05:00
parent 2598d8ad70
commit b0b5d7b392
2 changed files with 8 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ func init() {
ulua.L.SetGlobal("import", luar.New(ulua.L, LuaImport))
}
// LuaImport is meant to be called from lua by a plugin and will import the given micro package
func LuaImport(pkg string) *lua.LTable {
switch pkg {
case "micro":
@@ -46,6 +47,12 @@ func luaImportMicro() *lua.LTable {
ulua.L.SetField(pkg, "InfoBar", luar.New(ulua.L, action.GetInfoBar))
ulua.L.SetField(pkg, "Log", luar.New(ulua.L, log.Println))
ulua.L.SetField(pkg, "SetStatusInfoFn", luar.New(ulua.L, display.SetStatusInfoFnLua))
ulua.L.SetField(pkg, "CurPane", luar.New(ulua.L, func() action.Pane {
return action.MainTab().CurPane()
}))
ulua.L.SetField(pkg, "CurTab", luar.New(ulua.L, func() *action.Tab {
return action.MainTab()
}))
return pkg
}

View File

@@ -227,6 +227,7 @@ var defaultGlobalSettings = map[string]interface{}{
// a list of settings that should never be globally modified
var LocalSettings = []string{
"fileformat",
"filetype",
"readonly",
}