summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/options.go4
-rw-r--r--src/terminal.go11
2 files changed, 15 insertions, 0 deletions
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)