mirror of
https://github.com/junegunn/fzf.git
synced 2026-08-02 14:10:32 +08:00
Add 'wait' action to block until search completion (#4825)
Blocks execution of subsequent actions until the current search completes, so motion actions operate on the complete result set. # Move to the best match only after the search is done fzf --bind 'start:change-query(foo)+wait+best' - Blocks when a search is in progress, will be triggered by preceding actions, or the query was edited in the same binding; no-op otherwise - Initial input load counts as a search in progress, so 'start:wait' blocks until the input is fully loaded and searched - User input ignored while blocked; keys bound to abort/cancel cancel the wait and discard pending actions instead - Debounced feedback after 200ms: dimmed prompt, hidden cursor, and (..) on the info line
This commit is contained in:
@@ -11,6 +11,17 @@ CHANGELOG
|
||||
(seq 100; sleep 1; seq 100) | fzf --query 1 \
|
||||
--bind 'result:transform-header(echo result: $FZF_MATCH_COUNT),result-final:transform-footer(echo final: $FZF_MATCH_COUNT)'
|
||||
```
|
||||
- Added `wait` action to block subsequent actions until search completes (#4825)
|
||||
- Useful for chaining query-changing actions with motion actions to ensure operations on complete results
|
||||
```sh
|
||||
# Wait for search to complete before moving to the best match
|
||||
fzf --bind 'start:change-query(foo)+wait+best'
|
||||
```
|
||||
- The initial loading of the input is also considered a search in progress, so `start:wait` can be used to wait until the input is fully loaded
|
||||
```sh
|
||||
# Move to the last item after the input is fully loaded
|
||||
(seq 1000; sleep 1; seq 1001 2000) | fzf --bind 'start:wait+last'
|
||||
```
|
||||
- Bound `alt-left` to `backward-word` and `alt-right` to `forward-word` by default (#4833)
|
||||
|
||||
0.73.1
|
||||
|
||||
Reference in New Issue
Block a user