diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index 0cd7c1ba..0e616cad 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -357,7 +357,7 @@ func main() { } if a := config.GetGlobalOption("autosave").(float64); a > 0 { - config.SetAutoTime(int(a)) + config.SetAutoTime(a) config.StartAutoSave() } diff --git a/internal/action/command.go b/internal/action/command.go index 73c1a5ac..fda55542 100644 --- a/internal/action/command.go +++ b/internal/action/command.go @@ -552,7 +552,7 @@ func doSetGlobalOptionNative(option string, nativeValue interface{}) error { } } else if option == "autosave" { if nativeValue.(float64) > 0 { - config.SetAutoTime(int(nativeValue.(float64))) + config.SetAutoTime(nativeValue.(float64)) config.StartAutoSave() } else { config.SetAutoTime(0) diff --git a/internal/config/autosave.go b/internal/config/autosave.go index d530b459..2a19da36 100644 --- a/internal/config/autosave.go +++ b/internal/config/autosave.go @@ -6,7 +6,7 @@ import ( ) var Autosave chan bool -var autotime int +var autotime float64 // lock for autosave var autolock sync.Mutex @@ -15,7 +15,7 @@ func init() { Autosave = make(chan bool) } -func SetAutoTime(a int) { +func SetAutoTime(a float64) { autolock.Lock() autotime = a autolock.Unlock() @@ -27,10 +27,10 @@ func StartAutoSave() { autolock.Lock() a := autotime autolock.Unlock() - if a < 1 { + if a <= 0 { break } - time.Sleep(time.Duration(a) * time.Second) + time.Sleep(time.Duration(a * float64(time.Second))) Autosave <- true } }()