b.Settings = config.DefaultCommonSettings()
for k, v := range config.GlobalSettings {
- if _, ok := b.Settings[k]; ok {
+ if _, ok := config.DefaultGlobalOnlySettings[k]; !ok {
+ // make sure setting is not global-only
b.Settings[k] = v
}
}
b.EventHandler.ApplyDiff(txt)
err = b.UpdateModTime()
+ if !b.Settings["fastdirty"].(bool) {
+ calcHash(b, &b.origHash)
+ }
b.isModified = false
b.RelocateCursors()
return err
// RegisterGlobalOption creates a new global-only option
func RegisterGlobalOption(name string, defaultvalue interface{}) error {
if v, ok := GlobalSettings[name]; !ok {
- defaultGlobalSettings[name] = defaultvalue
+ DefaultGlobalOnlySettings[name] = defaultvalue
GlobalSettings[name] = defaultvalue
err := WriteSettings(filepath.Join(ConfigDir, "settings.json"))
if err != nil {
return errors.New("Error writing settings.json file: " + err.Error())
}
} else {
- defaultGlobalSettings[name] = v
+ DefaultGlobalOnlySettings[name] = v
}
return nil
}
// a list of settings that should only be globally modified and their
// default values
-var defaultGlobalSettings = map[string]interface{}{
+var DefaultGlobalOnlySettings = map[string]interface{}{
"autosave": float64(0),
"colorscheme": "default",
"infobar": true,
for k, v := range defaultCommonSettings {
globalsettings[k] = v
}
- for k, v := range defaultGlobalSettings {
+ for k, v := range DefaultGlobalOnlySettings {
globalsettings[k] = v
}
return globalsettings
for k, v := range defaultCommonSettings {
allsettings[k] = v
}
- for k, v := range defaultGlobalSettings {
+ for k, v := range DefaultGlobalOnlySettings {
allsettings[k] = v
}
return allsettings