2024-03-23 07:34:00 by Iku Iwasa | Files touched by this commit (3) | |
Log message:
fzf: update to 0.48.1
0.48.1
* CTRL-T and ALT-C bindings can be disabled by setting FZF_CTRL_T_COMMAND
and FZF_ALT_C_COMMAND to empty strings respectively when sourcing the
script
# bash
FZF_CTRL_T_COMMAND= FZF_ALT_C_COMMAND= eval "$(fzf --bash)"
# zsh
FZF_CTRL_T_COMMAND= FZF_ALT_C_COMMAND= eval "$(fzf --zsh)"
# fish
fzf --fish | FZF_CTRL_T_COMMAND= FZF_ALT_C_COMMAND= source
* Setting the variables after sourcing the script will have no effect
* Bug fixes
0.48.0
* Shell: integration scripts are now embedded in the fzf binary. This
simplifies the distribution, and the users are less likely to have problems
caused by using incompatible scripts and binaries.
* bash
# Set up fzf key bindings and fuzzy completion
eval "$(fzf --bash)"
* zsh
# Set up fzf key bindings and fuzzy completion
eval "$(fzf --zsh)"
* fish
# Set up fzf key bindings
fzf --fish | source
* Added options for customizing the behavior of the built-in walker
Option Description Default
--walker=OPTS Walker options ([file][,dir][,follow][,hidden]) file,follow,hidden
--walker-root=DIR Root directory from which to start walker .
--walker-skip=DIRS Comma-separated list of directory names to skip \
.git,node_modules
* Examples
# Built-in walker is only used by standalone fzf when $FZF_DEFAULT_COMMAND \
is not set
unset FZF_DEFAULT_COMMAND
fzf # default: --walker=file,follow,hidden --walker-root=. \
--walker-skip=.git,node_modules
fzf --walker=file,dir,hidden,follow --walker-skip=.git,node_modules,target
# Walker options in $FZF_DEFAULT_OPTS
export FZF_DEFAULT_OPTS="--walker=file,dir,hidden,follow \
--walker-skip=.git,node_modules,target"
fzf
# Reading from STDIN; --walker is ignored
seq 100 | fzf --walker=dir
# Reading from $FZF_DEFAULT_COMMAND; --walker is ignored
export FZF_DEFAULT_COMMAND='seq 100'
fzf --walker=dir
* Shell: integration scripts have been updated to use the built-in walker
with these new options and they are now much faster out of the box.
0.47.0
* Replaced "the default find command" with a built-in directory walker to
simplify the code and to achieve better performance and consistent behavior
across platforms. This doesn't affect you if you have $FZF_DEFAULT_COMMAND
set.
* Breaking changes:
* Unlike the previous "find" command, the new traversal code will list
hidden files, but hidden directories will still be ignored
* No filtering of devtmpfs or proc types
* Traversal is parallelized, so the order of the entries will be
different each time
* You may wonder why fzf implements directory walker anyway when it's a
filter program following the Unix philosophy. But fzf has had the walker
code for years to tackle the performance problem on Windows. And I
decided to use the same approach on different platforms as well for the
benefits listed above.
* Built-in: walker is using the excellent charlievieth/fastwalk library,
which easily outperforms its competitors and supports safely following
symlinks.
* Added $FZF_DEFAULT_OPTS_FILE to allow managing default options in a file
* Option precedence from lower to higher
a. Options read from $FZF_DEFAULT_OPTS_FILE
b. Options from $FZF_DEFAULT_OPTS
c. Options from command-line arguments
* Bug fixes and improvements
|
2024-02-10 07:04:36 by Iku Iwasa | Files touched by this commit (3) | |
Log message:
fzf: update to 0.46.1
* Bug fixes and improvements
* Updated rivo/uniseg dependency to v0.4.6
|
2024-02-07 15:51:04 by Benny Siegert | Files touched by this commit (156) | |
Log message:
Revbump all Go packages after go121 update
|
2024-01-28 09:18:18 by Iku Iwasa | Files touched by this commit (3) | |
Log message:
fzf: update to 0.46.0
* Added two new events
* result - triggered when the filtering for the current query is complete
and the result list is ready resize - triggered when the terminal size
* is changed
* fzf now exports the following environment variables to the child processes
Variable Description
FZF_LINES Number of lines fzf takes up excluding padding and margin
FZF_COLUMNS Number of columns fzf takes up excluding padding and margin
FZF_TOTAL_COUNT Total number of items
FZF_MATCH_COUNT Number of matched items
FZF_SELECT_COUNT Number of selected items
FZF_QUERY Current query string
FZF_PROMPT Prompt string
FZF_ACTION The name of the last action performed
* This allows you to write sophisticated transformations like so
# Script to dynamically resize the preview window
transformer='
# 1 line for info, another for prompt, and 2 more lines for preview window \
border
lines=$(( FZF_LINES - FZF_MATCH_COUNT - 4 ))
if [[ $FZF_MATCH_COUNT -eq 0 ]]; then
echo "change-preview-window:hidden"
elif [[ $lines -gt 3 ]]; then
echo "change-preview-window:$lines"
elif [[ $FZF_PREVIEW_LINES -ne 3 ]]; then
echo "change-preview-window:3"
fi
'
seq 10000 | fzf --preview 'seq {} 10000' --preview-window up \
--bind "result:transform:$transformer" \
--bind "resize:transform:$transformer"
* And we're phasing out {fzf:prompt} and {fzf:action}
* Changed: mattn/go-runewidth dependency to rivo/uniseg for accurate
results
* Set --ambidouble if your terminal displays ambiguous width characters
(e.g. box-drawing characters for borders) as 2 columns
* RUNEWIDTH_EASTASIAN=1 is still respected for backward compatibility,
but it's recommended that you use this new option instead
* Bug fixes
|
2024-01-10 20:14:43 by Benny Siegert | Files touched by this commit (152) | |
Log message:
Revbump all Go packages after go121 update
|
2024-01-07 09:12:26 by Iku Iwasa | Files touched by this commit (3) | |
Log message:
fzf: update to 0.45.0
* Added transform action to conditionally perform a series of actions
# Disallow selecting an empty line
echo -e "1. Hello\n2. Goodbye\n\n3. Exit" |
fzf --height '~100%' --reverse --header 'Select one' \
--bind 'enter:transform:[[ -n {} ]] && echo accept || echo \
"change-header:Invalid selection"'
# Move cursor past the empty line
echo -e "1. Hello\n2. Goodbye\n\n3. Exit" |
fzf --height '~100%' --reverse --header 'Select one' \
--bind 'enter:transform:[[ -n {} ]] && echo accept || echo \
"change-header:Invalid selection"' \
--bind 'focus:transform:[[ -n {} ]] && exit; [[ {fzf:action} \
=~ up$ ]] && echo up || echo down'
# A single key binding to toggle between modes
fd --type file |
fzf --prompt 'Files> ' \
--header 'CTRL-T: Switch between Files/Directories' \
--bind 'ctrl-t:transform:[[ ! {fzf:prompt} =~ Files ]] &&
echo "change-prompt(Files> )+reload(fd --type \
file)" ||
echo "change-prompt(Directories> )+reload(fd --type \
directory)"'
* Added placeholder expressions
* {fzf:action} - The name of the last action performed
* {fzf:prompt} - Prompt string (including ANSI color codes)
* {fzf:query} - Synonym for {q}
* Added support for negative height
# Terminal height minus 1, so you can still see the command line
fzf --height=-1
This handles a terminal resize better than --height=$(($(tput lines) - 1))
* Added: accept-or-print-query action that acts like accept but prints the
current query when there's no match for the query
# You can make CTRL-R paste the current query when there's no match
export FZF_CTRL_R_OPTS='--bind enter:accept-or-print-query'
* Note that there are alternative ways to implement the same strategy
# 'become' is apparently more versatile but it's not available on Windows.
export FZF_CTRL_R_OPTS='--bind "enter:become:if [ -z {} ]; then echo \
{q}; else echo {}; fi"'
# Using the new 'transform' action
export FZF_CTRL_R_OPTS='--bind "enter:transform:[ -z {} ] && \
echo print-query || echo accept"'
* Added show-header and hide-header actions
* Bug fixes
|
2023-12-05 20:46:19 by Benny Siegert | Files touched by this commit (146) | |
Log message:
Revbump all Go packages after go121 update
|
2023-11-19 01:38:13 by Iku Iwasa | Files touched by this commit (4) | |
Log message:
fzf: update to 0.44.1
Pkgsrc changes:
* Include bin/fzf-preview.sh in the package.
Upstream changes:
0.44.1
* Fixed crash when preview window is hidden on focus event
0.44.0
* (Experimental) Sixel image support in preview window (not available on
Windows)
* bin/fzf-preview.sh is added to demonstrate how to display an image
using Kitty image protocol or Sixel. You can use it like so:
fzf --preview='fzf-preview.sh {}'
* (Experimental) iTerm2 inline image protocol support in preview window
(not available on Windows)
# Using https://iterm2.com/utilities/imgcat
fzf --preview 'imgcat -W $FZF_PREVIEW_COLUMNS -H $FZF_PREVIEW_LINES {}'
* HTTP server can be configured to accept remote connections
# FZF_API_KEY is required for a non-localhost listen address
export FZF_API_KEY="$(head -c 32 /dev/urandom | base64)"
fzf --listen 0.0.0.0:6266
* To allow remote process execution, use --listen-unsafe instead
(execute*, reload*, become, preview, change-preview, transform-*)
fzf --listen-unsafe 0.0.0.0:6266
|
2023-11-10 16:45:25 by Benny Siegert | Files touched by this commit (152) | |
Log message:
Revbump all Go packages after go121 update
|
2023-10-29 15:48:24 by Benny Siegert | Files touched by this commit (152) |
Log message:
Revbump all Go packages because go121 is now the default
|