From 26366641c0bf13c7ad4124728c2c1eaa728db226 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Sun, 10 May 2026 17:09:20 +0200 Subject: [PATCH] Rename Key to Keys in Binding, KeybindingsOpts, and MenuItem This is a straight rename with no other code changes. Doing it in a separate commit to keep the diff of the previous one somewhat readable. --- pkg/cheatsheet/generate.go | 6 +- pkg/cheatsheet/generate_test.go | 58 +++++----- pkg/gui/context/menu_context.go | 10 +- .../controllers/basic_commits_controller.go | 34 +++--- pkg/gui/controllers/bisect_controller.go | 18 +-- pkg/gui/controllers/branches_controller.go | 56 ++++----- .../commit_description_controller.go | 10 +- .../controllers/commit_message_controller.go | 12 +- .../controllers/commits_files_controller.go | 36 +++--- .../controllers/confirmation_controller.go | 6 +- .../controllers/context_lines_controller.go | 4 +- .../custom_patch_options_menu_action.go | 18 +-- pkg/gui/controllers/files_controller.go | 92 +++++++-------- pkg/gui/controllers/filter_controller.go | 2 +- pkg/gui/controllers/git_flow_controller.go | 10 +- pkg/gui/controllers/global_controller.go | 34 +++--- pkg/gui/controllers/helpers/commits_helper.go | 6 +- .../helpers/merge_and_rebase_helper.go | 30 ++--- pkg/gui/controllers/helpers/refs_helper.go | 30 ++--- .../helpers/working_tree_helper.go | 8 +- .../jump_to_side_window_controller.go | 2 +- pkg/gui/controllers/list_controller.go | 30 ++--- .../controllers/local_commits_controller.go | 68 +++++------ pkg/gui/controllers/main_view_controller.go | 6 +- pkg/gui/controllers/menu_controller.go | 6 +- .../controllers/merge_conflicts_controller.go | 34 +++--- pkg/gui/controllers/options_menu_action.go | 2 +- .../controllers/patch_building_controller.go | 10 +- .../controllers/patch_explorer_controller.go | 42 +++---- pkg/gui/controllers/prompt_controller.go | 6 +- .../controllers/remote_branches_controller.go | 18 +-- pkg/gui/controllers/remotes_controller.go | 12 +- .../rename_similarity_threshold_controller.go | 4 +- pkg/gui/controllers/search_controller.go | 2 +- .../controllers/search_prompt_controller.go | 8 +- pkg/gui/controllers/side_window_controller.go | 12 +- pkg/gui/controllers/snake_controller.go | 10 +- pkg/gui/controllers/staging_controller.go | 22 ++-- pkg/gui/controllers/stash_controller.go | 10 +- pkg/gui/controllers/status_controller.go | 12 +- pkg/gui/controllers/submodules_controller.go | 24 ++-- pkg/gui/controllers/suggestions_controller.go | 10 +- .../switch_to_diff_files_controller.go | 2 +- .../switch_to_focused_main_view_controller.go | 2 +- .../switch_to_sub_commits_controller.go | 2 +- pkg/gui/controllers/sync_controller.go | 4 +- pkg/gui/controllers/tags_controller.go | 18 +-- pkg/gui/controllers/undo_controller.go | 4 +- .../controllers/view_selection_controller.go | 20 ++-- .../controllers/workspace_reset_controller.go | 14 +-- .../worktree_options_controller.go | 2 +- pkg/gui/controllers/worktrees_controller.go | 10 +- pkg/gui/extras_panel.go | 4 +- pkg/gui/keybindings.go | 108 +++++++++--------- pkg/gui/menu_panel.go | 2 +- pkg/gui/options_map.go | 6 +- pkg/gui/services/custom_commands/client.go | 6 +- .../custom_commands/handler_creator.go | 2 +- .../custom_commands/keybinding_creator.go | 2 +- pkg/gui/types/common.go | 4 +- pkg/gui/types/context.go | 6 +- pkg/gui/types/keybindings.go | 2 +- 62 files changed, 525 insertions(+), 525 deletions(-) diff --git a/pkg/cheatsheet/generate.go b/pkg/cheatsheet/generate.go index 22bc0c505..bd2eff624 100644 --- a/pkg/cheatsheet/generate.go +++ b/pkg/cheatsheet/generate.go @@ -145,7 +145,7 @@ func getBindingSections(bindings []*types.Binding, tr *i18n.TranslationSet) []*b return false } - return (binding.Description != "" || binding.Alternative != "") && len(binding.Key) > 0 + return (binding.Description != "" || binding.Alternative != "") && len(binding.Keys) > 0 }) bindingsByHeader := lo.GroupBy(bindingsToDisplay, func(binding *types.Binding) header { @@ -156,7 +156,7 @@ func getBindingSections(bindings []*types.Binding, tr *i18n.TranslationSet) []*b bindingsByHeader, func(header header, hBindings []*types.Binding) headerWithBindings { uniqBindings := lo.UniqBy(hBindings, func(binding *types.Binding) string { - return binding.Description + config.LabelForKey(binding.Key[0]) + return binding.Description + config.LabelForKey(binding.Keys[0]) }) return headerWithBindings{ @@ -214,7 +214,7 @@ func formatTitle(title string) string { } func formatBinding(binding *types.Binding) string { - action := config.LabelForKey(binding.Key[0]) + action := config.LabelForKey(binding.Keys[0]) description := binding.Description if binding.Alternative != "" { action += fmt.Sprintf(" (%s)", binding.Alternative) diff --git a/pkg/cheatsheet/generate_test.go b/pkg/cheatsheet/generate_test.go index 3ff066244..373fcaa35 100644 --- a/pkg/cheatsheet/generate_test.go +++ b/pkg/cheatsheet/generate_test.go @@ -28,7 +28,7 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "stage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, expected: []*bindingSection{ @@ -38,7 +38,7 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "stage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, }, @@ -50,7 +50,7 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "", Description: "quit", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, expected: []*bindingSection{ @@ -60,7 +60,7 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "", Description: "quit", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, }, @@ -72,17 +72,17 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "stage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "files", Description: "unstage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "submodules", Description: "drop submodule", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, expected: []*bindingSection{ @@ -92,12 +92,12 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "stage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "files", Description: "unstage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, }, @@ -107,7 +107,7 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "submodules", Description: "drop submodule", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, }, @@ -119,23 +119,23 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "stage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "files", Description: "unstage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "files", Description: "scroll", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, Tag: "navigation", }, { ViewName: "commits", Description: "revert commit", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, expected: []*bindingSection{ @@ -145,7 +145,7 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "scroll", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, Tag: "navigation", }, }, @@ -156,7 +156,7 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "commits", Description: "revert commit", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, }, @@ -166,12 +166,12 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "stage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "files", Description: "unstage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, }, @@ -183,34 +183,34 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "stage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "files", Description: "unstage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "files", Description: "scroll", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, Tag: "navigation", }, { ViewName: "commits", Description: "revert commit", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "commits", Description: "scroll", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, Tag: "navigation", }, { ViewName: "commits", Description: "page up", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, Tag: "navigation", }, }, @@ -221,13 +221,13 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "scroll", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, Tag: "navigation", }, { ViewName: "commits", Description: "page up", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, Tag: "navigation", }, }, @@ -238,7 +238,7 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "commits", Description: "revert commit", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, }, @@ -248,12 +248,12 @@ func TestGetBindingSections(t *testing.T) { { ViewName: "files", Description: "stage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, { ViewName: "files", Description: "unstage file", - Key: []gocui.Key{gocui.NewKeyRune('a')}, + Keys: []gocui.Key{gocui.NewKeyRune('a')}, }, }, }, diff --git a/pkg/gui/context/menu_context.go b/pkg/gui/context/menu_context.go index 03b8d51c4..9feef1e4c 100644 --- a/pkg/gui/context/menu_context.go +++ b/pkg/gui/context/menu_context.go @@ -76,7 +76,7 @@ func NewMenuViewModel(c *ContextCommon) *MenuViewModel { if filterKeybindings { // Allow searching all configured keybindings of each item, even though only the // first one is shown in the menu. - return lo.Map(item.Key, func(k gocui.Key, _ int) string { + return lo.Map(item.Keys, func(k gocui.Key, _ int) string { return config.LabelForKey(k) }) } @@ -143,8 +143,8 @@ func (self *MenuViewModel) GetDisplayStrings(_ int, _ int) [][]string { } keyLabel := "" - if len(item.Key) > 0 { - keyLabel = style.FgCyan.Sprint(config.LabelForKey(item.Key[0])) + if len(item.Keys) > 0 { + keyLabel = style.FgCyan.Sprint(config.LabelForKey(item.Keys[0])) } checkMark := "" @@ -210,12 +210,12 @@ func (self *MenuViewModel) GetNonModelItems() []*NonModelItem { func (self *MenuContext) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { basicBindings := self.ListContextTrait.GetKeybindings(opts) menuItemsWithKeys := lo.Filter(self.menuItems, func(item *types.MenuItem, _ int) bool { - return len(item.Key) > 0 + return len(item.Keys) > 0 }) menuItemBindings := lo.Map(menuItemsWithKeys, func(item *types.MenuItem, _ int) *types.Binding { return &types.Binding{ - Key: item.Key, + Keys: item.Keys, Handler: func() error { return self.OnMenuPress(item) }, } }) diff --git a/pkg/gui/controllers/basic_commits_controller.go b/pkg/gui/controllers/basic_commits_controller.go index 60605cf44..3e019bf18 100644 --- a/pkg/gui/controllers/basic_commits_controller.go +++ b/pkg/gui/controllers/basic_commits_controller.go @@ -51,7 +51,7 @@ func NewBasicCommitsController(c *ControllerCommon, context ContainsCommits) *Ba func (self *BasicCommitsController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Commits.CheckoutCommit), + Keys: opts.GetKeys(opts.Config.Commits.CheckoutCommit), Handler: self.withItem(self.checkout), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Checkout, @@ -59,7 +59,7 @@ func (self *BasicCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Commits.CopyCommitAttributeToClipboard), + Keys: opts.GetKeys(opts.Config.Commits.CopyCommitAttributeToClipboard), Handler: self.withItem(self.copyCommitAttribute), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.CopyCommitAttributeToClipboard, @@ -67,13 +67,13 @@ func (self *BasicCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Commits.OpenInBrowser), + Keys: opts.GetKeys(opts.Config.Commits.OpenInBrowser), Handler: self.withItem(self.openInBrowser), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.OpenCommitInBrowser, }, { - Key: opts.GetKey(opts.Config.Universal.New), + Keys: opts.GetKeys(opts.Config.Universal.New), Handler: self.withItem(self.newBranch), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.CreateNewBranchFromCommit, @@ -83,14 +83,14 @@ func (self *BasicCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ // panel. But I find it important that this ends up next to "New Branch", and I couldn't // find another way to achieve this. It's not such a big deal to have it in subcommits and // reflog too, I'd say. - Key: opts.GetKey(opts.Config.Branches.MoveCommitsToNewBranch), + Keys: opts.GetKeys(opts.Config.Branches.MoveCommitsToNewBranch), Handler: self.c.Helpers().Refs.MoveCommitsToNewBranch, GetDisabledReason: self.c.Helpers().Refs.CanMoveCommitsToNewBranch, Description: self.c.Tr.MoveCommitsToNewBranch, Tooltip: self.c.Tr.MoveCommitsToNewBranchTooltip, }, { - Key: opts.GetKey(opts.Config.Commits.ViewResetOptions), + Keys: opts.GetKeys(opts.Config.Commits.ViewResetOptions), Handler: self.withItem(self.createResetMenu), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.ViewResetOptions, @@ -99,7 +99,7 @@ func (self *BasicCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Commits.CherryPickCopy), + Keys: opts.GetKeys(opts.Config.Commits.CherryPickCopy), Handler: self.withItem(self.copyRange), GetDisabledReason: self.require(self.itemRangeSelected(self.canCopyCommits)), Description: self.c.Tr.CherryPickCopy, @@ -112,18 +112,18 @@ func (self *BasicCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Commits.ResetCherryPick), + Keys: opts.GetKeys(opts.Config.Commits.ResetCherryPick), Handler: self.c.Helpers().CherryPick.Reset, Description: self.c.Tr.ResetCherryPick, }, { - Key: opts.GetKey(opts.Config.Universal.OpenDiffTool), + Keys: opts.GetKeys(opts.Config.Universal.OpenDiffTool), Handler: self.withItem(self.openDiffTool), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.OpenDiffTool, }, { - Key: opts.GetKey(opts.Config.Commits.SelectCommitsOfCurrentBranch), + Keys: opts.GetKeys(opts.Config.Commits.SelectCommitsOfCurrentBranch), Handler: self.selectCommitsOfCurrentBranch, GetDisabledReason: self.require(self.canSelectCommitsOfCurrentBranch), Description: self.c.Tr.SelectCommitsOfCurrentBranch, @@ -163,14 +163,14 @@ func (self *BasicCommitsController) copyCommitAttribute(commit *models.Commit) e OnPress: func() error { return self.copyCommitSubjectToClipboard(commit) }, - Key: menuKey('s'), + Keys: menuKey('s'), }, { Label: self.c.Tr.CommitMessage, OnPress: func() error { return self.copyCommitMessageToClipboard(commit) }, - Key: menuKey('m'), + Keys: menuKey('m'), }, { Label: self.c.Tr.CommitMessageBody, @@ -178,28 +178,28 @@ func (self *BasicCommitsController) copyCommitAttribute(commit *models.Commit) e OnPress: func() error { return self.copyCommitMessageBodyToClipboard(commitMessageBody) }, - Key: menuKey('b'), + Keys: menuKey('b'), }, { Label: self.c.Tr.CommitURL, OnPress: func() error { return self.copyCommitURLToClipboard(commit) }, - Key: menuKey('u'), + Keys: menuKey('u'), }, { Label: self.c.Tr.CommitDiff, OnPress: func() error { return self.copyCommitDiffToClipboard(commit) }, - Key: menuKey('d'), + Keys: menuKey('d'), }, { Label: self.c.Tr.CommitAuthor, OnPress: func() error { return self.copyAuthorToClipboard(commit) }, - Key: menuKey('a'), + Keys: menuKey('a'), }, } @@ -208,7 +208,7 @@ func (self *BasicCommitsController) copyCommitAttribute(commit *models.Commit) e OnPress: func() error { return self.copyCommitTagsToClipboard(commit) }, - Key: menuKey('t'), + Keys: menuKey('t'), } if len(commit.Tags) == 0 { diff --git a/pkg/gui/controllers/bisect_controller.go b/pkg/gui/controllers/bisect_controller.go index d86d34f93..1066237c1 100644 --- a/pkg/gui/controllers/bisect_controller.go +++ b/pkg/gui/controllers/bisect_controller.go @@ -38,7 +38,7 @@ func NewBisectController( func (self *BisectController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Commits.ViewBisectOptions), + Keys: opts.GetKeys(opts.Config.Commits.ViewBisectOptions), Handler: opts.Guards.OutsideFilterMode(self.withItem(self.openMenu)), Description: self.c.Tr.ViewBisectOptions, OpensMenu: true, @@ -101,7 +101,7 @@ func (self *BisectController) openMidBisectMenu(info *git_commands.BisectInfo, c return self.afterMark(selectCurrentAfter, waitToReselect) }, DisabledReason: singleItemIfNotBisecting, - Key: menuKey('b'), + Keys: menuKey('b'), }, { Label: fmt.Sprintf(self.c.Tr.Bisect.Mark, shortHashToMark, info.OldTerm()), @@ -114,7 +114,7 @@ func (self *BisectController) openMidBisectMenu(info *git_commands.BisectInfo, c return self.afterMark(selectCurrentAfter, waitToReselect) }, DisabledReason: singleItemIfNotBisecting, - Key: menuKey('g'), + Keys: menuKey('g'), }, { Label: fmt.Sprintf(self.c.Tr.Bisect.SkipCurrent, shortHashToMark), @@ -127,7 +127,7 @@ func (self *BisectController) openMidBisectMenu(info *git_commands.BisectInfo, c return self.afterMark(selectCurrentAfter, waitToReselect) }, DisabledReason: singleItemIfNotBisecting, - Key: menuKey('s'), + Keys: menuKey('s'), }, } if info.GetCurrentHash() != "" && info.GetCurrentHash() != commit.Hash() { @@ -142,7 +142,7 @@ func (self *BisectController) openMidBisectMenu(info *git_commands.BisectInfo, c return self.afterMark(selectCurrentAfter, waitToReselect) }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('S'), + Keys: menuKey('S'), })) } menuItems = append(menuItems, lo.ToPtr(types.MenuItem{ @@ -150,7 +150,7 @@ func (self *BisectController) openMidBisectMenu(info *git_commands.BisectInfo, c OnPress: func() error { return self.c.Helpers().Bisect.Reset() }, - Key: menuKey('r'), + Keys: menuKey('r'), })) return self.c.Menu(types.CreateMenuOptions{ @@ -179,7 +179,7 @@ func (self *BisectController) openStartBisectMenu(info *git_commands.BisectInfo, return nil }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('b'), + Keys: menuKey('b'), }, { Label: fmt.Sprintf(self.c.Tr.Bisect.MarkStart, commit.ShortHash(), info.OldTerm()), @@ -197,7 +197,7 @@ func (self *BisectController) openStartBisectMenu(info *git_commands.BisectInfo, return nil }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('g'), + Keys: menuKey('g'), }, { Label: self.c.Tr.Bisect.ChooseTerms, @@ -222,7 +222,7 @@ func (self *BisectController) openStartBisectMenu(info *git_commands.BisectInfo, }) return nil }, - Key: menuKey('t'), + Keys: menuKey('t'), }, }, }) diff --git a/pkg/gui/controllers/branches_controller.go b/pkg/gui/controllers/branches_controller.go index 9fc595952..24ef84d54 100644 --- a/pkg/gui/controllers/branches_controller.go +++ b/pkg/gui/controllers/branches_controller.go @@ -45,7 +45,7 @@ func NewBranchesController( func (self *BranchesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItem(self.press), GetDisabledReason: self.require( self.singleItemSelected(), @@ -56,64 +56,64 @@ func (self *BranchesController) GetKeybindings(opts types.KeybindingsOpts) []*ty DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.New), + Keys: opts.GetKeys(opts.Config.Universal.New), Handler: self.withItem(self.newBranch), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.NewBranch, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.MoveCommitsToNewBranch), + Keys: opts.GetKeys(opts.Config.Branches.MoveCommitsToNewBranch), Handler: self.c.Helpers().Refs.MoveCommitsToNewBranch, GetDisabledReason: self.c.Helpers().Refs.CanMoveCommitsToNewBranch, Description: self.c.Tr.MoveCommitsToNewBranch, Tooltip: self.c.Tr.MoveCommitsToNewBranchTooltip, }, { - Key: opts.GetKey(opts.Config.Branches.CreatePullRequest), + Keys: opts.GetKeys(opts.Config.Branches.CreatePullRequest), Handler: self.withItem(self.handleCreatePullRequest), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.CreatePullRequest, }, { - Key: opts.GetKey(opts.Config.Branches.ViewPullRequestOptions), + Keys: opts.GetKeys(opts.Config.Branches.ViewPullRequestOptions), Handler: self.withItem(self.handleCreatePullRequestMenu), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.CreatePullRequestOptions, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Branches.OpenPullRequestInBrowser), + Keys: opts.GetKeys(opts.Config.Branches.OpenPullRequestInBrowser), Handler: self.withItem(self.openPRInBrowser), GetDisabledReason: self.require(self.singleItemSelected(self.branchHasPR)), Description: self.c.Tr.OpenPullRequestInBrowser, }, { - Key: opts.GetKey(opts.Config.Branches.CopyPullRequestURL), + Keys: opts.GetKeys(opts.Config.Branches.CopyPullRequestURL), Handler: self.copyPullRequestURL, GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.CopyPullRequestURL, }, { - Key: opts.GetKey(opts.Config.Branches.CheckoutBranchByName), + Keys: opts.GetKeys(opts.Config.Branches.CheckoutBranchByName), Handler: self.checkoutByName, Description: self.c.Tr.CheckoutByName, Tooltip: self.c.Tr.CheckoutByNameTooltip, }, { - Key: opts.GetKey(opts.Config.Branches.CheckoutPreviousBranch), + Keys: opts.GetKeys(opts.Config.Branches.CheckoutPreviousBranch), Handler: self.checkoutPreviousBranch, Description: self.c.Tr.CheckoutPreviousBranch, }, { - Key: opts.GetKey(opts.Config.Branches.ForceCheckoutBranch), + Keys: opts.GetKeys(opts.Config.Branches.ForceCheckoutBranch), Handler: self.forceCheckout, GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.ForceCheckout, Tooltip: self.c.Tr.ForceCheckoutTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItems(self.delete), GetDisabledReason: self.require(self.itemRangeSelected(self.branchesAreReal)), Description: self.c.Tr.Delete, @@ -122,7 +122,7 @@ func (self *BranchesController) GetKeybindings(opts types.KeybindingsOpts) []*ty DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.RebaseBranch), + Keys: opts.GetKeys(opts.Config.Branches.RebaseBranch), Handler: opts.Guards.OutsideFilterMode(self.withItem(self.rebase)), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.RebaseBranch, @@ -131,7 +131,7 @@ func (self *BranchesController) GetKeybindings(opts types.KeybindingsOpts) []*ty DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.MergeIntoCurrentBranch), + Keys: opts.GetKeys(opts.Config.Branches.MergeIntoCurrentBranch), Handler: opts.Guards.OutsideFilterMode(self.merge), GetDisabledReason: self.require(self.singleItemSelected(self.notMergingIntoYourself)), Description: self.c.Tr.Merge, @@ -140,26 +140,26 @@ func (self *BranchesController) GetKeybindings(opts types.KeybindingsOpts) []*ty OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Branches.FastForward), + Keys: opts.GetKeys(opts.Config.Branches.FastForward), Handler: self.withItem(self.fastForward), GetDisabledReason: self.require(self.singleItemSelected(self.branchIsReal)), Description: self.c.Tr.FastForward, Tooltip: self.c.Tr.FastForwardTooltip, }, { - Key: opts.GetKey(opts.Config.Branches.CreateTag), + Keys: opts.GetKeys(opts.Config.Branches.CreateTag), Handler: self.withItem(self.createTag), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.NewTag, }, { - Key: opts.GetKey(opts.Config.Branches.SortOrder), + Keys: opts.GetKeys(opts.Config.Branches.SortOrder), Handler: self.createSortMenu, Description: self.c.Tr.SortOrder, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Commits.ViewResetOptions), + Keys: opts.GetKeys(opts.Config.Commits.ViewResetOptions), Handler: self.withItem(self.createResetMenu), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.ViewResetOptions, @@ -167,13 +167,13 @@ func (self *BranchesController) GetKeybindings(opts types.KeybindingsOpts) []*ty DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.RenameBranch), + Keys: opts.GetKeys(opts.Config.Branches.RenameBranch), Handler: self.withItem(self.rename), GetDisabledReason: self.require(self.singleItemSelected(self.branchIsReal)), Description: self.c.Tr.RenameBranch, }, { - Key: opts.GetKey(opts.Config.Branches.SetUpstream), + Keys: opts.GetKeys(opts.Config.Branches.SetUpstream), Handler: self.withItem(self.viewUpstreamOptions), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.ViewBranchUpstreamOptions, @@ -183,7 +183,7 @@ func (self *BranchesController) GetKeybindings(opts types.KeybindingsOpts) []*ty DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.OpenDiffTool), + Keys: opts.GetKeys(opts.Config.Universal.OpenDiffTool), Handler: self.withItem(func(selectedBranch *models.Branch) error { return self.c.Helpers().Diff.OpenDiffToolForRef(selectedBranch) }), @@ -300,7 +300,7 @@ func (self *BranchesController) viewUpstreamOptions(selectedBranch *models.Branc ) viewDivergenceFromBaseBranchItem := &types.MenuItem{ LabelColumns: []string{label}, - Key: menuKey('b'), + Keys: menuKey('b'), OnPress: func() error { branch := self.context().GetSelected() if branch == nil { @@ -333,7 +333,7 @@ func (self *BranchesController) viewUpstreamOptions(selectedBranch *models.Branc }) return nil }, - Key: menuKey('u'), + Keys: menuKey('u'), } setUpstreamItem := &types.MenuItem{ @@ -358,7 +358,7 @@ func (self *BranchesController) viewUpstreamOptions(selectedBranch *models.Branc return nil }) }, - Key: menuKey('s'), + Keys: menuKey('s'), } upstreamResetOptions := utils.ResolvePlaceholderString( @@ -391,7 +391,7 @@ func (self *BranchesController) viewUpstreamOptions(selectedBranch *models.Branc return nil }, Tooltip: upstreamResetTooltip, - Key: menuKey('g'), + Keys: menuKey('g'), } upstreamRebaseItem := &types.MenuItem{ @@ -404,7 +404,7 @@ func (self *BranchesController) viewUpstreamOptions(selectedBranch *models.Branc return nil }, Tooltip: upstreamRebaseTooltip, - Key: menuKey('r'), + Keys: menuKey('r'), } if !selectedBranch.IsTrackingRemote() { @@ -624,7 +624,7 @@ func (self *BranchesController) delete(branches []*models.Branch) error { localDeleteItem := &types.MenuItem{ Label: lo.Ternary(len(branches) > 1, self.c.Tr.DeleteLocalBranches, self.c.Tr.DeleteLocalBranch), - Key: menuKey('c'), + Keys: menuKey('c'), OnPress: func() error { return self.localDelete(branches) }, @@ -635,7 +635,7 @@ func (self *BranchesController) delete(branches []*models.Branch) error { remoteDeleteItem := &types.MenuItem{ Label: lo.Ternary(len(branches) > 1, self.c.Tr.DeleteRemoteBranches, self.c.Tr.DeleteRemoteBranch), - Key: menuKey('r'), + Keys: menuKey('r'), OnPress: func() error { return self.remoteDelete(branches) }, @@ -648,7 +648,7 @@ func (self *BranchesController) delete(branches []*models.Branch) error { deleteBothItem := &types.MenuItem{ Label: lo.Ternary(len(branches) > 1, self.c.Tr.DeleteLocalAndRemoteBranches, self.c.Tr.DeleteLocalAndRemoteBranch), - Key: menuKey('b'), + Keys: menuKey('b'), OnPress: func() error { return self.localAndRemoteDelete(branches) }, diff --git a/pkg/gui/controllers/commit_description_controller.go b/pkg/gui/controllers/commit_description_controller.go index 63f6876e5..0e5102e3e 100644 --- a/pkg/gui/controllers/commit_description_controller.go +++ b/pkg/gui/controllers/commit_description_controller.go @@ -25,23 +25,23 @@ func NewCommitDescriptionController( func (self *CommitDescriptionController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.TogglePanel), + Keys: opts.GetKeys(opts.Config.Universal.TogglePanel), Handler: self.handleTogglePanel, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.close, }, { - Key: opts.GetKey(opts.Config.Universal.ConfirmInEditor), + Keys: opts.GetKeys(opts.Config.Universal.ConfirmInEditor), Handler: self.confirm, }, { - Key: opts.GetKey(opts.Config.Universal.ConfirmInEditorAlt), + Keys: opts.GetKeys(opts.Config.Universal.ConfirmInEditorAlt), Handler: self.confirm, }, { - Key: opts.GetKey(opts.Config.CommitMessage.CommitMenu), + Keys: opts.GetKeys(opts.Config.CommitMessage.CommitMenu), Handler: self.openCommitMenu, }, } diff --git a/pkg/gui/controllers/commit_message_controller.go b/pkg/gui/controllers/commit_message_controller.go index e1561690c..4743598f6 100644 --- a/pkg/gui/controllers/commit_message_controller.go +++ b/pkg/gui/controllers/commit_message_controller.go @@ -29,29 +29,29 @@ func NewCommitMessageController( func (self *CommitMessageController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.SubmitEditorText), + Keys: opts.GetKeys(opts.Config.Universal.SubmitEditorText), Handler: self.confirm, Description: self.c.Tr.Confirm, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.close, Description: self.c.Tr.Close, }, { - Key: opts.GetKey(opts.Config.Universal.PrevItem), + Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: self.handlePreviousCommit, }, { - Key: opts.GetKey(opts.Config.Universal.NextItem), + Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: self.handleNextCommit, }, { - Key: opts.GetKey(opts.Config.Universal.TogglePanel), + Keys: opts.GetKeys(opts.Config.Universal.TogglePanel), Handler: self.handleTogglePanel, }, { - Key: opts.GetKey(opts.Config.CommitMessage.CommitMenu), + Keys: opts.GetKeys(opts.Config.CommitMessage.CommitMenu), Handler: self.openCommitMenu, }, } diff --git a/pkg/gui/controllers/commits_files_controller.go b/pkg/gui/controllers/commits_files_controller.go index 3d5527293..eed9d02b9 100644 --- a/pkg/gui/controllers/commits_files_controller.go +++ b/pkg/gui/controllers/commits_files_controller.go @@ -45,13 +45,13 @@ func NewCommitFilesController( func (self *CommitFilesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Files.CopyFileInfoToClipboard), + Keys: opts.GetKeys(opts.Config.Files.CopyFileInfoToClipboard), Handler: self.openCopyMenu, Description: self.c.Tr.CopyToClipboardMenu, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.CommitFiles.CheckoutCommitFile), + Keys: opts.GetKeys(opts.Config.CommitFiles.CheckoutCommitFile), Handler: self.withItem(self.checkout), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Checkout, @@ -59,7 +59,7 @@ func (self *CommitFilesController) GetKeybindings(opts types.KeybindingsOpts) [] DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItems(self.discard), GetDisabledReason: self.require(self.itemsSelected(self.canDiscardFileChanges)), Description: self.c.Tr.Discard, @@ -67,14 +67,14 @@ func (self *CommitFilesController) GetKeybindings(opts types.KeybindingsOpts) [] DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.OpenFile), + Keys: opts.GetKeys(opts.Config.Universal.OpenFile), Handler: self.withItem(self.open), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.OpenFile, Tooltip: self.c.Tr.OpenFileTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: self.withItems(self.edit), GetDisabledReason: self.require(self.itemsSelected(self.canEditFiles)), Description: self.c.Tr.Edit, @@ -82,13 +82,13 @@ func (self *CommitFilesController) GetKeybindings(opts types.KeybindingsOpts) [] DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.OpenDiffTool), + Keys: opts.GetKeys(opts.Config.Universal.OpenDiffTool), Handler: self.withItem(self.openDiffTool), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.OpenDiffTool, }, { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItems(self.toggleForPatch), GetDisabledReason: self.require(self.itemsSelected()), Description: self.c.Tr.ToggleAddToPatch, @@ -98,7 +98,7 @@ func (self *CommitFilesController) GetKeybindings(opts types.KeybindingsOpts) [] DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Files.ToggleStagedAll), + Keys: opts.GetKeys(opts.Config.Files.ToggleStagedAll), Handler: self.withItem(self.toggleAllForPatch), Description: self.c.Tr.ToggleAllInPatch, Tooltip: utils.ResolvePlaceholderString(self.c.Tr.ToggleAllInPatchTooltip, @@ -106,27 +106,27 @@ func (self *CommitFilesController) GetKeybindings(opts types.KeybindingsOpts) [] ), }, { - Key: opts.GetKey(opts.Config.Universal.GoInto), + Keys: opts.GetKeys(opts.Config.Universal.GoInto), Handler: self.withItem(self.enter), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.EnterCommitFile, Tooltip: self.c.Tr.EnterCommitFileTooltip, }, { - Key: opts.GetKey(opts.Config.Files.ToggleTreeView), + Keys: opts.GetKeys(opts.Config.Files.ToggleTreeView), Handler: self.toggleTreeView, Description: self.c.Tr.ToggleTreeView, Tooltip: self.c.Tr.ToggleTreeViewTooltip, }, { - Key: opts.GetKey(opts.Config.Files.CollapseAll), + Keys: opts.GetKeys(opts.Config.Files.CollapseAll), Handler: self.collapseAll, Description: self.c.Tr.CollapseAll, Tooltip: self.c.Tr.CollapseAllTooltip, GetDisabledReason: self.require(self.isInTreeMode), }, { - Key: opts.GetKey(opts.Config.Files.ExpandAll), + Keys: opts.GetKeys(opts.Config.Files.ExpandAll), Handler: self.expandAll, Description: self.c.Tr.ExpandAll, Tooltip: self.c.Tr.ExpandAllTooltip, @@ -230,7 +230,7 @@ func (self *CommitFilesController) openCopyMenu() error { return nil }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('n'), + Keys: menuKey('n'), } copyRelativePathItem := &types.MenuItem{ Label: self.c.Tr.CopyRelativeFilePath, @@ -242,7 +242,7 @@ func (self *CommitFilesController) openCopyMenu() error { return nil }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('p'), + Keys: menuKey('p'), } copyAbsolutePathItem := &types.MenuItem{ Label: self.c.Tr.CopyAbsoluteFilePath, @@ -258,7 +258,7 @@ func (self *CommitFilesController) openCopyMenu() error { return nil }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('P'), + Keys: menuKey('P'), } copyFileDiffItem := &types.MenuItem{ Label: self.c.Tr.CopySelectedDiff, @@ -266,7 +266,7 @@ func (self *CommitFilesController) openCopyMenu() error { return self.copyDiffToClipboard(node.GetPath(), self.c.Tr.FileDiffCopiedToast) }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('s'), + Keys: menuKey('s'), } copyAllDiff := &types.MenuItem{ Label: self.c.Tr.CopyAllFilesDiff, @@ -274,7 +274,7 @@ func (self *CommitFilesController) openCopyMenu() error { return self.copyDiffToClipboard(".", self.c.Tr.AllFilesDiffCopiedToast) }, DisabledReason: self.require(self.itemsSelected())(), - Key: menuKey('a'), + Keys: menuKey('a'), } copyFileContentItem := &types.MenuItem{ Label: self.c.Tr.CopyFileContent, @@ -295,7 +295,7 @@ func (self *CommitFilesController) openCopyMenu() error { } return nil }))(), - Key: menuKey('c'), + Keys: menuKey('c'), } return self.c.Menu(types.CreateMenuOptions{ diff --git a/pkg/gui/controllers/confirmation_controller.go b/pkg/gui/controllers/confirmation_controller.go index 206818f40..990b2b09e 100644 --- a/pkg/gui/controllers/confirmation_controller.go +++ b/pkg/gui/controllers/confirmation_controller.go @@ -24,19 +24,19 @@ func NewConfirmationController( func (self *ConfirmationController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Confirm), + Keys: opts.GetKeys(opts.Config.Universal.Confirm), Handler: func() error { return self.context().State.OnConfirm() }, Description: self.c.Tr.Confirm, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: func() error { return self.context().State.OnClose() }, Description: self.c.Tr.CloseCancel, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: self.handleCopyToClipboard, Description: self.c.Tr.CopyToClipboardMenu, DisplayOnScreen: true, diff --git a/pkg/gui/controllers/context_lines_controller.go b/pkg/gui/controllers/context_lines_controller.go index a1ce9f518..022364c07 100644 --- a/pkg/gui/controllers/context_lines_controller.go +++ b/pkg/gui/controllers/context_lines_controller.go @@ -30,13 +30,13 @@ func NewContextLinesController( func (self *ContextLinesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.IncreaseContextInDiffView), + Keys: opts.GetKeys(opts.Config.Universal.IncreaseContextInDiffView), Handler: self.Increase, Description: self.c.Tr.IncreaseContextInDiffView, Tooltip: self.c.Tr.IncreaseContextInDiffViewTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.DecreaseContextInDiffView), + Keys: opts.GetKeys(opts.Config.Universal.DecreaseContextInDiffView), Handler: self.Decrease, Description: self.c.Tr.DecreaseContextInDiffView, Tooltip: self.c.Tr.DecreaseContextInDiffViewTooltip, diff --git a/pkg/gui/controllers/custom_patch_options_menu_action.go b/pkg/gui/controllers/custom_patch_options_menu_action.go index 979e048c0..cabba4739 100644 --- a/pkg/gui/controllers/custom_patch_options_menu_action.go +++ b/pkg/gui/controllers/custom_patch_options_menu_action.go @@ -31,19 +31,19 @@ func (self *CustomPatchOptionsMenuAction) Call() error { Label: self.c.Tr.ResetPatch, Tooltip: self.c.Tr.ResetPatchTooltip, OnPress: self.c.Helpers().PatchBuilding.Reset, - Key: menuKey('c'), + Keys: menuKey('c'), }, { Label: self.c.Tr.ApplyPatch, Tooltip: self.c.Tr.ApplyPatchTooltip, OnPress: func() error { return self.handleApplyPatch(false) }, - Key: menuKey('a'), + Keys: menuKey('a'), }, { Label: self.c.Tr.ApplyPatchInReverse, Tooltip: self.c.Tr.ApplyPatchInReverseTooltip, OnPress: func() error { return self.handleApplyPatch(true) }, - Key: menuKey('r'), + Keys: menuKey('r'), }, } @@ -53,25 +53,25 @@ func (self *CustomPatchOptionsMenuAction) Call() error { Label: fmt.Sprintf(self.c.Tr.RemovePatchFromOriginalCommit, utils.ShortHash(self.c.Git().Patch.PatchBuilder.To)), Tooltip: self.c.Tr.RemovePatchFromOriginalCommitTooltip, OnPress: self.handleDeletePatchFromCommit, - Key: menuKey('d'), + Keys: menuKey('d'), }, { Label: self.c.Tr.MovePatchOutIntoIndex, Tooltip: self.c.Tr.MovePatchOutIntoIndexTooltip, OnPress: self.handleMovePatchIntoWorkingTree, - Key: menuKey('i'), + Keys: menuKey('i'), }, { Label: self.c.Tr.MovePatchIntoNewCommit, Tooltip: self.c.Tr.MovePatchIntoNewCommitTooltip, OnPress: self.handlePullPatchIntoNewCommit, - Key: menuKey('n'), + Keys: menuKey('n'), }, { Label: self.c.Tr.MovePatchIntoNewCommitBefore, Tooltip: self.c.Tr.MovePatchIntoNewCommitBeforeTooltip, OnPress: self.handlePullPatchIntoNewCommitBefore, - Key: menuKey('N'), + Keys: menuKey('N'), }, }...) @@ -93,7 +93,7 @@ func (self *CustomPatchOptionsMenuAction) Call() error { Label: fmt.Sprintf(self.c.Tr.MovePatchToSelectedCommit, selectedCommit.Hash()), Tooltip: self.c.Tr.MovePatchToSelectedCommitTooltip, OnPress: self.handleMovePatchToSelectedCommit, - Key: menuKey('m'), + Keys: menuKey('m'), DisabledReason: disabledReason, }, }, menuItems[1:]..., @@ -107,7 +107,7 @@ func (self *CustomPatchOptionsMenuAction) Call() error { { Label: self.c.Tr.CopyPatchToClipboard, OnPress: func() error { return self.copyPatchToClipboard() }, - Key: menuKey('y'), + Keys: menuKey('y'), }, }...) diff --git a/pkg/gui/controllers/files_controller.go b/pkg/gui/controllers/files_controller.go index 5fc1540d2..8ea4425e6 100644 --- a/pkg/gui/controllers/files_controller.go +++ b/pkg/gui/controllers/files_controller.go @@ -42,7 +42,7 @@ func NewFilesController( func (self *FilesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItems(self.press), GetDisabledReason: self.require(self.withFileTreeViewModelMutex(self.itemsSelected())), Description: self.c.Tr.Stage, @@ -50,46 +50,46 @@ func (self *FilesController) GetKeybindings(opts types.KeybindingsOpts) []*types DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Files.OpenStatusFilter), + Keys: opts.GetKeys(opts.Config.Files.OpenStatusFilter), Handler: self.handleStatusFilterPressed, Description: self.c.Tr.FileFilter, }, { - Key: opts.GetKey(opts.Config.Files.CopyFileInfoToClipboard), + Keys: opts.GetKeys(opts.Config.Files.CopyFileInfoToClipboard), Handler: self.openCopyMenu, Description: self.c.Tr.CopyToClipboardMenu, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Files.CommitChanges), + Keys: opts.GetKeys(opts.Config.Files.CommitChanges), Handler: self.c.Helpers().WorkingTree.HandleCommitPress, Description: self.c.Tr.Commit, Tooltip: self.c.Tr.CommitTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Files.CommitChangesWithoutHook), + Keys: opts.GetKeys(opts.Config.Files.CommitChangesWithoutHook), Handler: self.c.Helpers().WorkingTree.HandleWIPCommitPress, Description: self.c.Tr.CommitChangesWithoutHook, }, { - Key: opts.GetKey(opts.Config.Files.AmendLastCommit), + Keys: opts.GetKeys(opts.Config.Files.AmendLastCommit), Handler: self.handleAmendCommitPress, Description: self.c.Tr.AmendLastCommit, }, { - Key: opts.GetKey(opts.Config.Files.CommitChangesWithEditor), + Keys: opts.GetKeys(opts.Config.Files.CommitChangesWithEditor), Handler: self.c.Helpers().WorkingTree.HandleCommitEditorPress, Description: self.c.Tr.CommitChangesWithEditor, }, { - Key: opts.GetKey(opts.Config.Files.FindBaseCommitForFixup), + Keys: opts.GetKeys(opts.Config.Files.FindBaseCommitForFixup), Handler: self.c.Helpers().FixupHelper.HandleFindBaseCommitForFixupPress, Description: self.c.Tr.FindBaseCommitForFixup, Tooltip: self.c.Tr.FindBaseCommitForFixupTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: self.withItems(self.edit), GetDisabledReason: self.require(self.withFileTreeViewModelMutex(self.itemsSelected(self.canEditFiles))), Description: self.c.Tr.Edit, @@ -97,53 +97,53 @@ func (self *FilesController) GetKeybindings(opts types.KeybindingsOpts) []*types DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.OpenFile), + Keys: opts.GetKeys(opts.Config.Universal.OpenFile), Handler: self.Open, GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.OpenFile, Tooltip: self.c.Tr.OpenFileTooltip, }, { - Key: opts.GetKey(opts.Config.Files.IgnoreFile), + Keys: opts.GetKeys(opts.Config.Files.IgnoreFile), Handler: self.withItem(self.ignoreOrExcludeMenu), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Actions.IgnoreExcludeFile, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Files.RefreshFiles), + Keys: opts.GetKeys(opts.Config.Files.RefreshFiles), Handler: self.refresh, Description: self.c.Tr.RefreshFiles, }, { - Key: opts.GetKey(opts.Config.Files.StashAllChanges), + Keys: opts.GetKeys(opts.Config.Files.StashAllChanges), Handler: self.stash, Description: self.c.Tr.Stash, Tooltip: self.c.Tr.StashTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Files.ViewStashOptions), + Keys: opts.GetKeys(opts.Config.Files.ViewStashOptions), Handler: self.createStashMenu, Description: self.c.Tr.ViewStashOptions, Tooltip: self.c.Tr.ViewStashOptionsTooltip, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Files.ToggleStagedAll), + Keys: opts.GetKeys(opts.Config.Files.ToggleStagedAll), Handler: self.toggleStagedAll, Description: self.c.Tr.ToggleStagedAll, Tooltip: self.c.Tr.ToggleStagedAllTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.GoInto), + Keys: opts.GetKeys(opts.Config.Universal.GoInto), Handler: self.enter, GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.FileEnter, Tooltip: self.c.Tr.FileEnterTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItems(self.remove), GetDisabledReason: self.withFileTreeViewModelMutex(self.require(self.itemsSelected(self.canRemove))), Description: self.c.Tr.Discard, @@ -152,13 +152,13 @@ func (self *FilesController) GetKeybindings(opts types.KeybindingsOpts) []*types DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Commits.ViewResetOptions), + Keys: opts.GetKeys(opts.Config.Commits.ViewResetOptions), Handler: self.createResetToUpstreamMenu, Description: self.c.Tr.ViewResetToUpstreamOptions, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Files.ViewResetOptions), + Keys: opts.GetKeys(opts.Config.Files.ViewResetOptions), Handler: self.createResetMenu, Description: self.c.Tr.Reset, Tooltip: self.c.Tr.FileResetOptionsTooltip, @@ -166,19 +166,19 @@ func (self *FilesController) GetKeybindings(opts types.KeybindingsOpts) []*types DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Files.ToggleTreeView), + Keys: opts.GetKeys(opts.Config.Files.ToggleTreeView), Handler: self.toggleTreeView, Description: self.c.Tr.ToggleTreeView, Tooltip: self.c.Tr.ToggleTreeViewTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.OpenDiffTool), + Keys: opts.GetKeys(opts.Config.Universal.OpenDiffTool), Handler: self.withItem(self.openDiffTool), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.OpenDiffTool, }, { - Key: opts.GetKey(opts.Config.Files.OpenMergeOptions), + Keys: opts.GetKeys(opts.Config.Files.OpenMergeOptions), Handler: self.withItems(self.openMergeConflictMenu), Description: self.c.Tr.ViewMergeConflictOptions, Tooltip: self.c.Tr.ViewMergeConflictOptionsTooltip, @@ -187,20 +187,20 @@ func (self *FilesController) GetKeybindings(opts types.KeybindingsOpts) []*types DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Files.Fetch), + Keys: opts.GetKeys(opts.Config.Files.Fetch), Handler: self.fetch, Description: self.c.Tr.Fetch, Tooltip: self.c.Tr.FetchTooltip, }, { - Key: opts.GetKey(opts.Config.Files.CollapseAll), + Keys: opts.GetKeys(opts.Config.Files.CollapseAll), Handler: self.collapseAll, Description: self.c.Tr.CollapseAll, Tooltip: self.c.Tr.CollapseAllTooltip, GetDisabledReason: self.require(self.isInTreeMode), }, { - Key: opts.GetKey(opts.Config.Files.ExpandAll), + Keys: opts.GetKeys(opts.Config.Files.ExpandAll), Handler: self.expandAll, Description: self.c.Tr.ExpandAll, Tooltip: self.c.Tr.ExpandAllTooltip, @@ -671,14 +671,14 @@ func (self *FilesController) handleNonInlineConflict(file *models.File) error { OnPress: func() error { return handle(self.c.Git().WorkingTree.StageFile, self.c.Tr.Actions.ResolveConflictByKeepingFile) }, - Key: menuKey('k'), + Keys: menuKey('k'), } deleteItem := &types.MenuItem{ Label: self.c.Tr.MergeConflictDeleteFile, OnPress: func() error { return handle(self.c.Git().WorkingTree.RemoveConflictedFile, self.c.Tr.Actions.ResolveConflictByDeletingFile) }, - Key: menuKey('d'), + Keys: menuKey('d'), } items := []*types.MenuItem{} switch file.ShortStatus { @@ -856,7 +856,7 @@ func (self *FilesController) ignoreOrExcludeMenu(node *filetree.FileNode) error } return nil }, - Key: menuKey('i'), + Keys: menuKey('i'), }, { LabelColumns: []string{self.c.Tr.ExcludeFile}, @@ -866,7 +866,7 @@ func (self *FilesController) ignoreOrExcludeMenu(node *filetree.FileNode) error } return nil }, - Key: menuKey('e'), + Keys: menuKey('e'), }, }, }) @@ -950,7 +950,7 @@ func (self *FilesController) handleStatusFilterPressed() error { OnPress: func() error { return self.setStatusFiltering(filetree.DisplayStaged) }, - Key: menuKey('s'), + Keys: menuKey('s'), Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayStaged), }, { @@ -958,7 +958,7 @@ func (self *FilesController) handleStatusFilterPressed() error { OnPress: func() error { return self.setStatusFiltering(filetree.DisplayUnstaged) }, - Key: menuKey('u'), + Keys: menuKey('u'), Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayUnstaged), }, { @@ -966,7 +966,7 @@ func (self *FilesController) handleStatusFilterPressed() error { OnPress: func() error { return self.setStatusFiltering(filetree.DisplayTracked) }, - Key: menuKey('t'), + Keys: menuKey('t'), Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayTracked), }, { @@ -974,7 +974,7 @@ func (self *FilesController) handleStatusFilterPressed() error { OnPress: func() error { return self.setStatusFiltering(filetree.DisplayUntracked) }, - Key: menuKey('T'), + Keys: menuKey('T'), Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayUntracked), }, { @@ -982,7 +982,7 @@ func (self *FilesController) handleStatusFilterPressed() error { OnPress: func() error { return self.setStatusFiltering(filetree.DisplayAll) }, - Key: menuKey('r'), + Keys: menuKey('r'), Widget: types.MakeMenuRadioButton(currentFilter == filetree.DisplayAll), }, }, @@ -1092,7 +1092,7 @@ func (self *FilesController) createStashMenu() error { } return self.handleStashSave(self.c.Git().Stash.Push, self.c.Tr.Actions.StashAllChanges) }, - Key: menuKey('a'), + Keys: menuKey('a'), }, { Label: self.c.Tr.StashAllChangesKeepIndex, @@ -1103,14 +1103,14 @@ func (self *FilesController) createStashMenu() error { // if there are no staged files it behaves the same as Stash.Save return self.handleStashSave(self.c.Git().Stash.StashAndKeepIndex, self.c.Tr.Actions.StashAllChangesKeepIndex) }, - Key: menuKey('i'), + Keys: menuKey('i'), }, { Label: self.c.Tr.StashIncludeUntrackedChanges, OnPress: func() error { return self.handleStashSave(self.c.Git().Stash.StashIncludeUntrackedChanges, self.c.Tr.Actions.StashIncludeUntrackedChanges) }, - Key: menuKey('U'), + Keys: menuKey('U'), }, { Label: self.c.Tr.StashStagedChanges, @@ -1121,7 +1121,7 @@ func (self *FilesController) createStashMenu() error { } return self.handleStashSave(self.c.Git().Stash.SaveStagedChanges, self.c.Tr.Actions.StashStagedChanges) }, - Key: menuKey('s'), + Keys: menuKey('s'), }, { Label: self.c.Tr.StashUnstagedChanges, @@ -1135,7 +1135,7 @@ func (self *FilesController) createStashMenu() error { // ordinary stash return self.handleStashSave(self.c.Git().Stash.Push, self.c.Tr.Actions.StashUnstagedChanges) }, - Key: menuKey('u'), + Keys: menuKey('u'), }, }, }) @@ -1182,7 +1182,7 @@ func (self *FilesController) openCopyMenu() error { return nil }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('n'), + Keys: menuKey('n'), } copyRelativePathItem := &types.MenuItem{ Label: self.c.Tr.CopyRelativeFilePath, @@ -1194,7 +1194,7 @@ func (self *FilesController) openCopyMenu() error { return nil }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('p'), + Keys: menuKey('p'), } copyAbsolutePathItem := &types.MenuItem{ Label: self.c.Tr.CopyAbsoluteFilePath, @@ -1210,7 +1210,7 @@ func (self *FilesController) openCopyMenu() error { return nil }, DisabledReason: self.require(self.singleItemSelected())(), - Key: menuKey('P'), + Keys: menuKey('P'), } copyFileDiffItem := &types.MenuItem{ Label: self.c.Tr.CopySelectedDiff, @@ -1236,7 +1236,7 @@ func (self *FilesController) openCopyMenu() error { return nil }, ))(), - Key: menuKey('s'), + Keys: menuKey('s'), } copyAllDiff := &types.MenuItem{ Label: self.c.Tr.CopyAllFilesDiff, @@ -1261,7 +1261,7 @@ func (self *FilesController) openCopyMenu() error { return nil }, )(), - Key: menuKey('a'), + Keys: menuKey('a'), } return self.c.Menu(types.CreateMenuOptions{ @@ -1502,7 +1502,7 @@ func (self *FilesController) remove(selectedNodes []*filetree.FileNode) error { self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.FILES, types.WORKTREES}}) return nil }, - Key: self.c.KeybindingsOpts().GetKey(self.c.UserConfig().Keybinding.Files.ConfirmDiscard), + Keys: self.c.KeybindingsOpts().GetKeys(self.c.UserConfig().Keybinding.Files.ConfirmDiscard), Tooltip: utils.ResolvePlaceholderString( self.c.Tr.DiscardAllTooltip, map[string]string{ @@ -1528,7 +1528,7 @@ func (self *FilesController) remove(selectedNodes []*filetree.FileNode) error { self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.FILES, types.WORKTREES}}) return nil }, - Key: menuKey('u'), + Keys: menuKey('u'), Tooltip: utils.ResolvePlaceholderString( self.c.Tr.DiscardUnstagedTooltip, map[string]string{ diff --git a/pkg/gui/controllers/filter_controller.go b/pkg/gui/controllers/filter_controller.go index 8b049b26c..358fb8ed5 100644 --- a/pkg/gui/controllers/filter_controller.go +++ b/pkg/gui/controllers/filter_controller.go @@ -36,7 +36,7 @@ func (self *FilterController) Context() types.Context { func (self *FilterController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.StartSearch), + Keys: opts.GetKeys(opts.Config.Universal.StartSearch), Handler: self.OpenFilterPrompt, Description: self.c.Tr.StartFilter, }, diff --git a/pkg/gui/controllers/git_flow_controller.go b/pkg/gui/controllers/git_flow_controller.go index 6e6bec95d..9e892e97f 100644 --- a/pkg/gui/controllers/git_flow_controller.go +++ b/pkg/gui/controllers/git_flow_controller.go @@ -35,7 +35,7 @@ func NewGitFlowController( func (self *GitFlowController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Branches.ViewGitFlowOptions), + Keys: opts.GetKeys(opts.Config.Branches.ViewGitFlowOptions), Handler: self.withItem(self.handleCreateGitFlowMenu), Description: self.c.Tr.GitFlowOptions, OpensMenu: true, @@ -82,22 +82,22 @@ func (self *GitFlowController) handleCreateGitFlowMenu(branch *models.Branch) er { Label: "start feature", OnPress: startHandler("feature"), - Key: menuKey('f'), + Keys: menuKey('f'), }, { Label: "start hotfix", OnPress: startHandler("hotfix"), - Key: menuKey('h'), + Keys: menuKey('h'), }, { Label: "start bugfix", OnPress: startHandler("bugfix"), - Key: menuKey('b'), + Keys: menuKey('b'), }, { Label: "start release", OnPress: startHandler("release"), - Key: menuKey('r'), + Keys: menuKey('r'), }, }, }) diff --git a/pkg/gui/controllers/global_controller.go b/pkg/gui/controllers/global_controller.go index f8f981525..5528e10e7 100644 --- a/pkg/gui/controllers/global_controller.go +++ b/pkg/gui/controllers/global_controller.go @@ -23,20 +23,20 @@ func NewGlobalController( func (self *GlobalController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.ExecuteShellCommand), + Keys: opts.GetKeys(opts.Config.Universal.ExecuteShellCommand), Handler: self.shellCommand, Description: self.c.Tr.ExecuteShellCommand, Tooltip: self.c.Tr.ExecuteShellCommandTooltip, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Universal.CreatePatchOptionsMenu), + Keys: opts.GetKeys(opts.Config.Universal.CreatePatchOptionsMenu), Handler: self.createCustomPatchOptionsMenu, Description: self.c.Tr.ViewPatchOptions, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Universal.CreateRebaseOptionsMenu), + Keys: opts.GetKeys(opts.Config.Universal.CreateRebaseOptionsMenu), Handler: opts.Guards.NoPopupPanel(self.c.Helpers().MergeAndRebase.CreateRebaseOptionsMenu), Description: self.c.Tr.ViewMergeRebaseOptions, Tooltip: self.c.Tr.ViewMergeRebaseOptionsTooltip, @@ -44,30 +44,30 @@ func (self *GlobalController) GetKeybindings(opts types.KeybindingsOpts) []*type GetDisabledReason: self.canShowRebaseOptions, }, { - Key: opts.GetKey(opts.Config.Universal.Refresh), + Keys: opts.GetKeys(opts.Config.Universal.Refresh), Handler: opts.Guards.NoPopupPanel(self.refresh), Description: self.c.Tr.Refresh, Tooltip: self.c.Tr.RefreshTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.NextScreenMode), + Keys: opts.GetKeys(opts.Config.Universal.NextScreenMode), Handler: opts.Guards.NoPopupPanel(self.nextScreenMode), Description: self.c.Tr.NextScreenMode, }, { - Key: opts.GetKey(opts.Config.Universal.PrevScreenMode), + Keys: opts.GetKeys(opts.Config.Universal.PrevScreenMode), Handler: opts.Guards.NoPopupPanel(self.prevScreenMode), Description: self.c.Tr.PrevScreenMode, }, { - Key: opts.GetKey(opts.Config.Universal.CyclePagers), + Keys: opts.GetKeys(opts.Config.Universal.CyclePagers), Handler: opts.Guards.NoPopupPanel(self.cyclePagers), GetDisabledReason: self.canCyclePagers, Description: self.c.Tr.CyclePagers, Tooltip: self.c.Tr.CyclePagersTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.escape, Description: self.c.Tr.Cancel, DescriptionFunc: self.escapeDescription, @@ -76,7 +76,7 @@ func (self *GlobalController) GetKeybindings(opts types.KeybindingsOpts) []*type }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.OptionMenu), + Keys: opts.GetKeys(opts.Config.Universal.OptionMenu), Description: self.c.Tr.OpenKeybindingsMenu, ShortDescription: self.c.Tr.Keybindings, Handler: self.createOptionsMenu, @@ -86,41 +86,41 @@ func (self *GlobalController) GetKeybindings(opts types.KeybindingsOpts) []*type }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.FilteringMenu), + Keys: opts.GetKeys(opts.Config.Universal.FilteringMenu), Handler: opts.Guards.NoPopupPanel(self.createFilteringMenu), Description: self.c.Tr.OpenFilteringMenu, Tooltip: self.c.Tr.OpenFilteringMenuTooltip, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Universal.DiffingMenu), + Keys: opts.GetKeys(opts.Config.Universal.DiffingMenu), Handler: opts.Guards.NoPopupPanel(self.createDiffingMenu), Description: self.c.Tr.ViewDiffingOptions, Tooltip: self.c.Tr.ViewDiffingOptionsTooltip, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Universal.DiffingMenuAlt), + Keys: opts.GetKeys(opts.Config.Universal.DiffingMenuAlt), Handler: opts.Guards.NoPopupPanel(self.createDiffingMenu), Description: self.c.Tr.ViewDiffingOptions, Tooltip: self.c.Tr.ViewDiffingOptionsTooltip, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Universal.Quit), + Keys: opts.GetKeys(opts.Config.Universal.Quit), Description: self.c.Tr.Quit, Handler: self.quit, }, { - Key: opts.GetKey(opts.Config.Universal.QuitAlt1), + Keys: opts.GetKeys(opts.Config.Universal.QuitAlt1), Handler: self.quit, }, { - Key: opts.GetKey(opts.Config.Universal.QuitWithoutChangingDirectory), + Keys: opts.GetKeys(opts.Config.Universal.QuitWithoutChangingDirectory), Handler: self.quitWithoutChangingDirectory, }, { - Key: opts.GetKey(opts.Config.Universal.SuspendApp), + Keys: opts.GetKeys(opts.Config.Universal.SuspendApp), Handler: self.c.Helpers().SuspendResume.SuspendApp, Description: self.c.Tr.SuspendApp, GetDisabledReason: func() *types.DisabledReason { @@ -133,7 +133,7 @@ func (self *GlobalController) GetKeybindings(opts types.KeybindingsOpts) []*type }, }, { - Key: opts.GetKey(opts.Config.Universal.ToggleWhitespaceInDiffView), + Keys: opts.GetKeys(opts.Config.Universal.ToggleWhitespaceInDiffView), Handler: self.toggleWhitespace, Description: self.c.Tr.ToggleWhitespaceInDiffView, Tooltip: self.c.Tr.ToggleWhitespaceInDiffViewTooltip, diff --git a/pkg/gui/controllers/helpers/commits_helper.go b/pkg/gui/controllers/helpers/commits_helper.go index c9b21250a..5e50ba7b2 100644 --- a/pkg/gui/controllers/helpers/commits_helper.go +++ b/pkg/gui/controllers/helpers/commits_helper.go @@ -228,7 +228,7 @@ func (self *CommitsHelper) OpenCommitMenu(suggestionFunc func(string) []*types.S OnPress: func() error { return self.SwitchToEditor() }, - Key: menuKey('e'), + Keys: menuKey('e'), DisabledReason: disabledReasonForOpenInEditor, }, { @@ -236,14 +236,14 @@ func (self *CommitsHelper) OpenCommitMenu(suggestionFunc func(string) []*types.S OnPress: func() error { return self.addCoAuthor(suggestionFunc) }, - Key: menuKey('c'), + Keys: menuKey('c'), }, { Label: self.c.Tr.PasteCommitMessageFromClipboard, OnPress: func() error { return self.pasteCommitMessageFromClipboard() }, - Key: menuKey('p'), + Keys: menuKey('p'), }, } return self.c.Menu(types.CreateMenuOptions{ diff --git a/pkg/gui/controllers/helpers/merge_and_rebase_helper.go b/pkg/gui/controllers/helpers/merge_and_rebase_helper.go index 48c342446..cd141c697 100644 --- a/pkg/gui/controllers/helpers/merge_and_rebase_helper.go +++ b/pkg/gui/controllers/helpers/merge_and_rebase_helper.go @@ -39,17 +39,17 @@ const ( func (self *MergeAndRebaseHelper) CreateRebaseOptionsMenu() error { type optionAndKey struct { option string - key []gocui.Key + keys []gocui.Key } options := []optionAndKey{ - {option: REBASE_OPTION_CONTINUE, key: menuKey('c')}, - {option: REBASE_OPTION_ABORT, key: menuKey('a')}, + {option: REBASE_OPTION_CONTINUE, keys: menuKey('c')}, + {option: REBASE_OPTION_ABORT, keys: menuKey('a')}, } if self.c.Git().Status.WorkingTreeState().CanSkip() { options = append(options, optionAndKey{ - option: REBASE_OPTION_SKIP, key: menuKey('s'), + option: REBASE_OPTION_SKIP, keys: menuKey('s'), }) } @@ -59,7 +59,7 @@ func (self *MergeAndRebaseHelper) CreateRebaseOptionsMenu() error { OnPress: func() error { return self.genericMergeCommand(row.option) }, - Key: row.key, + Keys: row.keys, } }) @@ -198,7 +198,7 @@ func (self *MergeAndRebaseHelper) PromptForConflictHandling() error { OnPress: func() error { return self.genericMergeCommand(REBASE_OPTION_ABORT) }, - Key: menuKey('a'), + Keys: menuKey('a'), }, }, HideCancel: true, @@ -284,7 +284,7 @@ func (self *MergeAndRebaseHelper) RebaseOntoRef(ref string) error { Label: utils.ResolvePlaceholderString(self.c.Tr.SimpleRebase, map[string]string{"ref": ref}, ), - Key: menuKey('s'), + Keys: menuKey('s'), DisabledReason: disabledReason, OnPress: func() error { self.c.LogAction(self.c.Tr.Actions.RebaseBranch) @@ -308,7 +308,7 @@ func (self *MergeAndRebaseHelper) RebaseOntoRef(ref string) error { Label: utils.ResolvePlaceholderString(self.c.Tr.InteractiveRebase, map[string]string{"ref": ref}, ), - Key: menuKey('i'), + Keys: menuKey('i'), DisabledReason: disabledReason, Tooltip: self.c.Tr.InteractiveRebaseTooltip, OnPress: func() error { @@ -334,7 +334,7 @@ func (self *MergeAndRebaseHelper) RebaseOntoRef(ref string) error { Label: utils.ResolvePlaceholderString(self.c.Tr.RebaseOntoBaseBranch, map[string]string{"baseBranch": ShortBranchName(baseBranch)}, ), - Key: menuKey('b'), + Keys: menuKey('b'), DisabledReason: baseBranchDisabledReason, Tooltip: self.c.Tr.RebaseOntoBaseBranchTooltip, OnPress: func() error { @@ -392,7 +392,7 @@ func (self *MergeAndRebaseHelper) MergeRefIntoCheckedOutBranch(refName string) e firstRegularMergeItem = &types.MenuItem{ Label: self.c.Tr.RegularMergeFastForward, OnPress: self.RegularMerge(refName, git_commands.MERGE_VARIANT_REGULAR), - Key: menuKey('m'), + Keys: menuKey('m'), Tooltip: utils.ResolvePlaceholderString( self.c.Tr.RegularMergeFastForwardTooltip, map[string]string{ @@ -406,7 +406,7 @@ func (self *MergeAndRebaseHelper) MergeRefIntoCheckedOutBranch(refName string) e secondRegularMergeItem = &types.MenuItem{ Label: self.c.Tr.RegularMergeNonFastForward, OnPress: self.RegularMerge(refName, git_commands.MERGE_VARIANT_NON_FAST_FORWARD), - Key: menuKey('n'), + Keys: menuKey('n'), Tooltip: utils.ResolvePlaceholderString( self.c.Tr.RegularMergeNonFastForwardTooltip, map[string]string{ @@ -419,7 +419,7 @@ func (self *MergeAndRebaseHelper) MergeRefIntoCheckedOutBranch(refName string) e firstRegularMergeItem = &types.MenuItem{ Label: self.c.Tr.RegularMergeNonFastForward, OnPress: self.RegularMerge(refName, git_commands.MERGE_VARIANT_REGULAR), - Key: menuKey('m'), + Keys: menuKey('m'), Tooltip: utils.ResolvePlaceholderString( self.c.Tr.RegularMergeNonFastForwardTooltip, map[string]string{ @@ -432,7 +432,7 @@ func (self *MergeAndRebaseHelper) MergeRefIntoCheckedOutBranch(refName string) e secondRegularMergeItem = &types.MenuItem{ Label: self.c.Tr.RegularMergeFastForward, OnPress: self.RegularMerge(refName, git_commands.MERGE_VARIANT_FAST_FORWARD), - Key: menuKey('f'), + Keys: menuKey('f'), Tooltip: utils.ResolvePlaceholderString( self.c.Tr.RegularMergeFastForwardTooltip, map[string]string{ @@ -464,7 +464,7 @@ func (self *MergeAndRebaseHelper) MergeRefIntoCheckedOutBranch(refName string) e { Label: self.c.Tr.SquashMergeUncommitted, OnPress: self.SquashMergeUncommitted(refName), - Key: menuKey('s'), + Keys: menuKey('s'), Tooltip: utils.ResolvePlaceholderString( self.c.Tr.SquashMergeUncommittedTooltip, map[string]string{ @@ -475,7 +475,7 @@ func (self *MergeAndRebaseHelper) MergeRefIntoCheckedOutBranch(refName string) e { Label: self.c.Tr.SquashMergeCommitted, OnPress: self.SquashMergeCommitted(refName, checkedOutBranchName), - Key: menuKey('S'), + Keys: menuKey('S'), Tooltip: utils.ResolvePlaceholderString( self.c.Tr.SquashMergeCommittedTooltip, map[string]string{ diff --git a/pkg/gui/controllers/helpers/refs_helper.go b/pkg/gui/controllers/helpers/refs_helper.go index ae560941f..a3db043ef 100644 --- a/pkg/gui/controllers/helpers/refs_helper.go +++ b/pkg/gui/controllers/helpers/refs_helper.go @@ -216,15 +216,15 @@ func (self *RefsHelper) ResetToRef(ref string, strength string, envVars []string func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, menuPrompt string, onSelected func(sortOrder string) error, currentValue string) error { type sortMenuOption struct { - key []gocui.Key + keys []gocui.Key label string description string sortOrder string } availableSortOptions := map[string]sortMenuOption{ - "recency": {label: self.c.Tr.SortByRecency, description: self.c.Tr.SortBasedOnReflog, key: menuKey('r')}, - "alphabetical": {label: self.c.Tr.SortAlphabetical, description: "--sort=refname", key: menuKey('a')}, - "date": {label: self.c.Tr.SortByDate, description: "--sort=-committerdate", key: menuKey('d')}, + "recency": {label: self.c.Tr.SortByRecency, description: self.c.Tr.SortBasedOnReflog, keys: menuKey('r')}, + "alphabetical": {label: self.c.Tr.SortAlphabetical, description: "--sort=refname", keys: menuKey('a')}, + "date": {label: self.c.Tr.SortByDate, description: "--sort=-committerdate", keys: menuKey('d')}, } sortOptions := make([]sortMenuOption, 0, len(sortOptionsOrder)) for _, key := range sortOptionsOrder { @@ -245,7 +245,7 @@ func (self *RefsHelper) CreateSortOrderMenu(sortOptionsOrder []string, menuPromp OnPress: func() error { return onSelected(opt.sortOrder) }, - Key: opt.key, + Keys: opt.keys, Widget: types.MakeMenuRadioButton(opt.sortOrder == currentValue), } }) @@ -260,14 +260,14 @@ func (self *RefsHelper) CreateGitResetMenu(name string, ref string) error { type strengthWithKey struct { strength string label string - key []gocui.Key + keys []gocui.Key tooltip string } strengths := []strengthWithKey{ // not i18'ing because it's git terminology - {strength: "mixed", label: "Mixed reset", key: menuKey('m'), tooltip: self.c.Tr.ResetMixedTooltip}, - {strength: "soft", label: "Soft reset", key: menuKey('s'), tooltip: self.c.Tr.ResetSoftTooltip}, - {strength: "hard", label: "Hard reset", key: menuKey('h'), tooltip: self.c.Tr.ResetHardTooltip}, + {strength: "mixed", label: "Mixed reset", keys: menuKey('m'), tooltip: self.c.Tr.ResetMixedTooltip}, + {strength: "soft", label: "Soft reset", keys: menuKey('s'), tooltip: self.c.Tr.ResetSoftTooltip}, + {strength: "hard", label: "Hard reset", keys: menuKey('h'), tooltip: self.c.Tr.ResetHardTooltip}, } menuItems := lo.Map(strengths, func(row strengthWithKey, _ int) *types.MenuItem { @@ -287,7 +287,7 @@ func (self *RefsHelper) CreateGitResetMenu(name string, ref string) error { }, }) }, - Key: row.key, + Keys: row.keys, Tooltip: row.tooltip, } }) @@ -312,15 +312,15 @@ func (self *RefsHelper) CreateCheckoutMenu(commit *models.Commit) error { self.c.LogAction(self.c.Tr.Actions.CheckoutCommit) return self.CheckoutRef(hash, types.CheckoutRefOptions{}) }, - Key: menuKey('d'), + Keys: menuKey('d'), }, } if len(branches) > 0 { menuItems = append(menuItems, lo.Map(branches, func(branch *models.Branch, index int) *types.MenuItem { - var key []gocui.Key + var keys []gocui.Key if index < 9 { - key = menuKey(rune(index + 1 + '0')) // Convert 1-based index to key + keys = menuKey(rune(index + 1 + '0')) // Convert 1-based index to key } return &types.MenuItem{ LabelColumns: []string{fmt.Sprintf(self.c.Tr.Actions.CheckoutBranchAtCommit, branch.Name)}, @@ -328,7 +328,7 @@ func (self *RefsHelper) CreateCheckoutMenu(commit *models.Commit) error { self.c.LogAction(self.c.Tr.Actions.CheckoutBranch) return self.CheckoutRef(branch.RefName(), types.CheckoutRefOptions{}) }, - Key: key, + Keys: keys, } })...) } else { @@ -336,7 +336,7 @@ func (self *RefsHelper) CreateCheckoutMenu(commit *models.Commit) error { LabelColumns: []string{self.c.Tr.Actions.CheckoutBranch}, OnPress: func() error { return nil }, DisabledReason: &types.DisabledReason{Text: self.c.Tr.NoBranchesFoundAtCommitTooltip}, - Key: menuKey('1'), + Keys: menuKey('1'), }) } diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go index dba2341a7..3ad2c54cf 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -382,7 +382,7 @@ func (self *WorkingTreeHelper) CreateMergeConflictMenu(selectedFilepaths []strin OnPress: func() error { return onMergeStrategySelected("--ours") }, - Key: menuKey('c'), + Keys: menuKey('c'), }, { LabelColumns: []string{ @@ -392,7 +392,7 @@ func (self *WorkingTreeHelper) CreateMergeConflictMenu(selectedFilepaths []strin OnPress: func() error { return onMergeStrategySelected("--theirs") }, - Key: menuKey('i'), + Keys: menuKey('i'), }, { LabelColumns: []string{ @@ -402,7 +402,7 @@ func (self *WorkingTreeHelper) CreateMergeConflictMenu(selectedFilepaths []strin OnPress: func() error { return onMergeStrategySelected("--union") }, - Key: menuKey('b'), + Keys: menuKey('b'), }, { LabelColumns: []string{ @@ -410,7 +410,7 @@ func (self *WorkingTreeHelper) CreateMergeConflictMenu(selectedFilepaths []strin cmdColor.Sprint("git mergetool"), }, OnPress: self.OpenMergeTool, - Key: menuKey('m'), + Keys: menuKey('m'), }, }, }) diff --git a/pkg/gui/controllers/jump_to_side_window_controller.go b/pkg/gui/controllers/jump_to_side_window_controller.go index 6a08e3758..2ea8ac762 100644 --- a/pkg/gui/controllers/jump_to_side_window_controller.go +++ b/pkg/gui/controllers/jump_to_side_window_controller.go @@ -39,7 +39,7 @@ func (self *JumpToSideWindowController) GetKeybindings(opts types.KeybindingsOpt return &types.Binding{ ViewName: "", // by default the keys are 1, 2, 3, etc - Key: opts.GetKey(opts.Config.Universal.JumpToBlock[index]), + Keys: opts.GetKeys(opts.Config.Universal.JumpToBlock[index]), Handler: opts.Guards.NoPopupPanel(self.goToSideWindow(window)), } }) diff --git a/pkg/gui/controllers/list_controller.go b/pkg/gui/controllers/list_controller.go index dba08552c..854e14ffa 100644 --- a/pkg/gui/controllers/list_controller.go +++ b/pkg/gui/controllers/list_controller.go @@ -271,26 +271,26 @@ func (self *ListController) isFocused() bool { func (self *ListController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.PrevItemAlt), Handler: self.HandlePrevLine}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.PrevItem), Handler: self.HandlePrevLine}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.NextItemAlt), Handler: self.HandleNextLine}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.NextItem), Handler: self.HandleNextLine}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.PrevPage), Handler: self.HandlePrevPage, Description: self.c.Tr.PrevPage}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.NextPage), Handler: self.HandleNextPage, Description: self.c.Tr.NextPage}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.GotoTop), Handler: self.HandleGotoTop, Description: self.c.Tr.GotoTop, Alternative: ""}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.GotoBottom), Handler: self.HandleGotoBottom, Description: self.c.Tr.GotoBottom, Alternative: ""}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.GotoTopAlt), Handler: self.HandleGotoTop}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.GotoBottomAlt), Handler: self.HandleGotoBottom}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.ScrollLeft), Handler: self.HandleScrollLeft}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.ScrollRight), Handler: self.HandleScrollRight}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.PrevItemAlt), Handler: self.HandlePrevLine}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: self.HandlePrevLine}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.NextItemAlt), Handler: self.HandleNextLine}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: self.HandleNextLine}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.PrevPage), Handler: self.HandlePrevPage, Description: self.c.Tr.PrevPage}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.NextPage), Handler: self.HandleNextPage, Description: self.c.Tr.NextPage}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.GotoTop), Handler: self.HandleGotoTop, Description: self.c.Tr.GotoTop, Alternative: ""}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.GotoBottom), Handler: self.HandleGotoBottom, Description: self.c.Tr.GotoBottom, Alternative: ""}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.GotoTopAlt), Handler: self.HandleGotoTop}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.GotoBottomAlt), Handler: self.HandleGotoBottom}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.ScrollLeft), Handler: self.HandleScrollLeft}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.ScrollRight), Handler: self.HandleScrollRight}, } if self.context.RangeSelectEnabled() { bindings = append(bindings, []*types.Binding{ - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.ToggleRangeSelect), Handler: self.HandleToggleRangeSelect, Description: self.c.Tr.ToggleRangeSelect}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.RangeSelectDown), Handler: self.HandleRangeSelectDown, Description: self.c.Tr.RangeSelectDown}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.RangeSelectUp), Handler: self.HandleRangeSelectUp, Description: self.c.Tr.RangeSelectUp}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.ToggleRangeSelect), Handler: self.HandleToggleRangeSelect, Description: self.c.Tr.ToggleRangeSelect}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.RangeSelectDown), Handler: self.HandleRangeSelectDown, Description: self.c.Tr.RangeSelectDown}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.RangeSelectUp), Handler: self.HandleRangeSelectUp, Description: self.c.Tr.RangeSelectUp}, }..., ) } diff --git a/pkg/gui/controllers/local_commits_controller.go b/pkg/gui/controllers/local_commits_controller.go index 0683147b9..b0cad6586 100644 --- a/pkg/gui/controllers/local_commits_controller.go +++ b/pkg/gui/controllers/local_commits_controller.go @@ -56,7 +56,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Commits.SquashDown), + Keys: opts.GetKeys(opts.Config.Commits.SquashDown), Handler: opts.Guards.OutsideFilterMode(self.withItemsRange(self.squashDown)), GetDisabledReason: self.require( self.itemRangeSelected( @@ -69,7 +69,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Commits.MarkCommitAsFixup), + Keys: opts.GetKeys(opts.Config.Commits.MarkCommitAsFixup), Handler: opts.Guards.OutsideFilterMode(self.withItemsRange(self.fixup)), GetDisabledReason: self.require( self.itemRangeSelected( @@ -82,7 +82,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Commits.SetFixupMessage), + Keys: opts.GetKeys(opts.Config.Commits.SetFixupMessage), Handler: self.withItem(self.setFixupMessage), GetDisabledReason: self.require( self.singleItemSelected(self.canSetFixupMessage), @@ -91,7 +91,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ Tooltip: self.c.Tr.SetFixupMessageTooltip, }, { - Key: opts.GetKey(opts.Config.Commits.RenameCommit), + Keys: opts.GetKeys(opts.Config.Commits.RenameCommit), Handler: self.withItem(self.reword), GetDisabledReason: self.require( self.singleItemSelected(self.rewordEnabled), @@ -102,7 +102,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Commits.RenameCommitWithEditor), + Keys: opts.GetKeys(opts.Config.Commits.RenameCommitWithEditor), Handler: self.withItem(self.rewordEditor), GetDisabledReason: self.require( self.singleItemSelected(self.rewordEnabled), @@ -110,7 +110,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ Description: self.c.Tr.RewordCommitEditor, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItemsRange(self.drop), GetDisabledReason: self.require( self.itemRangeSelected( @@ -122,7 +122,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ DisplayOnScreen: true, }, { - Key: opts.GetKey(editCommitKey), + Keys: opts.GetKeys(editCommitKey), Handler: opts.Guards.OutsideFilterMode(self.withItemsRange(self.edit)), GetDisabledReason: self.require( self.itemRangeSelected(self.midRebaseCommandEnabled), @@ -136,7 +136,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ // The user-facing description here is 'Start interactive rebase' but internally // we're calling it 'quick-start interactive rebase' to differentiate it from // when you manually select the base commit. - Key: opts.GetKey(opts.Config.Commits.StartInteractiveRebase), + Keys: opts.GetKeys(opts.Config.Commits.StartInteractiveRebase), Handler: opts.Guards.OutsideFilterMode(self.quickStartInteractiveRebase), GetDisabledReason: self.require(self.notMidRebase(self.c.Tr.AlreadyRebasing), self.canFindCommitForQuickStart), Description: self.c.Tr.QuickStartInteractiveRebase, @@ -145,7 +145,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ }), }, { - Key: opts.GetKey(opts.Config.Commits.PickCommit), + Keys: opts.GetKeys(opts.Config.Commits.PickCommit), Handler: opts.Guards.OutsideFilterMode(self.withItems(self.pick)), GetDisabledReason: self.require( self.itemRangeSelected(self.pickEnabled), @@ -154,7 +154,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ Tooltip: self.c.Tr.PickCommitTooltip, }, { - Key: opts.GetKey(opts.Config.Commits.CreateFixupCommit), + Keys: opts.GetKeys(opts.Config.Commits.CreateFixupCommit), Handler: opts.Guards.OutsideFilterMode(self.withItem(self.createFixupCommit)), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.CreateFixupCommit, @@ -166,7 +166,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ ), }, { - Key: opts.GetKey(opts.Config.Commits.SquashAboveCommits), + Keys: opts.GetKeys(opts.Config.Commits.SquashAboveCommits), Handler: opts.Guards.OutsideFilterMode(self.squashFixupCommits), GetDisabledReason: self.require( self.notMidRebase(self.c.Tr.AlreadyRebasing), @@ -176,7 +176,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Commits.MoveDownCommit), + Keys: opts.GetKeys(opts.Config.Commits.MoveDownCommit), Handler: opts.Guards.OutsideFilterMode(self.withItemsRange(self.moveDown)), GetDisabledReason: self.require(self.itemRangeSelected( self.midRebaseMoveCommandEnabled, @@ -185,7 +185,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ Description: self.c.Tr.MoveDownCommit, }, { - Key: opts.GetKey(opts.Config.Commits.MoveUpCommit), + Keys: opts.GetKeys(opts.Config.Commits.MoveUpCommit), Handler: opts.Guards.OutsideFilterMode(self.withItemsRange(self.moveUp)), GetDisabledReason: self.require(self.itemRangeSelected( self.midRebaseMoveCommandEnabled, @@ -194,14 +194,14 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ Description: self.c.Tr.MoveUpCommit, }, { - Key: opts.GetKey(opts.Config.Commits.PasteCommits), + Keys: opts.GetKeys(opts.Config.Commits.PasteCommits), Handler: opts.Guards.OutsideFilterMode(self.paste), GetDisabledReason: self.require(self.canPaste), Description: self.c.Tr.PasteCommits, DisplayStyle: &style.FgCyan, }, { - Key: opts.GetKey(opts.Config.Commits.MarkCommitAsBaseForRebase), + Keys: opts.GetKeys(opts.Config.Commits.MarkCommitAsBaseForRebase), Handler: opts.Guards.OutsideFilterMode(self.withItem(self.markAsBaseCommit)), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.MarkAsBaseCommit, @@ -210,13 +210,13 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ // overriding this navigation keybinding because we might need to load // more commits on demand { - Key: opts.GetKey(opts.Config.Universal.StartSearch), + Keys: opts.GetKeys(opts.Config.Universal.StartSearch), Handler: self.openSearch, Description: self.c.Tr.StartSearch, Tag: "navigation", }, { - Key: opts.GetKey(opts.Config.Commits.AmendToCommit), + Keys: opts.GetKeys(opts.Config.Commits.AmendToCommit), Handler: self.withItem(self.amendTo), GetDisabledReason: self.require(self.singleItemSelected(self.canAmend)), Description: self.c.Tr.Amend, @@ -224,7 +224,7 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Commits.ResetCommitAuthor), + Keys: opts.GetKeys(opts.Config.Commits.ResetCommitAuthor), Handler: self.withItemsRange(self.amendAttribute), GetDisabledReason: self.require(self.itemRangeSelected(self.canAmendRange)), Description: self.c.Tr.AmendCommitAttribute, @@ -232,28 +232,28 @@ func (self *LocalCommitsController) GetKeybindings(opts types.KeybindingsOpts) [ OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Commits.RevertCommit), + Keys: opts.GetKeys(opts.Config.Commits.RevertCommit), Handler: self.withItemsRange(self.revert), GetDisabledReason: self.require(self.itemRangeSelected()), Description: self.c.Tr.Revert, Tooltip: self.c.Tr.RevertCommitTooltip, }, { - Key: opts.GetKey(opts.Config.Commits.CreateTag), + Keys: opts.GetKeys(opts.Config.Commits.CreateTag), Handler: self.withItem(self.createTag), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.TagCommit, Tooltip: self.c.Tr.TagCommitTooltip, }, { - Key: opts.GetKey(opts.Config.Commits.OpenLogMenu), + Keys: opts.GetKeys(opts.Config.Commits.OpenLogMenu), Handler: self.handleOpenLogMenu, Description: self.c.Tr.OpenLogMenu, Tooltip: self.c.Tr.OpenLogMenuTooltip, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Commits.OpenPullRequestInBrowser), + Keys: opts.GetKeys(opts.Config.Commits.OpenPullRequestInBrowser), Handler: self.openPRInBrowser, GetDisabledReason: self.checkedOutBranchHasPR, Description: self.c.Tr.OpenPullRequestInBrowser, @@ -361,7 +361,7 @@ func (self *LocalCommitsController) fixup(selectedCommits []*models.Commit, star Items: []*types.MenuItem{ { Label: self.c.Tr.Fixup, - Key: menuKey('f'), + Keys: menuKey('f'), OnPress: func() error { return self.c.WithWaitingStatus(self.c.Tr.FixingStatus, func(gocui.Task) error { self.c.LogAction(self.c.Tr.Actions.FixupCommit) @@ -372,7 +372,7 @@ func (self *LocalCommitsController) fixup(selectedCommits []*models.Commit, star }, { Label: self.c.Tr.FixupKeepMessage, - Key: menuKey('c'), + Keys: menuKey('c'), OnPress: func() error { return self.c.WithWaitingStatus(self.c.Tr.FixingStatus, func(gocui.Task) error { self.c.LogAction(self.c.Tr.Actions.FixupCommitKeepMessage) @@ -403,7 +403,7 @@ func (self *LocalCommitsController) setFixupMessage(commit *models.Commit) error Items: []*types.MenuItem{ { Label: self.c.Tr.FixupDiscardMessage, - Key: menuKey('f'), + Keys: menuKey('f'), OnPress: func() error { return self.updateTodosWithFlag(todo.Fixup, []*models.Commit{commit}, "") }, @@ -411,7 +411,7 @@ func (self *LocalCommitsController) setFixupMessage(commit *models.Commit) error }, { Label: self.c.Tr.FixupKeepMessage, - Key: menuKey('c'), + Keys: menuKey('c'), OnPress: func() error { return self.updateTodosWithFlag(todo.Fixup, []*models.Commit{commit}, "-C") }, @@ -864,19 +864,19 @@ func (self *LocalCommitsController) amendAttribute(commits []*models.Commit, sta { Label: self.c.Tr.ResetAuthor, OnPress: func() error { return self.resetAuthor(start, end) }, - Key: opts.GetKey(opts.Config.AmendAttribute.ResetAuthor), + Keys: opts.GetKeys(opts.Config.AmendAttribute.ResetAuthor), Tooltip: self.c.Tr.ResetAuthorTooltip, }, { Label: self.c.Tr.SetAuthor, OnPress: func() error { return self.setAuthor(start, end) }, - Key: opts.GetKey(opts.Config.AmendAttribute.SetAuthor), + Keys: opts.GetKeys(opts.Config.AmendAttribute.SetAuthor), Tooltip: self.c.Tr.SetAuthorTooltip, }, { Label: self.c.Tr.AddCoAuthor, OnPress: func() error { return self.addCoAuthor(start, end) }, - Key: opts.GetKey(opts.Config.AmendAttribute.AddCoAuthor), + Keys: opts.GetKeys(opts.Config.AmendAttribute.AddCoAuthor), Tooltip: self.c.Tr.AddCoAuthorTooltip, }, }, @@ -1000,7 +1000,7 @@ func (self *LocalCommitsController) createFixupCommit(commit *models.Commit) err Items: []*types.MenuItem{ { Label: self.c.Tr.FixupMenu_Fixup, - Key: menuKey('f'), + Keys: menuKey('f'), OnPress: func() error { return self.c.Helpers().WorkingTree.WithEnsureCommittableFiles(func() error { self.c.LogAction(self.c.Tr.Actions.CreateFixupCommit) @@ -1024,7 +1024,7 @@ func (self *LocalCommitsController) createFixupCommit(commit *models.Commit) err }, { Label: self.c.Tr.FixupMenu_AmendWithChanges, - Key: menuKey('a'), + Keys: menuKey('a'), OnPress: func() error { return self.c.Helpers().WorkingTree.WithEnsureCommittableFiles(func() error { return self.createAmendCommit(commit, true) @@ -1035,7 +1035,7 @@ func (self *LocalCommitsController) createFixupCommit(commit *models.Commit) err }, { Label: self.c.Tr.FixupMenu_AmendWithoutChanges, - Key: menuKey('r'), + Keys: menuKey('r'), OnPress: func() error { return self.createAmendCommit(commit, false) }, Tooltip: self.c.Tr.FixupMenu_AmendWithoutChangesTooltip, }, @@ -1134,14 +1134,14 @@ func (self *LocalCommitsController) squashFixupCommits() error { Label: self.c.Tr.SquashCommitsInCurrentBranch, OnPress: self.squashAllFixupsInCurrentBranch, DisabledReason: self.canFindCommitForSquashFixupsInCurrentBranch(), - Key: menuKey('b'), + Keys: menuKey('b'), Tooltip: self.c.Tr.SquashCommitsInCurrentBranchTooltip, }, { Label: self.c.Tr.SquashCommitsAboveSelectedCommit, OnPress: self.withItem(self.squashAllFixupsAboveSelectedCommit), DisabledReason: self.singleItemSelected()(), - Key: menuKey('a'), + Keys: menuKey('a'), Tooltip: self.c.Tr.SquashCommitsAboveSelectedTooltip, }, }, diff --git a/pkg/gui/controllers/main_view_controller.go b/pkg/gui/controllers/main_view_controller.go index 58d88485a..6eb6c86e3 100644 --- a/pkg/gui/controllers/main_view_controller.go +++ b/pkg/gui/controllers/main_view_controller.go @@ -32,21 +32,21 @@ func NewMainViewController( func (self *MainViewController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.TogglePanel), + Keys: opts.GetKeys(opts.Config.Universal.TogglePanel), Handler: self.togglePanel, Description: self.c.Tr.ToggleStagingView, Tooltip: self.c.Tr.ToggleStagingViewTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.escape, Description: self.c.Tr.ExitFocusedMainView, DisplayOnScreen: true, }, { // overriding this because we want to read all of the task's output before we start searching - Key: opts.GetKey(opts.Config.Universal.StartSearch), + Keys: opts.GetKeys(opts.Config.Universal.StartSearch), Handler: self.openSearch, Description: self.c.Tr.StartSearch, Tag: "navigation", diff --git a/pkg/gui/controllers/menu_controller.go b/pkg/gui/controllers/menu_controller.go index a2c77e457..283c2bbdf 100644 --- a/pkg/gui/controllers/menu_controller.go +++ b/pkg/gui/controllers/menu_controller.go @@ -33,19 +33,19 @@ func NewMenuController( func (self *MenuController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItem(self.press), GetDisabledReason: self.require(self.singleItemSelected()), }, { - Key: opts.GetKey(opts.Config.Universal.ConfirmMenu), + Keys: opts.GetKeys(opts.Config.Universal.ConfirmMenu), Handler: self.withItem(self.press), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Execute, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.close, Description: self.c.Tr.CloseCancel, DisplayOnScreen: true, diff --git a/pkg/gui/controllers/merge_conflicts_controller.go b/pkg/gui/controllers/merge_conflicts_controller.go index 1de192928..a539e710f 100644 --- a/pkg/gui/controllers/merge_conflicts_controller.go +++ b/pkg/gui/controllers/merge_conflicts_controller.go @@ -28,91 +28,91 @@ func NewMergeConflictsController( func (self *MergeConflictsController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withRenderAndFocus(self.HandlePickHunk), Description: self.c.Tr.PickHunk, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Main.PickBothHunks), + Keys: opts.GetKeys(opts.Config.Main.PickBothHunks), Handler: self.withRenderAndFocus(self.HandlePickAllHunks), Description: self.c.Tr.PickAllHunks, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.PrevItem), + Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: self.withRenderAndFocus(self.PrevConflictHunk), Description: self.c.Tr.SelectPrevHunk, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.NextItem), + Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: self.withRenderAndFocus(self.NextConflictHunk), Description: self.c.Tr.SelectNextHunk, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.PrevBlock), + Keys: opts.GetKeys(opts.Config.Universal.PrevBlock), Handler: self.withRenderAndFocus(self.PrevConflict), Description: self.c.Tr.PrevConflict, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.NextBlock), + Keys: opts.GetKeys(opts.Config.Universal.NextBlock), Handler: self.withRenderAndFocus(self.NextConflict), Description: self.c.Tr.NextConflict, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Undo), + Keys: opts.GetKeys(opts.Config.Universal.Undo), Handler: self.withRenderAndFocus(self.HandleUndo), Description: self.c.Tr.Undo, Tooltip: self.c.Tr.UndoMergeResolveTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: self.HandleEditFile, Description: self.c.Tr.EditFile, Tooltip: self.c.Tr.EditFileTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.OpenFile), + Keys: opts.GetKeys(opts.Config.Universal.OpenFile), Handler: self.HandleOpenFile, Description: self.c.Tr.OpenFile, Tooltip: self.c.Tr.OpenFileTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.PrevBlockAlt), + Keys: opts.GetKeys(opts.Config.Universal.PrevBlockAlt), Handler: self.withRenderAndFocus(self.PrevConflict), }, { - Key: opts.GetKey(opts.Config.Universal.NextBlockAlt), + Keys: opts.GetKeys(opts.Config.Universal.NextBlockAlt), Handler: self.withRenderAndFocus(self.NextConflict), }, { - Key: opts.GetKey(opts.Config.Universal.PrevItemAlt), + Keys: opts.GetKeys(opts.Config.Universal.PrevItemAlt), Handler: self.withRenderAndFocus(self.PrevConflictHunk), }, { - Key: opts.GetKey(opts.Config.Universal.NextItemAlt), + Keys: opts.GetKeys(opts.Config.Universal.NextItemAlt), Handler: self.withRenderAndFocus(self.NextConflictHunk), }, { - Key: opts.GetKey(opts.Config.Universal.ScrollLeft), + Keys: opts.GetKeys(opts.Config.Universal.ScrollLeft), Handler: self.withRenderAndFocus(self.HandleScrollLeft), Description: self.c.Tr.ScrollLeft, Tag: "navigation", }, { - Key: opts.GetKey(opts.Config.Universal.ScrollRight), + Keys: opts.GetKeys(opts.Config.Universal.ScrollRight), Handler: self.withRenderAndFocus(self.HandleScrollRight), Description: self.c.Tr.ScrollRight, Tag: "navigation", }, { - Key: opts.GetKey(opts.Config.Files.OpenMergeOptions), + Keys: opts.GetKeys(opts.Config.Files.OpenMergeOptions), Handler: self.openMergeConflictMenu, Description: self.c.Tr.ViewMergeConflictOptions, Tooltip: self.c.Tr.ViewMergeConflictOptionsTooltip, @@ -120,7 +120,7 @@ func (self *MergeConflictsController) GetKeybindings(opts types.KeybindingsOpts) DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.Escape, Description: self.c.Tr.ReturnToFilesPanel, }, diff --git a/pkg/gui/controllers/options_menu_action.go b/pkg/gui/controllers/options_menu_action.go index e711f9df6..e49c02386 100644 --- a/pkg/gui/controllers/options_menu_action.go +++ b/pkg/gui/controllers/options_menu_action.go @@ -33,7 +33,7 @@ func (self *OptionsMenuAction) Call() error { return self.c.IGuiCommon.CallKeybindingHandler(binding) }, - Key: binding.Key, + Keys: binding.Keys, Tooltip: binding.Tooltip, DisabledReason: disabledReason, Section: section, diff --git a/pkg/gui/controllers/patch_building_controller.go b/pkg/gui/controllers/patch_building_controller.go index 3557a3879..dd8c89fff 100644 --- a/pkg/gui/controllers/patch_building_controller.go +++ b/pkg/gui/controllers/patch_building_controller.go @@ -27,25 +27,25 @@ func NewPatchBuildingController( func (self *PatchBuildingController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.OpenFile), + Keys: opts.GetKeys(opts.Config.Universal.OpenFile), Handler: self.OpenFile, Description: self.c.Tr.OpenFile, Tooltip: self.c.Tr.OpenFileTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: self.EditFile, Description: self.c.Tr.EditFile, Tooltip: self.c.Tr.EditFileTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.ToggleSelectionAndRefresh, Description: self.c.Tr.ToggleSelectionForPatch, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.discardSelection, GetDisabledReason: self.getDisabledReasonForDiscard, Description: self.c.Tr.RemoveSelectionFromPatch, @@ -53,7 +53,7 @@ func (self *PatchBuildingController) GetKeybindings(opts types.KeybindingsOpts) DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.Escape, Description: self.c.Tr.ExitCustomPatchBuilder, DescriptionFunc: self.EscapeDescription, diff --git a/pkg/gui/controllers/patch_explorer_controller.go b/pkg/gui/controllers/patch_explorer_controller.go index 9c0ef078f..14bce304e 100644 --- a/pkg/gui/controllers/patch_explorer_controller.go +++ b/pkg/gui/controllers/patch_explorer_controller.go @@ -41,61 +41,61 @@ func (self *PatchExplorerController) GetKeybindings(opts types.KeybindingsOpts) return []*types.Binding{ { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.PrevItemAlt), + Keys: opts.GetKeys(opts.Config.Universal.PrevItemAlt), Handler: self.withRenderAndFocus(self.HandlePrevLine), }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.PrevItem), + Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: self.withRenderAndFocus(self.HandlePrevLine), }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.NextItemAlt), + Keys: opts.GetKeys(opts.Config.Universal.NextItemAlt), Handler: self.withRenderAndFocus(self.HandleNextLine), }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.NextItem), + Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: self.withRenderAndFocus(self.HandleNextLine), }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.RangeSelectUp), + Keys: opts.GetKeys(opts.Config.Universal.RangeSelectUp), Handler: self.withRenderAndFocus(self.HandlePrevLineRange), Description: self.c.Tr.RangeSelectUp, }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.RangeSelectDown), + Keys: opts.GetKeys(opts.Config.Universal.RangeSelectDown), Handler: self.withRenderAndFocus(self.HandleNextLineRange), Description: self.c.Tr.RangeSelectDown, }, { - Key: opts.GetKey(opts.Config.Universal.PrevBlock), + Keys: opts.GetKeys(opts.Config.Universal.PrevBlock), Handler: self.withRenderAndFocus(self.HandlePrevHunk), Description: self.c.Tr.PrevHunk, }, { - Key: opts.GetKey(opts.Config.Universal.PrevBlockAlt), + Keys: opts.GetKeys(opts.Config.Universal.PrevBlockAlt), Handler: self.withRenderAndFocus(self.HandlePrevHunk), }, { - Key: opts.GetKey(opts.Config.Universal.NextBlock), + Keys: opts.GetKeys(opts.Config.Universal.NextBlock), Handler: self.withRenderAndFocus(self.HandleNextHunk), Description: self.c.Tr.NextHunk, }, { - Key: opts.GetKey(opts.Config.Universal.NextBlockAlt), + Keys: opts.GetKeys(opts.Config.Universal.NextBlockAlt), Handler: self.withRenderAndFocus(self.HandleNextHunk), }, { - Key: opts.GetKey(opts.Config.Universal.ToggleRangeSelect), + Keys: opts.GetKeys(opts.Config.Universal.ToggleRangeSelect), Handler: self.withRenderAndFocus(self.HandleToggleSelectRange), Description: self.c.Tr.ToggleRangeSelect, }, { - Key: opts.GetKey(opts.Config.Main.ToggleSelectHunk), + Keys: opts.GetKeys(opts.Config.Main.ToggleSelectHunk), Handler: self.withRenderAndFocus(self.HandleToggleSelectHunk), Description: self.c.Tr.ToggleSelectHunk, DescriptionFunc: func() string { @@ -109,50 +109,50 @@ func (self *PatchExplorerController) GetKeybindings(opts types.KeybindingsOpts) }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.PrevPage), + Keys: opts.GetKeys(opts.Config.Universal.PrevPage), Handler: self.withRenderAndFocus(self.HandlePrevPage), Description: self.c.Tr.PrevPage, }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.NextPage), + Keys: opts.GetKeys(opts.Config.Universal.NextPage), Handler: self.withRenderAndFocus(self.HandleNextPage), Description: self.c.Tr.NextPage, }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.GotoTop), + Keys: opts.GetKeys(opts.Config.Universal.GotoTop), Handler: self.withRenderAndFocus(self.HandleGotoTop), Description: self.c.Tr.GotoTop, }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.GotoBottom), + Keys: opts.GetKeys(opts.Config.Universal.GotoBottom), Description: self.c.Tr.GotoBottom, Handler: self.withRenderAndFocus(self.HandleGotoBottom), }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.GotoTopAlt), + Keys: opts.GetKeys(opts.Config.Universal.GotoTopAlt), Handler: self.withRenderAndFocus(self.HandleGotoTop), }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.GotoBottomAlt), + Keys: opts.GetKeys(opts.Config.Universal.GotoBottomAlt), Handler: self.withRenderAndFocus(self.HandleGotoBottom), }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.ScrollLeft), + Keys: opts.GetKeys(opts.Config.Universal.ScrollLeft), Handler: self.withRenderAndFocus(self.HandleScrollLeft), }, { Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.ScrollRight), + Keys: opts.GetKeys(opts.Config.Universal.ScrollRight), Handler: self.withRenderAndFocus(self.HandleScrollRight), }, { - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: self.withLock(self.CopySelectedToClipboard), Description: self.c.Tr.CopySelectedTextToClipboard, }, diff --git a/pkg/gui/controllers/prompt_controller.go b/pkg/gui/controllers/prompt_controller.go index 9a1fd63c9..abcf73ef5 100644 --- a/pkg/gui/controllers/prompt_controller.go +++ b/pkg/gui/controllers/prompt_controller.go @@ -27,19 +27,19 @@ func NewPromptController( func (self *PromptController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: []gocui.Key{gocui.NewKeyName(gocui.KeyEnter)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.KeyEnter)}, Handler: func() error { return self.context().State.OnConfirm() }, Description: self.c.Tr.Confirm, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: func() error { return self.context().State.OnClose() }, Description: self.c.Tr.CloseCancel, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.TogglePanel), + Keys: opts.GetKeys(opts.Config.Universal.TogglePanel), Handler: func() error { if len(self.c.Contexts().Suggestions.State.Suggestions) > 0 { self.switchToSuggestions() diff --git a/pkg/gui/controllers/remote_branches_controller.go b/pkg/gui/controllers/remote_branches_controller.go index 3a0350477..3a49c0114 100644 --- a/pkg/gui/controllers/remote_branches_controller.go +++ b/pkg/gui/controllers/remote_branches_controller.go @@ -35,7 +35,7 @@ func NewRemoteBranchesController( func (self *RemoteBranchesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItem(self.checkoutBranch), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Checkout, @@ -43,13 +43,13 @@ func (self *RemoteBranchesController) GetKeybindings(opts types.KeybindingsOpts) DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.New), + Keys: opts.GetKeys(opts.Config.Universal.New), Handler: self.withItem(self.newLocalBranch), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.NewBranch, }, { - Key: opts.GetKey(opts.Config.Branches.MergeIntoCurrentBranch), + Keys: opts.GetKeys(opts.Config.Branches.MergeIntoCurrentBranch), Handler: opts.Guards.OutsideFilterMode(self.withItem(self.merge)), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Merge, @@ -57,7 +57,7 @@ func (self *RemoteBranchesController) GetKeybindings(opts types.KeybindingsOpts) DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.RebaseBranch), + Keys: opts.GetKeys(opts.Config.Branches.RebaseBranch), Handler: opts.Guards.OutsideFilterMode(self.withItem(self.rebase)), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.RebaseBranch, @@ -65,7 +65,7 @@ func (self *RemoteBranchesController) GetKeybindings(opts types.KeybindingsOpts) DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItems(self.delete), GetDisabledReason: self.require(self.itemRangeSelected()), Description: self.c.Tr.Delete, @@ -73,7 +73,7 @@ func (self *RemoteBranchesController) GetKeybindings(opts types.KeybindingsOpts) DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.SetUpstream), + Keys: opts.GetKeys(opts.Config.Branches.SetUpstream), Handler: self.withItem(self.setAsUpstream), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.SetAsUpstream, @@ -81,13 +81,13 @@ func (self *RemoteBranchesController) GetKeybindings(opts types.KeybindingsOpts) DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.SortOrder), + Keys: opts.GetKeys(opts.Config.Branches.SortOrder), Handler: self.createSortMenu, Description: self.c.Tr.SortOrder, OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Commits.ViewResetOptions), + Keys: opts.GetKeys(opts.Config.Commits.ViewResetOptions), Handler: self.withItem(self.createResetMenu), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.ViewResetOptions, @@ -95,7 +95,7 @@ func (self *RemoteBranchesController) GetKeybindings(opts types.KeybindingsOpts) OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Universal.OpenDiffTool), + Keys: opts.GetKeys(opts.Config.Universal.OpenDiffTool), Handler: self.withItem(func(selectedBranch *models.RemoteBranch) error { return self.c.Helpers().Diff.OpenDiffToolForRef(selectedBranch) }), diff --git a/pkg/gui/controllers/remotes_controller.go b/pkg/gui/controllers/remotes_controller.go index c07626649..b2e30f231 100644 --- a/pkg/gui/controllers/remotes_controller.go +++ b/pkg/gui/controllers/remotes_controller.go @@ -45,20 +45,20 @@ func NewRemotesController( func (self *RemotesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.GoInto), + Keys: opts.GetKeys(opts.Config.Universal.GoInto), Handler: self.withItem(self.enter), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.ViewBranches, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.New), + Keys: opts.GetKeys(opts.Config.Universal.New), Handler: self.add, Description: self.c.Tr.NewRemote, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItem(self.remove), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Remove, @@ -66,7 +66,7 @@ func (self *RemotesController) GetKeybindings(opts types.KeybindingsOpts) []*typ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: self.withItem(self.edit), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Edit, @@ -74,7 +74,7 @@ func (self *RemotesController) GetKeybindings(opts types.KeybindingsOpts) []*typ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.FetchRemote), + Keys: opts.GetKeys(opts.Config.Branches.FetchRemote), Handler: self.withItem(self.fetch), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Fetch, @@ -82,7 +82,7 @@ func (self *RemotesController) GetKeybindings(opts types.KeybindingsOpts) []*typ DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.AddForkRemote), + Keys: opts.GetKeys(opts.Config.Branches.AddForkRemote), Handler: self.addFork, GetDisabledReason: self.hasOriginRemote(), Description: self.c.Tr.AddForkRemote, diff --git a/pkg/gui/controllers/rename_similarity_threshold_controller.go b/pkg/gui/controllers/rename_similarity_threshold_controller.go index 2d5f52bc0..78b8bb7f4 100644 --- a/pkg/gui/controllers/rename_similarity_threshold_controller.go +++ b/pkg/gui/controllers/rename_similarity_threshold_controller.go @@ -28,13 +28,13 @@ func NewRenameSimilarityThresholdController( func (self *RenameSimilarityThresholdController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.IncreaseRenameSimilarityThreshold), + Keys: opts.GetKeys(opts.Config.Universal.IncreaseRenameSimilarityThreshold), Handler: self.Increase, Description: self.c.Tr.IncreaseRenameSimilarityThreshold, Tooltip: self.c.Tr.IncreaseRenameSimilarityThresholdTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.DecreaseRenameSimilarityThreshold), + Keys: opts.GetKeys(opts.Config.Universal.DecreaseRenameSimilarityThreshold), Handler: self.Decrease, Description: self.c.Tr.DecreaseRenameSimilarityThreshold, Tooltip: self.c.Tr.DecreaseRenameSimilarityThresholdTooltip, diff --git a/pkg/gui/controllers/search_controller.go b/pkg/gui/controllers/search_controller.go index 395784d10..f1d5efe2a 100644 --- a/pkg/gui/controllers/search_controller.go +++ b/pkg/gui/controllers/search_controller.go @@ -36,7 +36,7 @@ func (self *SearchController) Context() types.Context { func (self *SearchController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.StartSearch), + Keys: opts.GetKeys(opts.Config.Universal.StartSearch), Handler: self.OpenSearchPrompt, Description: self.c.Tr.StartSearch, }, diff --git a/pkg/gui/controllers/search_prompt_controller.go b/pkg/gui/controllers/search_prompt_controller.go index b3b9918e6..1ce02abf0 100644 --- a/pkg/gui/controllers/search_prompt_controller.go +++ b/pkg/gui/controllers/search_prompt_controller.go @@ -24,19 +24,19 @@ func NewSearchPromptController( func (self *SearchPromptController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: []gocui.Key{gocui.NewKeyName(gocui.KeyEnter)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.KeyEnter)}, Handler: self.confirm, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.cancel, }, { - Key: opts.GetKey(opts.Config.Universal.PrevItem), + Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: self.prevHistory, }, { - Key: opts.GetKey(opts.Config.Universal.NextItem), + Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: self.nextHistory, }, } diff --git a/pkg/gui/controllers/side_window_controller.go b/pkg/gui/controllers/side_window_controller.go index 94706eb8f..f09a5bbdb 100644 --- a/pkg/gui/controllers/side_window_controller.go +++ b/pkg/gui/controllers/side_window_controller.go @@ -35,12 +35,12 @@ func NewSideWindowController( func (self *SideWindowController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ - {Key: opts.GetKey(opts.Config.Universal.PrevBlock), Handler: self.previousSideWindow}, - {Key: opts.GetKey(opts.Config.Universal.NextBlock), Handler: self.nextSideWindow}, - {Key: opts.GetKey(opts.Config.Universal.PrevBlockAlt), Handler: self.previousSideWindow}, - {Key: opts.GetKey(opts.Config.Universal.NextBlockAlt), Handler: self.nextSideWindow}, - {Key: opts.GetKey(opts.Config.Universal.PrevBlockAlt2), Handler: self.previousSideWindow}, - {Key: opts.GetKey(opts.Config.Universal.NextBlockAlt2), Handler: self.nextSideWindow}, + {Keys: opts.GetKeys(opts.Config.Universal.PrevBlock), Handler: self.previousSideWindow}, + {Keys: opts.GetKeys(opts.Config.Universal.NextBlock), Handler: self.nextSideWindow}, + {Keys: opts.GetKeys(opts.Config.Universal.PrevBlockAlt), Handler: self.previousSideWindow}, + {Keys: opts.GetKeys(opts.Config.Universal.NextBlockAlt), Handler: self.nextSideWindow}, + {Keys: opts.GetKeys(opts.Config.Universal.PrevBlockAlt2), Handler: self.previousSideWindow}, + {Keys: opts.GetKeys(opts.Config.Universal.NextBlockAlt2), Handler: self.nextSideWindow}, } } diff --git a/pkg/gui/controllers/snake_controller.go b/pkg/gui/controllers/snake_controller.go index a2a2030b7..b059ce787 100644 --- a/pkg/gui/controllers/snake_controller.go +++ b/pkg/gui/controllers/snake_controller.go @@ -24,23 +24,23 @@ func NewSnakeController( func (self *SnakeController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.NextItem), + Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: self.SetDirection(snake.Down), }, { - Key: opts.GetKey(opts.Config.Universal.PrevItem), + Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: self.SetDirection(snake.Up), }, { - Key: opts.GetKey(opts.Config.Universal.PrevBlock), + Keys: opts.GetKeys(opts.Config.Universal.PrevBlock), Handler: self.SetDirection(snake.Left), }, { - Key: opts.GetKey(opts.Config.Universal.NextBlock), + Keys: opts.GetKeys(opts.Config.Universal.NextBlock), Handler: self.SetDirection(snake.Right), }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.Escape, }, } diff --git a/pkg/gui/controllers/staging_controller.go b/pkg/gui/controllers/staging_controller.go index 75042f46a..8d876acda 100644 --- a/pkg/gui/controllers/staging_controller.go +++ b/pkg/gui/controllers/staging_controller.go @@ -41,69 +41,69 @@ func NewStagingController( func (self *StagingController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.ToggleStaged, Description: self.c.Tr.Stage, Tooltip: self.c.Tr.StageSelectionTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.DiscardSelection, Description: self.c.Tr.DiscardSelection, Tooltip: self.c.Tr.DiscardSelectionTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.OpenFile), + Keys: opts.GetKeys(opts.Config.Universal.OpenFile), Handler: self.OpenFile, Description: self.c.Tr.OpenFile, Tooltip: self.c.Tr.OpenFileTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: self.EditFile, Description: self.c.Tr.EditFile, Tooltip: self.c.Tr.EditFileTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: self.Escape, Description: self.c.Tr.ReturnToFilesPanel, DescriptionFunc: self.EscapeDescription, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.TogglePanel), + Keys: opts.GetKeys(opts.Config.Universal.TogglePanel), Handler: self.TogglePanel, Description: self.c.Tr.ToggleStagingView, Tooltip: self.c.Tr.ToggleStagingViewTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Main.EditSelectHunk), + Keys: opts.GetKeys(opts.Config.Main.EditSelectHunk), Handler: self.EditHunkAndRefresh, Description: self.c.Tr.EditHunk, Tooltip: self.c.Tr.EditHunkTooltip, }, { - Key: opts.GetKey(opts.Config.Files.CommitChanges), + Keys: opts.GetKeys(opts.Config.Files.CommitChanges), Handler: self.c.Helpers().WorkingTree.HandleCommitPress, Description: self.c.Tr.Commit, Tooltip: self.c.Tr.CommitTooltip, }, { - Key: opts.GetKey(opts.Config.Files.CommitChangesWithoutHook), + Keys: opts.GetKeys(opts.Config.Files.CommitChangesWithoutHook), Handler: self.c.Helpers().WorkingTree.HandleWIPCommitPress, Description: self.c.Tr.CommitChangesWithoutHook, }, { - Key: opts.GetKey(opts.Config.Files.CommitChangesWithEditor), + Keys: opts.GetKeys(opts.Config.Files.CommitChangesWithEditor), Handler: self.c.Helpers().WorkingTree.HandleCommitEditorPress, Description: self.c.Tr.CommitChangesWithEditor, }, { - Key: opts.GetKey(opts.Config.Files.FindBaseCommitForFixup), + Keys: opts.GetKeys(opts.Config.Files.FindBaseCommitForFixup), Handler: self.c.Helpers().FixupHelper.HandleFindBaseCommitForFixupPress, Description: self.c.Tr.FindBaseCommitForFixup, Tooltip: self.c.Tr.FindBaseCommitForFixupTooltip, diff --git a/pkg/gui/controllers/stash_controller.go b/pkg/gui/controllers/stash_controller.go index 20dc2826e..49abedd9f 100644 --- a/pkg/gui/controllers/stash_controller.go +++ b/pkg/gui/controllers/stash_controller.go @@ -36,7 +36,7 @@ func NewStashController( func (self *StashController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItem(self.handleStashApply), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Apply, @@ -44,7 +44,7 @@ func (self *StashController) GetKeybindings(opts types.KeybindingsOpts) []*types DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Stash.PopStash), + Keys: opts.GetKeys(opts.Config.Stash.PopStash), Handler: self.withItem(self.handleStashPop), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Pop, @@ -52,7 +52,7 @@ func (self *StashController) GetKeybindings(opts types.KeybindingsOpts) []*types DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItems(self.handleStashDrop), GetDisabledReason: self.require(self.itemRangeSelected()), Description: self.c.Tr.Drop, @@ -60,14 +60,14 @@ func (self *StashController) GetKeybindings(opts types.KeybindingsOpts) []*types DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.New), + Keys: opts.GetKeys(opts.Config.Universal.New), Handler: self.withItem(self.handleNewBranchOffStashEntry), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.NewBranch, Tooltip: self.c.Tr.NewBranchFromStashTooltip, }, { - Key: opts.GetKey(opts.Config.Stash.RenameStash), + Keys: opts.GetKeys(opts.Config.Stash.RenameStash), Handler: self.withItem(self.handleRenameStashEntry), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.RenameStash, diff --git a/pkg/gui/controllers/status_controller.go b/pkg/gui/controllers/status_controller.go index a3e08e384..f29ee97f0 100644 --- a/pkg/gui/controllers/status_controller.go +++ b/pkg/gui/controllers/status_controller.go @@ -34,37 +34,37 @@ func NewStatusController( func (self *StatusController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.OpenFile), + Keys: opts.GetKeys(opts.Config.Universal.OpenFile), Handler: self.openConfig, Description: self.c.Tr.OpenConfig, Tooltip: self.c.Tr.OpenFileTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: self.editConfig, Description: self.c.Tr.EditConfig, Tooltip: self.c.Tr.EditFileTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Status.CheckForUpdate), + Keys: opts.GetKeys(opts.Config.Status.CheckForUpdate), Handler: self.handleCheckForUpdate, Description: self.c.Tr.CheckForUpdate, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Status.RecentRepos), + Keys: opts.GetKeys(opts.Config.Status.RecentRepos), Handler: self.c.Helpers().Repos.CreateRecentReposMenu, Description: self.c.Tr.SwitchRepo, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Status.AllBranchesLogGraph), + Keys: opts.GetKeys(opts.Config.Status.AllBranchesLogGraph), Handler: func() error { self.switchToOrRotateAllBranchesLogs(); return nil }, Description: self.c.Tr.AllBranchesLogGraph, }, { - Key: opts.GetKey(opts.Config.Status.AllBranchesLogGraphReverse), + Keys: opts.GetKeys(opts.Config.Status.AllBranchesLogGraphReverse), Handler: func() error { self.switchToOrRotateAllBranchesLogsBackward(); return nil }, Description: self.c.Tr.AllBranchesLogGraphReverse, }, diff --git a/pkg/gui/controllers/submodules_controller.go b/pkg/gui/controllers/submodules_controller.go index 0a4904b2e..7d6be1e82 100644 --- a/pkg/gui/controllers/submodules_controller.go +++ b/pkg/gui/controllers/submodules_controller.go @@ -39,7 +39,7 @@ func NewSubmodulesController( func (self *SubmodulesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.GoInto), + Keys: opts.GetKeys(opts.Config.Universal.GoInto), Handler: self.withItem(self.enter), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Enter, @@ -48,12 +48,12 @@ func (self *SubmodulesController) GetKeybindings(opts types.KeybindingsOpts) []* DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItem(self.enter), GetDisabledReason: self.require(self.singleItemSelected()), }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItem(self.remove), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Remove, @@ -61,7 +61,7 @@ func (self *SubmodulesController) GetKeybindings(opts types.KeybindingsOpts) []* DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Submodules.Update), + Keys: opts.GetKeys(opts.Config.Submodules.Update), Handler: self.withItem(self.update), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Update, @@ -69,26 +69,26 @@ func (self *SubmodulesController) GetKeybindings(opts types.KeybindingsOpts) []* DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.New), + Keys: opts.GetKeys(opts.Config.Universal.New), Handler: self.add, Description: self.c.Tr.NewSubmodule, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: self.withItem(self.editURL), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.EditSubmoduleUrl, }, { - Key: opts.GetKey(opts.Config.Submodules.Init), + Keys: opts.GetKeys(opts.Config.Submodules.Init), Handler: self.withItem(self.init), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Initialize, Tooltip: self.c.Tr.InitSubmoduleTooltip, }, { - Key: opts.GetKey(opts.Config.Submodules.BulkMenu), + Keys: opts.GetKeys(opts.Config.Submodules.BulkMenu), Handler: self.openBulkActionsMenu, Description: self.c.Tr.ViewBulkSubmoduleOptions, OpensMenu: true, @@ -233,7 +233,7 @@ func (self *SubmodulesController) openBulkActionsMenu() error { return nil }) }, - Key: menuKey('i'), + Keys: menuKey('i'), }, { LabelColumns: []string{self.c.Tr.BulkUpdateSubmodules, style.FgYellow.Sprint(self.c.Git().Submodule.BulkUpdateCmdObj().ToString())}, @@ -248,7 +248,7 @@ func (self *SubmodulesController) openBulkActionsMenu() error { return nil }) }, - Key: menuKey('u'), + Keys: menuKey('u'), }, { LabelColumns: []string{self.c.Tr.BulkUpdateRecursiveSubmodules, style.FgYellow.Sprint(self.c.Git().Submodule.BulkUpdateRecursivelyCmdObj().ToString())}, @@ -263,7 +263,7 @@ func (self *SubmodulesController) openBulkActionsMenu() error { return nil }) }, - Key: menuKey('r'), + Keys: menuKey('r'), }, { LabelColumns: []string{self.c.Tr.BulkDeinitSubmodules, style.FgRed.Sprint(self.c.Git().Submodule.BulkDeinitCmdObj().ToString())}, @@ -278,7 +278,7 @@ func (self *SubmodulesController) openBulkActionsMenu() error { return nil }) }, - Key: menuKey('d'), + Keys: menuKey('d'), }, }, }) diff --git a/pkg/gui/controllers/suggestions_controller.go b/pkg/gui/controllers/suggestions_controller.go index e5de7619b..0553050e5 100644 --- a/pkg/gui/controllers/suggestions_controller.go +++ b/pkg/gui/controllers/suggestions_controller.go @@ -32,26 +32,26 @@ func NewSuggestionsController( func (self *SuggestionsController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.ConfirmSuggestion), + Keys: opts.GetKeys(opts.Config.Universal.ConfirmSuggestion), Handler: func() error { return self.context().State.OnConfirm() }, GetDisabledReason: self.require(self.singleItemSelected()), }, { - Key: opts.GetKey(opts.Config.Universal.Return), + Keys: opts.GetKeys(opts.Config.Universal.Return), Handler: func() error { return self.context().State.OnClose() }, }, { - Key: opts.GetKey(opts.Config.Universal.TogglePanel), + Keys: opts.GetKeys(opts.Config.Universal.TogglePanel), Handler: self.switchToPrompt, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: func() error { return self.context().State.OnDeleteSuggestion() }, }, { - Key: opts.GetKey(opts.Config.Universal.Edit), + Keys: opts.GetKeys(opts.Config.Universal.Edit), Handler: func() error { if self.context().State.AllowEditSuggestion { if selectedItem := self.c.Contexts().Suggestions.GetSelected(); selectedItem != nil { diff --git a/pkg/gui/controllers/switch_to_diff_files_controller.go b/pkg/gui/controllers/switch_to_diff_files_controller.go index 94c3c5712..c2ff4d674 100644 --- a/pkg/gui/controllers/switch_to_diff_files_controller.go +++ b/pkg/gui/controllers/switch_to_diff_files_controller.go @@ -40,7 +40,7 @@ func NewSwitchToDiffFilesController( func (self *SwitchToDiffFilesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.GoInto), + Keys: opts.GetKeys(opts.Config.Universal.GoInto), Handler: self.enter, GetDisabledReason: self.canEnter, Description: self.c.Tr.ViewItemFiles, diff --git a/pkg/gui/controllers/switch_to_focused_main_view_controller.go b/pkg/gui/controllers/switch_to_focused_main_view_controller.go index 5161a5c83..5606a0bab 100644 --- a/pkg/gui/controllers/switch_to_focused_main_view_controller.go +++ b/pkg/gui/controllers/switch_to_focused_main_view_controller.go @@ -29,7 +29,7 @@ func NewSwitchToFocusedMainViewController( func (self *SwitchToFocusedMainViewController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.FocusMainView), + Keys: opts.GetKeys(opts.Config.Universal.FocusMainView), Handler: self.handleFocusMainView, Description: self.c.Tr.FocusMainView, Tag: "global", diff --git a/pkg/gui/controllers/switch_to_sub_commits_controller.go b/pkg/gui/controllers/switch_to_sub_commits_controller.go index 8bee8d7e6..4d723d061 100644 --- a/pkg/gui/controllers/switch_to_sub_commits_controller.go +++ b/pkg/gui/controllers/switch_to_sub_commits_controller.go @@ -47,7 +47,7 @@ func (self *SwitchToSubCommitsController) GetKeybindings(opts types.KeybindingsO { Handler: self.viewCommits, GetDisabledReason: self.require(self.singleItemSelected()), - Key: opts.GetKey(opts.Config.Universal.GoInto), + Keys: opts.GetKeys(opts.Config.Universal.GoInto), Description: self.c.Tr.ViewCommits, }, } diff --git a/pkg/gui/controllers/sync_controller.go b/pkg/gui/controllers/sync_controller.go index 00178b1bb..4e66e2708 100644 --- a/pkg/gui/controllers/sync_controller.go +++ b/pkg/gui/controllers/sync_controller.go @@ -32,14 +32,14 @@ func NewSyncController( func (self *SyncController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Push), + Keys: opts.GetKeys(opts.Config.Universal.Push), Handler: opts.Guards.NoPopupPanel(self.HandlePush), GetDisabledReason: self.getDisabledReasonForPushOrPull, Description: self.c.Tr.Push, Tooltip: self.c.Tr.PushTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Pull), + Keys: opts.GetKeys(opts.Config.Universal.Pull), Handler: opts.Guards.NoPopupPanel(self.HandlePull), GetDisabledReason: self.getDisabledReasonForPushOrPull, Description: self.c.Tr.Pull, diff --git a/pkg/gui/controllers/tags_controller.go b/pkg/gui/controllers/tags_controller.go index 352ec05e6..a10f9a374 100644 --- a/pkg/gui/controllers/tags_controller.go +++ b/pkg/gui/controllers/tags_controller.go @@ -39,7 +39,7 @@ func NewTagsController( func (self *TagsController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItem(self.checkout), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Checkout, @@ -47,14 +47,14 @@ func (self *TagsController) GetKeybindings(opts types.KeybindingsOpts) []*types. DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.New), + Keys: opts.GetKeys(opts.Config.Universal.New), Handler: self.create, Description: self.c.Tr.NewTag, Tooltip: self.c.Tr.NewTagTooltip, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItem(self.delete), Description: self.c.Tr.Delete, GetDisabledReason: self.require(self.singleItemSelected()), @@ -63,7 +63,7 @@ func (self *TagsController) GetKeybindings(opts types.KeybindingsOpts) []*types. DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Branches.PushTag), + Keys: opts.GetKeys(opts.Config.Branches.PushTag), Handler: self.withItem(self.push), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.PushTag, @@ -71,7 +71,7 @@ func (self *TagsController) GetKeybindings(opts types.KeybindingsOpts) []*types. DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Commits.ViewResetOptions), + Keys: opts.GetKeys(opts.Config.Commits.ViewResetOptions), Handler: self.withItem(self.createResetMenu), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Reset, @@ -80,7 +80,7 @@ func (self *TagsController) GetKeybindings(opts types.KeybindingsOpts) []*types. OpensMenu: true, }, { - Key: opts.GetKey(opts.Config.Universal.OpenDiffTool), + Keys: opts.GetKeys(opts.Config.Universal.OpenDiffTool), Handler: self.withItem(func(selectedTag *models.Tag) error { return self.c.Helpers().Diff.OpenDiffToolForRef(selectedTag) }), @@ -282,14 +282,14 @@ func (self *TagsController) delete(tag *models.Tag) error { menuItems := []*types.MenuItem{ { Label: self.c.Tr.DeleteLocalTag, - Key: menuKey('c'), + Keys: menuKey('c'), OnPress: func() error { return self.localDelete(tag) }, }, { Label: self.c.Tr.DeleteRemoteTag, - Key: menuKey('r'), + Keys: menuKey('r'), OpensMenu: true, OnPress: func() error { return self.remoteDelete(tag) @@ -297,7 +297,7 @@ func (self *TagsController) delete(tag *models.Tag) error { }, { Label: self.c.Tr.DeleteLocalAndRemoteTag, - Key: menuKey('b'), + Keys: menuKey('b'), OpensMenu: true, OnPress: func() error { return self.localAndRemoteDelete(tag) diff --git a/pkg/gui/controllers/undo_controller.go b/pkg/gui/controllers/undo_controller.go index 02e27ddce..775e871a4 100644 --- a/pkg/gui/controllers/undo_controller.go +++ b/pkg/gui/controllers/undo_controller.go @@ -53,13 +53,13 @@ type reflogAction struct { func (self *UndoController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.Undo), + Keys: opts.GetKeys(opts.Config.Universal.Undo), Handler: self.reflogUndo, Description: self.c.Tr.UndoReflog, Tooltip: self.c.Tr.UndoTooltip, }, { - Key: opts.GetKey(opts.Config.Universal.Redo), + Keys: opts.GetKeys(opts.Config.Universal.Redo), Handler: self.reflogRedo, Description: self.c.Tr.RedoReflog, Tooltip: self.c.Tr.RedoTooltip, diff --git a/pkg/gui/controllers/view_selection_controller.go b/pkg/gui/controllers/view_selection_controller.go index 0d69c5109..710fd37cb 100644 --- a/pkg/gui/controllers/view_selection_controller.go +++ b/pkg/gui/controllers/view_selection_controller.go @@ -36,16 +36,16 @@ func (self *ViewSelectionController) Context() types.Context { func (self *ViewSelectionController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { return []*types.Binding{ - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.PrevItem), Handler: self.handlePrevLine}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.PrevItemAlt), Handler: self.handlePrevLine}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.NextItem), Handler: self.handleNextLine}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.NextItemAlt), Handler: self.handleNextLine}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.PrevPage), Handler: self.handlePrevPage, Description: self.c.Tr.PrevPage}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.NextPage), Handler: self.handleNextPage, Description: self.c.Tr.NextPage}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.GotoTop), Handler: self.handleGotoTop, Description: self.c.Tr.GotoTop, Alternative: ""}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.GotoBottom), Handler: self.handleGotoBottom, Description: self.c.Tr.GotoBottom, Alternative: ""}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.GotoTopAlt), Handler: self.handleGotoTop}, - {Tag: "navigation", Key: opts.GetKey(opts.Config.Universal.GotoBottomAlt), Handler: self.handleGotoBottom}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: self.handlePrevLine}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.PrevItemAlt), Handler: self.handlePrevLine}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: self.handleNextLine}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.NextItemAlt), Handler: self.handleNextLine}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.PrevPage), Handler: self.handlePrevPage, Description: self.c.Tr.PrevPage}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.NextPage), Handler: self.handleNextPage, Description: self.c.Tr.NextPage}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.GotoTop), Handler: self.handleGotoTop, Description: self.c.Tr.GotoTop, Alternative: ""}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.GotoBottom), Handler: self.handleGotoBottom, Description: self.c.Tr.GotoBottom, Alternative: ""}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.GotoTopAlt), Handler: self.handleGotoTop}, + {Tag: "navigation", Keys: opts.GetKeys(opts.Config.Universal.GotoBottomAlt), Handler: self.handleGotoBottom}, } } diff --git a/pkg/gui/controllers/workspace_reset_controller.go b/pkg/gui/controllers/workspace_reset_controller.go index c6b68fb96..9a9005254 100644 --- a/pkg/gui/controllers/workspace_reset_controller.go +++ b/pkg/gui/controllers/workspace_reset_controller.go @@ -53,7 +53,7 @@ func (self *FilesController) createResetMenu() error { }) return nil }, - Key: menuKey('x'), + Keys: menuKey('x'), Tooltip: self.c.Tr.NukeDescription, }, { @@ -72,7 +72,7 @@ func (self *FilesController) createResetMenu() error { ) return nil }, - Key: menuKey('u'), + Keys: menuKey('u'), }, { LabelColumns: []string{ @@ -90,7 +90,7 @@ func (self *FilesController) createResetMenu() error { ) return nil }, - Key: menuKey('c'), + Keys: menuKey('c'), }, { LabelColumns: []string{ @@ -115,7 +115,7 @@ func (self *FilesController) createResetMenu() error { ) return nil }, - Key: menuKey('S'), + Keys: menuKey('S'), }, { LabelColumns: []string{ @@ -133,7 +133,7 @@ func (self *FilesController) createResetMenu() error { ) return nil }, - Key: menuKey('s'), + Keys: menuKey('s'), }, { LabelColumns: []string{ @@ -151,7 +151,7 @@ func (self *FilesController) createResetMenu() error { ) return nil }, - Key: menuKey('m'), + Keys: menuKey('m'), }, { LabelColumns: []string{ @@ -176,7 +176,7 @@ func (self *FilesController) createResetMenu() error { }, }) }, - Key: menuKey('h'), + Keys: menuKey('h'), }, } diff --git a/pkg/gui/controllers/worktree_options_controller.go b/pkg/gui/controllers/worktree_options_controller.go index 0cdf4d008..b1123e2a8 100644 --- a/pkg/gui/controllers/worktree_options_controller.go +++ b/pkg/gui/controllers/worktree_options_controller.go @@ -36,7 +36,7 @@ func NewWorktreeOptionsController(c *ControllerCommon, context CanViewWorktreeOp func (self *WorktreeOptionsController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Worktrees.ViewWorktreeOptions), + Keys: opts.GetKeys(opts.Config.Worktrees.ViewWorktreeOptions), Handler: self.withItem(self.viewWorktreeOptions), Description: self.c.Tr.ViewWorktreeOptions, OpensMenu: true, diff --git a/pkg/gui/controllers/worktrees_controller.go b/pkg/gui/controllers/worktrees_controller.go index 0e34ec59f..5128ad716 100644 --- a/pkg/gui/controllers/worktrees_controller.go +++ b/pkg/gui/controllers/worktrees_controller.go @@ -39,13 +39,13 @@ func NewWorktreesController( func (self *WorktreesController) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding { bindings := []*types.Binding{ { - Key: opts.GetKey(opts.Config.Universal.New), + Keys: opts.GetKeys(opts.Config.Universal.New), Handler: self.add, Description: self.c.Tr.NewWorktree, DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.Select), + Keys: opts.GetKeys(opts.Config.Universal.Select), Handler: self.withItem(self.enter), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Switch, @@ -53,18 +53,18 @@ func (self *WorktreesController) GetKeybindings(opts types.KeybindingsOpts) []*t DisplayOnScreen: true, }, { - Key: opts.GetKey(opts.Config.Universal.GoInto), + Keys: opts.GetKeys(opts.Config.Universal.GoInto), Handler: self.withItem(self.enter), GetDisabledReason: self.require(self.singleItemSelected()), }, { - Key: opts.GetKey(opts.Config.Universal.OpenFile), + Keys: opts.GetKeys(opts.Config.Universal.OpenFile), Handler: self.withItem(self.open), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.OpenInEditor, }, { - Key: opts.GetKey(opts.Config.Universal.Remove), + Keys: opts.GetKeys(opts.Config.Universal.Remove), Handler: self.withItem(self.remove), GetDisabledReason: self.require(self.singleItemSelected()), Description: self.c.Tr.Remove, diff --git a/pkg/gui/extras_panel.go b/pkg/gui/extras_panel.go index 468d8f290..980c31d45 100644 --- a/pkg/gui/extras_panel.go +++ b/pkg/gui/extras_panel.go @@ -15,7 +15,7 @@ func (gui *Gui) handleCreateExtrasMenuPanel() error { Items: []*types.MenuItem{ { Label: gui.c.Tr.ToggleShowCommandLog, - Key: []gocui.Key{gocui.NewKeyRune('t')}, + Keys: []gocui.Key{gocui.NewKeyRune('t')}, OnPress: func() error { currentContext := gui.c.Context().CurrentStatic() if gui.c.State().GetShowExtrasWindow() && currentContext.GetKey() == context.COMMAND_LOG_CONTEXT_KEY { @@ -30,7 +30,7 @@ func (gui *Gui) handleCreateExtrasMenuPanel() error { }, { Label: gui.c.Tr.FocusCommandLog, - Key: []gocui.Key{gocui.NewKeyRune('f')}, + Keys: []gocui.Key{gocui.NewKeyRune('f')}, OnPress: gui.handleFocusCommandLog, }, }, diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 038ae5d49..7bab622b7 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -69,9 +69,9 @@ func (gui *Gui) keybindingOpts() types.KeybindingsOpts { } return types.KeybindingsOpts{ - GetKey: config.GetValidatedKeyBindingKeys, - Config: keybindingConfig, - Guards: guards, + GetKeys: config.GetValidatedKeyBindingKeys, + Config: keybindingConfig, + Guards: guards, } } @@ -81,114 +81,114 @@ func (gui *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBin bindings := []*types.Binding{ { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.OpenRecentRepos), + Keys: opts.GetKeys(opts.Config.Universal.OpenRecentRepos), Handler: opts.Guards.NoPopupPanel(gui.helpers.Repos.CreateRecentReposMenu), Description: gui.c.Tr.SwitchRepo, }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.ScrollUpMain), + Keys: opts.GetKeys(opts.Config.Universal.ScrollUpMain), Handler: gui.scrollUpMain, Alternative: "fn+up/shift+k", Description: gui.c.Tr.ScrollUpMainWindow, }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.ScrollDownMain), + Keys: opts.GetKeys(opts.Config.Universal.ScrollDownMain), Handler: gui.scrollDownMain, Alternative: "fn+down/shift+j", Description: gui.c.Tr.ScrollDownMainWindow, }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.ScrollUpMainAlt1), + Keys: opts.GetKeys(opts.Config.Universal.ScrollUpMainAlt1), Handler: gui.scrollUpMain, }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.ScrollDownMainAlt1), + Keys: opts.GetKeys(opts.Config.Universal.ScrollDownMainAlt1), Handler: gui.scrollDownMain, }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.ScrollUpMainAlt2), + Keys: opts.GetKeys(opts.Config.Universal.ScrollUpMainAlt2), Handler: gui.scrollUpMain, }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.ScrollDownMainAlt2), + Keys: opts.GetKeys(opts.Config.Universal.ScrollDownMainAlt2), Handler: gui.scrollDownMain, }, { ViewName: "files", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopyPathToClipboard, }, { ViewName: "localBranches", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopyBranchNameToClipboard, }, { ViewName: "remoteBranches", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopyBranchNameToClipboard, }, { ViewName: "tags", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopyTagToClipboard, }, { ViewName: "commits", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemCommitHashToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopyCommitHashToClipboard, }, { ViewName: "commits", - Key: opts.GetKey(opts.Config.Commits.ResetCherryPick), + Keys: opts.GetKeys(opts.Config.Commits.ResetCherryPick), Handler: gui.helpers.CherryPick.Reset, Description: gui.c.Tr.ResetCherryPick, }, { ViewName: "reflogCommits", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopyCommitHashToClipboard, }, { ViewName: "subCommits", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemCommitHashToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopyCommitHashToClipboard, }, { ViewName: "information", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseLeft)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseLeft)}, Handler: gui.handleInfoClick, }, { ViewName: "commitFiles", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopyPathToClipboard, }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.ExtrasMenu), + Keys: opts.GetKeys(opts.Config.Universal.ExtrasMenu), Handler: opts.Guards.NoPopupPanel(gui.handleCreateExtrasMenuPanel), Description: gui.c.Tr.OpenCommandLogMenu, Tooltip: gui.c.Tr.OpenCommandLogMenuTooltip, @@ -196,163 +196,163 @@ func (gui *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBin }, { ViewName: "main", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelDown)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelDown)}, Handler: gui.scrollDownMain, Description: gui.c.Tr.ScrollDown, Alternative: "fn+up", }, { ViewName: "main", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelUp)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelUp)}, Handler: gui.scrollUpMain, Description: gui.c.Tr.ScrollUp, Alternative: "fn+down", }, { ViewName: "secondary", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelDown)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelDown)}, Handler: gui.scrollDownSecondary, }, { ViewName: "secondary", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelUp)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelUp)}, Handler: gui.scrollUpSecondary, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.PrevItem), + Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: gui.scrollUpConfirmationPanel, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.NextItem), + Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: gui.scrollDownConfirmationPanel, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.PrevItemAlt), + Keys: opts.GetKeys(opts.Config.Universal.PrevItemAlt), Handler: gui.scrollUpConfirmationPanel, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.NextItemAlt), + Keys: opts.GetKeys(opts.Config.Universal.NextItemAlt), Handler: gui.scrollDownConfirmationPanel, }, { ViewName: "confirmation", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelUp)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelUp)}, Handler: gui.scrollUpConfirmationPanel, }, { ViewName: "confirmation", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelDown)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelDown)}, Handler: gui.scrollDownConfirmationPanel, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.NextPage), + Keys: opts.GetKeys(opts.Config.Universal.NextPage), Handler: gui.pageDownConfirmationPanel, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.PrevPage), + Keys: opts.GetKeys(opts.Config.Universal.PrevPage), Handler: gui.pageUpConfirmationPanel, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.GotoTop), + Keys: opts.GetKeys(opts.Config.Universal.GotoTop), Handler: gui.goToConfirmationPanelTop, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.GotoTopAlt), + Keys: opts.GetKeys(opts.Config.Universal.GotoTopAlt), Handler: gui.goToConfirmationPanelTop, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.GotoBottom), + Keys: opts.GetKeys(opts.Config.Universal.GotoBottom), Handler: gui.goToConfirmationPanelBottom, }, { ViewName: "confirmation", - Key: opts.GetKey(opts.Config.Universal.GotoBottomAlt), + Keys: opts.GetKeys(opts.Config.Universal.GotoBottomAlt), Handler: gui.goToConfirmationPanelBottom, }, { ViewName: "submodules", - Key: opts.GetKey(opts.Config.Universal.CopyToClipboard), + Keys: opts.GetKeys(opts.Config.Universal.CopyToClipboard), Handler: gui.handleCopySelectedSideContextItemToClipboard, GetDisabledReason: gui.getCopySelectedSideContextItemToClipboardDisabledReason, Description: gui.c.Tr.CopySubmoduleNameToClipboard, }, { ViewName: "extras", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelUp)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelUp)}, Handler: gui.scrollUpExtra, }, { ViewName: "extras", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelDown)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseWheelDown)}, Handler: gui.scrollDownExtra, }, { ViewName: "extras", Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.PrevItemAlt), + Keys: opts.GetKeys(opts.Config.Universal.PrevItemAlt), Handler: gui.scrollUpExtra, }, { ViewName: "extras", Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.PrevItem), + Keys: opts.GetKeys(opts.Config.Universal.PrevItem), Handler: gui.scrollUpExtra, }, { ViewName: "extras", Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.NextItem), + Keys: opts.GetKeys(opts.Config.Universal.NextItem), Handler: gui.scrollDownExtra, }, { ViewName: "extras", Tag: "navigation", - Key: opts.GetKey(opts.Config.Universal.NextItemAlt), + Keys: opts.GetKeys(opts.Config.Universal.NextItemAlt), Handler: gui.scrollDownExtra, }, { ViewName: "extras", - Key: opts.GetKey(opts.Config.Universal.NextPage), + Keys: opts.GetKeys(opts.Config.Universal.NextPage), Handler: gui.pageDownExtrasPanel, }, { ViewName: "extras", - Key: opts.GetKey(opts.Config.Universal.PrevPage), + Keys: opts.GetKeys(opts.Config.Universal.PrevPage), Handler: gui.pageUpExtrasPanel, }, { ViewName: "extras", - Key: opts.GetKey(opts.Config.Universal.GotoTop), + Keys: opts.GetKeys(opts.Config.Universal.GotoTop), Handler: gui.goToExtrasPanelTop, }, { ViewName: "extras", - Key: opts.GetKey(opts.Config.Universal.GotoTopAlt), + Keys: opts.GetKeys(opts.Config.Universal.GotoTopAlt), Handler: gui.goToExtrasPanelTop, }, { ViewName: "extras", - Key: opts.GetKey(opts.Config.Universal.GotoBottom), + Keys: opts.GetKeys(opts.Config.Universal.GotoBottom), Handler: gui.goToExtrasPanelBottom, }, { ViewName: "extras", - Key: opts.GetKey(opts.Config.Universal.GotoBottomAlt), + Keys: opts.GetKeys(opts.Config.Universal.GotoBottomAlt), Handler: gui.goToExtrasPanelBottom, }, { ViewName: "extras", Tag: "navigation", - Key: []gocui.Key{gocui.NewKeyName(gocui.MouseLeft)}, + Keys: []gocui.Key{gocui.NewKeyName(gocui.MouseLeft)}, Handler: gui.handleFocusCommandLog, }, } @@ -372,14 +372,14 @@ func (gui *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBin bindings = append(bindings, []*types.Binding{ { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.NextTab), + Keys: opts.GetKeys(opts.Config.Universal.NextTab), Handler: opts.Guards.NoPopupPanel(gui.handleNextTab), Description: gui.c.Tr.NextTab, Tag: "navigation", }, { ViewName: "", - Key: opts.GetKey(opts.Config.Universal.PrevTab), + Keys: opts.GetKeys(opts.Config.Universal.PrevTab), Handler: opts.Guards.NoPopupPanel(gui.handlePrevTab), Description: gui.c.Tr.PrevTab, Tag: "navigation", @@ -448,7 +448,7 @@ func (gui *Gui) SetKeybinding(binding *types.Binding) { return gui.callKeybindingHandler(binding) } - for _, key := range binding.Key { + for _, key := range binding.Keys { gui.g.SetKeybinding(binding.ViewName, key, handler) } } diff --git a/pkg/gui/menu_panel.go b/pkg/gui/menu_panel.go index 20079700c..e43ac1d29 100644 --- a/pkg/gui/menu_panel.go +++ b/pkg/gui/menu_panel.go @@ -47,7 +47,7 @@ func (gui *Gui) createMenu(opts types.CreateMenuOptions) error { // Remove all item keybindings that are the same as one of the essential bindings if !opts.KeepConflictingKeybindings { - item.Key = lo.Filter(item.Key, func(k gocui.Key, _ int) bool { + item.Keys = lo.Filter(item.Keys, func(k gocui.Key, _ int) bool { return !lo.Contains(essentialKeys, k) }) } diff --git a/pkg/gui/options_map.go b/pkg/gui/options_map.go index 2771a6c25..c0d0fcfff 100644 --- a/pkg/gui/options_map.go +++ b/pkg/gui/options_map.go @@ -42,11 +42,11 @@ func (self *OptionsMapMgr) renderContextOptionsMap() { currentContextKeys := set.NewFromSlice( lo.FlatMap(currentContextBindings, func(binding *types.Binding, _ int) []gocui.Key { - return binding.Key + return binding.Keys })) allBindings := append(currentContextBindings, lo.Filter(globalBindings, func(b *types.Binding, _ int) bool { - return len(b.Key) == 0 || !currentContextKeys.Includes(b.Key[0]) + return len(b.Keys) == 0 || !currentContextKeys.Includes(b.Keys[0]) })...) bindingsToDisplay := lo.Filter(allBindings, func(binding *types.Binding, _ int) bool { @@ -60,7 +60,7 @@ func (self *OptionsMapMgr) renderContextOptionsMap() { } return bindingInfo{ - key: config.LabelForKey(binding.Key[0]), + key: config.LabelForKey(binding.Keys[0]), description: binding.GetShortDescription(), style: displayStyle, } diff --git a/pkg/gui/services/custom_commands/client.go b/pkg/gui/services/custom_commands/client.go index 6d30ab310..0884e0cce 100644 --- a/pkg/gui/services/custom_commands/client.go +++ b/pkg/gui/services/custom_commands/client.go @@ -46,7 +46,7 @@ func (self *Client) GetCustomCommandKeybindings() ([]*types.Binding, error) { } bindings = append(bindings, &types.Binding{ ViewName: "", // custom commands menus are global; we filter the commands inside by context - Key: []gocui.Key{config.GetValidatedKeyBindingKey(customCommand.Key)}, + Keys: []gocui.Key{config.GetValidatedKeyBindingKey(customCommand.Key)}, Handler: handler, Description: getCustomCommandsMenuDescription(customCommand, self.c.Tr), OpensMenu: true, @@ -73,7 +73,7 @@ func (self *Client) showCustomCommandsMenu(customCommand config.CustomCommand) e } menuItems = append(menuItems, &types.MenuItem{ Label: subCommand.GetDescription(), - Key: []gocui.Key{config.GetValidatedKeyBindingKey(subCommand.Key)}, + Keys: []gocui.Key{config.GetValidatedKeyBindingKey(subCommand.Key)}, OnPress: handler, OpensMenu: true, }) @@ -93,7 +93,7 @@ func (self *Client) showCustomCommandsMenu(customCommand config.CustomCommand) e menuItems = append(menuItems, &types.MenuItem{ Label: subCommand.GetDescription(), - Key: []gocui.Key{config.GetValidatedKeyBindingKey(subCommand.Key)}, + Keys: []gocui.Key{config.GetValidatedKeyBindingKey(subCommand.Key)}, OnPress: self.handlerCreator.call(subCommand), }) } diff --git a/pkg/gui/services/custom_commands/handler_creator.go b/pkg/gui/services/custom_commands/handler_creator.go index 60a4555d8..5f3fd27a0 100644 --- a/pkg/gui/services/custom_commands/handler_creator.go +++ b/pkg/gui/services/custom_commands/handler_creator.go @@ -232,7 +232,7 @@ func (self *HandlerCreator) menuPrompt(prompt *config.CustomCommandPrompt, wrapp OnPress: func() error { return wrappedF(option.Value) }, - Key: []gocui.Key{config.GetValidatedKeyBindingKey(option.Key)}, + Keys: []gocui.Key{config.GetValidatedKeyBindingKey(option.Key)}, } }) diff --git a/pkg/gui/services/custom_commands/keybinding_creator.go b/pkg/gui/services/custom_commands/keybinding_creator.go index 52456323a..ee0e01fa4 100644 --- a/pkg/gui/services/custom_commands/keybinding_creator.go +++ b/pkg/gui/services/custom_commands/keybinding_creator.go @@ -36,7 +36,7 @@ func (self *KeybindingCreator) call(customCommand config.CustomCommand, handler return lo.Map(viewNames, func(viewName string, _ int) *types.Binding { return &types.Binding{ ViewName: viewName, - Key: []gocui.Key{config.GetValidatedKeyBindingKey(customCommand.Key)}, + Keys: []gocui.Key{config.GetValidatedKeyBindingKey(customCommand.Key)}, Handler: handler, Description: customCommand.GetDescription(), } diff --git a/pkg/gui/types/common.go b/pkg/gui/types/common.go index 475cafeab..92f004634 100644 --- a/pkg/gui/types/common.go +++ b/pkg/gui/types/common.go @@ -259,10 +259,10 @@ type MenuItem struct { // Only applies when Label is used OpensMenu bool - // If Key is non-empty, the user can press any of these keys to invoke the + // If Keys is non-empty, the user can press any of these keys to invoke the // menu item, as opposed to having to navigate to it. Only the first key is // shown in the menu; the alternates are matched silently. - Key []gocui.Key + Keys []gocui.Key // A widget to show in front of the menu item. Supported widget types are // checkboxes and radio buttons, diff --git a/pkg/gui/types/context.go b/pkg/gui/types/context.go index 69d76ea78..dcf4b9a1a 100644 --- a/pkg/gui/types/context.go +++ b/pkg/gui/types/context.go @@ -239,9 +239,9 @@ type OnFocusLostOpts struct { type ContextKey string type KeybindingsOpts struct { - GetKey func(key string) []gocui.Key - Config config.KeybindingConfig - Guards KeybindingGuards + GetKeys func(key string) []gocui.Key + Config config.KeybindingConfig + Guards KeybindingGuards } type ( diff --git a/pkg/gui/types/keybindings.go b/pkg/gui/types/keybindings.go index 3b3e512d8..337162d76 100644 --- a/pkg/gui/types/keybindings.go +++ b/pkg/gui/types/keybindings.go @@ -11,7 +11,7 @@ import ( type Binding struct { ViewName string Handler func() error - Key []gocui.Key + Keys []gocui.Key Description string // DescriptionFunc is used instead of Description if non-nil, and is useful for dynamic // descriptions that change depending on context. Important: this must not be an expensive call.