diff --git a/internal/action/actions.go b/internal/action/actions.go index be2c1c05..b0867da9 100644 --- a/internal/action/actions.go +++ b/internal/action/actions.go @@ -1038,6 +1038,11 @@ func (h *BufPane) saveBufToFile(filename string, action string, callback func()) err := h.Buf.SaveAs(filename) if err != nil { if errors.Is(err, fs.ErrPermission) { + if runtime.GOOS == "windows" { + InfoBar.Error("Permission denied. Save with sudo not supported on Windows") + return true + } + saveWithSudo := func() { err = h.Buf.SaveAsWithSudo(filename) if err != nil { diff --git a/internal/buffer/save.go b/internal/buffer/save.go index f0fc6e53..85fa5ed5 100644 --- a/internal/buffer/save.go +++ b/internal/buffer/save.go @@ -246,9 +246,6 @@ func (b *Buffer) saveToFile(filename string, withSudo bool, autoSave bool) error if b.Type.Scratch { return errors.New("Cannot save scratch buffer") } - if withSudo && runtime.GOOS == "windows" { - return errors.New("Save with sudo not supported on Windows") - } if !autoSave && b.Settings["rmtrailingws"].(bool) { for i, l := range b.lines {