From 41747b5b349d80a38140d66fdefa24766638fb69 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Mon, 5 Apr 2021 01:10:23 +1000 Subject: [PATCH] more refactoring --- pkg/gui/commit_files_panel.go | 15 +- pkg/gui/context.go | 46 ++--- pkg/gui/files_panel.go | 6 +- pkg/gui/global_handlers.go | 10 +- pkg/gui/keybindings.go | 308 +++++++++++++++++----------------- pkg/gui/merge_panel.go | 4 +- pkg/gui/window.go | 18 +- 7 files changed, 203 insertions(+), 204 deletions(-) diff --git a/pkg/gui/commit_files_panel.go b/pkg/gui/commit_files_panel.go index b0bd16547..d50eefb23 100644 --- a/pkg/gui/commit_files_panel.go +++ b/pkg/gui/commit_files_panel.go @@ -257,7 +257,7 @@ func (gui *Gui) handleToggleCommitFileDirCollapsed() error { func (gui *Gui) switchToCommitFilesContext(refName string, canRebase bool, context Context, windowName string) error { // sometimes the commitFiles view is already shown in another window, so we need to ensure that window // no longer considers the commitFiles view as its main view. - gui.resetWindowForView("commitFiles") + gui.resetWindowForView(gui.Views.CommitFiles) gui.State.Panels.CommitFiles.SelectedLineIdx = 0 gui.State.Panels.CommitFiles.refName = refName @@ -287,14 +287,11 @@ func (gui *Gui) handleToggleCommitFileTreeView() error { } } - // TODO: pretty sure this view only ever has this context. Is this if condition necessary? - if gui.Views.CommitFiles.Context == COMMIT_FILES_CONTEXT_KEY { - if err := gui.State.Contexts.CommitFiles.HandleRender(); err != nil { - return err - } - if err := gui.State.Contexts.CommitFiles.HandleFocus(); err != nil { - return err - } + if err := gui.State.Contexts.CommitFiles.HandleRender(); err != nil { + return err + } + if err := gui.State.Contexts.CommitFiles.HandleFocus(); err != nil { + return err } return nil diff --git a/pkg/gui/context.go b/pkg/gui/context.go index 56058743c..8b3a0c27d 100644 --- a/pkg/gui/context.go +++ b/pkg/gui/context.go @@ -19,27 +19,27 @@ type ContextKey string const ( STATUS_CONTEXT_KEY ContextKey = "status" - FILES_CONTEXT_KEY = "files" - LOCAL_BRANCHES_CONTEXT_KEY = "localBranches" - REMOTES_CONTEXT_KEY = "remotes" - REMOTE_BRANCHES_CONTEXT_KEY = "remoteBranches" - TAGS_CONTEXT_KEY = "tags" - BRANCH_COMMITS_CONTEXT_KEY = "commits" - REFLOG_COMMITS_CONTEXT_KEY = "reflogCommits" - SUB_COMMITS_CONTEXT_KEY = "subCommits" - COMMIT_FILES_CONTEXT_KEY = "commitFiles" - STASH_CONTEXT_KEY = "stash" - MAIN_NORMAL_CONTEXT_KEY = "normal" - MAIN_MERGING_CONTEXT_KEY = "merging" - MAIN_PATCH_BUILDING_CONTEXT_KEY = "patchBuilding" - MAIN_STAGING_CONTEXT_KEY = "staging" - MENU_CONTEXT_KEY = "menu" - CREDENTIALS_CONTEXT_KEY = "credentials" - CONFIRMATION_CONTEXT_KEY = "confirmation" - SEARCH_CONTEXT_KEY = "search" - COMMIT_MESSAGE_CONTEXT_KEY = "commitMessage" - SUBMODULES_CONTEXT_KEY = "submodules" - SUGGESTIONS_CONTEXT_KEY = "suggestions" + FILES_CONTEXT_KEY ContextKey = "files" + LOCAL_BRANCHES_CONTEXT_KEY ContextKey = "localBranches" + REMOTES_CONTEXT_KEY ContextKey = "remotes" + REMOTE_BRANCHES_CONTEXT_KEY ContextKey = "remoteBranches" + TAGS_CONTEXT_KEY ContextKey = "tags" + BRANCH_COMMITS_CONTEXT_KEY ContextKey = "commits" + REFLOG_COMMITS_CONTEXT_KEY ContextKey = "reflogCommits" + SUB_COMMITS_CONTEXT_KEY ContextKey = "subCommits" + COMMIT_FILES_CONTEXT_KEY ContextKey = "commitFiles" + STASH_CONTEXT_KEY ContextKey = "stash" + MAIN_NORMAL_CONTEXT_KEY ContextKey = "normal" + MAIN_MERGING_CONTEXT_KEY ContextKey = "merging" + MAIN_PATCH_BUILDING_CONTEXT_KEY ContextKey = "patchBuilding" + MAIN_STAGING_CONTEXT_KEY ContextKey = "staging" + MENU_CONTEXT_KEY ContextKey = "menu" + CREDENTIALS_CONTEXT_KEY ContextKey = "credentials" + CONFIRMATION_CONTEXT_KEY ContextKey = "confirmation" + SEARCH_CONTEXT_KEY ContextKey = "search" + COMMIT_MESSAGE_CONTEXT_KEY ContextKey = "commitMessage" + SUBMODULES_CONTEXT_KEY ContextKey = "submodules" + SUGGESTIONS_CONTEXT_KEY ContextKey = "suggestions" ) var allContextKeys = []ContextKey{ @@ -512,7 +512,7 @@ func (gui *Gui) activateContext(c Context) error { originalViewContextKey := ContextKey(v.Context) // ensure that any other window for which this view was active is now set to the default for that window. - gui.setViewAsActiveForWindow(viewName) + gui.setViewAsActiveForWindow(v) if viewName == "main" { gui.changeMainViewsContext(c.GetKey()) @@ -677,7 +677,7 @@ func (gui *Gui) onViewFocusLost(oldView *gocui.View, newView *gocui.View) error } if oldView == gui.Views.CommitFiles && newView != gui.Views.Main && newView != gui.Views.Secondary && newView != gui.Views.Search { - gui.resetWindowForView("commitFiles") + gui.resetWindowForView(gui.Views.CommitFiles) if err := gui.deactivateContext(gui.State.Contexts.CommitFiles); err != nil { return err } diff --git a/pkg/gui/files_panel.go b/pkg/gui/files_panel.go index 9d9dfd9a2..2bbe4278e 100644 --- a/pkg/gui/files_panel.go +++ b/pkg/gui/files_panel.go @@ -117,14 +117,14 @@ func (gui *Gui) refreshFilesAndSubmodules() error { gui.Log.Error(err) } - if gui.Views.Files.Context == FILES_CONTEXT_KEY { + if ContextKey(gui.Views.Files.Context) == FILES_CONTEXT_KEY { // doing this a little custom (as opposed to using gui.postRefreshUpdate) because we handle selecting the file explicitly below if err := gui.State.Contexts.Files.HandleRender(); err != nil { return err } } - if gui.currentContext().GetKey() == FILES_CONTEXT_KEY || (g.CurrentView() == gui.Views.Main && g.CurrentView().Context == MAIN_MERGING_CONTEXT_KEY) { + if gui.currentContext().GetKey() == FILES_CONTEXT_KEY || (g.CurrentView() == gui.Views.Main && ContextKey(g.CurrentView().Context) == MAIN_MERGING_CONTEXT_KEY) { newSelectedPath := gui.getSelectedPath() alreadySelected := selectedPath != "" && newSelectedPath == selectedPath if err := gui.selectFile(alreadySelected); err != nil { @@ -856,7 +856,7 @@ func (gui *Gui) handleToggleFileTreeView() error { } } - if gui.Views.Files.Context == FILES_CONTEXT_KEY { + if ContextKey(gui.Views.Files.Context) == FILES_CONTEXT_KEY { if err := gui.State.Contexts.Files.HandleRender(); err != nil { return err } diff --git a/pkg/gui/global_handlers.go b/pkg/gui/global_handlers.go index 25aafa588..0f281346b 100644 --- a/pkg/gui/global_handlers.go +++ b/pkg/gui/global_handlers.go @@ -148,13 +148,13 @@ func (gui *Gui) handleMouseDownMain() error { return nil } - switch gui.g.CurrentView().Name() { - case "files": + switch gui.g.CurrentView() { + case gui.Views.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, gui.Views.Main.SelectedLineIdx()) - case "commitFiles": + case gui.Views.CommitFiles: return gui.enterCommitFile(gui.Views.Main.SelectedLineIdx()) } @@ -166,8 +166,8 @@ func (gui *Gui) handleMouseDownSecondary() error { return nil } - switch gui.g.CurrentView().Name() { - case "files": + switch gui.g.CurrentView() { + case gui.Views.Files: return gui.enterFile(true, gui.Views.Secondary.SelectedLineIdx()) } diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index a99143215..4af2bd6d5 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -373,42 +373,42 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.CommitChanges), Handler: gui.handleCommitPress, Description: gui.Tr.CommitChanges, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.CommitChangesWithoutHook), Handler: gui.handleWIPCommitPress, Description: gui.Tr.LcCommitChangesWithoutHook, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.AmendLastCommit), Handler: gui.handleAmendCommitPress, Description: gui.Tr.AmendLastCommit, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.CommitChangesWithEditor), Handler: gui.handleCommitEditorPress, Description: gui.Tr.CommitChangesWithEditor, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Select), Handler: gui.handleFilePress, Description: gui.Tr.LcToggleStaged, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Remove), Handler: gui.handleCreateDiscardMenu, Description: gui.Tr.LcViewDiscardOptions, @@ -416,42 +416,42 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Edit), Handler: gui.handleFileEdit, Description: gui.Tr.LcEditFile, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.OpenFile), Handler: gui.handleFileOpen, Description: gui.Tr.LcOpenFile, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.IgnoreFile), Handler: gui.handleIgnoreFile, Description: gui.Tr.LcIgnoreFile, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.RefreshFiles), Handler: gui.handleRefreshFiles, Description: gui.Tr.LcRefreshFiles, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.StashAllChanges), Handler: gui.handleStashChanges, Description: gui.Tr.LcStashAllChanges, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.ViewStashOptions), Handler: gui.handleCreateStashMenu, Description: gui.Tr.LcViewStashOptions, @@ -459,14 +459,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.ToggleStagedAll), Handler: gui.handleStageAll, Description: gui.Tr.LcToggleStagedAll, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.ViewResetOptions), Handler: gui.handleCreateResetMenu, Description: gui.Tr.LcViewResetOptions, @@ -474,21 +474,21 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.handleEnterFile, Description: gui.Tr.FileEnter, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.Fetch), Handler: gui.handleGitFetch, Description: gui.Tr.LcFetch, }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyFileNameToClipboard, @@ -501,7 +501,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ViewResetOptions), Handler: gui.handleCreateResetToUpstreamMenu, Description: gui.Tr.LcViewResetToUpstreamOptions, @@ -509,77 +509,77 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "files", - Contexts: []string{FILES_CONTEXT_KEY}, + Contexts: []string{string(FILES_CONTEXT_KEY)}, Key: gui.getKey(config.Files.ToggleTreeView), Handler: gui.handleToggleFileTreeView, Description: gui.Tr.LcToggleTreeView, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Select), Handler: gui.handleBranchPress, Description: gui.Tr.LcCheckout, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.CreatePullRequest), Handler: gui.handleCreatePullRequestPress, Description: gui.Tr.LcCreatePullRequest, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.CopyPullRequestURL), Handler: gui.handleCopyPullRequestURLPress, Description: gui.Tr.LcCopyPullRequestURL, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.CheckoutBranchByName), Handler: gui.handleCheckoutByName, Description: gui.Tr.LcCheckoutByName, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.ForceCheckoutBranch), Handler: gui.handleForceCheckout, Description: gui.Tr.LcForceCheckout, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.New), Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcNewBranch, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Remove), Handler: gui.handleDeleteBranch, Description: gui.Tr.LcDeleteBranch, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.RebaseBranch), Handler: gui.handleRebaseOntoLocalBranch, Description: gui.Tr.LcRebaseBranch, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.MergeIntoCurrentBranch), Handler: gui.handleMerge, Description: gui.Tr.LcMergeIntoCurrentBranch, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.ViewGitFlowOptions), Handler: gui.handleCreateGitFlowMenu, Description: gui.Tr.LcGitFlowOptions, @@ -587,14 +587,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.FastForward), Handler: gui.handleFastForward, Description: gui.Tr.FastForward, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ViewResetOptions), Handler: gui.handleCreateResetToBranchMenu, Description: gui.Tr.LcViewResetOptions, @@ -602,56 +602,56 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.RenameBranch), Handler: gui.handleRenameBranch, Description: gui.Tr.LcRenameBranch, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyBranchNameToClipboard, }, { ViewName: "branches", - Contexts: []string{LOCAL_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(LOCAL_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.handleSwitchToSubCommits, Description: gui.Tr.LcViewCommits, }, { ViewName: "branches", - Contexts: []string{TAGS_CONTEXT_KEY}, + Contexts: []string{string(TAGS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Select), Handler: gui.withSelectedTag(gui.handleCheckoutTag), Description: gui.Tr.LcCheckout, }, { ViewName: "branches", - Contexts: []string{TAGS_CONTEXT_KEY}, + Contexts: []string{string(TAGS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Remove), Handler: gui.withSelectedTag(gui.handleDeleteTag), Description: gui.Tr.LcDeleteTag, }, { ViewName: "branches", - Contexts: []string{TAGS_CONTEXT_KEY}, + Contexts: []string{string(TAGS_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.PushTag), Handler: gui.withSelectedTag(gui.handlePushTag), Description: gui.Tr.LcPushTag, }, { ViewName: "branches", - Contexts: []string{TAGS_CONTEXT_KEY}, + Contexts: []string{string(TAGS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.New), Handler: gui.handleCreateTag, Description: gui.Tr.LcCreateTag, }, { ViewName: "branches", - Contexts: []string{TAGS_CONTEXT_KEY}, + Contexts: []string{string(TAGS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ViewResetOptions), Handler: gui.withSelectedTag(gui.handleCreateResetToTagMenu), Description: gui.Tr.LcViewResetOptions, @@ -659,21 +659,21 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "branches", - Contexts: []string{TAGS_CONTEXT_KEY}, + Contexts: []string{string(TAGS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.handleSwitchToSubCommits, Description: gui.Tr.LcViewCommits, }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(REMOTE_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Return), Handler: gui.handleRemoteBranchesEscape, Description: gui.Tr.ReturnToRemotesList, }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(REMOTE_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ViewResetOptions), Handler: gui.handleCreateResetToRemoteBranchMenu, Description: gui.Tr.LcViewResetOptions, @@ -681,161 +681,161 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(REMOTE_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.handleSwitchToSubCommits, Description: gui.Tr.LcViewCommits, }, { ViewName: "branches", - Contexts: []string{REMOTES_CONTEXT_KEY}, + Contexts: []string{string(REMOTES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.FetchRemote), Handler: gui.handleFetchRemote, Description: gui.Tr.LcFetchRemote, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.SquashDown), Handler: gui.handleCommitSquashDown, Description: gui.Tr.LcSquashDown, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.RenameCommit), Handler: gui.handleRenameCommit, Description: gui.Tr.LcRenameCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.RenameCommitWithEditor), Handler: gui.handleRenameCommitEditor, Description: gui.Tr.LcRenameCommitEditor, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ViewResetOptions), Handler: gui.handleCreateCommitResetMenu, Description: gui.Tr.LcResetToThisCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.MarkCommitAsFixup), Handler: gui.handleCommitFixup, Description: gui.Tr.LcFixupCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CreateFixupCommit), Handler: gui.handleCreateFixupCommit, Description: gui.Tr.LcCreateFixupCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.SquashAboveCommits), Handler: gui.handleSquashAllAboveFixupCommits, Description: gui.Tr.LcSquashAboveCommits, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Remove), Handler: gui.handleCommitDelete, Description: gui.Tr.LcDeleteCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.MoveDownCommit), Handler: gui.handleCommitMoveDown, Description: gui.Tr.LcMoveDownCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.MoveUpCommit), Handler: gui.handleCommitMoveUp, Description: gui.Tr.LcMoveUpCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Edit), Handler: gui.handleCommitEdit, Description: gui.Tr.LcEditCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.AmendToCommit), Handler: gui.handleCommitAmendTo, Description: gui.Tr.LcAmendToCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.PickCommit), Handler: gui.handleCommitPick, Description: gui.Tr.LcPickCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.RevertCommit), Handler: gui.handleCommitRevert, Description: gui.Tr.LcRevertCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CherryPickCopy), Handler: gui.handleCopyCommit, Description: gui.Tr.LcCherryPickCopy, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyCommitShaToClipboard, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CherryPickCopyRange), Handler: gui.handleCopyCommitRange, Description: gui.Tr.LcCherryPickCopyRange, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.PasteCommits), Handler: gui.HandlePasteCommits, Description: gui.Tr.LcPasteCommits, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.handleViewCommitFiles, Description: gui.Tr.LcViewCommitFiles, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CheckoutCommit), Handler: gui.handleCheckoutCommit, Description: gui.Tr.LcCheckoutCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.New), Modifier: gocui.ModNone, Handler: gui.handleNewBranchOffCurrentItem, @@ -843,42 +843,42 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.TagCommit), Handler: gui.handleTagCommit, Description: gui.Tr.LcTagCommit, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ResetCherryPick), Handler: gui.exitCherryPickingMode, Description: gui.Tr.LcResetCherryPick, }, { ViewName: "commits", - Contexts: []string{BRANCH_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(BRANCH_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CopyCommitMessageToClipboard), Handler: gui.handleCopySelectedCommitMessageToClipboard, Description: gui.Tr.LcCopyCommitMessageToClipboard, }, { ViewName: "commits", - Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(REFLOG_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.handleViewReflogCommitFiles, Description: gui.Tr.LcViewCommitFiles, }, { ViewName: "commits", - Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(REFLOG_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Select), Handler: gui.handleCheckoutReflogCommit, Description: gui.Tr.LcCheckoutCommit, }, { ViewName: "commits", - Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(REFLOG_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ViewResetOptions), Handler: gui.handleCreateReflogResetMenu, Description: gui.Tr.LcViewResetOptions, @@ -886,49 +886,49 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "commits", - Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(REFLOG_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CherryPickCopy), Handler: gui.handleCopyCommit, Description: gui.Tr.LcCherryPickCopy, }, { ViewName: "commits", - Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(REFLOG_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CherryPickCopyRange), Handler: gui.handleCopyCommitRange, Description: gui.Tr.LcCherryPickCopyRange, }, { ViewName: "commits", - Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(REFLOG_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ResetCherryPick), Handler: gui.exitCherryPickingMode, Description: gui.Tr.LcResetCherryPick, }, { ViewName: "commits", - Contexts: []string{REFLOG_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(REFLOG_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyCommitShaToClipboard, }, { ViewName: "branches", - Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(SUB_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.handleViewSubCommitFiles, Description: gui.Tr.LcViewCommitFiles, }, { ViewName: "branches", - Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(SUB_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Select), Handler: gui.handleCheckoutSubCommit, Description: gui.Tr.LcCheckoutCommit, }, { ViewName: "branches", - Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(SUB_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ViewResetOptions), Handler: gui.handleCreateSubCommitResetMenu, Description: gui.Tr.LcViewResetOptions, @@ -936,35 +936,35 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "branches", - Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(SUB_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.New), Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcNewBranch, }, { ViewName: "branches", - Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(SUB_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CherryPickCopy), Handler: gui.handleCopyCommit, Description: gui.Tr.LcCherryPickCopy, }, { ViewName: "branches", - Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(SUB_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.CherryPickCopyRange), Handler: gui.handleCopyCommitRange, Description: gui.Tr.LcCherryPickCopyRange, }, { ViewName: "branches", - Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(SUB_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Commits.ResetCherryPick), Handler: gui.exitCherryPickingMode, Description: gui.Tr.LcResetCherryPick, }, { ViewName: "branches", - Contexts: []string{SUB_COMMITS_CONTEXT_KEY}, + Contexts: []string{string(SUB_COMMITS_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopyCommitShaToClipboard, @@ -1118,14 +1118,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "secondary", - Contexts: []string{MAIN_NORMAL_CONTEXT_KEY}, + Contexts: []string{string(MAIN_NORMAL_CONTEXT_KEY)}, Key: gocui.MouseLeft, Modifier: gocui.ModNone, Handler: gui.handleMouseDownSecondary, }, { ViewName: "main", - Contexts: []string{MAIN_NORMAL_CONTEXT_KEY}, + Contexts: []string{string(MAIN_NORMAL_CONTEXT_KEY)}, Key: gocui.MouseWheelDown, Handler: gui.scrollDownMain, Description: gui.Tr.ScrollDown, @@ -1133,7 +1133,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "main", - Contexts: []string{MAIN_NORMAL_CONTEXT_KEY}, + Contexts: []string{string(MAIN_NORMAL_CONTEXT_KEY)}, Key: gocui.MouseWheelUp, Handler: gui.scrollUpMain, Description: gui.Tr.ScrollUp, @@ -1141,147 +1141,147 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "main", - Contexts: []string{MAIN_NORMAL_CONTEXT_KEY}, + Contexts: []string{string(MAIN_NORMAL_CONTEXT_KEY)}, Key: gocui.MouseLeft, Modifier: gocui.ModNone, Handler: gui.handleMouseDownMain, }, { ViewName: "secondary", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gocui.MouseLeft, Modifier: gocui.ModNone, Handler: gui.handleTogglePanelClick, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Return), Handler: gui.handleStagingEscape, Description: gui.Tr.ReturnToFilesPanel, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Select), Handler: gui.handleToggleStagedSelection, Description: gui.Tr.StageSelection, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Remove), Handler: gui.handleResetSelection, Description: gui.Tr.ResetSelection, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.TogglePanel), Handler: gui.handleTogglePanel, Description: gui.Tr.TogglePanel, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Return), Handler: gui.handleEscapePatchBuildingPanel, Description: gui.Tr.ExitLineByLineMode, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.OpenFile), Handler: gui.handleOpenFileAtLine, Description: gui.Tr.LcOpenFile, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevItem), Handler: gui.handleSelectPrevLine, Description: gui.Tr.PrevLine, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextItem), Handler: gui.handleSelectNextLine, Description: gui.Tr.NextLine, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevItemAlt), Modifier: gocui.ModNone, Handler: gui.handleSelectPrevLine, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextItemAlt), Modifier: gocui.ModNone, Handler: gui.handleSelectNextLine, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, Handler: gui.scrollUpMain, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, Handler: gui.scrollDownMain, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevBlock), Handler: gui.handleSelectPrevHunk, Description: gui.Tr.PrevHunk, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevBlockAlt), Modifier: gocui.ModNone, Handler: gui.handleSelectPrevHunk, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextBlock), Handler: gui.handleSelectNextHunk, Description: gui.Tr.NextHunk, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextBlockAlt), Modifier: gocui.ModNone, Handler: gui.handleSelectNextHunk, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Edit), Handler: gui.handleFileEdit, Description: gui.Tr.LcEditFile, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.OpenFile), Handler: gui.handleFileOpen, Description: gui.Tr.LcOpenFile, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextPage), Modifier: gocui.ModNone, Handler: gui.handleLineByLineNextPage, @@ -1290,7 +1290,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevPage), Modifier: gocui.ModNone, Handler: gui.handleLineByLinePrevPage, @@ -1299,7 +1299,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GotoTop), Modifier: gocui.ModNone, Handler: gui.handleLineByLineGotoTop, @@ -1308,7 +1308,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GotoBottom), Modifier: gocui.ModNone, Handler: gui.handleLineByLineGotoBottom, @@ -1317,7 +1317,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.StartSearch), Handler: func() error { return gui.handleOpenSearch("main") }, Description: gui.Tr.LcStartSearch, @@ -1325,14 +1325,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Select), Handler: gui.handleToggleSelectionForPatch, Description: gui.Tr.ToggleSelectionForPatch, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Main.ToggleDragSelect), Handler: gui.handleToggleSelectRange, Description: gui.Tr.ToggleDragSelect, @@ -1340,196 +1340,196 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { // Alias 'V' -> 'v' { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Main.ToggleDragSelectAlt), Handler: gui.handleToggleSelectRange, Description: gui.Tr.ToggleDragSelect, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Main.ToggleSelectHunk), Handler: gui.handleToggleSelectHunk, Description: gui.Tr.ToggleSelectHunk, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gocui.MouseLeft, Modifier: gocui.ModNone, Handler: gui.handleLBLMouseDown, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gocui.MouseLeft, Modifier: gocui.ModMotion, Handler: gui.handleMouseDrag, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, Handler: gui.scrollUpMain, }, { ViewName: "main", - Contexts: []string{MAIN_PATCH_BUILDING_CONTEXT_KEY, MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_PATCH_BUILDING_CONTEXT_KEY), string(MAIN_STAGING_CONTEXT_KEY)}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, Handler: gui.scrollDownMain, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Files.CommitChanges), Handler: gui.handleCommitPress, Description: gui.Tr.CommitChanges, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Files.CommitChangesWithoutHook), Handler: gui.handleWIPCommitPress, Description: gui.Tr.LcCommitChangesWithoutHook, }, { ViewName: "main", - Contexts: []string{MAIN_STAGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_STAGING_CONTEXT_KEY)}, Key: gui.getKey(config.Files.CommitChangesWithEditor), Handler: gui.handleCommitEditorPress, Description: gui.Tr.CommitChangesWithEditor, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Return), Handler: gui.handleEscapeMerge, Description: gui.Tr.ReturnToFilesPanel, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Select), Handler: gui.handlePickHunk, Description: gui.Tr.PickHunk, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Main.PickBothHunks), Handler: gui.handlePickBothHunks, Description: gui.Tr.PickBothHunks, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevBlock), Handler: gui.handleSelectPrevConflict, Description: gui.Tr.PrevConflict, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextBlock), Handler: gui.handleSelectNextConflict, Description: gui.Tr.NextConflict, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevItem), Handler: gui.handleSelectTop, Description: gui.Tr.SelectTop, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextItem), Handler: gui.handleSelectBottom, Description: gui.Tr.SelectBottom, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gocui.MouseWheelUp, Modifier: gocui.ModNone, Handler: gui.handleSelectTop, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gocui.MouseWheelDown, Modifier: gocui.ModNone, Handler: gui.handleSelectBottom, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevBlockAlt), Modifier: gocui.ModNone, Handler: gui.handleSelectPrevConflict, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextBlockAlt), Modifier: gocui.ModNone, Handler: gui.handleSelectNextConflict, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.PrevItemAlt), Modifier: gocui.ModNone, Handler: gui.handleSelectTop, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.NextItemAlt), Modifier: gocui.ModNone, Handler: gui.handleSelectBottom, }, { ViewName: "main", - Contexts: []string{MAIN_MERGING_CONTEXT_KEY}, + Contexts: []string{string(MAIN_MERGING_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Undo), Handler: gui.handlePopFileSnapshot, Description: gui.Tr.LcUndo, }, { ViewName: "branches", - Contexts: []string{REMOTES_CONTEXT_KEY}, + Contexts: []string{string(REMOTES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Modifier: gocui.ModNone, Handler: gui.handleRemoteEnter, }, { ViewName: "branches", - Contexts: []string{REMOTES_CONTEXT_KEY}, + Contexts: []string{string(REMOTES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.New), Handler: gui.handleAddRemote, Description: gui.Tr.LcAddNewRemote, }, { ViewName: "branches", - Contexts: []string{REMOTES_CONTEXT_KEY}, + Contexts: []string{string(REMOTES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Remove), Handler: gui.handleRemoveRemote, Description: gui.Tr.LcRemoveRemote, }, { ViewName: "branches", - Contexts: []string{REMOTES_CONTEXT_KEY}, + Contexts: []string{string(REMOTES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Edit), Handler: gui.handleEditRemote, Description: gui.Tr.LcEditRemote, }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{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.handleNewBranchOffCurrentItem, @@ -1537,35 +1537,35 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(REMOTE_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.New), Handler: gui.handleNewBranchOffCurrentItem, Description: gui.Tr.LcNewBranch, }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(REMOTE_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.MergeIntoCurrentBranch), Handler: gui.handleMergeRemoteBranch, Description: gui.Tr.LcMergeIntoCurrentBranch, }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(REMOTE_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Remove), Handler: gui.handleDeleteRemoteBranch, Description: gui.Tr.LcDeleteBranch, }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(REMOTE_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.RebaseBranch), Handler: gui.handleRebaseOntoRemoteBranch, Description: gui.Tr.LcRebaseBranch, }, { ViewName: "branches", - Contexts: []string{REMOTE_BRANCHES_CONTEXT_KEY}, + Contexts: []string{string(REMOTE_BRANCHES_CONTEXT_KEY)}, Key: gui.getKey(config.Branches.SetUpstream), Handler: gui.handleSetBranchUpstream, Description: gui.Tr.LcSetUpstream, @@ -1632,21 +1632,21 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "files", - Contexts: []string{SUBMODULES_CONTEXT_KEY}, + Contexts: []string{string(SUBMODULES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, Description: gui.Tr.LcCopySubmoduleNameToClipboard, }, { ViewName: "files", - Contexts: []string{SUBMODULES_CONTEXT_KEY}, + Contexts: []string{string(SUBMODULES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.GoInto), Handler: gui.forSubmodule(gui.handleSubmoduleEnter), Description: gui.Tr.LcEnterSubmodule, }, { ViewName: "files", - Contexts: []string{SUBMODULES_CONTEXT_KEY}, + Contexts: []string{string(SUBMODULES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Remove), Handler: gui.forSubmodule(gui.handleResetRemoveSubmodule), Description: gui.Tr.LcViewResetAndRemoveOptions, @@ -1654,35 +1654,35 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { }, { ViewName: "files", - Contexts: []string{SUBMODULES_CONTEXT_KEY}, + Contexts: []string{string(SUBMODULES_CONTEXT_KEY)}, Key: gui.getKey(config.Submodules.Update), Handler: gui.forSubmodule(gui.handleUpdateSubmodule), Description: gui.Tr.LcSubmoduleUpdate, }, { ViewName: "files", - Contexts: []string{SUBMODULES_CONTEXT_KEY}, + Contexts: []string{string(SUBMODULES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.New), Handler: gui.handleAddSubmodule, Description: gui.Tr.LcAddSubmodule, }, { ViewName: "files", - Contexts: []string{SUBMODULES_CONTEXT_KEY}, + Contexts: []string{string(SUBMODULES_CONTEXT_KEY)}, Key: gui.getKey(config.Universal.Edit), Handler: gui.forSubmodule(gui.handleEditSubmoduleUrl), Description: gui.Tr.LcEditSubmoduleUrl, }, { ViewName: "files", - Contexts: []string{SUBMODULES_CONTEXT_KEY}, + Contexts: []string{string(SUBMODULES_CONTEXT_KEY)}, Key: gui.getKey(config.Submodules.Init), Handler: gui.forSubmodule(gui.handleSubmoduleInit), Description: gui.Tr.LcInitSubmodule, }, { ViewName: "files", - Contexts: []string{SUBMODULES_CONTEXT_KEY}, + Contexts: []string{string(SUBMODULES_CONTEXT_KEY)}, Key: gui.getKey(config.Submodules.BulkMenu), Handler: gui.handleBulkSubmoduleActionsMenu, Description: gui.Tr.LcViewBulkSubmoduleOptions, diff --git a/pkg/gui/merge_panel.go b/pkg/gui/merge_panel.go index e48f3c6d1..a3a6ee4cf 100644 --- a/pkg/gui/merge_panel.go +++ b/pkg/gui/merge_panel.go @@ -317,8 +317,8 @@ func (gui *Gui) promptToContinueRebase() error { } func (gui *Gui) canScrollMergePanel() bool { - currentViewName := gui.currentViewName() - if currentViewName != "main" && currentViewName != "files" { + currentView := gui.g.CurrentView() + if currentView != gui.Views.Main && currentView != gui.Views.Files { return false } diff --git a/pkg/gui/window.go b/pkg/gui/window.go index 9a712d68d..3dccde7e7 100644 --- a/pkg/gui/window.go +++ b/pkg/gui/window.go @@ -1,5 +1,7 @@ package gui +import "github.com/jesseduffield/gocui" + // A window refers to a place on the screen which can hold one or more views. // A view is a box that renders content, and within a window only one view will // appear at a time. When a view appears within a window, it occupies the whole @@ -15,28 +17,28 @@ func (gui *Gui) getViewNameForWindow(window string) string { return viewName } -func (gui *Gui) getWindowForViewName(viewName string) string { - if viewName == "commitFiles" { +func (gui *Gui) getWindowForView(view *gocui.View) string { + if view == gui.Views.CommitFiles { return gui.State.Contexts.CommitFiles.GetWindowName() } - return viewName + return view.Name() } -func (gui *Gui) setViewAsActiveForWindow(viewName string) { +func (gui *Gui) setViewAsActiveForWindow(view *gocui.View) { if gui.State.WindowViewNameMap == nil { gui.State.WindowViewNameMap = map[string]string{} } - gui.State.WindowViewNameMap[gui.getWindowForViewName(viewName)] = viewName + gui.State.WindowViewNameMap[gui.getWindowForView(view)] = view.Name() } func (gui *Gui) currentWindow() string { - return gui.getWindowForViewName(gui.currentViewName()) + return gui.getWindowForView(gui.g.CurrentView()) } -func (gui *Gui) resetWindowForView(viewName string) { - window := gui.getWindowForViewName(viewName) +func (gui *Gui) resetWindowForView(view *gocui.View) { + window := gui.getWindowForView(view) // we assume here that the window contains as its default view a view with the same name as the window gui.State.WindowViewNameMap[window] = window }