Skip to content

Commit

Permalink
change(keys): spacebar sends a KeySpace (#315)
Browse files Browse the repository at this point in the history
* Revert "fix: update tests for space input"

This reverts commit bfb1668.

* Revert "feat: obliterate type KeySpace"

This reverts commit d3fb1b7.
  • Loading branch information
meowgorithm committed May 13, 2022
1 parent bfb1668 commit d301ee0
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
10 changes: 10 additions & 0 deletions key.go
Expand Up @@ -198,6 +198,7 @@ const (
KeyPgUp
KeyPgDown
KeyDelete
KeySpace
KeyCtrlUp
KeyCtrlDown
KeyCtrlRight
Expand Down Expand Up @@ -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",
Expand Down Expand Up @@ -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}),
Expand Down
10 changes: 3 additions & 7 deletions key_test.go
Expand Up @@ -8,9 +8,8 @@ import (
func TestKeyString(t *testing.T) {
t.Run("alt+space", func(t *testing.T) {
if got := KeyMsg(Key{
Type: KeyRunes,
Runes: []rune{' '},
Alt: true,
Type: KeySpace,
Alt: true,
}).String(); got != "alt+ " {
t.Fatalf(`expected a "alt+ ", got %q`, got)
}
Expand All @@ -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)
}
})
Expand Down

0 comments on commit d301ee0

Please sign in to comment.