-// AddOption creates a new option. This is meant to be called by plugins to add options.
-func AddOption(name string, value interface{}) error {
- GlobalSettings[name] = value
- err := WriteSettings(ConfigDir + "/settings.json")
- if err != nil {
- return errors.New("Error writing settings.json file: " + err.Error())
+// RegisterCommonOption creates a new option. This is meant to be called by plugins to add options.
+func RegisterCommonOption(name string, defaultvalue interface{}) error {
+ if v, ok := GlobalSettings[name]; !ok {
+ defaultCommonSettings[name] = defaultvalue
+ GlobalSettings[name] = defaultvalue
+ err := WriteSettings(ConfigDir + "/settings.json")
+ if err != nil {
+ return errors.New("Error writing settings.json file: " + err.Error())
+ }
+ } else {
+ defaultCommonSettings[name] = v
+ }
+ return nil
+}
+
+func RegisterGlobalOption(name string, defaultvalue interface{}) error {
+ if v, ok := GlobalSettings[name]; !ok {
+ defaultGlobalSettings[name] = defaultvalue
+ GlobalSettings[name] = defaultvalue
+ err := WriteSettings(ConfigDir + "/settings.json")
+ if err != nil {
+ return errors.New("Error writing settings.json file: " + err.Error())
+ }
+ } else {
+ defaultGlobalSettings[name] = v