longhutianjie
978b6254c7
chore: remove redundant word in comment ( #4490 )
...
Signed-off-by: longhutianjie <keplrnewton@icloud.com >
2025-08-14 13:26:29 +09:00
Junegunn Choi
9ffc2c7ca3
reader: Do not append '/' to '/'
...
https://github.com/junegunn/fzf/pull/4334#issue-2966013714
2025-04-11 20:38:16 +09:00
Junegunn Choi
c1accc2e5b
Use '/' as path separator on MSYS2
...
Fix #4281
2025-02-25 10:12:19 +09:00
Junegunn Choi
6fa8295ac5
walker: Append path separator to directories
...
Close #4255
2025-02-18 22:03:59 +09:00
Junegunn Choi
7d9548919e
Extend --walker-skip to support multi-component patterns
...
fzf --walker-skip 'foo/bar'
Close #4107
2024-11-26 17:26:16 +09:00
msabathier
bee80a730f
Allow walking multiple root directories ( #4109 )
...
Co-authored-by: Martin Sabathier <martin.sabathier.ext@corys.fr >
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com >
2024-11-25 19:25:30 +09:00
Junegunn Choi
acdf265d7a
Fix reader regression ( #4070 )
2024-11-03 20:32:26 +09:00
Junegunn Choi
19495eb9bb
Remove possible races ( #4070 )
2024-11-03 20:12:47 +09:00
Junegunn Choi
dcb4c3d84a
Fix race in reload action
...
Fix #4070
2024-10-31 19:40:40 +09:00
Junegunn Choi
d65c6101a8
walker: Do not treat '..' as a hidden entry
...
Thanks to @LangLangBart for the suggested fix
Fix #4048
2024-10-25 13:50:58 +09:00
Junegunn Choi
d9404fcce4
Remove stale comment
2024-07-28 10:13:41 +09:00
Junegunn Choi
587df594b8
Fix incompatibility of adaptive height and 'start:reload'
...
This command would cause a deadlock and make fzf crash:
fzf --bind 'start:reload:ls' --height ~100%
Because,
1. 'start' event is handled by Terminal
2. When 'reload' is bound to 'start', fzf avoids starting the initial reader
3. Terminal waits for the initial input to find the right height when
adaptive height is used
4. Because the initial reader is not started, Terminal never gets the
initial list
5. No chance to trigger 'start:reload', hence deadlock
This commit fixes the above problem by extracting the reload command
bound to 'start' event and starting the initial reader with that command
instead of letting Terminal start it.
This commit also makes the environment variables available to
$FZF_DEFAULT_COMMAND.
FZF_DEFAULT_COMMAND='echo $FZF_QUERY' fzf --query foo
Fix #3944
2024-07-27 11:30:25 +09:00
Charlie Vieth
a2c365e710
Update fastwalk to v1.0.8 for better MSYS detection and sorting ( #3930 )
...
This commit updates github.com/charlievieth/fastwalk to v1.0.8 which
improves MSYS detection and adds optional sorting of directory entries.
It also updates fzf to use the SortFilesFirst sort mode which improves
the output by making it a bit more sorted and grouped by directory
previously entries were visited in directory order (which is basically
random).
PRs Included:
* https://github.com/charlievieth/fastwalk/pull/25
* https://github.com/charlievieth/fastwalk/pull/27
* https://github.com/charlievieth/fastwalk/pull/28
2024-07-19 13:17:41 +09:00
Charlie Vieth
2dbc874e3d
Update charlievieth/fastwalk to use forward-slashes on WSL and MSYS ( #3907 )
...
This commit changes FZF to enforce that all paths are joined with
forward-slashes when running on WSL or MSYS
even when the FZF binary was compiled for Windows.
Update: github.com/charlievieth/fastwalk
Fixes: https://github.com/junegunn/fzf/issues/3859
---------
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com >
2024-07-08 22:21:37 +09:00
Junegunn Choi
8f4c23f1c4
Remove --walker-path-sep
...
Related: #3859 #3907 #3909
2024-07-05 20:15:03 +09:00
Junegunn Choi
bf515a3d32
Add --walker-path-sep=CHAR to use a different path separator
...
This is needed when you run a Windows binary on WSL or zsh on Windows
where forward slashes are expected.
export FZF_DEFAULT_OPTS='--walker-path-sep /'
Close #3859
2024-06-29 17:13:31 +09:00
Junegunn Choi
9dc3ed638a
--walker-skip should also handle symlinks to directories
...
Fix #3858
2024-06-13 22:55:31 +09:00
Junegunn Choi
e042143e3f
Immediately close standard output of the child process
...
Fix #3828
2024-06-01 15:22:05 +09:00
Junegunn Choi
3dee8778d0
execute: Open separate handles to /dev/tty (in, out, err)
...
# This will no longer cause 'Vim: Warning: Output is not to a terminal'
fzf --bind 'enter:execute:vim {}' > /tmp/foo
2024-05-23 21:11:12 +09:00
Junegunn Choi
4bedd33c59
Refactor the code to remove global variables
2024-05-07 16:58:17 +09:00
Junegunn Choi
e8405f40fe
Refactor the code so that fzf can be used as a library ( #3769 )
2024-05-07 01:06:42 +09:00
Junegunn Choi
a4391aeedd
Add --with-shell for shelling out with different command and flags ( #3746 )
...
Close #3732
2024-04-27 18:36:37 +09:00
Junegunn Choi
fddbfe7b0e
Fix 'reload' not terminating closed standard input stream
...
Fix #3750
2024-04-25 16:49:06 +09:00
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.
2024-04-14 11:48:44 +09:00
Junegunn Choi
68a35e4735
Do not trim CR on Windows when --read0 is set
2024-04-04 23:39:29 +09:00
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
2024-04-02 01:38:12 +09:00
Junegunn Choi
41b3511ad9
Improve ingestion performance (by around 20%)
2024-04-01 23:38:46 +09:00
Junegunn Choi
d282a1649d
Add walker options and replace 'find' with the built-in walker ( #3649 )
2024-03-13 20:56:31 +09:00
Junegunn Choi
5e6788c679
Export FZF_* variables to 'reload' process as well
2024-02-19 12:36:14 +09:00
Junegunn Choi
7a72f1a253
Code cleanup: Remove unused argument
2024-02-15 17:11:30 +09:00
Junegunn Choi
208e556332
Replace "default find command" with built-in directory traversal
2024-02-15 16:55:43 +09:00
Junegunn Choi
547e101f1d
Use $SHELL instead of bash if it's known to support 'pipefail'
...
when running the default find command
Close #3339
Close #3364
2023-07-12 13:55:59 +09:00
Junegunn Choi
c39113ee41
[windows] Do not include directories in the list
...
Fix #1926
2020-03-14 21:43:35 +09:00
mattn
311b78ae82
[windows] Use native walker since output of DOS command is not UTF-8 encoded ( #1847 )
...
Makes scanning 300x faster on Windows
2020-02-04 12:31:00 +09:00
Junegunn Choi
73c0a645e0
Remove unnecessary reader barrier on --filter mode
2019-11-11 12:53:03 +09:00
Junegunn Choi
78da928727
Experimental implementation of "reload" action
...
# Reload input list with different sources
seq 10 | fzf --bind 'ctrl-a:reload(seq 100),ctrl-b:reload(seq 1000)'
# Reload as you type
seq 10 | fzf --bind 'change:reload:seq {q}' --phony
# Integration with ripgrep
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
INITIAL_QUERY=""
FZF_DEFAULT_COMMAND="$RG_PREFIX '$INITIAL_QUERY'" \
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
--ansi --phony --query "$INITIAL_QUERY"
Close #751
Close #965
Close #974
Close #1736
Related #1723
2019-11-10 11:43:37 +09:00
Junegunn Choi
0d748a0699
Kill running preview process after 500ms when focus has changed
...
Close #1383
Close #1384
2018-09-28 10:33:52 +09:00
Junegunn Choi
ee40212e97
Update FZF_DEFAULT_COMMAND
...
- Use bash for `set -o pipefail`
- Fall back to simpler find command when the original command failed
Related: #1061
2017-09-28 23:05:02 +09:00
Junegunn Choi
af809c9661
Minor refactorings
2017-08-26 03:24:42 +09:00
Junegunn Choi
487c8fe88f
Make Reader event notification asynchronous
...
Instead of notifying the event coordinator (EventBox) whenever a new
line is arrived, start a background goroutine that periodically does the
task. Atomic.StoreInt32 is much cheaper than mutex synchronization
that happens during EventBox update.
2017-08-16 03:33:48 +09:00
Junegunn Choi
07ef2b051c
Print [ERROR] on info line when the default command failed
...
With zero result.
Related: https://github.com/junegunn/fzf.vim/issues/22#issuecomment-311869805
2017-07-01 01:13:15 +09:00
Junegunn Choi
898d8d94c8
Fix issues in tcell renderer and Windows build
...
- Fix display of CJK wide characters
- Fix horizontal offset of header lines
- Add support for keys with ALT modifier, shift-tab, page-up and down
- Fix util.ExecCommand to properly parse command-line arguments
- Fix redraw on resize
- Implement Pause/Resume for execute action
- Remove runtime check of GOOS
- Change exit status to 2 when tcell failed to start
- TBD: Travis CI build for tcell renderer
- Pending. tcell cannot reliably ingest keys from tmux send-keys
2016-11-08 02:06:34 +09:00
Michael Kelley
26895da969
Implement tcell-based renderer
2016-11-07 02:32:14 +09:00
Junegunn Choi
3a9532c8fd
Increase read buffer size to 64KB
2016-08-16 02:06:15 +09:00
Junegunn Choi
e95d82748f
Use $SHELL to start $FZF_DEFAULT_COMMAND ( #481 )
2016-02-07 01:49:29 +09:00
Junegunn Choi
e13bafc1ab
Performance fix - unnecessary rune convertion on --ansi
...
> time cat /tmp/list | fzf-0.10.1-darwin_amd64 --ansi -fqwerty > /dev/null
real 0m4.364s
user 0m8.231s
sys 0m0.820s
> time cat /tmp/list | fzf --ansi -fqwerty > /dev/null
real 0m4.624s
user 0m5.755s
sys 0m0.732s
2015-08-02 14:25:57 +09:00
Junegunn Choi
0ea66329b8
Performance tuning - eager rune array conversion
...
> wc -l /tmp/list2
2594098 /tmp/list2
> time cat /tmp/list2 | fzf-0.10.1-darwin_amd64 -fqwerty > /dev/null
real 0m5.418s
user 0m10.990s
sys 0m1.302s
> time cat /tmp/list2 | fzf-head -fqwerty > /dev/null
real 0m4.862s
user 0m6.619s
sys 0m0.982s
2015-08-02 14:00:18 +09:00
Junegunn Choi
f469c25730
Add --header-lines option
2015-07-22 03:21:20 +09:00
Giulio Iotti
f6dd32046e
add support to nil-byte separated input strings, closes #121
2015-06-08 08:38:40 +00:00
Junegunn Choi
b00bcf506e
Fix #248 - Premature termination of Reader on long input
2015-06-03 01:48:02 +09:00