From 798d3e2d54e828f25ed4aadcefff11593fa23e10 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Fri, 2 Apr 2021 19:20:40 +1100 Subject: get rid of these positively ghastly method signatures --- pkg/gui/branches_panel.go | 25 ++-- pkg/gui/commit_files_panel.go | 13 +- pkg/gui/commit_message_panel.go | 9 +- pkg/gui/commits_panel.go | 43 +++--- pkg/gui/confirmation_panel.go | 6 + pkg/gui/credentials_panel.go | 9 +- pkg/gui/custom_commands.go | 2 +- pkg/gui/diffing.go | 4 +- pkg/gui/files_panel.go | 38 +++--- pkg/gui/filtering_menu_panel.go | 6 +- pkg/gui/git_flow.go | 3 +- pkg/gui/global_handlers.go | 49 ++++--- pkg/gui/keybindings.go | 220 +++++++++++++++---------------- pkg/gui/line_by_line_panel.go | 32 ++++- pkg/gui/list_context.go | 23 ++-- pkg/gui/menu_panel.go | 4 +- pkg/gui/options_menu_panel.go | 13 +- pkg/gui/patch_options_panel.go | 3 +- pkg/gui/quitting.go | 4 +- pkg/gui/reflog_panel.go | 5 +- pkg/gui/remote_branches_panel.go | 13 +- pkg/gui/remotes_panel.go | 9 +- pkg/gui/searching.go | 14 +- pkg/gui/side_window.go | 6 +- pkg/gui/staging_panel.go | 5 +- pkg/gui/stash_panel.go | 7 +- pkg/gui/status_panel.go | 10 +- pkg/gui/sub_commits_panel.go | 3 +- pkg/gui/submodules_panel.go | 19 ++- pkg/gui/tags_panel.go | 11 +- pkg/gui/undoing.go | 5 +- pkg/gui/view_helpers.go | 38 ++++-- pkg/gui/workspace_reset_options_panel.go | 3 +- 33 files changed, 351 insertions(+), 303 deletions(-) diff --git a/pkg/gui/branches_panel.go b/pkg/gui/branches_panel.go index e94ed7700..27c2d693c 100644 --- a/pkg/gui/branches_panel.go +++ b/pkg/gui/branches_panel.go @@ -4,7 +4,6 @@ import ( "fmt" "strings" - "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/gui/presentation" @@ -79,7 +78,7 @@ func (gui *Gui) refreshBranches() { // specific functions -func (gui *Gui) handleBranchPress(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleBranchPress() error { if gui.State.Panels.Branches.SelectedLineIdx == -1 { return nil } @@ -90,7 +89,7 @@ func (gui *Gui) handleBranchPress(g *gocui.Gui, v *gocui.View) error { return gui.handleCheckoutRef(branch.Name, handleCheckoutRefOptions{}) } -func (gui *Gui) handleCreatePullRequestPress(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreatePullRequestPress() error { pullRequest := commands.NewPullRequest(gui.GitCommand) branch := gui.getSelectedBranch() @@ -101,7 +100,7 @@ func (gui *Gui) handleCreatePullRequestPress(g *gocui.Gui, v *gocui.View) error return nil } -func (gui *Gui) handleCopyPullRequestURLPress(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCopyPullRequestURLPress() error { pullRequest := commands.NewPullRequest(gui.GitCommand) branch := gui.getSelectedBranch() @@ -114,7 +113,7 @@ func (gui *Gui) handleCopyPullRequestURLPress(g *gocui.Gui, v *gocui.View) error return nil } -func (gui *Gui) handleGitFetch(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleGitFetch() error { if err := gui.createLoaderPanel(gui.Tr.FetchWait); err != nil { return err } @@ -126,7 +125,7 @@ func (gui *Gui) handleGitFetch(g *gocui.Gui, v *gocui.View) error { return nil } -func (gui *Gui) handleForceCheckout(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleForceCheckout() error { branch := gui.getSelectedBranch() message := gui.Tr.SureForceCheckout title := gui.Tr.ForceCheckoutBranch @@ -208,7 +207,7 @@ func (gui *Gui) handleCheckoutRef(ref string, options handleCheckoutRefOptions) }) } -func (gui *Gui) handleCheckoutByName(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCheckoutByName() error { return gui.prompt(promptOpts{ title: gui.Tr.BranchName + ":", findSuggestionsFunc: gui.findBranchNameSuggestions, @@ -251,7 +250,7 @@ func (gui *Gui) createNewBranchWithName(newBranchName string) error { return gui.refreshSidePanels(refreshOptions{mode: ASYNC}) } -func (gui *Gui) handleDeleteBranch(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleDeleteBranch() error { return gui.deleteBranch(false) } @@ -328,7 +327,7 @@ func (gui *Gui) mergeBranchIntoCheckedOutBranch(branchName string) error { }) } -func (gui *Gui) handleMerge(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleMerge() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -337,7 +336,7 @@ func (gui *Gui) handleMerge(g *gocui.Gui, v *gocui.View) error { return gui.mergeBranchIntoCheckedOutBranch(selectedBranchName) } -func (gui *Gui) handleRebaseOntoLocalBranch(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleRebaseOntoLocalBranch() error { selectedBranchName := gui.getSelectedBranch().Name return gui.handleRebaseOntoBranch(selectedBranchName) } @@ -369,7 +368,7 @@ func (gui *Gui) handleRebaseOntoBranch(selectedBranchName string) error { }) } -func (gui *Gui) handleFastForward(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleFastForward() error { branch := gui.getSelectedBranch() if branch == nil { return nil @@ -414,7 +413,7 @@ func (gui *Gui) handleFastForward(g *gocui.Gui, v *gocui.View) error { return nil } -func (gui *Gui) handleCreateResetToBranchMenu(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreateResetToBranchMenu() error { branch := gui.getSelectedBranch() if branch == nil { return nil @@ -423,7 +422,7 @@ func (gui *Gui) handleCreateResetToBranchMenu(g *gocui.Gui, v *gocui.View) error return gui.createResetMenu(branch.Name) } -func (gui *Gui) handleRenameBranch(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleRenameBranch() error { branch := gui.getSelectedBranch() if branch == nil { return nil diff --git a/pkg/gui/commit_files_panel.go b/pkg/gui/commit_files_panel.go index 1df42e41e..c72ee3b13 100644 --- a/pkg/gui/commit_files_panel.go +++ b/pkg/gui/commit_files_panel.go @@ -1,7 +1,6 @@ package gui import ( - "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/commands/patch" "github.com/jesseduffield/lazygit/pkg/gui/filetree" @@ -57,7 +56,7 @@ func (gui *Gui) handleCommitFileSelect() error { }) } -func (gui *Gui) handleCheckoutCommitFile(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCheckoutCommitFile() error { node := gui.getSelectedCommitFileNode() if node == nil { return nil @@ -70,7 +69,7 @@ func (gui *Gui) handleCheckoutCommitFile(g *gocui.Gui, v *gocui.View) error { return gui.refreshSidePanels(refreshOptions{mode: ASYNC}) } -func (gui *Gui) handleDiscardOldFileChange(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleDiscardOldFileChange() error { if ok, err := gui.validateNormalWorkingTreeState(); !ok { return err } @@ -111,7 +110,7 @@ func (gui *Gui) refreshCommitFilesView() error { return gui.postRefreshUpdate(gui.Contexts.CommitFiles.Context) } -func (gui *Gui) handleOpenOldCommitFile(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleOpenOldCommitFile() error { node := gui.getSelectedCommitFileNode() if node == nil { return nil @@ -120,7 +119,7 @@ func (gui *Gui) handleOpenOldCommitFile(g *gocui.Gui, v *gocui.View) error { return gui.openFile(node.GetPath()) } -func (gui *Gui) handleEditCommitFile(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleEditCommitFile() error { node := gui.getSelectedCommitFileNode() if node == nil { return nil @@ -133,7 +132,7 @@ func (gui *Gui) handleEditCommitFile(g *gocui.Gui, v *gocui.View) error { return gui.editFile(node.GetPath()) } -func (gui *Gui) handleToggleFileForPatch(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleToggleFileForPatch() error { node := gui.getSelectedCommitFileNode() if node == nil { return nil @@ -195,7 +194,7 @@ func (gui *Gui) startPatchManager() error { return nil } -func (gui *Gui) handleEnterCommitFile(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleEnterCommitFile() error { return gui.enterCommitFile(-1) } diff --git a/pkg/gui/commit_message_panel.go b/pkg/gui/commit_message_panel.go index 1cdd51770..983d02af8 100644 --- a/pkg/gui/commit_message_panel.go +++ b/pkg/gui/commit_message_panel.go @@ -26,8 +26,9 @@ func (gui *Gui) runSyncOrAsyncCommand(sub *exec.Cmd, err error) (bool, error) { return true, nil } -func (gui *Gui) handleCommitConfirm(g *gocui.Gui, v *gocui.View) error { - message := gui.trimmedContent(v) +func (gui *Gui) handleCommitConfirm() error { + commitMessageView := gui.getCommitMessageView() + message := gui.trimmedContent(commitMessageView) if message == "" { return gui.createErrorPanel(gui.Tr.CommitWithoutMessageErr) } @@ -44,12 +45,12 @@ func (gui *Gui) handleCommitConfirm(g *gocui.Gui, v *gocui.View) error { return nil } - gui.clearEditorView(v) + gui.clearEditorView(commitMessageView) _ = gui.returnFromContext() return gui.refreshSidePanels(refreshOptions{mode: ASYNC}) } -func (gui *Gui) handleCommitClose(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitClose() error { return gui.returnFromContext() } diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go index 1ad295763..af4b9feed 100644 --- a/pkg/gui/commits_panel.go +++ b/pkg/gui/commits_panel.go @@ -3,7 +3,6 @@ package gui import ( "sync" - "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/utils" @@ -148,7 +147,7 @@ func (gui *Gui) refreshRebaseCommits() error { // specific functions -func (gui *Gui) handleCommitSquashDown(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitSquashDown() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -177,7 +176,7 @@ func (gui *Gui) handleCommitSquashDown(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleCommitFixup(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitFixup() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -206,7 +205,7 @@ func (gui *Gui) handleCommitFixup(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleRenameCommit(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleRenameCommit() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -246,7 +245,7 @@ func (gui *Gui) handleRenameCommit(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleRenameCommitEditor(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleRenameCommitEditor() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -295,7 +294,7 @@ func (gui *Gui) handleMidRebaseCommand(action string) (bool, error) { return true, gui.refreshRebaseCommits() } -func (gui *Gui) handleCommitDelete(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitDelete() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -320,7 +319,7 @@ func (gui *Gui) handleCommitDelete(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleCommitMoveDown(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitMoveDown() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -347,7 +346,7 @@ func (gui *Gui) handleCommitMoveDown(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleCommitMoveUp(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitMoveUp() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -374,7 +373,7 @@ func (gui *Gui) handleCommitMoveUp(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleCommitEdit(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitEdit() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -393,7 +392,7 @@ func (gui *Gui) handleCommitEdit(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleCommitAmendTo(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitAmendTo() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -410,7 +409,7 @@ func (gui *Gui) handleCommitAmendTo(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleCommitPick(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitPick() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -425,10 +424,10 @@ func (gui *Gui) handleCommitPick(g *gocui.Gui, v *gocui.View) error { // at this point we aren't actually rebasing so we will interpret this as an // attempt to pull. We might revoke this later after enabling configurable keybindings - return gui.handlePullFiles(g, v) + return gui.handlePullFiles() } -func (gui *Gui) handleCommitRevert(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCommitRevert() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -449,7 +448,7 @@ func (gui *Gui) handleViewCommitFiles() error { return gui.switchToCommitFilesContext(commit.Sha, true, gui.Contexts.BranchCommits.Context, "commits") } -func (gui *Gui) handleCreateFixupCommit(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreateFixupCommit() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -479,7 +478,7 @@ func (gui *Gui) handleCreateFixupCommit(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleSquashAllAboveFixupCommits(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleSquashAllAboveFixupCommits() error { if ok, err := gui.validateNotInFilterMode(); err != nil || !ok { return err } @@ -508,7 +507,7 @@ func (gui *Gui) handleSquashAllAboveFixupCommits(g *gocui.Gui, v *gocui.View) er }) } -func (gui *Gui) handleTagCommit(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleTagCommit() error { // TODO: bring up menu asking if you want to make a lightweight or annotated tag // if annotated, switch to a subprocess to create the message @@ -532,7 +531,7 @@ func (gui *Gui) handleCreateLightweightTag(commitSha string) error { }) } -func (gui *Gui) handleCheckoutCommit(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCheckoutCommit() error { commit := gui.getSelectedLocalCommit() if commit == nil { return nil @@ -547,7 +546,7 @@ func (gui *Gui) handleCheckoutCommit(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleCreateCommitResetMenu(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreateCommitResetMenu() error { commit := gui.getSelectedLocalCommit() if commit == nil { return gui.createErrorPanel(gui.Tr.NoCommitsThisBranch) @@ -556,7 +555,7 @@ func (gui *Gui) handleCreateCommitResetMenu(g *gocui.Gui, v *gocui.View) error { return gui.createResetMenu(commit.Sha) } -func (gui *Gui) handleOpenSearchForCommitsPanel(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleOpenSearchForCommitsPanel(_viewName string) error { // we usually lazyload these commits but now that we're searching we need to load them now if gui.State.Panels.Commits.LimitCommits { gui.State.Panels.Commits.LimitCommits = false @@ -565,10 +564,10 @@ func (gui *Gui) handleOpenSearchForCommitsPanel(g *gocui.Gui, v *gocui.View) err } } - return gui.handleOpenSearch(gui.g, v) + return gui.handleOpenSearch("commits") } -func (gui *Gui) handleGotoBottomForCommitsPanel(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleGotoBottomForCommitsPanel() error { // we usually lazyload these commits but now that we're searching we need to load them now if gui.State.Panels.Commits.LimitCommits { gui.State.Panels.Commits.LimitCommits = false @@ -579,7 +578,7 @@ func (gui *Gui) handleGotoBottomForCommitsPanel(g *gocui.Gui, v *gocui.View) err for _, context := range gui.getListContexts() { if context.ViewName == "commits" { - return context.handleGotoBottom(g, v) + return context.handleGotoBottom() } } diff --git a/pkg/gui/confirmation_panel.go b/pkg/gui/confirmation_panel.go index f21a3be71..74c4cc9d6 100644 --- a/pkg/gui/confirmation_panel.go +++ b/pkg/gui/confirmation_panel.go @@ -317,6 +317,12 @@ func (gui *Gui) setKeyBindings(opts createPopupPanelOpts) error { return nil } +func (gui *Gui) wrappedHandler(f func() error) func(g *gocui.Gui, v *gocui.View) error { + return func(g *gocui.Gui, v *gocui.View) error { + return f() + } +} + func (gui *Gui) createErrorPanel(message string) error { colorFunction := color.New(color.FgRed).SprintFunc() coloredMessage := colorFunction(strings.TrimSpace(message)) diff --git a/pkg/gui/credentials_panel.go b/pkg/gui/credentials_panel.go index fe97dc9aa..d79d4cf67 100644 --- a/pkg/gui/credentials_panel.go +++ b/pkg/gui/credentials_panel.go @@ -39,10 +39,11 @@ func (gui *Gui) promptUserForCredential(passOrUname string) string { return userInput + "\n" } -func (gui *Gui) handleSubmitCredential(g *gocui.Gui, v *gocui.View) error { - message := gui.trimmedContent(v) +func (gui *Gui) handleSubmitCredential() error { + credentialsView := gui.getCredentialsView() + message := gui.trimmedContent(credentialsView) gui.credentials <- message - gui.clearEditorView(v) + gui.clearEditorView(credentialsView) if err := gui.returnFromContext(); err != nil { return err } @@ -50,7 +51,7 @@ func (gui *Gui) handleSubmitCredential(g *gocui.Gui, v *gocui.View) error { return gui.refreshSidePanels(refreshOptions{}) } -func (gui *Gui) handleCloseCredentialsView(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCloseCredentialsView() error { gui.credentials <- "" return gui.returnFromContext() } diff --git a/pkg/gui/custom_commands.go b/pkg/gui/custom_commands.go index d3fe62840..1411ec34f 100644 --- a/pkg/gui/custom_commands.go +++ b/pkg/gui/custom_commands.go @@ -198,7 +198,7 @@ func (gui *Gui) GetCustomCommandKeybindings() []*Binding { Contexts: contexts, Key: gui.getKey(customCommand.Key), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleCustomCommandKeybinding(customCommand)), + Handler: gui.handleCustomCommandKeybinding(customCommand), Description: description, }) } diff --git a/pkg/gui/diffing.go b/pkg/gui/diffing.go index 408ae436f..5bce9fe44 100644 --- a/pkg/gui/diffing.go +++ b/pkg/gui/diffing.go @@ -3,8 +3,6 @@ package gui import ( "fmt" "strings" - - "github.com/jesseduffield/gocui" ) func (gui *Gui) exitDiffMode() error { @@ -102,7 +100,7 @@ func (gui *Gui) diffStr() string { return output } -func (gui *Gui) handleCreateDiffingMenuPanel(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreateDiffingMenuPanel() error { if gui.popupPanelFocused() { return nil } diff --git a/pkg/gui/files_panel.go b/pkg/gui/files_panel.go index f7edb2b25..2c9640f41 100644 --- a/pkg/gui/files_panel.go +++ b/pkg/gui/files_panel.go @@ -183,7 +183,7 @@ func (gui *Gui) stageSelectedFile() error { return gui.GitCommand.StageFile(file.Name) } -func (gui *Gui) handleEnterFile(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleEnterFile() error { return gui.enterFile(false, -1) } @@ -277,7 +277,7 @@ func (gui *Gui) focusAndSelectFile() error { return gui.selectFile(false) } -func (gui *Gui) handleStageAll(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleStageAll() error { var err error if gui.allFilesStaged() { err = gui.GitCommand.UnstageAll() @@ -350,7 +350,7 @@ func (gui *Gui) handleIgnoreFile() error { return gui.refreshSidePanels(refreshOptions{scope: []RefreshableView{FILES}}) } -func (gui *Gui) handleWIPCommitPress(g *gocui.Gui, filesView *gocui.View) error { +func (gui *Gui) handleWIPCommitPress() error { skipHookPreifx := gui.Config.GetUserConfig().Git.SkipHookPrefix if skipHookPreifx == "" { return gui.createErrorPanel(gui.Tr.SkipHookPrefixNotConfigured) @@ -500,7 +500,7 @@ func (gui *Gui) editFile(filename string) error { return err } -func (gui *Gui) handleFileEdit(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleFileEdit() error { node := gui.getSelectedFileNode() if node == nil { return nil @@ -513,7 +513,7 @@ func (gui *Gui) handleFileEdit(g *gocui.Gui, v *gocui.View) error { return gui.editFile(node.GetPath()) } -func (gui *Gui) handleFileOpen(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleFileOpen() error { node := gui.getSelectedFileNode() if node == nil { return nil @@ -522,7 +522,7 @@ func (gui *Gui) handleFileOpen(g *gocui.Gui, v *gocui.View) error { return gui.openFile(node.GetPath()) } -func (gui *Gui) handleRefreshFiles(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleRefreshFiles() error { return gui.refreshSidePanels(refreshOptions{scope: []RefreshableView{FILES}}) } @@ -615,7 +615,7 @@ func (gui *Gui) findNewSelectedIdx(prevNodes []*filetree.FileNode, currNodes []* return -1 } -func (gui *Gui) handlePullFiles(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handlePullFiles() error { if gui.popupPanelFocused() { return nil } @@ -706,7 +706,7 @@ func (gui *Gui) pullWithMode(mode string, opts PullFilesOptions) error { } } -func (gui *Gui) pushWithForceFlag(v *gocui.View, force bool, upstream string, args string) error { +func (gui *Gui) pushWithForceFlag(force bool, upstream string, args string) error { if err := gui.createLoaderPanel(gui.Tr.PushWait); err != nil { return err } @@ -723,7 +723,7 @@ func (gui *Gui) pushWithForceFlag(v *gocui.View, force bool, upstream string, ar title: gui.Tr.ForcePush, prompt: gui.Tr.ForcePushPrompt, handleConfirm: func() error { - return gui.pushWithForceFlag(v, true, upstream, args) + return gui.pushWithForceFlag(true, upstream, args) }, }) return @@ -734,7 +734,7 @@ func (gui *Gui) pushWithForceFlag(v *gocui.View, force bool, upstream string, ar return nil } -func (gui *Gui) pushFiles(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) pushFiles() error { if gui.popupPanelFocused() { return nil } @@ -750,23 +750,23 @@ func (gui *Gui) pushFiles(g *gocui.Gui, v *gocui.View) error { } for branchName, branch := range conf.Branches { if branchName == currentBranch.Name { - return gui.pushWithForceFlag(v, false, "", fmt.Sprintf("%s %s", branch.Remote, branchName)) + return gui.pushWithForceFlag(false, "", fmt.Sprintf("%s %s", branch.Remote, branchName)) } } if gui.GitCommand.PushToCurrent { - return gui.pushWithForceFlag(v, false, "", "--set-upstream") + return gui.pushWithForceFlag(false, "", "--set-upstream") } else { return gui.prompt(promptOpts{ title: gui.Tr.EnterUpstream, initialContent: "origin " + currentBranch.Name, handleConfirm: func(response string) error { - return gui.pushWithForceFlag(v, false, response, "") + return gui.pushWithForceFlag(false, response, "") }, }) } } else if currentBranch.Pullables == "0" { - return gui.pushWithForceFlag(v, false, "", "") + return gui.pushWithForceFlag(false, "", "") } forcePushDisabled := gui.Config.GetUserConfig().Git.DisableForcePushing @@ -778,7 +778,7 @@ func (gui *Gui) pushFiles(g *gocui.Gui, v *gocui.View) error { title: gui.Tr.ForcePush, prompt: gui.Tr.ForcePushPrompt, handleConfirm: func() error { - return gui.pushWithForceFlag(v, true, "", "") + return gui.pushWithForceFlag(true, "", "") }, }) } @@ -812,7 +812,7 @@ func (gui *Gui) anyFilesWithMergeConflicts() bool { return false } -func (gui *Gui) handleCustomCommand(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCustomCommand() error { return gui.prompt(promptOpts{ title: gui.Tr.CustomCommand, handleConfirm: func(command string) error { @@ -822,7 +822,7 @@ func (gui *Gui) handleCustomCommand(g *gocui.Gui, v *gocui.View) error { }) } -func (gui *Gui) handleCreateStashMenu(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreateStashMenu() error { menuItems := []*menuItem{ { displayString: gui.Tr.LcStashAllChanges, @@ -841,11 +841,11 @@ func (gui *Gui) handleCreateStashMenu(g *gocui.Gui, v *gocui.View) error { return gui.createMenu(gui.Tr.LcStashOptions, menuItems, createMenuOptions{showCancel: true}) } -func (gui *Gui) handleStashChanges(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleStashChanges() error { return gui.handleStashSave(gui.GitCommand.StashSave) } -func (gui *Gui) handleCreateResetToUpstreamMenu(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreateResetToUpstreamMenu() error { return gui.createResetMenu("@{upstream}") } diff --git a/pkg/gui/filtering_menu_panel.go b/pkg/gui/filtering_menu_panel.go index ebebbd869..75c1e1c86 100644 --- a/pkg/gui/filtering_menu_panel.go +++ b/pkg/gui/filtering_menu_panel.go @@ -3,17 +3,15 @@ package gui import ( "fmt" "strings" - - "github.com/jesseduffield/gocui" ) -func (gui *Gui) handleCreateFilteringMenuPanel(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreateFilteringMenuPanel() error { if gui.popupPanelFocused() { return nil } fileName := "" - switch v.Name() { + switch gui.currentViewName() { case "files": node := gui.getSelectedFileNode() if node != nil { diff --git a/pkg/gui/git_flow.go b/pkg/gui/git_flow.go index 2aac6e3bb..4440c6ebd 100644 --- a/pkg/gui/git_flow.go +++ b/pkg/gui/git_flow.go @@ -5,7 +5,6 @@ import ( "regexp" "strings" - "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/utils" ) @@ -37,7 +36,7 @@ func (gui *Gui) gitFlowFinishBranch(gitFlowConfig string, branchName string) err return gui.Errors.ErrSubProcess } -func (gui *Gui) handleCreateGitFlowMenu(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleCreateGitFlowMenu() error { branch := gui.getSelectedBranch() if branch == nil { return nil diff --git a/pkg/gui/global_handlers.go b/pkg/gui/global_handlers.go index a76087cda..bcaff5871 100644 --- a/pkg/gui/global_handlers.go +++ b/pkg/gui/global_handlers.go @@ -5,7 +5,6 @@ import ( "math" "strings" - "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands" "github.com/jesseduffield/lazygit/pkg/utils" ) @@ -48,13 +47,13 @@ func prevIntInCycle(sl []WindowMaximisation, current WindowMaximisation) WindowM return sl[len(sl)-1] } -func (gui *Gui) nextScreenMode(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) nextScreenMode() error { gui.State.ScreenMode = nextIntInCycle([]WindowMaximisation{SCREEN_NORMAL, SCREEN_HALF, SCREEN_FULL}, gui.State.ScreenMode) return gui.rerenderViewsWithScreenModeDependentContent() } -func (gui *Gui) prevScreenMode(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) prevScreenMode() error { gui.State.ScreenMode = prevIntInCycle([]WindowMaximisation{SCREEN_NORMAL, SCREEN_HALF, SCREEN_FULL}, gui.State.ScreenMode) return gui.rerenderViewsWithScreenModeDependentContent() @@ -121,70 +120,80 @@ func (gui *Gui) scrollDownMain() error { return gui.scrollDownView("main") } -func (gui *Gui) scrollUpSecondary(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) scrollUpSecondary() error { return gui.scrollUpView("secondary") } -func (gui *Gui) scrollDownSecondary(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) scrollDownSecondary() error { return gui.scrollDownView("secondary") } -func (gui *Gui) scrollUpConfirmationPanel(g *gocui.Gui, v *gocui.View) error { - if v.Editable { +func (gui *Gui) scrollUpConfirmationPanel() error { + view := gui.getConfirmationView() + if view != nil || view.Editable { return nil } + return gui.scrollUpView("confirmation") } -func (gui *Gui) scrollDownConfirmationPanel(g *gocui.Gui, v *gocui.View) error { - if v.Editable { +func (gui *Gui) scrollDownConfirmationPanel() error { + view := gui.getConfirmationView() + if view != nil || view.Editable { return nil } + return gui.scrollDownView("confirmation") } -func (gui *Gui) handleRefresh(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleRefresh() error { return gui.refreshSidePanels(refreshOptions{mode: ASYNC}) } -func (gui *Gui) handleMouseDownMain(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleMouseDownMain() error { if gui.popupPanelFocused() { return nil } - switch g.CurrentView().Name() { + view := gui.getMainView() + + switch gui.g.CurrentView().Name() { case "files": // set filename, set primary/secondary selected, set line number, then switch context // I'll need to know it was changed though. // Could I pass something along to the context change? - return gui.enterFile(false, v.SelectedLineIdx()) + return gui.enterFile(false, view.SelectedLineIdx()) case "commitFiles": - return gui.enterCommitFile(v.SelectedLineIdx()) + return gui.enterCommitFile(view.SelectedLineIdx()) } return nil } -func (gui *Gui) handleMouseDownSecondary(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleMouseDownSecondary() error { if gui.popupPanelFocused() { return nil } - switch g.CurrentView().Name() { + view := gui.getSecondaryView() + + switch gui.g.CurrentView().Name() { case "files": - return gui.enterFile(true, v.SelectedLineIdx()) + return gui.enterFile(true, view.SelectedLineIdx()) } return nil } -func (gui *Gui) handleInfoClick(g *gocui.Gui, v *gocui.View) error { +func (gui *Gui) handleInfoClick() error { if !gui.g.Mouse { return nil } - cx, _ := v.Cursor() - width, _ := v.Size() + view := gui.getInformationView() + + cx, _ := view.Cursor() + width, _ := view.Size() for _, mode := range gui.modeStatuses() { if mode.isActive() { diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 41c61e07f..a2f762da6 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -16,7 +16,7 @@ import ( type Binding struct { ViewName string Contexts []string - Handler func(*gocui.Gui, *gocui.View) error + Handler func() error Key interface{} // FIXME: find out how to get `gocui.Key | rune` Modifier gocui.Modifier Description string @@ -208,7 +208,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "", Key: gui.getKey(config.Universal.Quit), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleQuit), + Handler: gui.handleQuit, }, { ViewName: "", @@ -220,7 +220,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "", Key: gui.getKey(config.Universal.QuitAlt1), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleQuit), + Handler: gui.handleQuit, }, { ViewName: "", @@ -231,14 +231,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { { ViewName: "", Key: gui.getKey(config.Universal.ScrollUpMain), - Handler: gui.wrappedHandler(gui.scrollUpMain), + Handler: gui.scrollUpMain, Alternative: "fn+up", Description: gui.Tr.LcScrollUpMainPanel, }, { ViewName: "", Key: gui.getKey(config.Universal.ScrollDownMain), - Handler: gui.wrappedHandler(gui.scrollDownMain), + Handler: gui.scrollDownMain, Alternative: "fn+down", Description: gui.Tr.LcScrollDownMainPanel, }, @@ -246,30 +246,30 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "", Key: gui.getKey(config.Universal.ScrollUpMainAlt1), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.scrollUpMain), + Handler: gui.scrollUpMain, }, { ViewName: "", Key: gui.getKey(config.Universal.ScrollDownMainAlt1), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.scrollDownMain), + Handler: gui.scrollDownMain, }, { ViewName: "", Key: gui.getKey(config.Universal.ScrollUpMainAlt2), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.scrollUpMain), + Handler: gui.scrollUpMain, }, { ViewName: "", Key: gui.getKey(config.Universal.ScrollDownMainAlt2), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.scrollDownMain), + Handler: gui.scrollDownMain, }, { ViewName: "", Key: gui.getKey(config.Universal.CreateRebaseOptionsMenu), - Handler: gui.wrappedHandler(gui.handleCreateRebaseOptionsMenu), + Handler: gui.handleCreateRebaseOptionsMenu, Description: gui.Tr.ViewMergeRebaseOptions, OpensMenu: true, }, @@ -362,20 +362,20 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { { ViewName: "status", Key: gui.getKey(config.Status.RecentRepos), - Handler: gui.wrappedHandler(gui.handleCreateRecentReposMenu), + Handler: gui.handleCreateRecentReposMenu, Description: gui.Tr.SwitchRepo, }, { ViewName: "status", Key: gui.getKey(config.Status.AllBranchesLogGraph), - Handler: gui.wrappedHandler(gui.handleShowAllBranchLogs), + Handler: gui.handleShowAllBranchLogs, Description: gui.Tr.LcAllBranchesLogGraph, }, { ViewName: "files", Contexts: []string{FILES_CONTEXT_KEY}, Key: gui.getKey(config.Files.CommitChanges), - Handler: gui.wrappedHandler(gui.handleCommitPress), + Handler: gui.handleCommitPress, Description: gui.Tr.CommitChanges, }, { @@ -389,28 +389,28 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "files", Contexts: []string{FILES_CONTEXT_KEY}, Key: gui.getKey(config.Files.AmendLastCommit), - Handler: gui.wrappedHandler(gui.handleAmendCommitPress), + Handler: gui.handleAmendCommitPress, Description: gui.Tr.AmendLastCommit, }, { ViewName: "files", Contexts: []string{FILES_CONTEXT_KEY}, Key: gui.getKey(config.Files.CommitChangesWithEditor), - Handler: gui.wrappedHandler(gui.handleCommitEditorPress), + Handler: gui.handleCommitEditorPress, Description: gui.Tr.CommitChangesWithEditor, }, { ViewName: "files", Contexts: []string{FILES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Select), - Handler: gui.wrappedHandler(gui.handleFilePress), + Handler: gui.handleFilePress, Description: gui.Tr.LcToggleStaged, }, { ViewName: "files", Contexts: []string{FILES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Remove), - Handler: gui.wrappedHandler(gui.handleCreateDiscardMenu), + Handler: gui.handleCreateDiscardMenu, Description: gui.Tr.LcViewDiscardOptions, OpensMenu: true, }, @@ -432,7 +432,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "files", Contexts: []string{FILES_CONTEXT_KEY}, Key: gui.getKey(config.Files.IgnoreFile), - Handler: gui.wrappedHandler(gui.handleIgnoreFile), + Handler: gui.handleIgnoreFile, Description: gui.Tr.LcIgnoreFile, }, { @@ -490,7 +490,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "files", Contexts: []string{FILES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.CopyToClipboard), - Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard), + Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyFileNameToClipboard, }, { @@ -511,7 +511,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "files", Contexts: []string{FILES_CONTEXT_KEY}, Key: gui.getKey(config.Files.ToggleTreeView), - Handler: gui.wrappedHandler(gui.handleToggleFileTreeView), + Handler: gui.handleToggleFileTreeView, Description: gui.Tr.LcToggleTreeView, }, { @@ -553,7 +553,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "branches", Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.New), - Handler: gui.wrappedHandler(gui.handleNewBranchOffCurrentItem), + Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcNewBranch, }, { @@ -611,14 +611,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "branches", Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.CopyToClipboard), - Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard), + Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyBranchNameToClipboard, }, { ViewName: "branches", Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GoInto), - Handler: gui.wrappedHandler(gui.handleSwitchToSubCommits), + Handler: gui.handleSwitchToSubCommits, Description: gui.Tr.LcViewCommits, }, { @@ -661,7 +661,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "branches", Contexts: []string{TAGS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GoInto), - Handler: gui.wrappedHandler(gui.handleSwitchToSubCommits), + Handler: gui.handleSwitchToSubCommits, Description: gui.Tr.LcViewCommits, }, { @@ -683,7 +683,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "branches", Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GoInto), - Handler: gui.wrappedHandler(gui.handleSwitchToSubCommits), + Handler: gui.handleSwitchToSubCommits, Description: gui.Tr.LcViewCommits, }, { @@ -795,35 +795,35 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "commits", Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.CherryPickCopy), - Handler: gui.wrappedHandler(gui.handleCopyCommit), + Handler: gui.handleCopyCommit, Description: gui.Tr.LcCherryPickCopy, }, { ViewName: "commits", Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.CopyToClipboard), - Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard), + Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyCommitShaToClipboard, }, { ViewName: "commits", Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.CherryPickCopyRange), - Handler: gui.wrappedHandler(gui.handleCopyCommitRange), + Handler: gui.handleCopyCommitRange, Description: gui.Tr.LcCherryPickCopyRange, }, { ViewName: "commits", Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.PasteCommits), - Handler: gui.wrappedHandler(gui.HandlePasteCommits), + Handler: gui.HandlePasteCommits, Description: gui.Tr.LcPasteCommits, }, { ViewName: "commits", Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GoInto), - Handler: gui.wrappedHandler(gui.handleViewCommitFiles), + Handler: gui.handleViewCommitFiles, Description: gui.Tr.LcViewCommitFiles, }, { @@ -838,7 +838,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.New), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleNewBranchOffCurrentItem), + Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcCreateNewBranchFromCommit, }, { @@ -852,21 +852,21 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "commits", Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.ResetCherryPick), - Handler: gui.wrappedHandler(gui.exitCherryPickingMode), + Handler: gui.exitCherryPickingMode, Description: gui.Tr.LcResetCherryPick, }, { ViewName: "commits", Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.CopyCommitMessageToClipboard), - Handler: gui.wrappedHandler(gui.handleCopySelectedCommitMessageToClipboard), + Handler: gui.handleCopySelectedCommitMessageToClipboard, Description: gui.Tr.LcCopyCommitMessageToClipboard, }, { ViewName: "commits", Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GoInto), - Handler: gui.wrappedHandler(gui.handleViewReflogCommitFiles), + Handler: gui.handleViewReflogCommitFiles, Description: gui.Tr.LcViewCommitFiles, }, { @@ -888,35 +888,35 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "commits", Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.CherryPickCopy), - Handler: gui.wrappedHandler(gui.handleCopyCommit), + Handler: gui.handleCopyCommit, Description: gui.Tr.LcCherryPickCopy, }, { ViewName: "commits", Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.CherryPickCopyRange), - Handler: gui.wrappedHandler(gui.handleCopyCommitRange), + Handler: gui.handleCopyCommitRange, Description: gui.Tr.LcCherryPickCopyRange, }, { ViewName: "commits", Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.ResetCherryPick), - Handler: gui.wrappedHandler(gui.exitCherryPickingMode), + Handler: gui.exitCherryPickingMode, Description: gui.Tr.LcResetCherryPick, }, { ViewName: "commits", Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.CopyToClipboard), - Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard), + Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyCommitShaToClipboard, }, { ViewName: "branches", Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GoInto), - Handler: gui.wrappedHandler(gui.handleViewSubCommitFiles), + Handler: gui.handleViewSubCommitFiles, Description: gui.Tr.LcViewCommitFiles, }, { @@ -930,7 +930,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "branches", Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.ViewResetOptions), - Handler: gui.wrappedHandler(gui.handleCreateSubCommitResetMenu), + Handler: gui.handleCreateSubCommitResetMenu, Description: gui.Tr.LcViewResetOptions, OpensMenu: true, }, @@ -938,41 +938,41 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "branches", Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.New), - Handler: gui.wrappedHandler(gui.handleNewBranchOffCurrentItem), + Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcNewBranch, }, { ViewName: "branches", Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.CherryPickCopy), - Handler: gui.wrappedHandler(gui.handleCopyCommit), + Handler: gui.handleCopyCommit, Description: gui.Tr.LcCherryPickCopy, }, { ViewName: "branches", Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.CherryPickCopyRange), - Handler: gui.wrappedHandler(gui.handleCopyCommitRange), + Handler: gui.handleCopyCommitRange, Description: gui.Tr.LcCherryPickCopyRange, }, { ViewName: "branches", Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Commits.ResetCherryPick), - Handler: gui.wrappedHandler(gui.exitCherryPickingMode), + Handler: gui.exitCherryPickingMode, Description: gui.Tr.LcResetCherryPick, }, { ViewName: "branches", Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, Key: gui.getKey(config.Universal.CopyToClipboard), - Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard), + Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyCommitShaToClipboard, }, { ViewName: "stash", Key: gui.getKey(config.Universal.GoInto), - Handler: gui.wrappedHandler(gui.handleViewStashFiles), + Handler: gui.handleViewStashFiles, Description: gui.Tr.LcViewStashFiles, }, { @@ -996,7 +996,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { { ViewName: "stash", Key: gui.getKey(config.Universal.New), - Handler: gui.wrappedHandler(gui.handleNewBranchOffCurrentItem), + Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcNewBranch, }, { @@ -1038,7 +1038,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { { ViewName: "commitFiles", Key: gui.getKey(config.Universal.CopyToClipboard), - Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard), + Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyCommitFileNameToClipboard, }, { @@ -1080,7 +1080,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { { ViewName: "commitFiles", Key: gui.getKey(config.Files.ToggleTreeView), - Handler: gui.wrappedHandler(gui.handleToggleCommitFileTreeView), + Handler: gui.handleToggleCommitFileTreeView, Description: gui.Tr.LcToggleTreeView, }, { @@ -1127,7 +1127,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_NORMAL_CONTEXT_KEY}, Key: gocui.MouseWheelDown, - Handler: gui.wrappedHandler(gui.scrollDownMain), + Handler: gui.scrollDownMain, Description: gui.Tr.ScrollDown, Alternative: "fn+up", }, @@ -1135,7 +1135,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_NORMAL_CONTEXT_KEY}, Key: gocui.MouseWheelUp, - Handler: gui.wrappedHandler(gui.scrollUpMain), + Handler: gui.scrollUpMain, Description: gui.Tr.ScrollUp, Alternative: "fn+down", }, @@ -1157,56 +1157,56 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Return), - Handler: gui.wrappedHandler(gui.handleStagingEscape), + Handler: gui.handleStagingEscape, Description: gui.Tr.ReturnToFilesPanel, }, { ViewName: "main", Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Select), - Handler: gui.wrappedHandler(gui.handleToggleStagedSelection), + Handler: gui.handleToggleStagedSelection, Description: gui.Tr.StageSelection, }, { ViewName: "main", Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Remove), - Handler: gui.wrappedHandler(gui.handleResetSelection), + Handler: gui.handleResetSelection, Description: gui.Tr.ResetSelection, }, { ViewName: "main", Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.TogglePanel), - Handler: gui.wrappedHandler(gui.handleTogglePanel), + Handler: gui.handleTogglePanel, Description: gui.Tr.TogglePanel, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Return), - Handler: gui.wrappedHandler(gui.handleEscapePatchBuildingPanel), + Handler: gui.handleEscapePatchBuildingPanel, Description: gui.Tr.ExitLineByLineMode, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.OpenFile), - Handler: gui.wrappedHandler(gui.handleOpenFileAtLine), + Handler: gui.handleOpenFileAtLine, Description: gui.Tr.LcOpenFile, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevItem), - Handler: gui.wrappedHandler(gui.handleSelectPrevLine), + Handler: gui.handleSelectPrevLine, Description: gui.Tr.PrevLine, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextItem), - Handler: gui.wrappedHandler(gui.handleSelectNextLine), + Handler: gui.handleSelectNextLine, Description: gui.Tr.NextLine, }, { @@ -1214,34 +1214,34 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevItemAlt), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectPrevLine), + Handler: gui.handleSelectPrevLine, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextItemAlt), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectNextLine), + Handler: gui.handleSelectNextLine, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.scrollUpMain), + Handler: gui.scrollUpMain, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.scrollDownMain), + Handler: gui.scrollDownMain, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevBlock), - Handler: gui.wrappedHandler(gui.handleSelectPrevHunk), + Handler: gui.handleSelectPrevHunk, Description: gui.Tr.PrevHunk, }, { @@ -1249,13 +1249,13 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevBlockAlt), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectPrevHunk), + Handler: gui.handleSelectPrevHunk, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextBlock), - Handler: gui.wrappedHandler(gui.handleSelectNextHunk), + Handler: gui.handleSelectNextHunk, Description: gui.Tr.NextHunk, }, { @@ -1263,7 +1263,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextBlockAlt), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectNextHunk), + Handler: gui.handleSelectNextHunk, }, { ViewName: "main", @@ -1284,7 +1284,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextPage), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleLineByLineNextPage), + Handler: gui.handleLineByLineNextPage, Description: gui.Tr.LcNextPage, Tag: "navigation", }, @@ -1293,7 +1293,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevPage), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleLineByLinePrevPage), + Handler: gui.handleLineByLinePrevPage, Description: gui.Tr.LcPrevPage, Tag: "navigation", }, @@ -1302,7 +1302,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GotoTop), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleLineByLineGotoTop), + Handler: gui.handleLineByLineGotoTop, Description: gui.Tr.LcGotoTop, Tag: "navigation", }, @@ -1311,7 +1311,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GotoBottom), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleLineByLineGotoBottom), + Handler: gui.handleLineByLineGotoBottom, Description: gui.Tr.LcGotoBottom, Tag: "navigation", }, @@ -1319,7 +1319,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.StartSearch), - Handler: gui.handleOpenSearch, + Handler: func() error { return gui.handleOpenSearch("main") }, Description: gui.Tr.LcStartSearch, Tag: "navigation", }, @@ -1327,14 +1327,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Select), - Handler: gui.wrappedHandler(gui.handleToggleSelectionForPatch), + Handler: gui.handleToggleSelectionForPatch, Description: gui.Tr.ToggleSelectionForPatch, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Main.ToggleDragSelect), - Handler: gui.wrappedHandler(gui.handleToggleSelectRange), + Handler: gui.handleToggleSelectRange, Description: gui.Tr.ToggleDragSelect, }, // Alias 'V' -> 'v' @@ -1342,14 +1342,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Main.ToggleDragSelectAlt), - Handler: gui.wrappedHandler(gui.handleToggleSelectRange), + Handler: gui.handleToggleSelectRange, Description: gui.Tr.ToggleDragSelect, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Main.ToggleSelectHunk), - Handler: gui.wrappedHandler(gui.handleToggleSelectHunk), + Handler: gui.handleToggleSelectHunk, Description: gui.Tr.ToggleSelectHunk, }, { @@ -1371,20 +1371,20 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.scrollUpMain), + Handler: gui.scrollUpMain, }, { ViewName: "main", Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.scrollDownMain), + Handler: gui.scrollDownMain, }, { ViewName: "main", Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Files.CommitChanges), - Handler: gui.wrappedHandler(gui.handleCommitPress), + Handler: gui.handleCommitPress, Description: gui.Tr.CommitChanges, }, { @@ -1398,56 +1398,56 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "main", Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, Key: gui.getKey(config.Files.CommitChangesWithEditor), - Handler: gui.wrappedHandler(gui.handleCommitEditorPress), + Handler: gui.handleCommitEditorPress, Description: gui.Tr.CommitChangesWithEditor, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Return), - Handler: gui.wrappedHandler(gui.handleEscapeMerge), + Handler: gui.handleEscapeMerge, Description: gui.Tr.ReturnToFilesPanel, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Select), - Handler: gui.wrappedHandler(gui.handlePickHunk), + Handler: gui.handlePickHunk, Description: gui.Tr.PickHunk, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Main.PickBothHunks), - Handler: gui.wrappedHandler(gui.handlePickBothHunks), + Handler: gui.handlePickBothHunks, Description: gui.Tr.PickBothHunks, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevBlock), - Handler: gui.wrappedHandler(gui.handleSelectPrevConflict), + Handler: gui.handleSelectPrevConflict, Description: gui.Tr.PrevConflict, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextBlock), - Handler: gui.wrappedHandler(gui.handleSelectNextConflict), + Handler: gui.handleSelectNextConflict, Description: gui.Tr.NextConflict, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevItem), - Handler: gui.wrappedHandler(gui.handleSelectTop), + Handler: gui.handleSelectTop, Description: gui.Tr.SelectTop, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextItem), - Handler: gui.wrappedHandler(gui.handleSelectBottom), + Handler: gui.handleSelectBottom, Description: gui.Tr.SelectBottom, }, { @@ -1455,48 +1455,48 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectTop), + Handler: gui.handleSelectTop, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectBottom), + Handler: gui.handleSelectBottom, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevBlockAlt), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectPrevConflict), + Handler: gui.handleSelectPrevConflict, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextBlockAlt), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectNextConflict), + Handler: gui.handleSelectNextConflict, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.PrevItemAlt), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectTop), + Handler: gui.handleSelectTop, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.NextItemAlt), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleSelectBottom), + Handler: gui.handleSelectBottom, }, { ViewName: "main", Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Undo), - Handler: gui.wrappedHandler(gui.handlePopFileSnapshot), + Handler: gui.handlePopFileSnapshot, Description: gui.Tr.LcUndo, }, { @@ -1504,7 +1504,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{REMOTES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.GoInto), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.handleRemoteEnter), + Handler: gui.handleRemoteEnter, }, { ViewName: "branches", @@ -1532,14 +1532,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.Select), // gonna use the exact same handler as the 'n' keybinding because everybody wants this to happen when they checkout a remote branch - Handler: gui.wrappedHandler(gui.handleNewBranchOffCurrentItem), + Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcCheckout, }, { ViewName: "branches", Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.New), - Handler: gui.wrappedHandler(gui.handleNewBranchOffCurrentItem), + Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcNewBranch, }, { @@ -1616,25 +1616,25 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "menu", Key: gui.getKey(config.Universal.Select), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.onMenuPress), + Handler: gui.onMenuPress, }, { ViewName: "menu", Key: gui.getKey(config.Universal.Confirm), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.onMenuPress), + Handler: gui.onMenuPress, }, { ViewName: "menu", Key: gui.getKey(config.Universal.ConfirmAlt1), Modifier: gocui.ModNone, - Handler: gui.wrappedHandler(gui.onMenuPress), + Handler: gui.onMenuPress, }, { ViewName: "files", Contexts: []string{SUBMODULES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.CopyToClipboard), - Handler: gui.wrappedHandler(gui.handleCopySelectedSideContextItemToClipboard), + Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopySubmoduleNameToClipboard, }, { @@ -1663,7 +1663,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "files", Contexts: []string{SUBMODULES_CONTEXT_KEY}, Key: gui.getKey(config.Universal.New), - Handler: gui.wrappedHandler(gui.handleAddSubmodule), + Handler: gui.handleAddSubmodule, Description: gui.Tr.LcAddSubmodule, }, { @@ -1684,7 +1684,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { ViewName: "files", Contexts: []string{SUBMODULES_CONTEXT_KEY}, Key: gui.getKey(config.Submodules.BulkMenu), - Handler: gui.wrappedHandler(gui.handleBulkSubmoduleActionsMenu), + Handler: gui.handleBulkSubmoduleActionsMenu, Description: gui.Tr.LcViewBulkSubmoduleOptions, OpensMenu: true, }, @@ -1692,12 +1692,12 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { for _, viewName := range []string{"status", "branches", "files", "commits", "commitFiles", "stash", "menu"} { bindings = append(bindings, []*Binding{ - {ViewName: viewName, Key: gui.getKey(config.Universal.PrevBlock), Modifier: gocui.ModNone, Handler: gui.wrappedHandler(gui.previousSideWindow)}, - {ViewName: viewName, Key: gui.getKey(config.Universal.NextBlock), Modifier: gocui.ModNone, Handler: gui.wrappedHandler(gui.nextSideWindow)}, - {ViewName: viewName, Key: gui.getKey(config.Universal.PrevBlockAlt), Modifier: gocui.ModNone, Handler: gui.wrappedHandler(gui.previousSideWindow)}, - {ViewName: viewName, Key: gui.getKey(config.Universal.NextBlockAlt), Modifier: gocui.ModNone, Handler: gui.wrappedHandler(gui.nextSideWindow)}, - {ViewName: viewName, Key: gocui.KeyBac