From ec13794f2838c7942d809fc6a67389af7e42c2ee Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Tue, 10 May 2022 16:27:29 -0400 Subject: [PATCH 1/2] feat: obliterate type KeySpace Treating a space differently from other runes was proving to cause more confusion that clarity. --- key.go | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/key.go b/key.go index e2415a994f..7f05b87c4e 100644 --- a/key.go +++ b/key.go @@ -198,7 +198,6 @@ const ( KeyPgUp KeyPgDown KeyDelete - KeySpace KeyCtrlUp KeyCtrlDown KeyCtrlRight @@ -275,7 +274,6 @@ var keyNames = map[KeyType]string{ KeyUp: "up", KeyDown: "down", KeyRight: "right", - KeySpace: " ", // for backwards compatibility KeyLeft: "left", KeyShiftTab: "shift+tab", KeyHome: "home", @@ -554,14 +552,6 @@ 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}), From 9bc88c9d7b4c474cdfa5c4dcffa24b60c0994572 Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Tue, 10 May 2022 16:46:19 -0400 Subject: [PATCH 2/2] fix: update tests for space input --- key_test.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/key_test.go b/key_test.go index 511ae75b76..b8ce47d748 100644 --- a/key_test.go +++ b/key_test.go @@ -8,8 +8,9 @@ import ( func TestKeyString(t *testing.T) { t.Run("alt+space", func(t *testing.T) { if got := KeyMsg(Key{ - Type: KeySpace, - Alt: true, + Type: KeyRunes, + Runes: []rune{' '}, + Alt: true, }).String(); got != "alt+ " { t.Fatalf(`expected a "alt+ ", got %q`, got) } @@ -35,7 +36,10 @@ func TestKeyString(t *testing.T) { func TestKeyTypeString(t *testing.T) { t.Run("space", func(t *testing.T) { - if got := KeySpace.String(); got != " " { + if got := KeyMsg(Key{ + Type: KeyRunes, + Runes: []rune{' '}, + }).String(); got != " " { t.Fatalf(`expected a " ", got %q`, got) } })