2
0
mirror of https://github.com/junegunn/fzf synced 2024-11-16 12:12:48 +00:00

[bash] Do not append space when path completion is cancelled

Close #990
This commit is contained in:
Junegunn Choi 2017-07-30 21:51:44 +09:00
parent 1fcc07e54e
commit 376a76d1d3
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627
2 changed files with 18 additions and 4 deletions

View File

@ -151,7 +151,7 @@ __fzf_generic_path_completion() {
matches=$(eval "$1 $(printf %q "$dir")" | FZF_DEFAULT_OPTS="--height ${FZF_TMUX_HEIGHT:-40%} --reverse $FZF_DEFAULT_OPTS $FZF_COMPLETION_OPTS" $fzf $2 -q "$leftover" | while read -r item; do
printf "%q$3 " "$item"
done)
matches=${matches% }
[ $4 = 1 ] && matches=${matches% }
if [ -n "$matches" ]; then
COMPREPLY=( "$matches" )
else
@ -167,6 +167,7 @@ __fzf_generic_path_completion() {
shift
shift
shift
shift
_fzf_handle_dynamic_completion "$cmd" "$@"
fi
}
@ -198,7 +199,7 @@ _fzf_complete() {
}
_fzf_path_completion() {
__fzf_generic_path_completion _fzf_compgen_path "-m" "" "$@"
__fzf_generic_path_completion _fzf_compgen_path "-m" "" 0 "$@"
}
# Deprecated. No file only completion.
@ -207,7 +208,7 @@ _fzf_file_completion() {
}
_fzf_dir_completion() {
__fzf_generic_path_completion _fzf_compgen_dir "" "/" "$@"
__fzf_generic_path_completion _fzf_compgen_dir "" "/" 1 "$@"
}
_fzf_complete_kill() {
@ -299,7 +300,7 @@ _fzf_defc() {
# Anything
for cmd in $a_cmds; do
_fzf_defc "$cmd" _fzf_path_completion "-o default -o bashdefault"
_fzf_defc "$cmd" _fzf_path_completion "-o nospace -o default -o bashdefault"
done
# Directory

View File

@ -1482,6 +1482,19 @@ module CompletionTest
tmux.send_keys :Enter
end
def test_completion_cancel
%w[ls cd].each do |cmd|
tmux.prepare
tmux.send_keys "#{cmd} **", :Tab
tmux.until { |lines| lines.item_count > 0 }
tmux.send_keys 'C-c'
tmux.until { |lines| lines[-1].include?('**') }
tmux.send_keys 'xoxo'
tmux.until { |lines| lines[-1].include?('**xoxo') }
tmux.send_keys 'C-u'
end
end
def test_dir_completion
(1..100).each do |idx|
FileUtils.mkdir_p "/tmp/fzf-test/d#{idx}"