summaryrefslogtreecommitdiffstats
path: root/pkg/gui
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2020-10-13 08:16:24 +1100
committerJesse Duffield <jessedduffield@gmail.com>2020-10-13 08:21:09 +1100
commitb1dd3c48660edea68169779eb860e244b8992427 (patch)
treebca9891e51e6d920b61e487bac1d577c42822989 /pkg/gui
parent624fb8da21c644fe79c9c11848930f8ff4b6dede (diff)
support rebinding confirm/newline keys in editor
Diffstat (limited to 'pkg/gui')
-rw-r--r--pkg/gui/commit_message_panel.go7
-rw-r--r--pkg/gui/keybindings.go2
2 files changed, 7 insertions, 2 deletions
diff --git a/pkg/gui/commit_message_panel.go b/pkg/gui/commit_message_panel.go
index 4a5597659..333882467 100644
--- a/pkg/gui/commit_message_panel.go
+++ b/pkg/gui/commit_message_panel.go
@@ -83,6 +83,11 @@ func (gui *Gui) RenderCommitLength() {
// we've just copy+pasted the editor from gocui to here so that we can also re-
// render the commit message length on each keypress
func (gui *Gui) commitMessageEditor(v *gocui.View, key gocui.Key, ch rune, mod gocui.Modifier) {
+ newlineKey, ok := gui.getKey(gui.Config.GetUserConfig().Keybinding.Universal.AppendNewline).(gocui.Key)
+ if !ok {
+ newlineKey = gocui.KeyTab
+ }
+
switch {
case key == gocui.KeyBackspace || key == gocui.KeyBackspace2:
v.EditDelete(true)
@@ -96,7 +101,7 @@ func (gui *Gui) commitMessageEditor(v *gocui.View, key gocui.Key, ch rune, mod g
v.MoveCursor(-1, 0, false)
case key == gocui.KeyArrowRight:
v.MoveCursor(1, 0, false)
- case key == gocui.KeyTab:
+ case key == newlineKey:
v.EditNewLine()
case key == gocui.KeySpace:
v.EditWrite(' ')
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go
index ba3e7a509..2f005a442 100644
--- a/pkg/gui/keybindings.go
+++ b/pkg/gui/keybindings.go
@@ -971,7 +971,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
},
{
ViewName: "commitMessage",
- Key: gui.getKey(config.Universal.Confirm),
+ Key: gui.getKey(config.Universal.SubmitEditorText),
Modifier: gocui.ModNone,
Handler: gui.handleCommitConfirm,
},