]> git.lizzy.rs Git - micro.git/commitdiff
Use namespaces for plugin options
authorZachary Yedidia <zyedidia@gmail.com>
Sun, 2 Feb 2020 19:35:30 +0000 (14:35 -0500)
committerZachary Yedidia <zyedidia@gmail.com>
Sun, 2 Feb 2020 19:35:30 +0000 (14:35 -0500)
cmd/micro/initlua.go
internal/config/settings.go

index 3d70880b79aabc7f835cebae3025aee5cc522e8f..08c808c201ac38a1485d965b104372c0e6d3a3aa 100644 (file)
@@ -78,8 +78,8 @@ func luaImportMicroConfig() *lua.LTable {
        ulua.L.SetField(pkg, "RTSyntax", luar.New(ulua.L, config.RTSyntax))
        ulua.L.SetField(pkg, "RTHelp", luar.New(ulua.L, config.RTHelp))
        ulua.L.SetField(pkg, "RTPlugin", luar.New(ulua.L, config.RTPlugin))
-       ulua.L.SetField(pkg, "RegisterCommonOption", luar.New(ulua.L, config.RegisterCommonOption))
-       ulua.L.SetField(pkg, "RegisterGlobalOption", luar.New(ulua.L, config.RegisterGlobalOption))
+       ulua.L.SetField(pkg, "RegisterCommonOption", luar.New(ulua.L, config.RegisterCommonOptionPlug))
+       ulua.L.SetField(pkg, "RegisterGlobalOption", luar.New(ulua.L, config.RegisterGlobalOptionPlug))
        ulua.L.SetField(pkg, "GetGlobalOption", luar.New(ulua.L, config.GetGlobalOption))
        ulua.L.SetField(pkg, "SetGlobalOption", luar.New(ulua.L, action.SetGlobalOption))
        ulua.L.SetField(pkg, "SetGlobalOptionNative", luar.New(ulua.L, action.SetGlobalOptionNative))
index 63fc3b58824ca5c4ec7b8723df4b023a79460197..76f11771297619343a330ce11ed898ff144cd7e4 100644 (file)
@@ -119,8 +119,9 @@ func WriteSettings(filename string) error {
        return err
 }
 
-// RegisterCommonOption creates a new option. This is meant to be called by plugins to add options.
-func RegisterCommonOption(name string, defaultvalue interface{}) error {
+// RegisterCommonOptionPlug creates a new option (called pl.name). This is meant to be called by plugins to add options.
+func RegisterCommonOptionPlug(pl string, name string, defaultvalue interface{}) error {
+       name = pl + "." + name
        if v, ok := GlobalSettings[name]; !ok {
                defaultCommonSettings[name] = defaultvalue
                GlobalSettings[name] = defaultvalue
@@ -134,6 +135,12 @@ func RegisterCommonOption(name string, defaultvalue interface{}) error {
        return nil
 }
 
+// RegisterGlobalOptionPlug creates a new global-only option (named pl.name)
+func RegisterGlobalOptionPlug(pl string, name string, defaultvalue interface{}) error {
+       return RegisterGlobalOption(pl+"."+name, defaultvalue)
+}
+
+// RegisterGlobalOption creates a new global-only option
 func RegisterGlobalOption(name string, defaultvalue interface{}) error {
        if v, ok := GlobalSettings[name]; !ok {
                defaultGlobalSettings[name] = defaultvalue
@@ -229,7 +236,6 @@ var defaultGlobalSettings = map[string]interface{}{
 
 // a list of settings that should never be globally modified
 var LocalSettings = []string{
-       "fileformat",
        "filetype",
        "readonly",
 }