Commit Graph

309 Commits (master)

Author SHA1 Message Date
Junegunn Choi 93bbb3032d
Add --tail=NUM to limit the number of items to keep in memory 3 days ago
Junegunn Choi e2f93e5a2d
--tmux vs. --height: Last one wins 6 days ago
Junegunn Choi 555b0d235b
Ignore --height option if it's not supported on the platform
This is to make shell integration work out of the box on Git bash.

  eval "$(fzf --bash)"
  vim <CTRL-T>
    # would print '--height option is currently not supported on this platform'
6 days ago
Junegunn Choi 7aa88aa115
Fix error message on invalid --tmux option
fzf --tmux foobar
  # not a valid integer: foobar
  # ->
  # invalid tmux option: foobar (expected: [center|top|bottom|left|right][,SIZE[%]][,SIZE[%]])
7 days ago
Junegunn Choi 12630b124d
Make --tmux argument optional 1 week ago
Junegunn Choi 782de139c8
[vim] Native --tmux fix for Neovim 1 week ago
Junegunn Choi 2f51eb2b41
Different marker for the first and last line of multi-line entries
Can be configured via `--marker-multi-line`
2 weeks ago
Junegunn Choi 0ccbd79e10
Fix --help output: marker default
Co-authored-by: LangLangBart <92653266+LangLangBart@users.noreply.github.com>
2 weeks ago
Junegunn Choi 89375005b5
Fix option validation order 2 weeks ago
Junegunn Choi 7e9a0fcdbd
Change default --scroll-off to 3 2 weeks ago
Junegunn Choi da500a358f
Use bold bar as the default marker 2 weeks ago
Junegunn Choi a90426b7ca
Add print(...) action 2 weeks ago
Junegunn Choi 0cadf70072
Update the summary 2 weeks ago
Junegunn Choi 076b3d0a9a
Embed man page in the binary and show it on 'fzf --man' 2 weeks ago
Junegunn Choi 7b0c9e04d3
Change default marker 3 weeks ago
Junegunn Choi 573df524fe
Use winpty to launch fzf in Git bash (mintty)
Close #3806

Known limitation:
* --height cannot be used
3 weeks ago
Junegunn Choi aee417c46a
Respect $NO_COLOR environment variable
Close #1762
3 weeks ago
Junegunn Choi 04db44067d
Implement multi-line display of multi-line items 3 weeks ago
Junegunn Choi 5b204c54f9
Change default pointer and marker character
* Pointer: '▌'
* Marker: '▏'

They will still be set to '>' if `--no-unicode` is given.

Reasons:
* They look okay
* They work better with multi-line items (WIP)
3 weeks ago
Junegunn Choi 04dfb14e32 Do not 'become' inside a tmux popup
fzf --tmux center --bind 'enter:become:vim {}'
3 weeks ago
Junegunn Choi 83b6033906 Add --tmux option to replace fzf-tmux script 3 weeks ago
Zhizhen He 01e7668915
chore: use strings.ReplaceAll (#3801) 3 weeks ago
LangLangBart 07880ca441
chore: Update flags to include long-form options for case (#3785) 4 weeks ago
Junegunn Choi af65aa298a
Add color names: selected-{fg,bg,hl} 1 month ago
Junegunn Choi 0952b2dfd4
Rename --cursor-line to --highlight-line 1 month ago
Junegunn Choi c5fb0c43f9
Add --cursor-line to highlight the whole current line
Similar to 'set cursorline' of Vim.
1 month ago
Junegunn Choi 9e4780510e
Add current-{fg,bg,hl} as synonyms for {fg,bg,hl}+ 1 month ago
Junegunn Choi e8405f40fe
Refactor the code so that fzf can be used as a library (#3769) 1 month ago
Kuremu 7b98c2c653
Add click-header event for reporting clicks within header (#3768)
Sets $FZF_CLICK_HEADER_LINE and $FZF_CLICK_HEADER_COLUMN env vars with
coordinates of the last click inside and relative to the header and
fires click-header event.

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
1 month ago
Junegunn Choi a4391aeedd
Add --with-shell for shelling out with different command and flags (#3746)
Close #3732
1 month ago
Junegunn Choi 608232568b
Add 'change-multi' action
Close #3754
1 month ago
Junegunn Choi 4ab7fdc28e
Merge identical case clauses 1 month ago
hidewrong 938f23e429
Fix typo in comment (#3734)
Signed-off-by: hidewrong <hidewrong@outlook.com>
2 months ago
Junegunn Choi 7ce6452d83
Improve search performance by pre-calculating character classes
This simple optmization can give more than 15% performance boost
in some scenarios.
2 months ago
Charlie Vieth 3c877c504b
Enable profiling options when 'pprof' tag is set (#2813)
This commit enables cpu, mem, block, and mutex profling of the FZF
executable. To support flushing the profiles at program exit it adds
util.AtExit to register "at exit" functions and mandates that util.Exit
is used instead of os.Exit to stop the program.

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2 months ago
Junegunn Choi fd1ba46f77
Export $FZF_KEY environment variable to child processes
It's the name of the last key pressed.

Related #3412
2 months ago
Junegunn Choi a4745626dd
Add jump and jump-cancel events
Close #3412

    # Default behavior
    fzf --bind space:jump

    # Same as jump-accept action
    fzf --bind space:jump,jump:accept

    # Accept on jump, abort on cancel
    fzf --bind space:jump,jump:accept,jump-cancel:abort

    # Change header on jump-cancel
    fzf --bind 'space:change-header(Type jump label)+jump,jump-cancel:change-header:Jump cancelled'
2 months ago
Junegunn Choi 8a2df79711
Do not hide separator by default on --info=inline-right|hidden 2 months ago
Junegunn Choi 8a74976c1f
Add track-current, untrack-current, and toggle-track-current (#3699)
Close #3691
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
3 months ago
Junegunn Choi d282a1649d
Add walker options and replace 'find' with the built-in walker (#3649) 3 months ago
onee-only 52210a57f0 Update error return position according to convention 3 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
3 months ago
Junegunn Choi 76cf6559cc
junegunn/uniseg -> rivo/uniseg
https://github.com/rivo/uniseg/pull/47
4 months ago
Junegunn Choi 687c2741b8
Add 'resize' event
Close #3570
5 months ago
Junegunn Choi 16f6473938
Change mattn/go-runewidth dependency to rivo/uniseg for accurate results
Related #3588 #3588 #3567
5 months ago
Junegunn Choi 1a9ea6f738
Remove 'replace' directive for 'go install' compatibility
Close #3577
5 months ago
Junegunn Choi 250496c953
Add 'result' event that is triggered when the result list is ready
Close #3560
5 months ago
Junegunn Choi d210660ce8
Add actions: show-header and hide-header 5 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
5 months ago