diff --git a/shell/completion.bash b/shell/completion.bash index 191091d..ef3a965 100644 --- a/shell/completion.bash +++ b/shell/completion.bash @@ -110,7 +110,8 @@ __fzf_generic_path_completion() { if [ -z "$dir" -o -d "$dir" ]; then leftover=${base/#"$dir"} leftover=${leftover/#\/} - [ -z "$dir" ] && dir='.' || dir="${dir/%\//}" + [ -z "$dir" ] && dir='.' + [ "$dir" != "/" ] && dir="${dir/%\//}" tput sc matches=$(\find -L "$dir" $1 -a -not -path "$dir" -print 2> /dev/null | sed 's@^\./@@' | $fzf $FZF_COMPLETION_OPTS $2 -q "$leftover" | while read item; do printf "%q$3 " "$item" diff --git a/shell/completion.zsh b/shell/completion.zsh index 1b2a7dd..6e2d932 100644 --- a/shell/completion.zsh +++ b/shell/completion.zsh @@ -30,7 +30,8 @@ __fzf_generic_path_completion() { if [ -z "$dir" -o -d ${~dir} ]; then leftover=${base/#"$dir"} leftover=${leftover/#\/} - [ -z "$dir" ] && dir='.' || dir="${dir/%\//}" + [ -z "$dir" ] && dir='.' + [ "$dir" != "/" ] && dir="${dir/%\//}" dir=${~dir} matches=$(\find -L "$dir" ${=find_opts} -a -not -path "$dir" -print 2> /dev/null | sed 's@^\./@@' | ${=fzf} ${=FZF_COMPLETION_OPTS} ${=fzf_opts} -q "$leftover" | while read item; do printf "%q$suffix " "$item"