summaryrefslogtreecommitdiffstats
path: root/src/core.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2022-04-04 21:54:22 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2022-04-04 21:54:22 +0900
commitd56f605b6338842b415ac1ff578f4316455815fe (patch)
tree56d8ab62498255e93c4f3764850d3de48e1a47da /src/core.go
parentf8b713f425fea4dcbd33ecf611140f3157b4c541 (diff)
Add `rebind` action for restoring bindings after `unbind`
Fix #2752 Close #2564
Diffstat (limited to 'src/core.go')
-rw-r--r--src/core.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core.go b/src/core.go
index 6244c99a..17198f5b 100644
--- a/src/core.go
+++ b/src/core.go
@@ -242,9 +242,11 @@ func Run(opts *Options, version string, revision string) {
for {
delay := true
ticks++
- input := func() []rune {
+ input := func(reloaded bool) []rune {
paused, input := terminal.Input()
- if !paused {
+ if reloaded && paused {
+ query = []rune{}
+ } else if !paused {
query = input
}
return query
@@ -274,7 +276,8 @@ func Run(opts *Options, version string, revision string) {
opts.Sync = false
terminal.UpdateList(PassMerger(&snapshot, opts.Tac), false)
}
- matcher.Reset(snapshot, input(), false, !reading, sort, clearCache())
+ reset := clearCache()
+ matcher.Reset(snapshot, input(reset), false, !reading, sort, reset)
case EvtSearchNew:
var command *string
@@ -293,7 +296,8 @@ func Run(opts *Options, version string, revision string) {
break
}
snapshot, _ := chunkList.Snapshot()
- matcher.Reset(snapshot, input(), true, !reading, sort, clearCache())
+ reset := clearCache()
+ matcher.Reset(snapshot, input(reset), true, !reading, sort, reset)
delay = false
case EvtSearchProgress: