| Age | Commit message (Collapse) | Author |
|
Fix #2931
|
|
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
|
|
|
|
Close #2474
Close #2583
|
|
'kill **<tab>' instead of 'kill <tab>' just like any other completions.
Close #2716
Close #385
|
|
Unlike awk, which is even defined in POSIX, perl is not pre-installed
on all *nix systems. This awk command is functionally equivalent to
the original perl command.
|
|
|
|
- extract logical parts to separate variables (e.g. $opts)
- put options in $opts in similar order
- move +/-m into $opts (at the end, so they won't be overridden)
- split pipelines into multiple lines
- remove "echo" that seems to be redundant
All this should help with readability and also result in cleaner diffs
when changes are made.
|
|
|
|
This makes it easier to make customizations, for example instead of
bind -x '"\C-o\C-i": FZF_CTRL_T_COMMAND="fasd -Rl" FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS --tiebreak=index " fzf-file-widget'
it's enough to just
bind -x '"\C-o\C-i": FZF_CTRL_T_COMMAND="fasd -Rl" fzf-file-widget --tiebreak=index'
|
|
Fix #2694
|
|
Otherwise directories starting with '-' may treated as options.
|
|
Fix #2618
|
|
|
|
|
|
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
|
|
`precmd` hooks expect the Zsh Line Editor to not be active.
Running these when the ZLE is active can lead to unpredictable results.
See https://github.com/marlonrichert/zsh-autocomplete/issues/180
|
|
|
|
This reverts commit e9bc7331bde238e84f24b76ebb1f5e18799b15c4.
The change is no longer necessary since 090dee8.
|
|
Fix #2289
|
|
zsh sends SIGCONT when running fzf in a pipe in certain cases,
causing mouse mode to become disabled
Fix #2101
|
|
This reverts commit b62a74b3156540cea4f12cf1d092cba77cb1db67.
https://github.com/junegunn/fzf/pull/2251#issuecomment-740551383
|
|
|
|
|
|
I forgot to add the "not _fzf" check into __fzf_orig_completion, so
invoking it twice would rewrite the _fzf_orig_completion_xxx variables
and then cause an endless loop when completion is requested.
Fixes: ef2c29d5d497 ("[bash-completion] Optimize __fzf_orig_completion_filter")
|
|
|
|
Commit d4ad4a25 slowed loading of completion.bash significantly (on my
laptop from 10 ms to 30 ms), then 54891d11 improved that (to 20 ms) but
it still stands out as the heavy part of my .bashrc.
Rewriting __fzf_orig_completion_filter to pure bash without forking to
sed/awk brings this back under 10 ms.
before:
$ HISTFILE=/tmp/bashhist hyperfine 'bash --rcfile shell/completion.bash -i'
Benchmark #1: bash --rcfile shell/completion.bash -i
Time (mean ± σ): 21.2 ms ± 0.3 ms [User: 24.9 ms, System: 6.4 ms]
Range (min … max): 20.7 ms … 23.3 ms 132 runs
after:
$ HISTFILE=/tmp/bashhist hyperfine 'bash --rcfile shell/completion.bash -i'
Benchmark #1: bash --rcfile shell/completion.bash -i
Time (mean ± σ): 9.6 ms ± 0.3 ms [User: 8.0 ms, System: 2.2 ms]
Range (min … max): 9.3 ms … 11.4 ms 298 runs
Fixes: d4ad4a25db5f ("[bash-completion] Fix default alias/variable completion")
Fixes: 54891d11e09d ("[bash-completion] Minor optimization")
|
|
This prevents mistakes like the one fixed by the previous commit, and
also speeds bash startup a tiny bit:
before:
$ HISTFILE=/tmp/bashhist hyperfine 'bash --rcfile shell/completion.bash -i'
Benchmark #1: bash --rcfile shell/completion.bash -i
Time (mean ± σ): 22.4 ms ± 0.6 ms [User: 28.7 ms, System: 7.8 ms]
Range (min … max): 21.7 ms … 25.2 ms 123 runs
after:
$ HISTFILE=/tmp/bashhist hyperfine 'bash --rcfile shell/completion.bash -i'
Benchmark #1: bash --rcfile shell/completion.bash -i
Time (mean ± σ): 21.2 ms ± 0.3 ms [User: 24.9 ms, System: 6.4 ms]
Range (min … max): 20.7 ms … 23.3 ms 132 runs
|
|
This doesn't look right:
$ complete | grep ' _.$'
complete _a
complete _v
The __fzf_orig_completion_filter invocation in _fzf_setup_completion
needs the /-F/ filter, just like all the other invocations.
Fixes: d4ad4a25db5f ("[bash-completion] Fix default alias/variable completion")
|
|
Fixes error when option-like args are parsed (e.g. "-1").
|
|
|
|
Ideally, we could only use `print -sr` to update the command history.
However, the "cd" command by ALT-C is added to the history only after we
finalize the current command by pressing an additional enter key.
i.e. The cd command from ALT-C is not visible when you hit Up arrow. But
it appears once you hit enter key.
So when the current buffer is empty, we use `zle accept-line` so that
the command history is immediately updated.
Close #2200
|
|
|
|
Fix the regular expression to capture the command containing asterisk.
|
|
|
|
s///r is only available since perl 5.14. The Perl oneliner
was changed to work with older Perls, possibly even with 5.000.
Fix #2001
|
|
|
|
Support both ordinary completion trigger and empty trigger
kill <tab>
kill foo**<tab>
Close #1988
Close #385
|
|
Fix #1973
Fix #1974
Fix #1975
|
|
The following code works in zsh 5.8 but not in 5.4
${(Q)${(Z+n+)FZF_TMUX_OPTS:--d${FZF_TMUX_HEIGHT:-40%}}}
|
|
|
|
Requires latest tmux built from source (e.g. brew install tmux --HEAD)
Examples:
# 50%/50% width and height on the center of the screen
fzf-tmux -p
# 80%/80%
fzf-tmux -p80%
# 80%/40%
fzf-tmux -p80%,40%
# Separate -w and -h
fzf-tmux -w80% -h40%
# 80%/40% at position (0, 0)
fzf-tmux -w80% -h40% -x0 -y0
You can configure key bindings and fuzzy completion to open in tmux
popup window like so:
FZF_TMUX_OPTS='-p 80%'
|
|
At the top of each zsh file options are set to their
standard values (those marked with <Z> in `man zshoptions`)
and `aliases` option is disabled.
At the bottom of the file the original options are restored.
Fix #1938
|
|
Close #1940
Related: #1363 #749 #270 #49 #88 #492 #600
|
|
(#1936)
|
|
|
|
|
|
To make it easier to write more complex fzf options. Although this
does not break backward compatibility, users are encouraged to update
their code accordingly.
# Before
_fzf_complete "FZF_ARG1 FZF_ARG2..." "$@" < <(
# Print candidates
)
# After
_fzf_complete FZF_ARG1 FZF_ARG2... -- "$@" < <(
# Print candidates
)
|
|
This change allows the completion system of bash and zsh to return
before the input process completes.
Related #1887
|
|
Fix #1898
|