diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-27 17:19:31 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-27 18:16:16 +1100 |
commit | 3e5d4b2c749322351c781c4427852ff4393fcd4f (patch) | |
tree | 87958b5eece97e30cc32620a0a52d038aafc6216 /pkg/gui/controllers/helpers | |
parent | e94312b664c3e8daa0a27d6c48fda2d137fe98ac (diff) |
add menu keybindings for various things
Diffstat (limited to 'pkg/gui/controllers/helpers')
-rw-r--r-- | pkg/gui/controllers/helpers/merge_and_rebase_helper.go | 21 | ||||
-rw-r--r-- | pkg/gui/controllers/helpers/refs_helper.go | 20 |
2 files changed, 31 insertions, 10 deletions
diff --git a/pkg/gui/controllers/helpers/merge_and_rebase_helper.go b/pkg/gui/controllers/helpers/merge_and_rebase_helper.go index 636c1c5fe..73d2c160d 100644 --- a/pkg/gui/controllers/helpers/merge_and_rebase_helper.go +++ b/pkg/gui/controllers/helpers/merge_and_rebase_helper.go @@ -46,18 +46,29 @@ const ( ) func (self *MergeAndRebaseHelper) CreateRebaseOptionsMenu() error { - options := []string{REBASE_OPTION_CONTINUE, REBASE_OPTION_ABORT} + type optionAndKey struct { + option string + key types.Key + } + + options := []optionAndKey{ + {option: REBASE_OPTION_CONTINUE, key: 'c'}, + {option: REBASE_OPTION_ABORT, key: 'a'}, + } if self.git.Status.WorkingTreeState() == enums.REBASE_MODE_REBASING { - options = append(options, REBASE_OPTION_SKIP) + options = append(options, optionAndKey{ + option: REBASE_OPTION_SKIP, key: 's', + }) } - menuItems := slices.Map(options, func(option string) *types.MenuItem { + menuItems := slices.Map(options, func(row optionAndKey) *types.MenuItem { return &types.MenuItem{ - DisplayString: option, + DisplayString: row.option, OnPress: func() error { - return self.genericMergeCommand(option) + return self.genericMergeCommand(row.option) }, + Key: row.key, } }) diff --git a/pkg/gui/controllers/helpers/refs_helper.go b/pkg/gui/controllers/helpers/refs_helper.go index 0838dd6f0..134112fb5 100644 --- a/pkg/gui/controllers/helpers/refs_helper.go +++ b/pkg/gui/controllers/helpers/refs_helper.go @@ -134,17 +134,27 @@ func (self *RefsHelper) ResetToRef(ref string, strength string, envVars []string } func (self *RefsHelper) CreateGitResetMenu(ref string) error { - strengths := []string{"soft", "mixed", "hard"} - menuItems := slices.Map(strengths, func(strength string) *types.MenuItem { + type strengthWithKey struct { + strength string + key types.Key + } + strengths := []strengthWithKey{ + {strength: "soft", key: 's'}, + {strength: "mixed", key: 'm'}, + {strength: "hard", key: 'h'}, + } + + menuItems := slices.Map(strengths, func(row strengthWithKey) *types.MenuItem { return &types.MenuItem{ DisplayStrings: []string{ - fmt.Sprintf("%s reset", strength), - style.FgRed.Sprintf("reset --%s %s", strength, ref), + fmt.Sprintf("%s reset", row.strength), + style.FgRed.Sprintf("reset --%s %s", row.strength, ref), }, OnPress: func() error { self.c.LogAction("Reset") - return self.ResetToRef(ref, strength, []string{}) + return self.ResetToRef(ref, row.strength, []string{}) }, + Key: row.key, } }) |