change(keys): spacebar sends a `KeySpace` (#315)

* Revert "fix: update tests for space input"

This reverts commit bfb166822e.

* Revert "feat: obliterate type KeySpace"

This reverts commit d3fb1b707a.
This commit is contained in:
Christian Rocha 2022-05-13 17:24:16 +00:00 committed by GitHub
parent bfb166822e
commit d301ee0405
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 7 deletions

10
key.go
View File

@ -198,6 +198,7 @@ const (
KeyPgUp
KeyPgDown
KeyDelete
KeySpace
KeyCtrlUp
KeyCtrlDown
KeyCtrlRight
@ -274,6 +275,7 @@ var keyNames = map[KeyType]string{
KeyUp: "up",
KeyDown: "down",
KeyRight: "right",
KeySpace: " ", // for backwards compatibility
KeyLeft: "left",
KeyShiftTab: "shift+tab",
KeyHome: "home",
@ -552,6 +554,14 @@ func readInputs(input io.Reader) ([]Msg, error) {
}, nil
}
// If it's a space, override the type with KeySpace (but still include the
// rune).
if runes[0] == ' ' {
return []Msg{
KeyMsg(Key{Type: KeySpace, Runes: runes}),
}, nil
}
// Welp, it's just a regular, ol' single rune.
return []Msg{
KeyMsg(Key{Type: KeyRunes, Runes: runes}),

View File

@ -8,8 +8,7 @@ import (
func TestKeyString(t *testing.T) {
t.Run("alt+space", func(t *testing.T) {
if got := KeyMsg(Key{
Type: KeyRunes,
Runes: []rune{' '},
Type: KeySpace,
Alt: true,
}).String(); got != "alt+ " {
t.Fatalf(`expected a "alt+ ", got %q`, got)
@ -36,10 +35,7 @@ func TestKeyString(t *testing.T) {
func TestKeyTypeString(t *testing.T) {
t.Run("space", func(t *testing.T) {
if got := KeyMsg(Key{
Type: KeyRunes,
Runes: []rune{' '},
}).String(); got != " " {
if got := KeySpace.String(); got != " " {
t.Fatalf(`expected a " ", got %q`, got)
}
})