Implement streaming preview window (#2215)

Fix #2212

    # Will start rendering after 200ms, update every 100ms
    fzf --preview 'for i in $(seq 100); do echo $i; sleep 0.01; done'

    # Should print "Loading .." message after 500ms
    fzf --preview 'sleep 1; for i in $(seq 100); do echo $i; sleep 0.01; done'

    # The first line should appear after 200ms
    fzf --preview 'date; sleep 2; date'

    # Should not render before enough lines for the scroll offset are ready
    rg --line-number --no-heading --color=always ^ |
      fzf --delimiter : --ansi --preview-window '+{2}-/2' \
          --preview 'sleep 1; bat --style=numbers --color=always --pager=never --highlight-line={2} {1}'
This commit is contained in:
Junegunn Choi
2020-10-18 17:03:33 +09:00
committed by GitHub
parent 305896fcb3
commit faf68dbc5c
8 changed files with 251 additions and 120 deletions

View File

@@ -1,6 +1,13 @@
CHANGELOG
=========
0.24.0
------
- fzf can render preview window before the command completes
```sh
fzf --preview 'sleep 1; for i in $(seq 100); do echo $i; sleep 0.01; done'
```
0.23.1
------
- Added `--preview-window` options for disabling flags