Skip to content

Releases: junegunn/fzf

0.64.0

06 Jul 15:05
v0.64.0
0076ec2
Compare
Choose a tag to compare
  • Added multi event that is triggered when the multi-selection has changed.
    fzf --multi \
        --bind 'ctrl-a:select-all,ctrl-d:deselect-all' \
        --bind 'multi:transform-footer:(( FZF_SELECT_COUNT )) && echo "Selected $FZF_SELECT_COUNT item(s)"'
  • Halfwidth and fullwidth alphanumeric and punctuation characters are now internally normalized to their ASCII equivalents to allow matching with ASCII queries.
    echo ABC| fzf -q abc
  • Renamed clear-selection action to clear-multi for consistency.
    • clear-selection remains supported as an alias for backward compatibility.
  • Bug fixes
    • Fixed a bug that could cause fzf to abort due to incorrect update ordering.
    • Fixed a bug where some multi-selections were lost when using exclude or change-nth.

0.63.0

27 Jun 16:12
v0.63.0
397fe8e
Compare
Choose a tag to compare

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

image

  • Added footer. The default border style for footer is line, which draws a single separator line.
    fzf --reverse --footer "fzf: friend zone forever"
    • Options
      • --footer[=STRING]
      • --footer-border[=STYLE]
      • --footer-label=LABEL
      • --footer-label-pos=COL[:bottom]
    • Colors
      • footer
      • footer-bg
      • footer-border
      • footer-label
    • Actions
      • change-footer
      • transform-footer
      • bg-transform-footer
      • change-footer-label
      • transform-footer-label
      • bg-transform-footer-label
  • line border style is now allowed for all types of border except for --list-border.
    fzf --height 50% --style full:line --preview 'cat {}' \
        --bind 'focus:bg-transform-header(file {})+bg-transform-footer(wc {})'
  • Added {*} placeholder flag that evaluates to all matched items.
    seq 10000 | fzf --preview "awk '{sum += \$1} END {print sum}' {*f}"
    • Use this with caution, as it can make fzf sluggish for large lists.
  • Added asynchronous transform actions with bg- prefix that run asynchronously in the background, along with bg-cancel action to cancel currently running bg-transform actions.
    # Implement popup that disappears after 1 second
    #   * Use footer as the popup
    #   * Use `bell` to ring the terminal bell
    #   * Use `bg-transform-footer` to clear the footer after 1 second
    #   * Use `bg-cancel` to cancel currently running background transform actions
    fzf --multi --list-border \
        --bind 'enter:execute-silent(echo -n {+} | pbcopy)+bell' \
        --bind 'enter:+transform-footer(echo Copied {} to clipboard)' \
        --bind 'enter:+bg-cancel+bg-transform-footer(sleep 1)'
    
    # It's okay for the commands to take a little while because they run in the background
    GETTER='curl -s http://metaphorpsum.com/sentences/1'
    fzf --style full --border --preview : \
        --bind "focus:bg-transform-header:$GETTER" \
        --bind "focus:+bg-transform-footer:$GETTER" \
        --bind "focus:+bg-transform-border-label:$GETTER" \
        --bind "focus:+bg-transform-preview-label:$GETTER" \
        --bind "focus:+bg-transform-input-label:$GETTER" \
        --bind "focus:+bg-transform-list-label:$GETTER" \
        --bind "focus:+bg-transform-header-label:$GETTER" \
        --bind "focus:+bg-transform-footer-label:$GETTER" \
        --bind "focus:+bg-transform-ghost:$GETTER" \
        --bind "focus:+bg-transform-prompt:$GETTER"
  • Added support for full-line background color in the list section
    for i in $(seq 16 255); do
      echo -e "\x1b[48;5;${i}m\x1b[0Khello"
    done | fzf --ansi
  • SSH completion enhancements by @akinomyoga
  • Bug fixes and improvements

0.62.0

