]> git.lizzy.rs Git - micro.git/blobdiff - internal/config/settings.go
better top
[micro.git] / internal / config / settings.go
index f11443fe29eb5fa1bda9293bd30abe5a89161aa3..6b93d1172a4ca7662dbad8b68cb471975d9a87b1 100644 (file)
@@ -35,7 +35,7 @@ func init() {
 
 // Options with validators
 var optionValidators = map[string]optionValidator{
-       // "autosave":     validateNonNegativeValue,
+       "autosave":     validateNonNegativeValue,
        "tabsize":      validatePositiveValue,
        "scrollmargin": validateNonNegativeValue,
        "scrollspeed":  validateNonNegativeValue,
@@ -58,6 +58,18 @@ func ReadSettings() error {
                        if err != nil {
                                return errors.New("Error reading settings.json: " + err.Error())
                        }
+
+                       // check if autosave is a boolean and convert it to float if so
+                       if v, ok := parsedSettings["autosave"]; ok {
+                               s, ok := v.(bool)
+                               if ok {
+                                       if s {
+                                               parsedSettings["autosave"] = 8.0
+                                       } else {
+                                               parsedSettings["autosave"] = 0.0
+                                       }
+                               }
+                       }
                }
        }
        return nil
@@ -176,6 +188,7 @@ var defaultCommonSettings = map[string]interface{}{
        "basename":       false,
        "colorcolumn":    float64(0),
        "cursorline":     true,
+       "diffgutter":     false,
        "encoding":       "utf-8",
        "eofnewline":     false,
        "fastdirty":      true,
@@ -232,7 +245,7 @@ func DefaultCommonSettings() map[string]interface{} {
 // a list of settings that should only be globally modified and their
 // default values
 var defaultGlobalSettings = map[string]interface{}{
-       // "autosave":    float64(0),
+       "autosave":       float64(0),
        "colorscheme":    "default",
        "infobar":        true,
        "keymenu":        false,