From 7136cfc68bfb1b306d801ad8a5094a30c79b544d Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Thu, 31 Dec 2020 03:37:25 +0900 Subject: Fix alt-, for --expect --- src/options.go | 2 ++ src/options_test.go | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/options.go b/src/options.go index c33f14ce..840f1764 100644 --- a/src/options.go +++ b/src/options.go @@ -449,6 +449,7 @@ func parseKeyChords(str string, message string) map[tui.Event]string { errorExit(message) } + str = regexp.MustCompile("(?i)(alt-),").ReplaceAllString(str, "$1"+string(escapedComma)) tokens := strings.Split(str, ",") if str == "," || strings.HasPrefix(str, ",,") || strings.HasSuffix(str, ",,") || strings.Contains(str, ",,,") { tokens = append(tokens, ",") @@ -459,6 +460,7 @@ func parseKeyChords(str string, message string) map[tui.Event]string { if len(key) == 0 { continue // ignore } + key = strings.ReplaceAll(key, string(escapedComma), ",") lkey := strings.ToLower(key) add := func(e tui.EventType) { chords[e.AsEvent()] = key diff --git a/src/options_test.go b/src/options_test.go index 4311aa4d..b1068964 100644 --- a/src/options_test.go +++ b/src/options_test.go @@ -225,6 +225,10 @@ func TestParseKeysWithComma(t *testing.T) { pairs = parseKeyChords(",,,", "") checkN(len(pairs), 1) check(pairs, tui.Key(','), ",") + + pairs = parseKeyChords(",ALT-,,", "") + checkN(len(pairs), 1) + check(pairs, tui.AltKey(','), "ALT-,") } func TestBind(t *testing.T) { -- cgit v1.2.3