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