Commit Graph

1033 Commits (master)

Author SHA1 Message Date
LangLangBart 07880ca441
chore: Update flags to include long-form options for case (#3785) 3 days ago
Junegunn Choi af65aa298a
Add color names: selected-{fg,bg,hl} 5 days ago
Junegunn Choi 0952b2dfd4
Rename --cursor-line to --highlight-line 5 days ago
Junegunn Choi 4bedd33c59
Refactor the code to remove global variables 5 days ago
Junegunn Choi c5fb0c43f9
Add --cursor-line to highlight the whole current line
Similar to 'set cursorline' of Vim.
6 days ago
Junegunn Choi 9e4780510e
Add current-{fg,bg,hl} as synonyms for {fg,bg,hl}+ 6 days ago
Junegunn Choi e8405f40fe
Refactor the code so that fzf can be used as a library (#3769) 6 days ago
Junegunn Choi 5669f48343
Do not enable delayed expansion mode when running cmd.exe
And simplify the argument escaping code. Fix #3764.

This may breaks some existing use cases, but the mode causes too much
trouble when escaping arguments and it makes some things not possible.

  # Now you can pass special characters to rg process without any escaping problems: &|<>()@^%!
  fzf --ansi --disabled --bind "change:reload:rg --column --line-number --no-heading --color=always --smart-case -- {q}"

  # No sudden expansion of the arguments on '!'
  fzf --disabled --preview "echo {q} {n} {}" --query "&|<>()@^%!" --prompt "&|<>()@^%!"
6 days ago
Junegunn Choi 24ff66d4a9
Fix `change-preview` reset by `change-preview-window`
Fix #3770
6 days ago
Junegunn Choi bf184449bc
Count $FZF_CLICK_HEADER_LINE from top to bottom
Regardless of `--layout`.

https://github.com/junegunn/fzf/pull/3768#issuecomment-2094806558
7 days 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 week ago
Junegunn Choi b6add2a257
Fix rendering of preview window border of tcell renderer
(sleep 1; find .) |
    go run -tags tcell main.go --bind 'space:change-preview-window(60%|70%|80%|90%|border-left|border-right|border-vertical|border-top|border-horizontal|border-bottom|border-sharp|border-double|border-block|hidden|left|up|down|right|up|down|)' \
        --preview 'cat {}' --color bg:red,preview-bg:blue \
        --border --margin 3
1 week ago
Junegunn Choi 2bd41f1330
Reduce flicking when changing the size of the preview window with --border
(sleep 1; find .) |
    fzf --bind 'space:change-preview-window(60%|70%|80%|90%|border-left|border-right|border-vertical|border-top|border-horizontal|border-bottom|border-sharp|border-double|border-block|hidden|left|up|down|right|up|down|)' \
        --preview 'cat {}' --color bg:red,preview-bg:blue \
        --border --margin 3
1 week ago
Junegunn Choi c37cd11ca5
Remove unnecessary flicking when changing the size of the preview window
fzf --bind 'space:change-preview-window(60%|70%|80%|90%|hidden|)' --preview 'cat {}'
1 week ago
Junegunn Choi 9dee8edc0c
Clear characters on 1-column margin after the preview window on the left 1 week ago
Junegunn Choi f6aa28c380
Fix --info inline-right not properly clearing the previous output
(seq 100000; sleep 1) | fzf --info inline-right --bind load:change-query:x
1 week ago
Junegunn Choi 194a763c46
Escaping for cmd.exe: always use double quotes 2 weeks ago
Junegunn Choi 8d74446bef
Fix escaping for cmd.exe
Close #3651
Close #2609
2 weeks ago
Junegunn Choi 7ed6c7905c
Determine shell type once by the basename 2 weeks ago
Junegunn Choi 159a37fa37
Restore CmdLine parameter when running commands using cmd.exe 2 weeks ago
Junegunn Choi 2665580120
Add $FZF_POS environment variable
Close #2175
Close #3753
2 weeks ago
Junegunn Choi a4391aeedd
Add --with-shell for shelling out with different command and flags (#3746)
Close #3732
2 weeks ago
Junegunn Choi 608232568b
Add 'change-multi' action
Close #3754
2 weeks ago
Junegunn Choi fddbfe7b0e
Fix 'reload' not terminating closed standard input stream
Fix #3750
2 weeks ago
Junegunn Choi 4ab7fdc28e
Merge identical case clauses 2 weeks ago
Cheng d18d92f925
Replace fmt.Errorf with no parameters with errors.New (#3747) 3 weeks ago
Junegunn Choi d8bfb6712d
Remove invalid 'result' event when using --sync option
When the search for the initial query doesn't finish immediately
fzf would trigger an invalid 'result' event for an empty query.

  seq 100 | fzf --query 99 --bind result:accept --sync
    # Prints 99

  seq 1000000 | fzf --query 99 --bind result:accept --sync
    # Should print 99, but fzf would print 1
3 weeks ago
hidewrong 938f23e429
Fix typo in comment (#3734)
Signed-off-by: hidewrong <hidewrong@outlook.com>
4 weeks ago
Junegunn Choi 3acb4ca90e
Fix streaming filter mode by not running reader callback concurrently
Close #3728
4 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.
4 weeks ago
Junegunn Choi a5447b8b75
Improve search performance by pre-calculating bonus matrix
This gives yet another 5% boost.
4 weeks 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.
4 weeks 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>
4 weeks ago
Junegunn Choi 892d1acccb
Fix tcell build 4 weeks ago
Junegunn Choi 1a9c282f76
Fix unit tests 4 weeks ago
Junegunn Choi fd1ba46f77
Export $FZF_KEY environment variable to child processes
It's the name of the last key pressed.

Related #3412
4 weeks 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'
1 month ago
Junegunn Choi 4cd37fc02b
Disable line wrapping during rendering
Prevent unwanted line wraps that break the layout when the actual
display width of a character is different than expected.
1 month ago
Junegunn Choi 68a35e4735
Do not trim CR on Windows when --read0 is set 1 month ago
Junegunn Choi 8a2df79711
Do not hide separator by default on --info=inline-right|hidden 1 month 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
2 months ago
Junegunn Choi 008fb9d258
Fix reload and reload-sync behaviors
https://github.com/junegunn/fzf/discussions/3696#discussioncomment-8915593
2 months ago
Junegunn Choi db6db49ed6
Increase the buffer size for POST requests
Close #3685
2 months ago
Junegunn Choi 05453881c3
Set a 2-second timeout for POST requests
Close #3685
2 months ago
Junegunn Choi c7ee071efa
Fix panic caused by invalid cursor index
Fix #3681
2 months ago
Junegunn Choi 8977c9257a
Limit the maximum number of focus events to process at once 2 months ago