done
delegate_completion() {
- local prog completion_f programs
- prog="$1"
- if has_completion "$prog"; then
- completion_f="$2"
- shift; shift
+ local prog programs
+ prog=$1
+ if has_completion $prog; then
+ shift
programs="$@"
eval "_${prog}_completion_loader() {
_completion_loader $prog
- complete -F $completion_f $programs
+ complete -F _$prog $programs
unset _${prog}_completion_loader
return 124
}"
- complete -F _"$prog"_completion_loader $programs
+ complete -F _${prog}_completion_loader $programs
fi
}
- delegate_completion make _make m
- delegate_completion ping _ping p
- delegate_completion rsync _rsync r
- delegate_completion ssh _ssh s
- delegate_completion wget _wget wget-m wget-wrapper ww
+ delegate_completion make m
+ delegate_completion ping p
+ delegate_completion rsync r
+ delegate_completion ssh s
+ delegate_completion wget wget-m wget-wrapper ww
unset has_completion delegate_completion