From af1a5f130bbd2464131ec2ae91c538ace6801a73 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sat, 7 Dec 2019 14:44:24 +0900 Subject: Add clear-query and clear-selection Close #1787 Related #1364 --- src/options.go | 4 ++++ src/terminal.go | 11 +++++++++++ 2 files changed, 15 insertions(+) (limited to 'src') diff --git a/src/options.go b/src/options.go index bb7333ca..bd88f23f 100644 --- a/src/options.go +++ b/src/options.go @@ -738,6 +738,10 @@ func parseKeymap(keymap map[int][]action, str string) { appendAction(actEndOfLine) case "cancel": appendAction(actCancel) + case "clear-query": + appendAction(actClearQuery) + case "clear-selection": + appendAction(actClearSelection) case "forward-char": appendAction(actForwardChar) case "forward-word": diff --git a/src/terminal.go b/src/terminal.go index 3cd0af6e..d31ff6fe 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -185,6 +185,8 @@ const ( actBackwardWord actCancel actClearScreen + actClearQuery + actClearSelection actDeleteChar actDeleteCharEOF actEndOfLine @@ -1905,6 +1907,15 @@ func (t *Terminal) Loop() { } case actClearScreen: req(reqRedraw) + case actClearQuery: + t.input = []rune{} + t.cx = 0 + case actClearSelection: + if t.multi > 0 { + t.selected = make(map[int32]selectedItem) + t.version++ + req(reqList, reqInfo) + } case actTop: t.vset(0) req(reqList) -- cgit v1.2.3