save+util: Provide a meaningful error message for safe (over-)write fails

This commit is contained in:
Jöran Karl
2024-11-05 21:35:41 +01:00
parent 79ce93fb7d
commit 49aebe8aca
4 changed files with 72 additions and 5 deletions

View File

@@ -316,6 +316,10 @@ func (b *Buffer) saveToFile(filename string, withSudo bool, autoSave bool) error
result := <-saveResponseChan
err = result.err
if err != nil {
if errors.Is(err, util.ErrOverwrite) {
screen.TermMessage(err)
err = errors.Unwrap(err)
}
return err
}
@@ -371,6 +375,7 @@ func (b *Buffer) safeWrite(path string, withSudo bool, newFile bool) (int, error
b.forceKeepBackup = true
size, err := file.Write(b)
if err != nil {
err = util.OverwriteError{err, backupName}
return size, err
}
b.forceKeepBackup = false