diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-10-13 08:16:24 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-10-13 08:21:09 +1100 |
commit | b1dd3c48660edea68169779eb860e244b8992427 (patch) | |
tree | bca9891e51e6d920b61e487bac1d577c42822989 /pkg/gui | |
parent | 624fb8da21c644fe79c9c11848930f8ff4b6dede (diff) |
support rebinding confirm/newline keys in editor
Diffstat (limited to 'pkg/gui')
-rw-r--r-- | pkg/gui/commit_message_panel.go | 7 | ||||
-rw-r--r-- | pkg/gui/keybindings.go | 2 |
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, }, |