CHANGELOG ========= 0.9.6 ----- ### New features #### Added `--expect` option (#163) If you provide a comma-separated list of keys with `--expect` option, fzf will allow you to select the match and complete the finder when any of the keys is pressed. Additionally, fzf will print the name of the key pressed as the first line of the output so that your script can decide what to do next based on the information. ```sh fzf --expect=ctrl-v,ctrl-t,alt-s,f1,f2,~,@ ``` The updated vim plugin uses this option to implement [ctrlp](https://github.com/kien/ctrlp.vim)-compatible key bindings. ### Bug fixes - Fixed to ignore ANSI escape code `\e[K` (#162) 0.9.5 ----- ### New features #### Added `--ansi` option (#150) If you give `--ansi` option to fzf, fzf will interpret ANSI color codes from the input, display the item with the ANSI colors (true colors are not supported), and strips the codes from the output. This option is off by default as it entails some overhead. ### Improvements #### Reduced initial memory footprint (#151) By removing unnecessary copy of pointers, fzf will use significantly smaller amount of memory when it's started. The difference is hugely noticeable when the input is extremely large. (e.g. `locate / | fzf`) ### Bug fixes - Fixed panic on `--no-sort --filter ''` (#149) 0.9.4 ----- ### New features #### Added `--tac` option to reverse the order of the input. One might argue that this option is unnecessary since we can already put `tac` or `tail -r` in the command pipeline to achieve the same result. However, the advantage of `--tac` is that it does not block until the input is complete. ### *Backward incompatible changes* #### Changed behavior on `--no-sort` `--no-sort` option will no longer reverse the display order within finder. You may want to use the new `--tac` option with `--no-sort`. ``` history | fzf +s --tac ``` ### Improvements #### `--filter` will not block when sort is disabled When fzf works in filtering mode (`--filter`) and sort is disabled (`--no-sort`), there's no need to block until input is complete. The new version of fzf will print the matches on-the-fly when the following condition is met: --filter TERM --no-sort [--no-tac --no-sync] or simply: -f TERM +s This change removes unnecessary delay in the use cases like the following: fzf -f xxx +s | head -5 However, in this case, fzf processes the lines sequentially, so it cannot utilize multiple cores, and fzf will run slightly slower than the previous mode of execution where filtering is done in parallel after the entire input is loaded. If the user is concerned about this performance problem, one can add `--sync` option to re-enable buffering. 0.9.3 ----- ### New features - Added `--sync` option for multi-staged filtering ### Improvements - `--select-1` and `--exit-0` will start finder immediately when the condition cannot be met