04 May 10:00
v0.62.0
d226d84
Compare
Choose a tag to compare
  • Relaxed the --color option syntax to allow whitespace-separated entries (in addition to commas), making multi-line definitions easier to write and read
    # seoul256-light
    fzf --style full --color='
      fg:#616161 fg+:#616161
      bg:#ffffff bg+:#e9e9e9 alt-bg:#f1f1f1
      hl:#719872 hl+:#719899
      pointer:#e12672 marker:#e17899
      header:#719872
      spinner:#719899 info:#727100
      prompt:#0099bd query:#616161
      border:#e1e1e1
    '
  • Added alt-bg color to create striped lines to visually separate rows
    fzf --color bg:237,alt-bg:238,current-bg:236 --highlight-line
    
    declare -f | perl -0777 -pe 's/^}\n/}\0/gm' |
      bat --plain --language bash --color always |
      fzf --read0 --ansi --reverse --multi \
          --color bg:237,alt-bg:238,current-bg:236 --highlight-line
  • [fish] Improvements in CTRL-R binding (@bitraid)
    • You can trigger CTRL-R in the middle of a command to insert the selected item
    • You can delete history items with SHIFT-DEL
  • Bug fixes and improvements
    • Fixed unnecessary 100ms delay after reload (#4364)
    • Fixed selected-bg not applied to colored items (#4372)

Screenshot

image

0.61.3

22 Apr 12:55
v0.61.3
d24b58e
Compare
Choose a tag to compare
  • Reverted #4351 as it caused tmux run-shell 'fzf --tmux' to fail (#4559 #4560)
  • More environment variables for child processes (#4356)

0.61.2

20 Apr 02:42
v0.61.2
90ad1b7
Compare
Choose a tag to compare
  • Fixed panic when using header border without pointer/marker (@phanen)
  • Fixed --tmux option when already inside a tmux popup (@peikk0)
  • Bug fixes and improvements in CTRL-T binding of fish (#4334) (@bitraid)
  • Added --no-tty-default option to make fzf search for the current TTY device instead of defaulting to /dev/tty (#4242)

0.61.1

06 Apr 04:15
v0.61.1
93cb375
Compare
Choose a tag to compare
  • Disable bracketed-paste mode on exit. This fixes issue where pasting breaks after running fzf on old bash versions that don't support the mode.

0.61.0

30 Mar 10:57
v0.61.0
e15cba0
Compare
Choose a tag to compare
  • Added --ghost=TEXT to display a ghost text when the input is empty
    # Display "Type to search" when the input is empty
    fzf --ghost "Type to search"
  • Added change-ghost and transform-ghost actions for dynamically changing the ghost text
  • Added change-pointer and transform-pointer actions for dynamically changing the pointer sign
  • Added r flag for placeholder expression (raw mode) for unquoted output
  • Bug fixes and improvements

0.60.3

03 Mar 08:18
v0.60.3
0012183
Compare
Choose a tag to compare
  • Bug fixes and improvements
    • [fish] Enable multiple history commands insertion (#4280) (@bitraid)
    • [walker] Append '/' to directory entries on MSYS2 (#4281)
    • Trim trailing whitespaces after processing ANSI sequences (#4282)
    • Remove temp files before become when using --tmux option (#4283)
    • Fix condition for using item numlines cache (#4285) (@alex-huff)
    • Make --accept-nth compatible with --select-1 (#4287)
    • Increase the query length limit from 300 to 1000 (#4292)
    • [windows] Prevent fzf from consuming user input while paused (#4260)

0.60.2

23 Feb 11:25
v0.60.2
c0d407f
Compare
Choose a tag to compare
  • Template for --with-nth and --accept-nth now supports {n} which evaluates to the zero-based ordinal index of the item
  • Fixed a regression that caused the last field in the "nth" expression to be trimmed when a regular expression delimiter is used
  • Fixed 'jump' action when the pointer is an empty string

0.60.1

20 Feb 12:46
v0.60.1
a24d274
Compare
Choose a tag to compare
  • Bug fixes and minor improvements
    • Built-in walker now prints directory entries with a trailing slash
    • Fixed a bug causing unexpected behavior with fzf-tab. Please upgrade if you use it.
  • Thanks to @alexeisersun, @bitraid, @Lompik, and @fsc0 for the contributions