1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-02-03 13:21:56 +02:00

pkg/gui: Rename IPopupHandler::Ask() to Confirm()

Follow the JavaScript naming scheme for user interaction (alert, prompt,
confirm) as discussed in #1832.
This commit is contained in:
Moritz Haase 2022-03-30 08:48:29 +02:00 committed by Jesse Duffield
parent f2fb6453a1
commit 8fb2acc224
26 changed files with 66 additions and 64 deletions

View File

@ -208,7 +208,7 @@ func (self *BasicCommitsController) createResetMenu(commit *models.Commit) error
}
func (self *BasicCommitsController) checkout(commit *models.Commit) error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.LcCheckoutCommit,
Prompt: self.c.Tr.SureCheckoutThisCommit,
HandleConfirm: func() error {

View File

@ -168,7 +168,7 @@ func (self *BisectController) showBisectCompleteMessage(candidateShas []string)
return self.c.Error(err)
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Bisect.CompleteTitle,
Prompt: fmt.Sprintf(prompt, strings.TrimSpace(formattedCommits)),
HandleConfirm: func() error {

View File

@ -155,7 +155,7 @@ func (self *BranchesController) forceCheckout() error {
message := self.c.Tr.SureForceCheckout
title := self.c.Tr.ForceCheckoutBranch
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: title,
Prompt: message,
HandleConfirm: func() error {
@ -176,7 +176,7 @@ func (self *BranchesController) checkoutByName() error {
self.c.LogAction("Checkout branch")
return self.helpers.Refs.CheckoutRef(response, types.CheckoutRefOptions{
OnRefNotFound: func(ref string) error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.BranchNotFoundTitle,
Prompt: fmt.Sprintf("%s %s%s", self.c.Tr.BranchNotFoundPrompt, ref, "?"),
HandleConfirm: func() error {
@ -227,7 +227,7 @@ func (self *BranchesController) deleteWithForce(selectedBranch *models.Branch, f
},
)
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: title,
Prompt: message,
HandleConfirm: func() error {
@ -344,7 +344,7 @@ func (self *BranchesController) rename(branch *models.Branch) error {
return promptForNewName()
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.LcRenameBranch,
Prompt: self.c.Tr.RenameBranchWarning,
HandleConfirm: promptForNewName,

View File

@ -124,7 +124,7 @@ func (self *CommitFilesController) discard(node *filetree.CommitFileNode) error
return err
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.DiscardFileChangesTitle,
Prompt: self.c.Tr.DiscardFileChangesPrompt,
HandleConfirm: func() error {
@ -189,7 +189,7 @@ func (self *CommitFilesController) toggleForPatch(node *filetree.CommitFileNode)
}
if self.git.Patch.PatchManager.Active() && self.git.Patch.PatchManager.To != self.context().GetRefName() {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.DiscardPatch,
Prompt: self.c.Tr.DiscardPatchConfirm,
HandleConfirm: func() error {
@ -240,7 +240,7 @@ func (self *CommitFilesController) enterCommitFile(node *filetree.CommitFileNode
}
if self.git.Patch.PatchManager.Active() && self.git.Patch.PatchManager.To != self.context().GetRefName() {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.DiscardPatch,
Prompt: self.c.Tr.DiscardPatchConfirm,
HandleConfirm: func() error {

View File

@ -320,7 +320,7 @@ func (self *FilesController) ignore(node *filetree.FileNode) error {
}
if node.GetIsTracked() {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.IgnoreTracked,
Prompt: self.c.Tr.IgnoreTrackedPrompt,
HandleConfirm: func() error {
@ -437,7 +437,7 @@ func (self *FilesController) HandleCommitPress() error {
}
func (self *FilesController) promptToStageAllAndRetry(retry func() error) error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.NoFilesStagedTitle,
Prompt: self.c.Tr.NoFilesStagedPrompt,
HandleConfirm: func() error {
@ -467,7 +467,7 @@ func (self *FilesController) handleAmendCommitPress() error {
return self.c.ErrorMsg(self.c.Tr.NoCommitToAmend)
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: strings.Title(self.c.Tr.AmendLastCommit),
Prompt: self.c.Tr.SureToAmend,
HandleConfirm: func() error {

View File

@ -21,7 +21,7 @@ func NewBisectHelper(
}
func (self *BisectHelper) Reset() error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Bisect.ResetTitle,
Prompt: self.c.Tr.Bisect.ResetPrompt,
HandleConfirm: func() error {

View File

@ -87,7 +87,7 @@ func (self *CherryPickHelper) CopyRange(selectedIndex int, commitsList []*models
// HandlePasteCommits begins a cherry-pick rebase with the commits the user has copied.
// Only to be called from the branch commits controller
func (self *CherryPickHelper) Paste() error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.CherryPick,
Prompt: self.c.Tr.SureCherryPick,
HandleConfirm: func() error {

View File

@ -148,7 +148,7 @@ func (self *MergeAndRebaseHelper) CheckMergeOrRebase(result error) error {
// assume in this case that we're already done
return nil
} else if isMergeConflictErr(result.Error()) {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.FoundConflictsTitle,
Prompt: self.c.Tr.FoundConflicts,
HandlersManageFocus: true,
@ -171,7 +171,7 @@ func (self *MergeAndRebaseHelper) CheckMergeOrRebase(result error) error {
func (self *MergeAndRebaseHelper) AbortMergeOrRebaseWithConfirm() error {
// prompt user to confirm that they want to abort, then do it
mode := self.workingTreeStateNoun()
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: fmt.Sprintf(self.c.Tr.AbortTitle, mode),
Prompt: fmt.Sprintf(self.c.Tr.AbortPrompt, mode),
HandleConfirm: func() error {
@ -196,7 +196,7 @@ func (self *MergeAndRebaseHelper) workingTreeStateNoun() string {
func (self *MergeAndRebaseHelper) PromptToContinueRebase() error {
self.takeOverMergeConflictScrolling()
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: "continue",
Prompt: self.c.Tr.ConflictsResolved,
HandleConfirm: func() error {
@ -218,7 +218,7 @@ func (self *MergeAndRebaseHelper) RebaseOntoRef(ref string) error {
},
)
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.RebasingTitle,
Prompt: prompt,
HandleConfirm: func() error {
@ -245,7 +245,7 @@ func (self *MergeAndRebaseHelper) MergeRefIntoCheckedOutBranch(refName string) e
},
)
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.MergeConfirmTitle,
Prompt: prompt,
HandleConfirm: func() error {

View File

@ -71,7 +71,7 @@ func (self *RefsHelper) CheckoutRef(ref string, options types.CheckoutRefOptions
if strings.Contains(err.Error(), "Please commit your changes or stash them before you switch branch") {
// offer to autostash changes
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.AutoStashTitle,
Prompt: self.c.Tr.AutoStashPrompt,
HandleConfirm: func() error {

View File

@ -61,7 +61,7 @@ func (self *WorkingTreeHelper) FileForSubmodule(submodule *models.SubmoduleConfi
}
func (self *WorkingTreeHelper) OpenMergeTool() error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.MergeToolTitle,
Prompt: self.c.Tr.MergeToolPrompt,
HandleConfirm: func() error {

View File

@ -155,7 +155,7 @@ func (self *LocalCommitsController) squashDown(commit *models.Commit) error {
return nil
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Squash,
Prompt: self.c.Tr.SureSquashThisCommit,
HandleConfirm: func() error {
@ -180,7 +180,7 @@ func (self *LocalCommitsController) fixup(commit *models.Commit) error {
return nil
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Fixup,
Prompt: self.c.Tr.SureFixupThisCommit,
HandleConfirm: func() error {
@ -230,7 +230,7 @@ func (self *LocalCommitsController) rewordEditor(commit *models.Commit) error {
return nil
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.RewordInEditorTitle,
Prompt: self.c.Tr.RewordInEditorPrompt,
HandleConfirm: func() error {
@ -259,7 +259,7 @@ func (self *LocalCommitsController) drop(commit *models.Commit) error {
return nil
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.DeleteCommitTitle,
Prompt: self.c.Tr.DeleteCommitPrompt,
HandleConfirm: func() error {
@ -405,7 +405,7 @@ func (self *LocalCommitsController) moveUp(commit *models.Commit) error {
}
func (self *LocalCommitsController) amendTo(commit *models.Commit) error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.AmendCommitTitle,
Prompt: self.c.Tr.AmendCommitPrompt,
HandleConfirm: func() error {
@ -422,7 +422,7 @@ func (self *LocalCommitsController) revert(commit *models.Commit) error {
if commit.IsMerge() {
return self.createRevertMergeCommitMenu(commit)
} else {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Actions.RevertCommit,
Prompt: utils.ResolvePlaceholderString(
self.c.Tr.ConfirmRevertCommit,
@ -480,7 +480,7 @@ func (self *LocalCommitsController) createFixupCommit(commit *models.Commit) err
},
)
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.CreateFixupCommit,
Prompt: prompt,
HandleConfirm: func() error {
@ -500,7 +500,7 @@ func (self *LocalCommitsController) squashAllAboveFixupCommits(commit *models.Co
map[string]string{"commit": commit.Sha},
)
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.SquashAboveCommits,
Prompt: prompt,
HandleConfirm: func() error {

View File

@ -99,7 +99,7 @@ func (self *RemoteBranchesController) escape() error {
func (self *RemoteBranchesController) delete(selectedBranch *models.RemoteBranch) error {
message := fmt.Sprintf("%s '%s'?", self.c.Tr.DeleteRemoteBranchMessage, selectedBranch.FullName())
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.DeleteRemoteBranch,
Prompt: message,
HandleConfirm: func() error {
@ -139,7 +139,7 @@ func (self *RemoteBranchesController) setAsUpstream(selectedBranch *models.Remot
},
)
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.SetUpstreamTitle,
Prompt: message,
HandleConfirm: func() error {

View File

@ -101,7 +101,7 @@ func (self *RemotesController) add() error {
}
func (self *RemotesController) remove(remote *models.Remote) error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.LcRemoveRemote,
Prompt: self.c.Tr.LcRemoveRemotePrompt + " '" + remote.Name + "'?",
HandleConfirm: func() error {

View File

@ -83,7 +83,7 @@ func (self *StashController) handleStashApply(stashEntry *models.StashEntry) err
return apply()
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.StashApply,
Prompt: self.c.Tr.SureApplyStashEntry,
HandleConfirm: func() error {
@ -107,7 +107,7 @@ func (self *StashController) handleStashPop(stashEntry *models.StashEntry) error
return pop()
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.StashPop,
Prompt: self.c.Tr.SurePopStashEntry,
HandleConfirm: func() error {
@ -117,7 +117,7 @@ func (self *StashController) handleStashPop(stashEntry *models.StashEntry) error
}
func (self *StashController) handleStashDrop(stashEntry *models.StashEntry) error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.StashDrop,
Prompt: self.c.Tr.SureDropStashEntry,
HandleConfirm: func() error {

View File

@ -205,7 +205,7 @@ func (self *SubmodulesController) update(submodule *models.SubmoduleConfig) erro
}
func (self *SubmodulesController) remove(submodule *models.SubmoduleConfig) error {
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.RemoveSubmodule,
Prompt: fmt.Sprintf(self.c.Tr.RemoveSubmodulePrompt, submodule.Name),
HandleConfirm: func() error {

View File

@ -210,7 +210,7 @@ func (self *SyncController) pushAux(opts pushOpts) error {
_ = self.c.ErrorMsg(self.c.Tr.UpdatesRejectedAndForcePushDisabled)
return nil
}
_ = self.c.Ask(types.AskOpts{
_ = self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.ForcePush,
Prompt: self.c.Tr.ForcePushPrompt,
HandleConfirm: func() error {
@ -234,7 +234,7 @@ func (self *SyncController) requestToForcePush(opts pushOpts) error {
return self.c.ErrorMsg(self.c.Tr.ForcePushDisabled)
}
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.ForcePush,
Prompt: self.c.Tr.ForcePushPrompt,
HandleConfirm: func() error {

View File

@ -72,7 +72,7 @@ func (self *TagsController) delete(tag *models.Tag) error {
},
)
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.DeleteTagTitle,
Prompt: prompt,
HandleConfirm: func() error {

View File

@ -85,7 +85,7 @@ func (self *UndoController) reflogUndo() error {
switch action.kind {
case COMMIT, REBASE:
return true, self.c.Ask(types.AskOpts{
return true, self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Actions.Undo,
Prompt: fmt.Sprintf(self.c.Tr.HardResetAutostashPrompt, action.from),
HandleConfirm: func() error {
@ -97,7 +97,7 @@ func (self *UndoController) reflogUndo() error {
},
})
case CHECKOUT:
return true, self.c.Ask(types.AskOpts{
return true, self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Actions.Undo,
Prompt: fmt.Sprintf(self.c.Tr.CheckoutPrompt, action.from),
HandleConfirm: func() error {
@ -136,7 +136,7 @@ func (self *UndoController) reflogRedo() error {
switch action.kind {
case COMMIT, REBASE:
return true, self.c.Ask(types.AskOpts{
return true, self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Actions.Redo,
Prompt: fmt.Sprintf(self.c.Tr.HardResetAutostashPrompt, action.to),
HandleConfirm: func() error {
@ -149,7 +149,7 @@ func (self *UndoController) reflogRedo() error {
})
case CHECKOUT:
return true, self.c.Ask(types.AskOpts{
return true, self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Actions.Redo,
Prompt: fmt.Sprintf(self.c.Tr.CheckoutPrompt, action.to),
HandleConfirm: func() error {
@ -241,7 +241,7 @@ func (self *UndoController) hardResetWithAutoStash(commitSha string, options har
dirtyWorkingTree := self.helpers.WorkingTree.IsWorkingTreeDirty()
if dirtyWorkingTree {
// offer to autostash changes
return self.c.Ask(types.AskOpts{
return self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.AutoStashTitle,
Prompt: self.c.Tr.AutoStashPrompt,
HandleConfirm: func() error {

View File

@ -6,7 +6,7 @@ import (
func (gui *Gui) validateNotInFilterMode() bool {
if gui.State.Modes.Filtering.Active() {
_ = gui.c.Ask(types.AskOpts{
_ = gui.c.Confirm(types.ConfirmOpts{
Title: gui.c.Tr.MustExitFilterModeTitle,
Prompt: gui.c.Tr.MustExitFilterModePrompt,
HandleConfirm: gui.exitFilterMode,

View File

@ -863,7 +863,7 @@ func (gui *Gui) showIntroPopupMessage(done chan struct{}) error {
return gui.c.SaveAppState()
}
return gui.c.Ask(types.AskOpts{
return gui.c.Confirm(types.ConfirmOpts{
Title: "",
Prompt: gui.c.Tr.IntroPopupMessage,
HandleConfirm: onConfirm,
@ -898,7 +898,7 @@ func (gui *Gui) startBackgroundFetch() {
}
err := gui.backgroundFetch()
if err != nil && strings.Contains(err.Error(), "exit status 128") && isNew {
_ = gui.c.Ask(types.AskOpts{
_ = gui.c.Confirm(types.ConfirmOpts{
Title: gui.c.Tr.NoAutomaticGitFetchTitle,
Prompt: gui.c.Tr.NoAutomaticGitFetchBody,
})

View File

@ -149,7 +149,7 @@ func (gui *Gui) handleMovePatchIntoWorkingTree() error {
}
if gui.helpers.WorkingTree.IsWorkingTreeDirty() {
return gui.c.Ask(types.AskOpts{
return gui.c.Confirm(types.ConfirmOpts{
Title: gui.c.Tr.MustStashTitle,
Prompt: gui.c.Tr.MustStashWarning,
HandleConfirm: func() error {

View File

@ -79,17 +79,14 @@ func (self *RealPopupHandler) ErrorMsg(message string) error {
return err
}
return self.Ask(types.AskOpts{
Title: self.Tr.Error,
Prompt: coloredMessage,
})
return self.Alert(self.Tr.Error, coloredMessage)
}
func (self *RealPopupHandler) Alert(title string, message string) error {
return self.Ask(types.AskOpts{Title: title, Prompt: message})
return self.Confirm(types.ConfirmOpts{Title: title, Prompt: message})
}
func (self *RealPopupHandler) Ask(opts types.AskOpts) error {
func (self *RealPopupHandler) Confirm(opts types.ConfirmOpts) error {
self.Lock()
self.index++
self.Unlock()
@ -158,7 +155,7 @@ func (self *RealPopupHandler) GetPromptInput() string {
type TestPopupHandler struct {
OnErrorMsg func(message string) error
OnAsk func(opts types.AskOpts) error
OnConfirm func(opts types.ConfirmOpts) error
OnPrompt func(opts types.PromptOpts) error
}
@ -176,8 +173,8 @@ func (self *TestPopupHandler) Alert(title string, message string) error {
panic("not yet implemented")
}
func (self *TestPopupHandler) Ask(opts types.AskOpts) error {
return self.OnAsk(opts)
func (self *TestPopupHandler) Confirm(opts types.ConfirmOpts) error {
return self.Confirm(opts)
}
func (self *TestPopupHandler) Prompt(opts types.PromptOpts) error {

View File

@ -73,7 +73,7 @@ func (gui *Gui) quit() error {
}
if gui.c.UserConfig.ConfirmOnQuit {
return gui.c.Ask(types.AskOpts{
return gui.c.Confirm(types.ConfirmOpts{
Title: "",
Prompt: gui.c.Tr.ConfirmQuit,
HandleConfirm: func() error {

View File

@ -113,7 +113,7 @@ func (gui *Gui) handleResetSelection() error {
}
if !gui.c.UserConfig.Gui.SkipUnstageLineWarning {
return gui.c.Ask(types.AskOpts{
return gui.c.Confirm(types.ConfirmOpts{
Title: gui.c.Tr.UnstageLinesTitle,
Prompt: gui.c.Tr.UnstageLinesPrompt,
HandleConfirm: func() error {

View File

@ -48,13 +48,18 @@ type IGuiCommon interface {
}
type IPopupHandler interface {
// Shows a popup with a (localized) "Error" caption and the given error message (in red).
//
// This is a convenience wrapper around Alert().
ErrorMsg(message string) error
Error(err error) error
// Shows a notification popup with the given title and message to the user.
//
// This is a convenience wrapper around Ask(), thus the popup can be closed using both 'Enter' and 'ESC'.
// This is a convenience wrapper around Confirm(), thus the popup can be closed using both 'Enter' and 'ESC'.
Alert(title string, message string) error
Ask(opts AskOpts) error
// Shows a popup asking the user for confirmation.
Confirm(opts ConfirmOpts) error
// Shows a popup prompting the user for input.
Prompt(opts PromptOpts) error
WithLoaderPanel(message string, f func() error) error
WithWaitingStatus(message string, f func() error) error
@ -85,7 +90,7 @@ type CreatePopupPanelOpts struct {
Mask bool
}
type AskOpts struct {
type ConfirmOpts struct {
Title string
Prompt string
HandleConfirm func() error

View File

@ -13,7 +13,7 @@ func (gui *Gui) showUpdatePrompt(newVersion string) error {
},
)
return gui.c.Ask(types.AskOpts{
return gui.c.Confirm(types.ConfirmOpts{
Title: gui.Tr.UpdateAvailableTitle,
Prompt: message,
HandleConfirm: func() error {
@ -75,7 +75,7 @@ func (gui *Gui) onUpdateFinish(statusId int, err error) error {
}
func (gui *Gui) createUpdateQuitConfirmation() error {
return gui.c.Ask(types.AskOpts{
return gui.c.Confirm(types.ConfirmOpts{
Title: gui.Tr.ConfirmQuitDuringUpdateTitle,
Prompt: gui.Tr.ConfirmQuitDuringUpdate,
HandleConfirm: func() error {