summaryrefslogtreecommitdiffstats
path: root/pkg/gui/keybindings.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/gui/keybindings.go')
-rw-r--r--pkg/gui/keybindings.go401
1 files changed, 51 insertions, 350 deletions
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go
index d7910d18b..8c1a78dd2 100644
--- a/pkg/gui/keybindings.go
+++ b/pkg/gui/keybindings.go
@@ -7,7 +7,6 @@ import (
"github.com/jesseduffield/gocui"
"github.com/jesseduffield/lazygit/pkg/constants"
- "github.com/jesseduffield/lazygit/pkg/gui/context"
"github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers"
"github.com/jesseduffield/lazygit/pkg/gui/keybindings"
"github.com/jesseduffield/lazygit/pkg/gui/types"
@@ -46,6 +45,11 @@ func (gui *Gui) noPopupPanel(f func() error) func() error {
// only to be called from the cheatsheet generate script. This mutates the Gui struct.
func (self *Gui) GetCheatsheetKeybindings() []*types.Binding {
+ self.g = &gocui.Gui{}
+ if err := self.createAllViews(); err != nil {
+ panic(err)
+ }
+ // need to instantiate views
self.helpers = helpers.NewStubHelpers()
self.State = &GuiRepoState{}
self.State.Contexts = self.contextTree()
@@ -173,7 +177,6 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
},
{
ViewName: "status",
- Contexts: []string{string(context.STATUS_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.Edit),
Handler: self.handleEditConfig,
Description: self.c.Tr.EditConfig,
@@ -192,70 +195,60 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
},
{
ViewName: "status",
- Contexts: []string{string(context.STATUS_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.OpenFile),
Handler: self.handleOpenConfig,
Description: self.c.Tr.OpenConfig,
},
{
ViewName: "status",
- Contexts: []string{string(context.STATUS_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Status.CheckForUpdate),
Handler: self.handleCheckForUpdate,
Description: self.c.Tr.LcCheckForUpdate,
},
{
ViewName: "status",
- Contexts: []string{string(context.STATUS_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Status.RecentRepos),
Handler: self.handleCreateRecentReposMenu,
Description: self.c.Tr.SwitchRepo,
},
{
ViewName: "status",
- Contexts: []string{string(context.STATUS_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Status.AllBranchesLogGraph),
Handler: self.handleShowAllBranchLogs,
Description: self.c.Tr.LcAllBranchesLogGraph,
},
{
ViewName: "files",
- Contexts: []string{string(context.FILES_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
Handler: self.handleCopySelectedSideContextItemToClipboard,
Description: self.c.Tr.LcCopyFileNameToClipboard,
},
{
- ViewName: "branches",
- Contexts: []string{string(context.LOCAL_BRANCHES_CONTEXT_KEY)},
+ ViewName: "localBranches",
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
Handler: self.handleCopySelectedSideContextItemToClipboard,
Description: self.c.Tr.LcCopyBranchNameToClipboard,
},
{
ViewName: "commits",
- Contexts: []string{string(context.LOCAL_COMMITS_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
Handler: self.handleCopySelectedSideContextItemToClipboard,
Description: self.c.Tr.LcCopyCommitShaToClipboard,
},
{
ViewName: "commits",
- Contexts: []string{string(context.LOCAL_COMMITS_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Commits.ResetCherryPick),
Handler: self.helpers.CherryPick.Reset,
Description: self.c.Tr.LcResetCherryPick,
},
{
- ViewName: "commits",
- Contexts: []string{string(context.REFLOG_COMMITS_CONTEXT_KEY)},
+ ViewName: "reflogCommits",
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
Handler: self.handleCopySelectedSideContextItemToClipboard,
Description: self.c.Tr.LcCopyCommitShaToClipboard,
},
{
ViewName: "subCommits",
- Contexts: []string{string(context.SUB_COMMITS_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
Handler: self.handleCopySelectedSideContextItemToClipboard,
Description: self.c.Tr.LcCopyCommitShaToClipboard,
@@ -268,7 +261,6 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
},
{
ViewName: "commitFiles",
- Contexts: []string{string(context.COMMIT_FILES_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
Handler: self.handleCopySelectedSideContextItemToClipboard,
Description: self.c.Tr.LcCopyCommitFileNameToClipboard,
@@ -315,7 +307,6 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
},
{
ViewName: "main",
- Contexts: []string{string(context.MAIN_NORMAL_CONTEXT_KEY)},
Key: gocui.MouseWheelDown,
Handler: self.scrollDownMain,
Description: self.c.Tr.ScrollDown,
@@ -323,7 +314,6 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
},
{
ViewName: "main",
- Contexts: []string{string(context.MAIN_NORMAL_CONTEXT_KEY)},
Key: gocui.MouseWheelUp,
Handler: self.scrollUpMain,
Description: self.c.Tr.ScrollUp,
@@ -331,370 +321,110 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
},
{
ViewName: "secondary",
- Contexts: []string{string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: gocui.MouseLeft,
- Modifier: gocui.ModNone,
- Handler: self.handleTogglePanelClick,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.Return),
- Handler: self.handleStagingEscape,
- Description: self.c.Tr.ReturnToFilesPanel,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.Select),
- Handler: self.handleToggleStagedSelection,
- Description: self.c.Tr.StageSelection,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.Remove),
- Handler: self.handleResetSelection,
- Description: self.c.Tr.ResetSelection,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.TogglePanel),
- Handler: self.handleTogglePanel,
- Description: self.c.Tr.TogglePanel,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.Return),
- Handler: self.handleEscapePatchBuildingPanel,
- Description: self.c.Tr.ExitLineByLineMode,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.OpenFile),
- Handler: self.handleOpenFileAtLine,
- Description: self.c.Tr.LcOpenFile,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.PrevItem),
- Handler: self.handleSelectPrevLine,
- Description: self.c.Tr.PrevLine,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.NextItem),
- Handler: self.handleSelectNextLine,
- Description: self.c.Tr.NextLine,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.PrevItemAlt),
- Modifier: gocui.ModNone,
- Handler: self.handleSelectPrevLine,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.NextItemAlt),
- Modifier: gocui.ModNone,
- Handler: self.handleSelectNextLine,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: gocui.MouseWheelUp,
- Modifier: gocui.ModNone,
- Handler: self.scrollUpMain,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: gocui.MouseWheelDown,
- Modifier: gocui.ModNone,
- Handler: self.scrollDownMain,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.PrevBlock),
- Handler: self.handleSelectPrevHunk,
- Description: self.c.Tr.PrevHunk,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.PrevBlockAlt),
- Modifier: gocui.ModNone,
- Handler: self.handleSelectPrevHunk,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.NextBlock),
- Handler: self.handleSelectNextHunk,
- Description: self.c.Tr.NextHunk,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.NextBlockAlt),
- Modifier: gocui.ModNone,
- Handler: self.handleSelectNextHunk,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
- Modifier: gocui.ModNone,
- Handler: self.copySelectedToClipboard,
- Description: self.c.Tr.LcCopySelectedTexToClipboard,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.Edit),
- Handler: self.handleLineByLineEdit,
- Description: self.c.Tr.LcEditFile,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.OpenFile),
- Handler: self.HandleOpenFile,
- Description: self.c.Tr.LcOpenFile,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.NextPage),
- Modifier: gocui.ModNone,
- Handler: self.handleLineByLineNextPage,
- Description: self.c.Tr.LcNextPage,
- Tag: "navigation",
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.PrevPage),
- Modifier: gocui.ModNone,
- Handler: self.handleLineByLinePrevPage,
- Description: self.c.Tr.LcPrevPage,
- Tag: "navigation",
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.GotoTop),
- Modifier: gocui.ModNone,
- Handler: self.handleLineByLineGotoTop,
- Description: self.c.Tr.LcGotoTop,
- Tag: "navigation",
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.GotoBottom),
- Modifier: gocui.ModNone,
- Handler: self.handleLineByLineGotoBottom,
- Description: self.c.Tr.LcGotoBottom,
- Tag: "navigation",
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.StartSearch),
- Handler: func() error { return self.handleOpenSearch("main") },
- Description: self.c.Tr.LcStartSearch,
- Tag: "navigation",
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Universal.Select),
- Handler: self.handleToggleSelectionForPatch,
- Description: self.c.Tr.ToggleSelectionForPatch,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Main.ToggleDragSelect),
- Handler: self.handleToggleSelectRange,
- Description: self.c.Tr.ToggleDragSelect,
- },
- // Alias 'V' -> 'v'
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Main.ToggleDragSelectAlt),
- Handler: self.handleToggleSelectRange,
- Description: self.c.Tr.ToggleDragSelect,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Main.ToggleSelectHunk),
- Handler: self.handleToggleSelectHunk,
- Description: self.c.Tr.ToggleSelectHunk,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: opts.GetKey(opts.Config.Main.EditSelectHunk),
- Handler: self.handleEditHunk,
- Description: self.c.Tr.EditHunk,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: gocui.MouseLeft,
- Modifier: gocui.ModNone,
- Handler: self.handleLBLMouseDown,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: gocui.MouseLeft,
- Modifier: gocui.ModMotion,
- Handler: self.handleMouseDrag,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
Key: gocui.MouseWheelUp,
Modifier: gocui.ModNone,
- Handler: self.scrollUpMain,
- },
- {
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY)},
- Key: gocui.MouseWheelDown,
- Modifier: gocui.ModNone,
- Handler: self.scrollDownMain,
+ Handler: self.scrollUpSecondary,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY), string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.ScrollLeft),
Handler: self.scrollLeftMain,
Description: self.c.Tr.LcScrollLeft,
Tag: "navigation",
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_PATCH_BUILDING_CONTEXT_KEY), string(context.MAIN_STAGING_CONTEXT_KEY), string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.ScrollRight),
Handler: self.scrollRightMain,
Description: self.c.Tr.LcScrollRight,
Tag: "navigation",
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.Return),
Handler: self.handleEscapeMerge,
Description: self.c.Tr.ReturnToFilesPanel,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Files.OpenMergeTool),
Handler: self.helpers.WorkingTree.OpenMergeTool,
Description: self.c.Tr.LcOpenMergeTool,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.Select),
Handler: self.handlePickHunk,
Description: self.c.Tr.PickHunk,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Main.PickBothHunks),
Handler: self.handlePickAllHunks,
Description: self.c.Tr.PickAllHunks,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.PrevBlock),
Handler: self.handleSelectPrevConflict,
Description: self.c.Tr.PrevConflict,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.NextBlock),
Handler: self.handleSelectNextConflict,
Description: self.c.Tr.NextConflict,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.PrevItem),
Handler: self.handleSelectPrevConflictHunk,
Description: self.c.Tr.SelectPrevHunk,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.NextItem),
Handler: self.handleSelectNextConflictHunk,
Description: self.c.Tr.SelectNextHunk,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.PrevBlockAlt),
Modifier: gocui.ModNone,
Handler: self.handleSelectPrevConflict,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.NextBlockAlt),
Modifier: gocui.ModNone,
Handler: self.handleSelectNextConflict,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.PrevItemAlt),
Modifier: gocui.ModNone,
Handler: self.handleSelectPrevConflictHunk,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.NextItemAlt),
Modifier: gocui.ModNone,
Handler: self.handleSelectNextConflictHunk,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.Edit),
Handler: self.handleMergeConflictEditFileAtLine,
Description: self.c.Tr.LcEditFile,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.OpenFile),
Handler: self.handleMergeConflictOpenFileAtLine,
Description: self.c.Tr.LcOpenFile,
},
{
- ViewName: "main",
- Contexts: []string{string(context.MAIN_MERGING_CONTEXT_KEY)},
+ ViewName: "merging",
Key: opts.GetKey(opts.Config.Universal.Undo),
Handler: self.handleMergeConflictUndo,
Description: self.c.Tr.LcUndo,
@@ -742,32 +472,18 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
Handler: self.scrollDownConfirmationPanel,
},
{
- ViewName: "files",
- Contexts: []string{string(context.SUBMODULES_CONTEXT_KEY)},
+ ViewName: "submodules",
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
Handler: self.handleCopySelectedSideContextItemToClipboard,
Description: self.c.Tr.LcCopySubmoduleNameToClipboard,
},
{
ViewName: "files",
- Contexts: []string{string(context.FILES_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.ToggleWhitespaceInDiffView),
Handler: self.toggleWhitespaceInDiffView,
Description: self.c.Tr.ToggleWhitespaceInDiffView,
},
{
- ViewName: "",
- Key: opts.GetKey(opts.Config.Universal.IncreaseContextInDiffView),
- Handler: self.IncreaseContextInDiffView,
- Description: self.c.Tr.IncreaseContextInDiffView,
- },
- {
- ViewName: "",
- Key: opts.GetKey(opts.Config.Universal.DecreaseContextInDiffView),
- Handler: self.DecreaseContextInDiffView,
- Description: self.c.Tr.DecreaseContextInDiffView,
- },
- {
ViewName: "extras",
Key: gocui.MouseWheelUp,
Handler: self.scrollUpExtra,
@@ -778,16 +494,8 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
Handler: self.scrollDownExtra,
},
{
- ViewName: "extras",
- Key: opts.GetKey(opts.Config.Universal.ExtrasMenu),
- Handler: self.handleCreateExtrasMenuPanel,
- Description: self.c.Tr.LcOpenExtrasMenu,
- OpensMenu: true,
- },
- {
ViewName: "extras",
Tag: "navigation",
- Contexts: []string{string(context.COMMAND_LOG_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.PrevItemAlt),
Modifier: gocui.ModNone,
Handler: self.scrollUpExtra,
@@ -795,7 +503,6 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
{
ViewName: "extras",
Tag: "navigation",
- Contexts: []string{string(context.COMMAND_LOG_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.PrevItem),
Modifier: gocui.ModNone,
Handler: self.scrollUpExtra,
@@ -803,7 +510,6 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
{
ViewName: "extras",
Tag: "navigation",
- Contexts: []string{string(context.COMMAND_LOG_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.NextItem),
Modifier: gocui.ModNone,
Handler: self.scrollDownExtra,
@@ -811,7 +517,6 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
{
ViewName: "extras",
Tag: "navigation",
- Contexts: []string{string(context.COMMAND_LOG_CONTEXT_KEY)},
Key: opts.GetKey(opts.Config.Universal.NextItemAlt),
Modifier: gocui.ModNone,
Handler: self.scrollDownExtra,
@@ -828,12 +533,8 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
mouseKeybindings := []*gocui.ViewMouseBinding{}
for _, c := range self.State.Contexts.Flatten() {
viewName := c.GetViewName()
- contextKey := c.GetKey()
for _, binding := range c.GetKeybindings(opts) {
// TODO: move all mouse keybindings into the mouse keybindings approach below
- if !gocui.IsMouseKey(binding.Key) && contextKey != context.GLOBAL_CONTEXT_KEY {
- binding.Contexts = []string{string(contextKey)}
- }
binding.ViewName = viewName
bindings = append(bindings, binding)
}
@@ -841,7 +542,7 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
mouseKeybindings = append(mouseKeybindings, c.GetMouseKeybindings(opts)...)
}
- for _, viewName := range []string{"status", "branches", "remoteBranches", "files", "commits", "commitFiles", "subCommits", "stash"} {
+ for _, viewName := range []string{"status", "remotes", "tags", "localBranches", "remoteBranches", "files", "submodules", "reflogCommits", "commits", "commitFiles", "subCommits", "stash"} {
bindings = append(bindings, []*types.Binding{
{ViewName: viewName, Key: opts.GetKey(opts.Config.Universal.PrevBlock), Modifier: gocui.ModNone, Handler: self.previousSideWindow},
{ViewName: viewName, Key: opts.GetKey(opts.Config.Universal.NextBlock), Modifier: gocui.ModNone, Handler: self.nextSideWindow},
@@ -868,24 +569,22 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
}
}
- for viewName := range self.initialViewTabContextMap(self.State.Contexts) {
- bindings = append(bindings, []*types.Binding{
- {
- ViewName: viewName,
- Key: opts.GetKey(opts.Config.Universal.NextTab),
- Handler: self.handleNextTab,
- Description: self.c.Tr.LcNextTab,
- Tag: "navigation",
- },
- {
- ViewName: viewName,
- Key: opts.GetKey(opts.Config.Universal.PrevTab),
- Handler: self.handlePrevTab,
- Description: self.c.Tr.LcPrevTab,
- Tag: "navigation",
- },
- }...)
- }
+ bindings = append(bindings, []*types.Binding{
+ {
+ ViewName: "",
+ Key: opts.GetKey(opts.Config.Universal.NextTab),
+ Handler: self.handleNextTab,
+ Description: self.c.Tr.LcNextTab,
+ Tag: "navigation",
+ },
+ {
+ ViewName: "",
+ Key: opts.GetKey(opts.Config.Universal.PrevTab),
+ Handler: self.handlePrevTab,
+ Description: self.c.Tr.LcPrevTab,
+ Tag: "navigation",
+ },
+ }...)
return bindings, mouseKeybindings
}
@@ -914,12 +613,14 @@ func (gui *Gui) resetKeybindings() error {
}
}
- for viewName := range gui.initialViewTabContextMap(gui.State.Contexts) {
- viewName := viewName
- tabClickCallback := func(tabIndex int) error { return gui.onViewTabClick(viewName, tabIndex) }
+ for _, values := range gui.viewTabMap() {
+ for _, value := range values {
+ viewName := value.ViewName
+ tabClickCallback := func(tabIndex int) error { return gui.onViewTabClick(gui.windowForView(viewName), tabIndex) }
- if err := gui.g.SetTabClickBinding(viewName, tabClickCallback); err != nil {
- return err
+ if err := gui.g.SetTabClickBinding(viewName, tabClickCallback); err != nil {
+ return err
+ }
}
}
@@ -946,7 +647,7 @@ func (gui *Gui) SetKeybinding(binding *types.Binding) error {
}
}
- return gui.g.SetKeybinding(binding.ViewName, binding.Contexts, binding.Key, binding.Modifier, gui.wrappedHandler(handler))
+ return gui.g.SetKeybinding(binding.ViewName, binding.Key, binding.Modifier, gui.wrappedHandler(handler))
}
// warning: mutates the binding