diff --git a/docs/Config.md b/docs/Config.md index 8fd1fd960..c94cc633e 100644 --- a/docs/Config.md +++ b/docs/Config.md @@ -515,6 +515,7 @@ keybinding: goInto: confirm: confirmInEditor: + confirmInEditor-alt: remove: d new: "n" edit: e diff --git a/pkg/config/user_config.go b/pkg/config/user_config.go index d35e35772..c23b76824 100644 --- a/pkg/config/user_config.go +++ b/pkg/config/user_config.go @@ -408,6 +408,7 @@ type KeybindingUniversalConfig struct { GoInto string `yaml:"goInto"` Confirm string `yaml:"confirm"` ConfirmInEditor string `yaml:"confirmInEditor"` + ConfirmInEditorAlt string `yaml:"confirmInEditor-alt"` Remove string `yaml:"remove"` New string `yaml:"new"` Edit string `yaml:"edit"` @@ -892,6 +893,7 @@ func GetDefaultConfig() *UserConfig { GoInto: "", Confirm: "", ConfirmInEditor: "", + ConfirmInEditorAlt: "", Remove: "d", New: "n", Edit: "e", diff --git a/pkg/gui/controllers/commit_description_controller.go b/pkg/gui/controllers/commit_description_controller.go index 4337a1e4b..1247de076 100644 --- a/pkg/gui/controllers/commit_description_controller.go +++ b/pkg/gui/controllers/commit_description_controller.go @@ -38,6 +38,10 @@ func (self *CommitDescriptionController) GetKeybindings(opts types.KeybindingsOp Key: opts.GetKey(opts.Config.Universal.ConfirmInEditor), Handler: self.confirm, }, + { + Key: opts.GetKey(opts.Config.Universal.ConfirmInEditorAlt), + Handler: self.confirm, + }, { Key: opts.GetKey(opts.Config.CommitMessage.CommitMenu), Handler: self.openCommitMenu, @@ -63,10 +67,27 @@ func (self *CommitDescriptionController) GetMouseKeybindings(opts types.Keybindi func (self *CommitDescriptionController) GetOnFocus() func(types.OnFocusOpts) { return func(types.OnFocusOpts) { - self.c.Views().CommitDescription.Footer = utils.ResolvePlaceholderString(self.c.Tr.CommitDescriptionFooter, - map[string]string{ - "confirmInEditorKeybinding": keybindings.Label(self.c.UserConfig().Keybinding.Universal.ConfirmInEditor), - }) + footer := "" + if self.c.UserConfig().Keybinding.Universal.ConfirmInEditor != "" || self.c.UserConfig().Keybinding.Universal.ConfirmInEditorAlt != "" { + if self.c.UserConfig().Keybinding.Universal.ConfirmInEditor == "" { + footer = utils.ResolvePlaceholderString(self.c.Tr.CommitDescriptionFooter, + map[string]string{ + "confirmInEditorKeybinding": keybindings.Label(self.c.UserConfig().Keybinding.Universal.ConfirmInEditorAlt), + }) + } else if self.c.UserConfig().Keybinding.Universal.ConfirmInEditorAlt == "" { + footer = utils.ResolvePlaceholderString(self.c.Tr.CommitDescriptionFooter, + map[string]string{ + "confirmInEditorKeybinding": keybindings.Label(self.c.UserConfig().Keybinding.Universal.ConfirmInEditor), + }) + } else { + footer = utils.ResolvePlaceholderString(self.c.Tr.CommitDescriptionFooterTwoBindings, + map[string]string{ + "confirmInEditorKeybinding1": keybindings.Label(self.c.UserConfig().Keybinding.Universal.ConfirmInEditor), + "confirmInEditorKeybinding2": keybindings.Label(self.c.UserConfig().Keybinding.Universal.ConfirmInEditorAlt), + }) + } + } + self.c.Views().CommitDescription.Footer = footer } } diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go index a85f7202f..557710314 100644 --- a/pkg/i18n/english.go +++ b/pkg/i18n/english.go @@ -330,6 +330,7 @@ type TranslationSet struct { CommitDescriptionTitle string CommitDescriptionSubTitle string CommitDescriptionFooter string + CommitDescriptionFooterTwoBindings string CommitHooksDisabledSubTitle string LocalBranchesTitle string SearchTitle string @@ -1408,7 +1409,8 @@ func EnglishTranslationSet() *TranslationSet { CommitSummaryTitle: "Commit summary", CommitDescriptionTitle: "Commit description", CommitDescriptionSubTitle: "Press {{.togglePanelKeyBinding}} to toggle focus, {{.commitMenuKeybinding}} to open menu", - CommitDescriptionFooter: "Press {{.confirmInEditorKeybinding}} to commit", + CommitDescriptionFooter: "Press {{.confirmInEditorKeybinding}} to submit", + CommitDescriptionFooterTwoBindings: "Press {{.confirmInEditorKeybinding1}} or {{.confirmInEditorKeybinding2}} to submit", CommitHooksDisabledSubTitle: "(hooks disabled)", LocalBranchesTitle: "Local branches", SearchTitle: "Search", diff --git a/schema/config.json b/schema/config.json index 96a968e4d..02fb4f797 100644 --- a/schema/config.json +++ b/schema/config.json @@ -1313,6 +1313,10 @@ "type": "string", "default": "\u003ca-enter\u003e" }, + "confirmInEditor-alt": { + "type": "string", + "default": "\u003cc-s\u003e" + }, "remove": { "type": "string", "default": "d"