Skip to content

Releases: junegunn/fzf

0.29.0

24 Dec 16:56
0.29.0
dc975e8
Compare
Choose a tag to compare
  • Added change-preview(...) action to change the --preview command
    • cf. preview(...) is a one-off action that doesn't change the default
      preview command
  • Added change-preview-window(...) action
    • You can rotate through the different options separated by |
      fzf --preview 'cat {}' --preview-window right,40% \
          --bind 'ctrl-/:change-preview-window(right,70%|down,40%,border-top|hidden|)'
  • Fixed rendering of the prompt line when overflow occurs with --info=inline

0.28.0

03 Nov 16:10
0.28.0
e4c3ecc
Compare
Choose a tag to compare
  • Added --header-first option to print header before the prompt line
    fzf --header $'Welcome to fzf\n▔▔▔▔▔▔▔▔▔▔▔▔▔▔' --reverse --height 30% --border --header-first
  • Added --scroll-off=LINES option (similar to scrolloff option of Vim)
    • You can set it to a very large number so that the cursor stays in the
      middle of the screen while scrolling
      fzf --scroll-off=5
      fzf --scroll-off=999
  • Fixed bug where preview window is not updated on reload (#2644)
  • fzf on Windows will also use $SHELL to execute external programs

0.27.3

15 Oct 15:07
0.27.3
4138333
Compare
Choose a tag to compare
  • Preview window is hidden by default when there are preview bindings but --preview command is not given
  • Fixed bug where {n} is not properly reset on reload
  • Fixed bug where spinner is not displayed on reload
  • Enhancements in tcell renderer for Windows (#2616)
  • Vim plugin
    • sinklist is added as a synonym to sink* so that it's easier to add a function to a spec dictionary
      let spec = { 'source': 'ls', 'options': ['--multi', '--preview', 'cat {}'] }
      function spec.sinklist(matches)
        echom string(a:matches)
      endfunction
      
      call fzf#run(fzf#wrap(spec))
    • Vim 7 compatibility

0.27.2

01 Jun 08:06
0.27.2
e086f0b
Compare
Choose a tag to compare
  • 16 base ANSI colors can be specified by their names
    fzf --color fg:3,fg+:11
    fzf --color fg:yellow,fg+:bright-yellow
  • Fix bug where --read0 not properly displaying long lines

0.27.1

22 May 04:25
0.27.1
0818dbc
Compare
Choose a tag to compare
  • Added unbind action. In the following Ripgrep launcher example, you can use unbind(reload) to switch to fzf-only filtering mode.
  • Vim plugin
    • Vim plugin will stop immediately even when the source command hasn't finished
      " fzf will read the stream file while allowing other processes to append to it
      call fzf#run(fzf#wrap({'source': 'cat /dev/null > /tmp/stream; tail -f /tmp/stream'}))
    • It is now possible to open popup window relative to the currrent window
      let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6, 'relative': v:true, 'yoffset': 1.0 } }

0.27.0

06 Apr 13:57
0.27.0
19759ed
Compare
Choose a tag to compare
  • More border options for --preview-window
    fzf --preview 'cat {}' --preview-window border-left
    fzf --preview 'cat {}' --preview-window border-left --border horizontal
    fzf --preview 'cat {}' --preview-window top:border-bottom
    fzf --preview 'cat {}' --preview-window top:border-horizontal
  • Automatically set /dev/tty as STDIN on execute action
    # Redirect /dev/tty to suppress "Vim: Warning: Input is not from a terminal"
    # ls | fzf --bind "enter:execute(vim {} < /dev/tty)"
    
    # "< /dev/tty" part is no longer needed
    ls | fzf --bind "enter:execute(vim {})"
  • Bug fixes and improvements
  • Signed and notarized macOS binaries
    (Huge thanks to BACKERS.md!)

0.26.0

13 Mar 06:17
0.26.0
34fe5ab
Compare
Choose a tag to compare
  • Added support for fixed header in preview window
    # Display top 3 lines as the fixed header
    fzf --preview 'bat --style=full --color=always {}' --preview-window '~3'
    
    # Works well with the streaming preview
    fzf --preview-window 'follow:~2' --preview 'for i in $(seq 100000); do
      # Clear preview content every 300 lines and print header
      (( i % 300 == 1 )) && echo -e "\x1b[2J$i ~ $((i + 300))" && echo '---'
      echo "$i"
      sleep 0.01
    done'
  • More advanced preview offset expression to better support the fixed header
    # Preview with bat, matching line in the middle of the window below
    # the fixed header of the top 3 lines
    #
    #   ~3    Top 3 lines as the fixed header
    #   +{2}  Base scroll offset extracted from the second field
    #   +3    Extra offset to compensate for the 3-line header
    #   /2    Put in the middle of the preview area
    #
    git grep --line-number '' |
      fzf --layout reverse --delimiter : \
          --preview 'bat --style=full --color=always --highlight-line {2} {1}' \
          --preview-window '~3:+{2}+3/2'
  • Added select and deselect action for unconditionally selecting or
    deselecting a single item in --multi mode. Complements toggle action.
  • Sigificant performance improvement in ANSI code processing
  • Bug fixes and improvements
  • Built with Go 1.16

0.25.1

03 Feb 13:34
0.25.1
6654239
Compare
Choose a tag to compare
  • Added close action
    • Close preview window if open, abort fzf otherwise
  • Bug fixes and improvements

0.25.0

02 Jan 19:10
0.25.0
8c533e3
Compare
Choose a tag to compare
  • Text attributes set in --color are not reset when fzf sees another
    --color option for the same element. This allows you to put custom text
    attributes in your $FZF_DEFAULT_OPTS and still have those attributes
    even when you override the colors.

    # Default colors and attributes
    fzf
    
    # Apply custom text attributes
    export FZF_DEFAULT_OPTS='--color fg+:italic,hl:-1:underline,hl+:-1:reverse:underline'
    
    fzf
    
    # Different colors but you still have the attributes
    fzf --color hl:176,hl+:177
    
    # Write "regular" if you want to clear the attributes
    fzf --color hl:176:regular,hl+:177:regular
  • Renamed --phony to --disabled

  • You can dynamically enable and disable the search functionality using the
    new enable-search, disable-search, and toggle-search actions

  • You can assign a different color to the query string for when search is disabled

    fzf --color query:#ffffff,disabled:#999999 --bind space:toggle-search
  • Added last action to move the cursor to the last match

    • The opposite action top is renamed to first, but top is still
      recognized as a synonym for backward compatibility
  • Added preview-top and preview-bottom actions

  • Extended support for alt key chords: alt with any case-sensitive single character

    fzf --bind alt-,:first,alt-.:last

0.24.4

05 Dec 14:27
0.24.4
00a3610
Compare
Choose a tag to compare
  • Added --preview-window option follow
    # Preview window will automatically scroll to the bottom
    fzf --preview-window follow --preview 'for i in $(seq 100000); do
      echo "$i"
      sleep 0.01
      (( i % 300 == 0 )) && printf "\033[2J"
    done'
  • Added change-prompt action
    fzf --prompt 'foo> ' --bind $'a:change-prompt:\x1b[31mbar> '
  • Bug fixes and improvements