Remove return value of Alert/Confirm/Prompt

This might seem controversial; in many cases the client code gets longer,
because it needs an extra line for an explicit `return nil`. I still prefer
this, because it makes it clearer which calls can return errors.
This commit is contained in:
Stefan Haller 2024-09-05 11:10:27 +02:00
parent b15a1c7ae7
commit d4ef8e53d5
39 changed files with 303 additions and 131 deletions

View file

@ -325,7 +325,7 @@ func (self *LocalCommitsController) squashDown(selectedCommits []*models.Commit,
return self.updateTodos(todo.Squash, selectedCommits)
}
return self.c.Confirm(types.ConfirmOpts{
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Squash,
Prompt: self.c.Tr.SureSquashThisCommit,
HandleConfirm: func() error {
@ -335,6 +335,8 @@ func (self *LocalCommitsController) squashDown(selectedCommits []*models.Commit,
})
},
})
return nil
}
func (self *LocalCommitsController) fixup(selectedCommits []*models.Commit, startIdx int, endIdx int) error {
@ -342,7 +344,7 @@ func (self *LocalCommitsController) fixup(selectedCommits []*models.Commit, star
return self.updateTodos(todo.Fixup, selectedCommits)
}
return self.c.Confirm(types.ConfirmOpts{
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Fixup,
Prompt: self.c.Tr.SureFixupThisCommit,
HandleConfirm: func() error {
@ -352,6 +354,8 @@ func (self *LocalCommitsController) fixup(selectedCommits []*models.Commit, star
})
},
})
return nil
}
func (self *LocalCommitsController) reword(commit *models.Commit) error {
@ -442,13 +446,15 @@ func (self *LocalCommitsController) doRewordEditor() error {
func (self *LocalCommitsController) rewordEditor(commit *models.Commit) error {
if self.c.UserConfig().Gui.SkipRewordInEditorWarning {
return self.doRewordEditor()
} else {
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.RewordInEditorTitle,
Prompt: self.c.Tr.RewordInEditorPrompt,
HandleConfirm: self.doRewordEditor,
})
}
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.RewordInEditorTitle,
Prompt: self.c.Tr.RewordInEditorPrompt,
HandleConfirm: self.doRewordEditor,
})
return nil
}
func (self *LocalCommitsController) drop(selectedCommits []*models.Commit, startIdx int, endIdx int) error {
@ -460,7 +466,7 @@ func (self *LocalCommitsController) drop(selectedCommits []*models.Commit, start
nonUpdateRefTodos := groupedTodos[false]
if len(updateRefTodos) > 0 {
return self.c.Confirm(types.ConfirmOpts{
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.DropCommitTitle,
Prompt: self.c.Tr.DropUpdateRefPrompt,
HandleConfirm: func() error {
@ -481,12 +487,14 @@ func (self *LocalCommitsController) drop(selectedCommits []*models.Commit, start
return self.updateTodos(todo.Drop, nonUpdateRefTodos)
},
})
return nil
}
return self.updateTodos(todo.Drop, selectedCommits)
}
return self.c.Confirm(types.ConfirmOpts{
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.DropCommitTitle,
Prompt: self.c.Tr.DropCommitPrompt,
HandleConfirm: func() error {
@ -496,6 +504,8 @@ func (self *LocalCommitsController) drop(selectedCommits []*models.Commit, start
})
},
})
return nil
}
func (self *LocalCommitsController) edit(selectedCommits []*models.Commit) error {
@ -680,7 +690,7 @@ func (self *LocalCommitsController) moveUp(selectedCommits []*models.Commit, sta
func (self *LocalCommitsController) amendTo(commit *models.Commit) error {
if self.isSelectedHeadCommit() {
return self.c.Confirm(types.ConfirmOpts{
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.AmendCommitTitle,
Prompt: self.c.Tr.AmendCommitPrompt,
HandleConfirm: func() error {
@ -692,9 +702,11 @@ func (self *LocalCommitsController) amendTo(commit *models.Commit) error {
})
},
})
return nil
}
return self.c.Confirm(types.ConfirmOpts{
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.AmendCommitTitle,
Prompt: self.c.Tr.AmendCommitPrompt,
HandleConfirm: func() error {
@ -707,6 +719,8 @@ func (self *LocalCommitsController) amendTo(commit *models.Commit) error {
})
},
})
return nil
}
func (self *LocalCommitsController) canAmendRange(commits []*models.Commit, start, end int) *types.DisabledReason {
@ -761,7 +775,7 @@ func (self *LocalCommitsController) resetAuthor(start, end int) error {
}
func (self *LocalCommitsController) setAuthor(start, end int) error {
return self.c.Prompt(types.PromptOpts{
self.c.Prompt(types.PromptOpts{
Title: self.c.Tr.SetAuthorPromptTitle,
FindSuggestionsFunc: self.c.Helpers().Suggestions.GetAuthorsSuggestionsFunc(),
HandleConfirm: func(value string) error {
@ -775,10 +789,12 @@ func (self *LocalCommitsController) setAuthor(start, end int) error {
})
},
})
return nil
}
func (self *LocalCommitsController) addCoAuthor(start, end int) error {
return self.c.Prompt(types.PromptOpts{
self.c.Prompt(types.PromptOpts{
Title: self.c.Tr.AddCoAuthorPromptTitle,
FindSuggestionsFunc: self.c.Helpers().Suggestions.GetAuthorsSuggestionsFunc(),
HandleConfirm: func(value string) error {
@ -791,30 +807,34 @@ func (self *LocalCommitsController) addCoAuthor(start, end int) error {
})
},
})
return nil
}
func (self *LocalCommitsController) revert(commit *models.Commit) error {
if commit.IsMerge() {
return self.createRevertMergeCommitMenu(commit)
} else {
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Actions.RevertCommit,
Prompt: utils.ResolvePlaceholderString(
self.c.Tr.ConfirmRevertCommit,
map[string]string{
"selectedCommit": commit.ShortHash(),
}),
HandleConfirm: func() error {
self.c.LogAction(self.c.Tr.Actions.RevertCommit)
return self.c.WithWaitingStatusSync(self.c.Tr.RevertingStatus, func() error {
if err := self.c.Git().Commit.Revert(commit.Hash); err != nil {
return err
}
return self.afterRevertCommit()
})
},
})
}
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Actions.RevertCommit,
Prompt: utils.ResolvePlaceholderString(
self.c.Tr.ConfirmRevertCommit,
map[string]string{
"selectedCommit": commit.ShortHash(),
}),
HandleConfirm: func() error {
self.c.LogAction(self.c.Tr.Actions.RevertCommit)
return self.c.WithWaitingStatusSync(self.c.Tr.RevertingStatus, func() error {
if err := self.c.Git().Commit.Revert(commit.Hash); err != nil {
return err
}
return self.afterRevertCommit()
})
},
})
return nil
}
func (self *LocalCommitsController) createRevertMergeCommitMenu(commit *models.Commit) error {