Junegunn Choi
b99d884e57
Minor refactoring
2024-07-27 18:59:50 +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
Junegunn Choi
559fb7ee45
Revert "Prefer LightRenderer over tcell on Windows"
...
This reverts commit dca2262fe6f8d7c4a9264464e45d44e684d0e70b.
> For mouse support on mintty
> Fix #3847
The current implementation LightRenderer for Windows is unable to accept
non-ASCII input unlike the tcell renderer. So even though it supports
mouse on mintty, we shouldn't use it as the default.
* #3799
* #3847
2024-07-26 01:43:21 +09:00
Junegunn Choi
4cc5609d8b
Fix invalid highlighting of truncated multi-line items
2024-07-21 01:09:39 +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
Junegunn Choi
3b2e932c13
Bind CTRL-/ and ALT-/ to toggle-wrap by default
2024-07-08 22:51:47 +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
035b0be29f
Adjust offset immediately after 'first', 'last', and 'pos'
...
seq 100 | fzf --multi --sync --bind 'result:last+transform:for _ in $(seq 10); do echo -n "+select+down"; done'
2024-07-03 22:06:17 +09:00
Junegunn Choi
cfc149e994
Avoid printing ANSI reset codes
...
fzf --border --bind 'start:transform-border-label:echo -e "\x1b[0mfoo"'
2024-07-02 09:20:10 +09:00
Junegunn Choi
2faffbd1b7
Fill background color in padding area
...
fzf --color bg:blue --border --padding 1,2
2024-07-01 21:39:09 +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
0420ed4f2a
Empty --marker-multi-line if --marker is empty
2024-06-25 20:49:42 +09:00
Junegunn Choi
3b944addd4
Allow removing header line with change-header and transform-header
...
If the new header is an empty string.
fzf --header loading --bind 'start:reload:sleep 3; ls' --bind 'load:change-header:'
fzf --header loading --bind 'start:reload:sleep 3; ls' --bind 'load:transform-header:'
2024-06-25 17:14:11 +09:00
Junegunn Choi
70bf8bc35d
Add --wrap option and 'toggle-wrap' action ( #3887 )
...
* `--wrap`
* `--wrap-sign`
* `toggle-wrap`
Close #3619
Close #2236
Close #577
Close #461
2024-06-25 17:08:47 +09:00
Junegunn Choi
5b52833785
Do not start the initial reader if 'reload*' is bound to 'start'
2024-06-24 17:05:53 +09:00
Junegunn Choi
a70ea4654e
Fix regression in separator display
2024-06-23 18:23:46 +09:00
Junegunn Choi
b02bf9b6bb
Fix panic on extremely short terminals
...
Fix #3889
2024-06-23 11:27:03 +09:00
Junegunn Choi
7c2ffd3fef
Make transform*, --info-command, and execute-silent cancellable
...
Users can press CTRL-C after 1 second to terminate the command.
Close #3883
2024-06-22 17:24:47 +09:00
Junegunn Choi
2326c74eb2
Code cleanup
2024-06-20 17:06:44 +09:00
Junegunn Choi
b9d15569e8
Fix test case for validateSign
2024-06-20 01:48:24 +09:00
Junegunn Choi
c3cc378d89
Allow empty pointer and marker
...
Close #3879
2024-06-20 01:45:06 +09:00
Junegunn Choi
540632bb9e
Add --info-command for customizing the input text
...
Close #3866
2024-06-20 00:53:18 +09:00
bsdmp
295b89631b
Add wpath and dpath pledges on OpenBSD to make --tmux work ( #3877 )
2024-06-19 11:26:08 +09:00
Junegunn Choi
e2401aca68
Add 'offset-middle' action
2024-06-17 18:34:10 +09:00
Junegunn Choi
59943cbb48
Fire 'result' even when input stream is not complete
...
Related: #3866
2024-06-17 17:54:52 +09:00
Junegunn Choi
ed12925f7d
--sync: Suppress initial render also when focus event is bound
2024-06-17 17:00:49 +09:00
Junegunn Choi
e0ddb97ab4
Improved --sync behavior
...
When --sync is provided, fzf will not render the interface until the
initial filtering and associated actions (bound to any of 'start',
'load', or 'result') are complete.
2024-06-17 00:11:57 +09:00
Junegunn Choi
6de0a7ddc1
--sync: Do not start TUI until initial filtering is complete
2024-06-15 10:46:28 +09:00
Junegunn Choi
b2ecb6352c
Make GET endpoint available from 'execute' and 'transform' actions
2024-06-14 21:33:42 +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
dca2262fe6
Prefer LightRenderer over tcell on Windows
...
For mouse support on mintty
Fix #3847
2024-06-12 21:53:18 +09:00
Junegunn Choi
0684a20ea3
Fix invalid mouse offset for --height on Windows
2024-06-12 21:18:02 +09:00
Junegunn Choi
a1a72bb8d1
Do not open tmux or winpty in --filter
mode
2024-06-12 21:02:48 +09:00
Junegunn Choi
7fc13c5cfd
Less aggressive chunk cache invalidation for --tail
2024-06-10 20:33:55 +09:00
Junegunn Choi
dfee7af57b
Fix divide by zero error with --tiebreak=end for long items
...
Fix #3846
2024-06-10 08:26:53 +09:00
Junegunn Choi
590060a16b
Remove unused field
2024-06-07 17:05:33 +09:00
Junegunn Choi
368294edf6
Reduce flickering of the list when the list is truncated by --tail
2024-06-07 16:59:09 +09:00
Junegunn Choi
b1460d4787
hasPreviewFlags should ignore escaped placeholder
...
This reload command wouldn't run before the fix:
: | fzf --bind 'start:reload:echo \{}'
2024-06-06 17:40:15 +09:00
Junegunn Choi
1616ed543d
Fix index out of bounds error caused by outdated offset
2024-06-06 00:23:58 +09:00
Junegunn Choi
ef148dfd37
Handle int32 overflow
...
yes | fzf --tail=10 --preview 'echo "{n}"'
2024-06-05 14:29:50 +09:00
Junegunn Choi
93bbb3032d
Add --tail=NUM to limit the number of items to keep in memory
2024-06-04 17:50:46 +09:00
Junegunn Choi
c29533994f
Fix invalid default of selected-hl (--color)
...
It should default to 'hl' instead of 'current-hl'
2024-06-02 18:09:41 +09:00
Junegunn Choi
e2f93e5a2d
--tmux vs. --height: Last one wins
2024-06-01 22:11:15 +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
7c613d0d9b
Do not disable --height on mintty (because it works)
2024-06-01 14:45:54 +09:00
Junegunn Choi
b00d46bc14
Fix --height on Windows
2024-06-01 14:36:41 +09:00
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'
2024-06-01 14:35:45 +09:00
Junegunn Choi
41bcbe342f
Revert "An '--expect' key should execute actions bound to the key"
...
To be backward compatible.
Close #3829
2024-06-01 13:21:59 +09:00
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[%]])
2024-05-31 16:57:35 +09:00