Skip to content
Snippets Groups Projects
Unverified Commit dd4be1da authored by Junegunn Choi's avatar Junegunn Choi
Browse files

Allow alt-enter and alt-space for --bind (#571)

parent 66f86e18
No related branches found
No related tags found
No related merge requests found
......@@ -81,6 +81,8 @@ const (
F3
F4
AltEnter
AltSpace
AltBS
AltA
AltB
......@@ -417,6 +419,10 @@ func escSequence(sz *int) Event {
}
*sz = 2
switch _buf[1] {
case 13:
return Event{AltEnter, 0, nil}
case 32:
return Event{AltSpace, 0, nil}
case 98:
return Event{AltB, 0, nil}
case 100:
......
......@@ -315,6 +315,10 @@ func parseKeyChords(str string, message string) map[int]string {
chord = curses.AltZ + int(' ')
case "bspace", "bs":
chord = curses.BSpace
case "alt-enter", "alt-return":
chord = curses.AltEnter
case "alt-space":
chord = curses.AltSpace
case "alt-bs", "alt-bspace":
chord = curses.AltBS
case "tab":
......
......@@ -123,14 +123,14 @@ func TestIrrelevantNth(t *testing.T) {
}
func TestParseKeys(t *testing.T) {
pairs := parseKeyChords("ctrl-z,alt-z,f2,@,Alt-a,!,ctrl-G,J,g", "")
pairs := parseKeyChords("ctrl-z,alt-z,f2,@,Alt-a,!,ctrl-G,J,g,ALT-enter,alt-SPACE", "")
check := func(i int, s string) {
if pairs[i] != s {
t.Errorf("%s != %s", pairs[i], s)
}
}
if len(pairs) != 9 {
t.Error(9)
if len(pairs) != 11 {
t.Error(11)
}
check(curses.CtrlZ, "ctrl-z")
check(curses.AltZ, "alt-z")
......@@ -141,6 +141,8 @@ func TestParseKeys(t *testing.T) {
check(curses.CtrlA+'g'-'a', "ctrl-G")
check(curses.AltZ+'J', "J")
check(curses.AltZ+'g', "g")
check(curses.AltEnter, "ALT-enter")
check(curses.AltSpace, "alt-SPACE")
// Synonyms
pairs = parseKeyChords("enter,Return,space,tab,btab,esc,up,down,left,right", "")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment