Skip to content

0.24.0

Compare
Choose a tag to compare
@junegunn junegunn released this 27 Oct 15:00
· 1002 commits to master since this release
0.24.0
0d5f862
  • Real-time rendering of preview window
    # fzf can render preview window before the command completes
    fzf --preview 'sleep 1; for i in $(seq 100); do echo $i; sleep 0.01; done'
    
    # Preview window can process ANSI escape sequence (CSI 2 J) for clearing the display
    fzf --preview 'for i in $(seq 100000); do
      (( i % 200 == 0 )) && printf "\033[2J"
      echo "$i"
      sleep 0.01
    done'
  • Updated --color option to support text styles
    • regular / bold / dim / underline / italic / reverse / blink
      # * Set -1 to keep the original color
      # * Multiple style attributes can be combined
      # * Italic style may not be supported by some terminals
      rg --line-number --no-heading --color=always "" |
        fzf --ansi --prompt "Rg: " \
            --color fg+:italic,hl:underline:-1,hl+:italic:underline:reverse:-1 \
            --color pointer:reverse,prompt:reverse,input:159 \
            --pointer '  '
  • More --border options
    • vertical, top, bottom, left, right
    • Updated Vim plugin to use these new --border options
      " Floating popup window in the center of the screen
      let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
      
      " Popup with 100% width
      let g:fzf_layout = { 'window': { 'width': 1.0, 'height': 0.5, 'border': 'horizontal' } }
      
      " Popup with 100% height
      let g:fzf_layout = { 'window': { 'width': 0.5, 'height': 1.0, 'border': 'vertical' } }
      
      " Similar to 'down' layout, but it uses a popup window and doesn't affect the window layout
      let g:fzf_layout = { 'window': { 'width': 1.0, 'height': 0.5, 'yoffset': 1.0, 'border': 'top' } }
      
      " Opens on the right;
      "   'highlight' option is still supported but it will only take the foreground color of the group
      let g:fzf_layout = { 'window': { 'width': 0.5, 'height': 1.0, 'xoffset': 1.0, 'border': 'left', 'highlight': 'Comment' } }
  • To indicate if --multi mode is enabled, fzf will print the number of
    selected items even when no item is selected
    seq 100 | fzf
      # 100/100
    seq 100 | fzf --multi
      # 100/100 (0)
    seq 100 | fzf --multi 5
      # 100/100 (0/5)
  • Since 0.24.0, release binaries will be uploaded to https://github.com/junegunn/fzf/releases