Don't rewrite settings.json when registering options

It doesn't seem necessary to write settings to settings.json when
registering a new option. The option is set to its default value, which
means that it will not be written to settings.json (precisely because
it's the default value), so the contents of settings.json don't change
and thus don't need to be written again.

This unneeded writing, in particular, causes unexpected "The file on
disk has changed. Reload file? (y,n,esc)" each time when we open
settings.json via micro.

Fixes #2647
This commit is contained in:
Dmitry Maluka 2023-11-03 01:11:05 +01:00
parent a373d22939
commit 359b58a89b

View file

@ -230,10 +230,6 @@ func RegisterGlobalOptionPlug(pl string, name string, defaultvalue interface{})
func RegisterCommonOption(name string, defaultvalue interface{}) error {
if _, ok := GlobalSettings[name]; !ok {
GlobalSettings[name] = defaultvalue
err := WriteSettings(filepath.Join(ConfigDir, "settings.json"))
if err != nil {
return errors.New("Error writing settings.json file: " + err.Error())
}
}
defaultCommonSettings[name] = defaultvalue
return nil
@ -243,10 +239,6 @@ func RegisterCommonOption(name string, defaultvalue interface{}) error {
func RegisterGlobalOption(name string, defaultvalue interface{}) error {
if _, ok := GlobalSettings[name]; !ok {
GlobalSettings[name] = defaultvalue
err := WriteSettings(filepath.Join(ConfigDir, "settings.json"))
if err != nil {
return errors.New("Error writing settings.json file: " + err.Error())
}
}
DefaultGlobalOnlySettings[name] = defaultvalue
return nil