summaryrefslogtreecommitdiffstats
path: root/pkg/gui/controllers/helpers
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-03-27 17:19:31 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-03-27 18:16:16 +1100
commit3e5d4b2c749322351c781c4427852ff4393fcd4f (patch)
tree87958b5eece97e30cc32620a0a52d038aafc6216 /pkg/gui/controllers/helpers
parente94312b664c3e8daa0a27d6c48fda2d137fe98ac (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.go21
-rw-r--r--pkg/gui/controllers/helpers/refs_helper.go20
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,
}
})