Merge branch 'autosu' of https://github.com/seitokaichou/micro into seitokaichou-autosu

This commit is contained in:
Zachary Yedidia
2020-02-12 14:15:30 -05:00
3 changed files with 32 additions and 16 deletions

View File

@@ -732,23 +732,30 @@ func (h *BufPane) saveBufToFile(filename string, action string, callback func())
err := h.Buf.SaveAs(filename)
if err != nil {
if strings.HasSuffix(err.Error(), "permission denied") {
InfoBar.YNPrompt("Permission denied. Do you want to save this file using sudo? (y,n)", func(yes, canceled bool) {
if yes && !canceled {
err = h.Buf.SaveAsWithSudo(filename)
if err != nil {
InfoBar.Error(err)
} else {
h.Buf.Path = filename
h.Buf.SetName(filename)
InfoBar.Message("Saved " + filename)
saveWithSudo := func() {
err = h.Buf.SaveAsWithSudo(filename)
if err != nil {
InfoBar.Error(err)
} else {
h.Buf.Path = filename
h.Buf.SetName(filename)
InfoBar.Message("Saved " + filename)
}
}
if h.Buf.Settings["autosu"].(bool) {
saveWithSudo()
} else {
InfoBar.YNPrompt("Permission denied. Do you want to save this file using sudo? (y,n)", func(yes, canceled bool) {
if yes && !canceled {
saveWithSudo()
h.completeAction(action)
}
h.completeAction(action)
}
if callback != nil {
callback()
}
})
return false
if callback != nil {
callback()
}
})
return false
}
} else {
InfoBar.Error(err)
}

View File

@@ -184,6 +184,7 @@ func GetGlobalOption(name string) interface{} {
var defaultCommonSettings = map[string]interface{}{
"autoindent": true,
"autosu": true,
"backup": true,
"basename": false,
"colorcolumn": float64(0),