]> git.lizzy.rs Git - micro.git/commitdiff
Fix save callback issue
authorZachary Yedidia <zyedidia@gmail.com>
Fri, 3 Jan 2020 22:38:50 +0000 (17:38 -0500)
committerZachary Yedidia <zyedidia@gmail.com>
Fri, 3 Jan 2020 22:38:50 +0000 (17:38 -0500)
internal/action/actions.go

index f5e8441e86eef9f62117494c2a4642bac8298a91..67e5dbd5b81c07baa44d3a36a46b399da14664d9 100644 (file)
@@ -636,7 +636,10 @@ func (h *BufPane) Save() bool {
        if h.Buf.Path == "" {
                h.SaveAs()
        } else {
-               h.saveBufToFile(h.Buf.Path, "Save")
+               noPrompt := h.saveBufToFile(h.Buf.Path, "Save")
+               if noPrompt {
+                       return true
+               }
        }
 
        return false
@@ -653,7 +656,10 @@ func (h *BufPane) SaveAs() bool {
                                InfoBar.Error("Error parsing arguments: ", err)
                                return
                        }
-                       h.saveBufToFile(filename, "SaveAs")
+                       noPrompt := h.saveBufToFile(filename, "SaveAs")
+                       if noPrompt {
+                               h.completeAction("SaveAs")
+                       }
                }
        })
        return false
@@ -661,7 +667,7 @@ func (h *BufPane) SaveAs() bool {
 
 // This function saves the buffer to `filename` and changes the buffer's path and name
 // to `filename` if the save is successful
-func (h *BufPane) saveBufToFile(filename string, action string) {
+func (h *BufPane) saveBufToFile(filename string, action string) bool {
        err := h.Buf.SaveAs(filename)
        if err != nil {
                if strings.HasSuffix(err.Error(), "permission denied") {
@@ -678,6 +684,7 @@ func (h *BufPane) saveBufToFile(filename string, action string) {
                                        h.completeAction(action)
                                }
                        })
+                       return false
                } else {
                        InfoBar.Error(err)
                }
@@ -685,8 +692,8 @@ func (h *BufPane) saveBufToFile(filename string, action string) {
                h.Buf.Path = filename
                h.Buf.SetName(filename)
                InfoBar.Message("Saved " + filename)
-               h.completeAction(action)
        }
+       return true
 }
 
 // Find opens a prompt and searches forward for the input