Skip to content

Releases: junegunn/fzf

0.57.0

15 Dec 08:07
v0.57.0
0476a65
Compare
Choose a tag to compare
  • You can now resize the preview window by dragging the border
  • Built-in walker improvements
    • --walker-root can take multiple directory arguments. e.g. --walker-root include src lib
    • --walker-skip can handle multi-component patterns. e.g. --walker-skip target/build
  • Removed long processing delay when displaying images in the preview window
  • FZF_PREVIEW_* environment variables are exported to all child processes (#4098)
  • Bug fixes in fish scripts

0.56.3

15 Nov 01:07
v0.56.3
add1aec
Compare
Choose a tag to compare
  • Bug fixes in zsh scripts
    • fix(zsh): handle backtick trigger edge case (#4090)
    • revert(zsh): remove 'fc -RI' call in the history widget (#4093)
    • Thanks to @LangLangBart for the contributions

0.56.2

11 Nov 15:59
v0.56.2
215ab48
Compare
Choose a tag to compare
  • Bug fixes
    • Fixed abnormal scrolling behavior when --wrap is set (#4083)
    • [zsh] Fixed warning message when ksh_arrays is set (#4084)

0.56.1

10 Nov 14:25
v0.56.1
64c6160
Compare
Choose a tag to compare
  • Bug fixes and improvements
    • Fixed a race condition which would cause fzf to present stale results after reload (#4070)
    • page-up and page-down actions now work correctly with multi-line items (#4069)
    • {n} is allowed in SCROLL expression in --preview-window (#4079)
    • [zsh] Fixed regression in history loading with shared option (#4071)
    • [zsh] Better command extraction in zsh completion (#4082)
  • Thanks to @LangLangBart, @jaydee-coder, @alex-huff, and @vejkse for the contributions

0.56.0

27 Oct 03:07
v0.56.0
ff16877
Compare
Choose a tag to compare
  • Added --gap[=N] option to display empty lines between items.
    • This can be useful to visually separate adjacent multi-line items.
      # All bash functions, highlighted
      declare -f | perl -0777 -pe 's/^}\n/}\0/gm' |
        bat --plain --language bash --color always |
        fzf --read0 --ansi --reverse --multi --highlight-line --gap
      image
    • Or just to make the list easier to read. For single-line items, you probably want to set --color gutter:-1 as well to hide the gutter.
      fzf --info inline-right --gap --color gutter:-1
      image
  • Added noinfo option to --preview-window to hide the scroll indicator in the preview window
  • Bug fixes

0.55.0

29 Aug 08:13
v0.55.0
fc69308
Compare
Choose a tag to compare

Release highlights: https://junegunn.github.io/fzf/releases/0.55.0/

  • Added exact-boundary-match type to the search syntax. When a search term is single-quoted, fzf will search for the exact occurrences of the string with both ends at word boundaries.
    fzf --query "'here'" << EOF
    come here
    not there
    EOF
  • [bash] Fuzzy path completion is enabled for all commands
      1. If the default completion is not already set
      1. And if the current bash supports complete -D option
    • However, fuzzy completion for some commands can be "dynamically" disabled by the dynamic completion loader
    • See the comment in __fzf_default_completion function for more information
  • Comments are now allowed in $FZF_DEFAULT_OPTS and $FZF_DEFAULT_OPTS_FILE
    export FZF_DEFAULT_OPTS='
      # Layout options
      --layout=reverse
      --info=inline-right   # Show info on the right side of the prompt line
      # ...
    '
  • Hyperlinks (OSC 8) are now supported in the preview window and in the main window
    printf '<< \e]8;;http://github.com/junegunn/fzf\e\\Link to \e[32mfz\e[0mf\e]8;;\e\\ >>' | fzf --ansi
    
    fzf --preview "printf '<< \e]8;;http://github.com/junegunn/fzf\e\\Link to \e[32mfz\e[0mf\e]8;;\e\\ >>'"
  • The default --ellipsis is now Β·Β· instead of ...
  • [vim] A spec can have exit callback that is called with the exit status of fzf
    • This can be used to clean up temporary resources or restore the original state when fzf is closed without a selection
  • Fixed --tmux bottom when the status line is not at the bottom
  • Fixed extra scroll offset in multi-line mode (--read0 or --wrap)
  • Added fallback ps command for kill completion on Cygwin

0.54.3

31 Jul 12:58
v0.54.3
af4917d
Compare
Choose a tag to compare
  • Fixed incompatibility of adaptive height specification and 'start:reload'
    # A regression in 0.54.0 would cause this to fail
    fzf --height '~100%' --bind 'start:reload:seq 10'
  • Environment variables are now available to $FZF_DEFAULT_COMMAND
    FZF_DEFAULT_COMMAND='echo $FZF_QUERY' fzf --query foo

0.54.2

26 Jul 10:12
v0.54.2
b896e0d
Compare
Choose a tag to compare
  • Fixed incorrect syntax highlighting of truncated multi-line entries
  • Updated GoReleaser to 2.1.0 to simplify notarization of macOS binaries
    • macOS archives will be in tar.gz format instead of zip format since we no longer notarize the zip files but binaries
  • (Windows) Reverted a mintty fix in 0.54.0
    • As a result, mouse may not work on mintty in fullscreen mode. However, fzf will correctly read non-ASCII input in fullscreen mode (--no-height).
    • fzf unfortunately cannot read non-ASCII input when not in fullscreen mode on Windows. So if you need to input non-ASCII characters, add --no-height to your $FZF_DEFAULT_OPTS.
    • Any help in fixing this issue will be appreciated (#3799, #3847).

0.54.1

19 Jul 08:14
v0.54.1
50fa90d
Compare
Choose a tag to compare

0.54.0

08 Jul 13:54
v0.54.0
9e92b6f
Compare
Choose a tag to compare

Release highlights: https://junegunn.github.io/fzf/releases/0.54.0/

  • Implemented line wrap of long items
    • --wrap option enables line wrap
    • --wrap-sign customizes the sign for wrapped lines (default: ↳ )
    • toggle-wrap action toggles line wrap
      history | fzf --tac --wrap --bind 'ctrl-/:toggle-wrap' --wrap-sign $'\t↳ '
    • fzf by default binds CTRL-/ and ALT-/ to toggle-wrap
  • Updated shell integration scripts to leverage line wrap
    • CTRL-R binding includes --wrap-sign $'\t↳ ' to indent wrapped lines
    • kill ** completion uses --wrap to show the whole line by default instead of showing it in the preview window
  • Added --info-command option for customizing the info line
    # Prepend the current cursor position in yellow
    fzf --info-command='echo -e "\x1b[33;1m$FZF_POS\x1b[m/$FZF_INFO πŸ’›"'
    • $FZF_INFO is set to the original info text
    • ANSI color codes are supported
  • Pointer and marker signs can be set to empty strings
    # Minimal style
    fzf --pointer '' --marker '' --prompt '' --info hidden
  • Better cache management and improved rendering for --tail
  • Improved --sync behavior
    • When --sync is provided, fzf will not render the interface until the initial filtering and the associated actions (bound to any of start, load, result, or focus) are complete.
      # fzf will not render intermediate states
      (sleep 1; seq 1000000; sleep 1) |
        fzf --sync --query 5 --listen --bind start:up,load:up,result:up,focus:change-header:Ready
  • GET endpoint is now available from execute and transform actions (it used to timeout due to lock conflict)
    fzf --listen --sync --bind 'focus:transform-header:curl -s localhost:$FZF_PORT?limit=0 | jq .'
  • Added offset-middle action to place the current item is in the middle of the screen
  • fzf will not start the initial reader when reload or reload-sync is bound to start event. fzf < /dev/null or : | fzf are no longer required and extraneous load event will not fire due to the empty list.
    # Now this will work as expected. Previously, this would print an invalid header line.
    # `fzf < /dev/null` or `: | fzf` would fix the problem, but then an extraneous 
    # `load` event would fire and the header would be prematurely updated.
    fzf --header 'Loading ...' --header-lines 1 \
        --bind 'start:reload:sleep 1; ps -ef' \
        --bind 'load:change-header:Loaded!'
  • Fixed mouse support on Windows
  • Fixed crash when using --tiebreak=end with very long items
  • zsh 5.0 compatibility (thanks to @LangLangBart)
  • Fixed --walker-skip to also skip symlinks to directories
  • Fixed result event not fired when input stream is not complete
  • Built-in reader of the Windows binary will print forward slashes on MSYS and WSL (thanks to @charlievieth)
  • New tags will have v prefix so that they are available on https://proxy.golang.org/