-case "$SHELL" in
- */bash)
- # list remotes with URLs matching a regexp
- list_remotes() {
- GIT_REMOTES=""
- for remote in `git remote`; do
- if git config --get remote.$remote.url | grep -q "$1"; then
- GIT_REMOTES="$GIT_REMOTES $remote"
- fi
- done
- remote=""
- unset remote
- }
-
- # define completion for cdremote - list remotes with directories as URLs
- _cdremote_complete() {
- local cur="${COMP_WORDS[COMP_CWORD]}";
- list_remotes '^/'
- COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`)
- GIT_REMOTES=""
- unset GIT_REMOTES
- }
-
- complete -F _cdremote_complete cdremote
-
- # define 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"`)
- GIT_REMOTES=""
- unset GIT_REMOTES
- }
-
- complete -F _git_open git-open
- ;;
-esac
+if test -n "$BASH_VERSION"; then
+ # list remotes with URLs matching a regexp
+ list_remotes() {
+ GIT_REMOTES=""
+ local remote
+ for remote in `git remote`; do
+ if git config --get remote.$remote.url | grep -q "$1"; then
+ GIT_REMOTES="$GIT_REMOTES $remote"
+ fi
+ done
+ }
+
+ # completion for cdremote - list remotes with directories as URLs
+ _cdremote_complete() {
+ local cur="${COMP_WORDS[COMP_CWORD]}";
+ list_remotes '^\(/\|\.\./\)' # (/ or ../ at the beginning)
+ COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`)
+ unset GIT_REMOTES
+ }
+
+ 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
+ }
+
+ complete -F _git_open git-open
+fi
+fi