diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2022-12-20 23:24:49 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2022-12-21 01:35:08 +0900 |
commit | def011c0291741b0ab3566a01d939374712719c8 (patch) | |
tree | 5a255f880be93a342247a912cd4fa73fe8ed381f | |
parent | 4b055bf260768780fce345fdb88abeb826122315 (diff) |
Fix parse error of actions with arguments
-rw-r--r-- | src/options.go | 2 | ||||
-rw-r--r-- | src/options_test.go | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/options.go b/src/options.go index 1ef8bca0..4c7774c9 100644 --- a/src/options.go +++ b/src/options.go @@ -1131,7 +1131,7 @@ func parseKeymap(keymap map[tui.Event][]*action, str string, exit func(string)) func isExecuteAction(str string) actionType { matches := executeRegexp.FindAllStringSubmatch(":"+str, -1) - if matches == nil || len(matches) != 1 { + if matches == nil || len(matches) != 1 || len(matches[0][0]) != len(str)+1 { return actIgnore } prefix := matches[0][1] diff --git a/src/options_test.go b/src/options_test.go index 14ede09b..fbf319e0 100644 --- a/src/options_test.go +++ b/src/options_test.go @@ -489,3 +489,13 @@ func TestParseSingleActionList(t *testing.T) { t.Errorf("Invalid action parsed: %v", actions[3]) } } + +func TestParseSingleActionListError(t *testing.T) { + err := "" + parseSingleActionList("change-query(foobar)baz", func(e string) { + err = e + }) + if len(err) == 0 { + t.Errorf("Failed to detect error") + } +} |