Commit Graph

318 Commits (master)

Author SHA1 Message Date
Junegunn Choi 260a65b0fb
0.51.0 1 day ago
Junegunn Choi 835d2fb98c
[vim] Fix argument escaping for Windows batch file
Fix #3620
2 days ago
Junegunn Choi 4a68eac99b
Suggest using toggle+up instead of toggle-up 5 days ago
Junegunn Choi 2665580120
Add $FZF_POS environment variable
Close #2175
Close #3753
5 days ago
Junegunn Choi a4391aeedd
Add --with-shell for shelling out with different command and flags (#3746)
Close #3732
5 days ago
Junegunn Choi 608232568b
Add 'change-multi' action
Close #3754
5 days ago
Junegunn Choi f97d275413
0.50.0 3 weeks ago
Junegunn Choi e86b81bbf5
Improve search performance by limiting the search scope
Find the last occurrence of the last character in the pattern and
perform the search algorithm only up to that point.

The effectiveness of this mechanism depends a lot on the shape of the
input and the pattern.
3 weeks ago
Junegunn Choi fd1ba46f77
Export $FZF_KEY environment variable to child processes
It's the name of the last key pressed.

Related #3412
3 weeks ago
Junegunn Choi 62963dcefd
0.49.0 4 weeks ago
Junegunn Choi 8a2df79711
Do not hide separator by default on --info=inline-right|hidden 4 weeks ago
Junegunn Choi c30e486b64
Further performance improvements by removing unnecessary copies 1 month ago
Junegunn Choi 5234c3759a
Improve ingestion performance (by around 40%)
Summary
    fzf --sync --bind load:accept < 27M-lines ran
      1.16 ± 0.01 times faster than fzf-41b3511 --sync --bind load:accept < 27M-lines
      1.44 ± 0.01 times faster than fzf-0.48.1 --sync --bind load:accept < 27M-lines
1 month ago
Junegunn Choi 41b3511ad9
Improve ingestion performance (by around 20%) 1 month ago
Matthieu Cneude f625c5aabe
Add environment variables: FZF_{BORDER,PREVIEW}_LABEL (#3693)
The environment variable get the value of the preview label, even if it
has been updated with an action. It can be useful to track the label of
the preview and be able to switch between previews using only one
binding.

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
1 month ago
Junegunn Choi 8a74976c1f
Add track-current, untrack-current, and toggle-track-current (#3699)
Close #3691
1 month ago
Junegunn Choi 008fb9d258
Fix reload and reload-sync behaviors
https://github.com/junegunn/fzf/discussions/3696#discussioncomment-8915593
1 month ago
Eli Barzilay 88f4c16755
Make it possible to disable `Ctrl+T` / `Alt+C` / completions (#3678)
This makes it possible to skip one of the above key bindings or
completions by setting a variable to an empty string. For example,

    FZF_CTRL_T_COMMAND= FZF_ALT_C_COMMAND= \
      eval "$(fzf --zsh)"

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2 months ago
Junegunn Choi e74b1251c0
Embed shell integration scripts in fzf binary (`--bash` / `--zsh` / `--fish`) (#3675)
This simplifies the distribution, and the users are less likely to have
problems caused by using incompatible scripts and binaries.

    # Set up fzf key bindings and fuzzy completion
    eval "$(fzf --bash)"

    # Set up fzf key bindings and fuzzy completion
    eval "$(fzf --zsh)"

    # Set up fzf key bindings
    fzf --fish | source
2 months ago
Junegunn Choi d282a1649d
Add walker options and replace 'find' with the built-in walker (#3649) 2 months ago
Junegunn Choi 0494f20d62
Revert "Fix CHANGELOG"
This reverts commit 73aff476dd.
2 months ago
Junegunn Choi 73aff476dd
Fix CHANGELOG 2 months ago
Junegunn Choi 98ee5e651a
0.47.0 2 months ago
Junegunn Choi 1833670fb9
Add $FZF_DEFAULT_OPTS_FILE (#3618)
For those who prefer to manage default options in a file.
If the file is not found, fzf will exit with an error.

We're not setting a default value for it because:

1. it's hard to find a default value that can be universally agreed upon
2. to avoid fzf having to check for the existence of the file even when it's not used
2 months ago
Junegunn Choi 17da165cfe
CHANGELOG: charlievieth/fastwalk 2 months ago
Junegunn Choi 208e556332
Replace "default find command" with built-in directory traversal 3 months ago
Junegunn Choi 2a1e5a9729
More test fixes for tcell on GitHub Actions 3 months ago
Junegunn Choi 76cf6559cc
junegunn/uniseg -> rivo/uniseg
https://github.com/rivo/uniseg/pull/47
3 months ago
Junegunn Choi beb2de2dd9
0.46.0 3 months ago
Junegunn Choi 687c2741b8
Add 'resize' event
Close #3570
3 months ago
Junegunn Choi 16f6473938
Change mattn/go-runewidth dependency to rivo/uniseg for accurate results
Related #3588 #3588 #3567
3 months ago
Junegunn Choi e7718b92b7
Kitty image support improvements
* Use `--unicode-placeholder` for consistent result in and out of tmux
* Use updated version of junegunn/go-runewidth that handles diacritics
  used in Kitty Unicode placeholder

Close #3567
4 months ago
Junegunn Choi cdfaf761df
Expose state information via environment variables to child processes
Close #3582
4 months ago
Junegunn Choi 250496c953
Add 'result' event that is triggered when the result list is ready
Close #3560
4 months ago
Junegunn Choi 2024010119
0.45.0 4 months ago
Junegunn Choi d210660ce8
Add actions: show-header and hide-header 4 months ago
Junegunn Choi 5d360180af
Add {fzf:prompt} placeholder expression
Close #3354
4 months ago
Junegunn Choi c4df0dd06e
Add TRANSFORM ACTIONS section to man page 4 months ago
Junegunn Choi 1707b8cdba
Add 'transform' action to conditionally perform a series of actions
'transform' action runs an external command that prints a series of
actions to perform.

  # Disallow selecting an empty line
  echo -e "1. Hello\n2. Goodbye\n\n3. Exit" |
    fzf --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 --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'

Close #3368
Close #2980
4 months ago
Junegunn Choi d7b61ede07
Add support for negative --height
fzf --height=-1

Close #3487
4 months ago
Junegunn Choi e8b34cb00d
Clarification on accept-or-print-query vs. become 5 months ago
Junegunn Choi c36a64be68
Add accept-or-print-query
Close #3528
5 months ago
Junegunn Choi d7d2ac3951
0.44.1 6 months ago
Junegunn Choi 38e3694d1c
Revert "Sixel and Kitty image support on Windows binary (#2544)"
This reverts commit 68db9cb499.
6 months ago
Junegunn Choi 230fc49ae2
(Experimental) Add support for iTerm2 inline image protocol
Close #1102

  fzf --preview 'imgcat -W $FZF_PREVIEW_COLUMNS -H $FZF_PREVIEW_LINES {}'

Notes:
* There is no good way to determine the height of the rendered image,
  so we assume that the image takes the full height of the preview
  window. So the image cannot be displayed with the other text.
* fzf-preview.sh script was updated to use `imgcat` if it's available
  but `chafa` is not.
* iTerm2 also supports Sixel, so adding support for this protocol is not
  quite necessary but it renders animated GIFs much better (e.g. looping).
6 months ago
Junegunn Choi 250d507bdf
Fix a typo on CHANGELOG 6 months ago
Junegunn Choi a818653174
Add --listen-unsafe=ADDR to allow remote process execution (#3498) 6 months ago
Junegunn Choi 3f78d76da1
Allow accepting remote connections
Close #3498

  # FZF_API_KEY is required for a non-localhost listen address
  FZF_API_KEY=xxx fzf --listen 0.0.0.0:6266
6 months ago
Junegunn Choi 68db9cb499
Sixel and Kitty image support on Windows binary (#2544) 6 months ago
Junegunn Choi 3277e8c89c
Remove $FZF_PREVIEW_PIXEL_{WIDTH,HEIGHT} (#2544)
They are not neccessary because we can use a program such as chafa that
can resize images by the terminal columns and lines.
6 months ago