From 03e8ed4d8813684b1a3dd0831f0eab63b44e1499 Mon Sep 17 00:00:00 2001 From: Jesus Briales Date: Tue, 30 Apr 2019 18:35:51 +0100 Subject: [PATCH] [bash-completion] Fix custom completion with dynamic loader enabled for non-standard command names (#1564) Related to #1170. Fix the solution for commands with non-standard names where `$cmd` and `$orig_cmd` differ. e.g. `s.foo` -> `s_foo` --- shell/completion.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shell/completion.bash b/shell/completion.bash index 15d2f95..2964829 100644 --- a/shell/completion.bash +++ b/shell/completion.bash @@ -123,11 +123,11 @@ _fzf_handle_dynamic_completion() { if [ -n "$orig" ] && type "$orig" > /dev/null 2>&1; then $orig "$@" elif [ -n "$_fzf_completion_loader" ]; then - orig_complete=$(complete -p "$cmd" 2> /dev/null) + orig_complete=$(complete -p "$orig_cmd" 2> /dev/null) _completion_loader "$@" ret=$? # _completion_loader may not have updated completion for the command - if [ "$(complete -p "$cmd" 2> /dev/null)" != "$orig_complete" ]; then + if [ "$(complete -p "$orig_cmd" 2> /dev/null)" != "$orig_complete" ]; then eval "$(complete | command grep " -F.* $orig_cmd$" | __fzf_orig_completion_filter)" if [[ "$__fzf_nospace_commands" = *" $orig_cmd "* ]]; then eval "${orig_complete/ -F / -o nospace -F }"