_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
_rsync_completion_loader() {
_completion_loader rsync
complete -F _rsync r
+ unset _rsync_completion_loader
return 124
}
complete -F _rsync_completion_loader r
_ssh_completion_loader() {
_completion_loader ssh
complete -F _ssh s
+ unset _ssh_completion_loader
return 124
}
complete -F _ssh_completion_loader s
# A kind of pkill/killall
KillAll() {
+ if [ -z "$1" -o -n "$3" ]; then
+ echo "Usage: KillAll [-signal] proc_regexp" >&2
+ return 1
+ fi
if [ -z "$2" ]; then
kill `pidOf "$1"`
else
if test -x /usr/bin/git >/dev/null 2>&1; then
# chdir to a remote's directory (if the remote is on the local FS)
cdremote() {
+ if [ -z "$1" -o -n "$2" ]; then
+ echo "Usage: cdremote remote_name" >&2
+ return 1
+ fi
cd "`git config --get remote.$1.url`"
}
if test -n "$BASH_VERSION"; then
# completion for global aliases in .gitconfig
- # fixup rbi rbia rbiap rbip - delegate to git-rebase completion
- _git_fixup() { _git_rebase ; }
- _git_rbi() { _git_rebase ; }
- _git_rbia() { _git_rebase ; }
- _git_rbiap() { _git_rebase ; }
- _git_rbip() { _git_rebase ; }
+ # fixup rbi rbia rbiap rbip - do refs name completion
+ _git_fixup() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbi() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbia() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbiap() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbip() { __gitcomp_nl "$(__git_refs)" ; }
+ #
+ # push-to-all-remotes - do branch name completion
+ _git_push_to_all_remotes() { __gitcomp_nl "$(__git_heads)" ; }
# list remotes with URLs matching a regexp
_list_remotes() {
+ if [ -z "$1" -o -n "$2" ]; then
+ echo "Usage: _list_remotes remote_regexp" >&2
+ return 1
+ fi
GIT_REMOTES=""
local remote
for remote in `git remote`; do
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