From b0b5d7b392b55254ba29b1155b47b7ab200b3f7a Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Sat, 1 Feb 2020 12:20:08 -0500 Subject: [PATCH] Add CurPane and CurTab functions for plugins --- cmd/micro/initlua.go | 7 +++++++ internal/config/settings.go | 1 + 2 files changed, 8 insertions(+) diff --git a/cmd/micro/initlua.go b/cmd/micro/initlua.go index b440cf8b..3d70880b 100644 --- a/cmd/micro/initlua.go +++ b/cmd/micro/initlua.go @@ -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 } diff --git a/internal/config/settings.go b/internal/config/settings.go index cab3cdf4..14dbd1e3 100644 --- a/internal/config/settings.go +++ b/internal/config/settings.go @@ -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", }