Release 0.58.0 · junegunn/fzf (January 2025)
Release 0.58.0 · junegunn/fzf (January 2025)
github.com
Release 0.58.0 · junegunn/fzf

0.58.0
Release highlights: https://junegunn.github.io/fzf/releases/0.58.0/
This version introduces three new border types, --list-border, --input-border, and --header-border, offering much greater flexibility for customizing the user interface.
Also, fzf now offers "style presets" for quick customization, which can be activated using the --style option.
- Style presets (#4160)
--style=full[:BORDER_STYLE]--style=default--style=minimal
- Border and label for the list section (#4148)
- Options
--list-border[=STYLE]--list-label=LABEL--list-label-pos=COL[:bottom]
- Colors
list-fglist-bglist-borderlist-label
- Actions
change-list-labeltransform-list-label
- Options
- Border and label for the input section (prompt line and info line) (#4154)
- Options
--input-border[=STYLE]--input-label=LABEL--input-label-pos=COL[:bottom]
- Colors
input-fg(query)input-bginput-borderinput-label
- Actions
change-input-labeltransform-input-label
- Options
- Border and label for the header section (#4159)
- Options
--header-border[=STYLE]--header-label=LABEL--header-label-pos=COL[:bottom]
- Colors
header-fg(header)header-bgheader-borderheader-label
- Actions
change-header-labeltransform-header-label
- Options
- Added
--preview-border[=STYLE]as short for--preview-window=border[-STYLE] - Added new preview border style
linewhich draws a single separator line between the preview window and the rest of the interface - fzf will now render a dashed line (
┈┈) in each--gapfor better visual separation.sh
# All bash/zsh functions, highlighted declare -f | perl -0 -pe 's/^}\n/}\0/gm' | bat --plain --language bash --color always | fzf --read0 --ansi --layout reverse --multi --highlight-line --gap- You can customize the line using
--gap-line[=STR].
- You can customize the line using
- You can specify
border-nativeto--tmuxso that native tmux border is used instead of--border. This can be useful if you start a different program from inside the popup.sh
fzf --tmux border-native --bind 'enter:execute:less {}' - Added
toggle-multi-lineaction - Added
toggle-hscrollaction - Added
change-nthaction for dynamically changing the value of the--nthoptionsh
# Start with --nth 1, then 2, then 3, then back to the default, 1 echo 'foo foobar foobarbaz' | fzf --bind 'space:change-nth(2|3|)' --nth 1 -q foo --nthparts of each line can now be rendered in a different text stylesh
# nth in a different style ls -al | fzf --nth -1 --color nth:italic ls -al | fzf --nth -1 --color nth:reverse ls -al | fzf --nth -1 --color nth:reverse:bold # Dim the other parts ls -al | fzf --nth -1 --color nth:regular,fg:dim # With 'change-nth'. The current nth option is exported as $FZF_NTH. ps -ef | fzf --reverse --header-lines 1 --header-border bottom --input-border \ --color nth:regular,fg:dim \ --bind 'ctrl-n:change-nth(8..|1|2|3|4|5|6|7|)' \ --bind 'result:transform-prompt:echo "${FZF_NTH}> "'- A single-character delimiter is now treated as a plain string delimiter rather than a regular expression delimiter, even if it's a regular expression meta-character.
- This means you can just write
--delimiter '|'instead of escaping it as--delimiter '\|'
- This means you can just write
- Bug fixes
- Bug fixes and improvements in fish scripts (thanks to @bitraid)