! has_completion $cmd && complete -o default -A command $cmd
done
- for cmd in dig host nslookup nc netcat nmap p ping ping6 socat \
+ for cmd in dig host mtr nslookup nc netcat nmap p ping ping6 socat \
telnet t tt \
tcptraceroute tcptraceroute6 tracert tracert6 traceroute traceroute6 \
whois wget wget-m wget-wrapper ww; do
done
if has_completion wget; then
- complete -F _wget wget-m wget-wrapper ww
+ _wget_completion_loader() {
+ _completion_loader wget
+ complete -F _wget wget-m wget-wrapper ww
+ unset _wget_completion_loader
+ return 124
+ }
+ complete -F _wget_completion_loader wget-m wget-wrapper ww
fi
for cmd in distribute ftp lftp r rsync \
s scp ssh smbclient tcpdump tshark wireshark; do
! has_completion $cmd && complete -o default -A hostname $cmd;
done
+
+ if has_completion rsync; then
+ _rsync_completion_loader() {
+ _completion_loader rsync
+ complete -F _rsync r
+ unset _rsync_completion_loader
+ return 124
+ }
+ complete -F _rsync_completion_loader r
+ fi
+
+ if has_completion ssh; then
+ _ssh_completion_loader() {
+ _completion_loader ssh
+ complete -F _ssh s
+ unset _ssh_completion_loader
+ return 124
+ }
+ complete -F _ssh_completion_loader s
+ fi
+
unset has_completion
complete -A job bg fg j jobs wait
done
}
- # completion for cdremote - list remotes with directories as URLs
- _cdremote_complete() {
+ # completion for cdremote and git-open - list remotes with a pattern
+ _list_remotes_completion() {
local cur="${COMP_WORDS[COMP_CWORD]}";
- _list_remotes '^\(/\|\.\./\)' # (/ or ../ at the beginning)
+ _list_remotes "$1"
COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`)
unset GIT_REMOTES
}
+ # completion for cdremote - list remotes with directories as URLs
+ _cdremote_complete() {
+ _list_remotes_completion '^\(/\|\.\./\)' # (/ or ../ at the beginning)
+ }
+
complete -F _cdremote_complete cdremote
# completion for git-open - list remotes with http(s) URLs
_git_open() {
- local cur="${COMP_WORDS[COMP_CWORD]}";
- _list_remotes '^http\(s\)\?://'
- COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`)
- unset GIT_REMOTES
+ _list_remotes_completion '^http\(s\)\?://'
}
complete -F _git_open git-open