summaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2021-04-02 15:08:15 +1100
committerJesse Duffield <jessedduffield@gmail.com>2021-04-06 19:34:32 +1000
commit1a5f380c00d218712dce1225d7948e3d81cda248 (patch)
tree1e38f26404547443906b724953b4186a6089261c /vendor
parentb4827a98ca43bea26df5c7ae24135db4528ed467 (diff)
support alt-enter for inserting newline when typing commit message within the app
Diffstat (limited to 'vendor')
-rw-r--r--vendor/github.com/jesseduffield/gocui/edit.go18
-rw-r--r--vendor/github.com/jesseduffield/gocui/keybinding.go3
-rw-r--r--vendor/github.com/jesseduffield/gocui/tcell_driver.go7
-rw-r--r--vendor/modules.txt2
4 files changed, 18 insertions, 12 deletions
diff --git a/vendor/github.com/jesseduffield/gocui/edit.go b/vendor/github.com/jesseduffield/gocui/edit.go
index f5844da47..f30d4bf0d 100644
--- a/vendor/github.com/jesseduffield/gocui/edit.go
+++ b/vendor/github.com/jesseduffield/gocui/edit.go
@@ -5,6 +5,8 @@
package gocui
import (
+ "unicode"
+
"github.com/go-errors/errors"
"github.com/mattn/go-runewidth"
@@ -53,12 +55,8 @@ func simpleEditor(v *View, key Key, ch rune, mod Modifier) bool {
v.MoveCursor(-1, 0, false)
case key == KeyArrowRight:
v.MoveCursor(1, 0, false)
- case key == KeyTab:
+ case key == KeyEnter:
v.EditNewLine()
- case key == KeySpace:
- v.EditWrite(' ')
- case key == KeyInsert:
- v.Overwrite = !v.Overwrite
case key == KeyCtrlU:
v.EditDeleteToStartOfLine()
case key == KeyCtrlA:
@@ -66,12 +64,12 @@ func simpleEditor(v *View, key Key, ch rune, mod Modifier) bool {
case key == KeyCtrlE:
v.EditGotoToEndOfLine()
matched = true
+
+ // TODO: see if we need all three of these conditions: maybe the final one is sufficient
+ case ch != 0 && mod == 0 && unicode.IsPrint(ch):
+ v.EditWrite(ch)
default:
- if ch != 0 && mod == 0 {
- v.EditWrite(ch)
- } else {
- matched = false
- }
+ matched = false
}
return matched
diff --git a/vendor/github.com/jesseduffield/gocui/keybinding.go b/vendor/github.com/jesseduffield/gocui/keybinding.go
index 813ebae70..95857656e 100644
--- a/vendor/github.com/jesseduffield/gocui/keybinding.go
+++ b/vendor/github.com/jesseduffield/gocui/keybinding.go
@@ -297,7 +297,8 @@ const (
// In tcell, these are not keys per se. But in gocui we have them
// mapped to the keys so we have to use placeholder keys.
- MouseLeft = Key(tcell.KeyF63) // arbitrary assignments
+ KeyAltEnter = Key(tcell.KeyF64) // arbitrary assignments
+ MouseLeft = Key(tcell.KeyF63)
MouseRight = Key(tcell.KeyF62)
MouseMiddle = Key(tcell.KeyF61)
MouseRelease = Key(tcell.KeyF60)
diff --git a/vendor/github.com/jesseduffield/gocui/tcell_driver.go b/vendor/github.com/jesseduffield/gocui/tcell_driver.go
index a7faed903..1bc4c1217 100644
--- a/vendor/github.com/jesseduffield/gocui/tcell_driver.go
+++ b/vendor/github.com/jesseduffield/gocui/tcell_driver.go
@@ -151,7 +151,14 @@ func pollEvent() GocuiEvent {
// - shift - will be translated to the final code of rune
// - ctrl - is translated in the key
mod = 0
+ } else if mod == tcell.ModAlt && k == tcell.KeyEnter {
+ // for the sake of convenience I'm having a KeyAltEnter key. I will likely
+ // regret this laziness in the future. We're arbitrarily mapping that to tcell's
+ // KeyF64.
+ mod = 0
+ k = tcell.KeyF64
}
+
return GocuiEvent{
Type: eventKey,
Key: Key(k),
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 23dfa0005..6bfcac748 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -149,7 +149,7 @@ github.com/jesseduffield/go-git/v5/utils/merkletrie/filesystem
github.com/jesseduffield/go-git/v5/utils/merkletrie/index
github.com/jesseduffield/go-git/v5/utils/merkletrie/internal/frame
github.com/jesseduffield/go-git/v5/utils/merkletrie/noder
-# github.com/jesseduffield/gocui v0.3.1-0.20210402033412-1238f910f001
+# github.com/jesseduffield/gocui v0.3.1-0.20210402040718-77a1b9631715
## explicit
github.com/jesseduffield/gocui
# github.com/jesseduffield/termbox-go v0.0.0-20200823212418-a2289ed6aafe