diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/bash-completion | 5 | ||||
-rw-r--r-- | shell/zsh-completion | 25 |
2 files changed, 18 insertions, 12 deletions
diff --git a/shell/bash-completion b/shell/bash-completion index acff4c8..3c7fc06 100644 --- a/shell/bash-completion +++ b/shell/bash-completion @@ -17,6 +17,7 @@ _asp() { [ALL_PACKAGES]='checkout difflog export list-arches list-repos log shortlog show ls-files' [LOCAL_PACKAGES]='untrack update' [NONE]='disk-usage gc help list-all list-local' + [PROTO]='set-git-protocol' ) # flags @@ -45,6 +46,10 @@ _asp() { verb=$word comps=$(ASP_GIT_QUIET=1 \asp list-local | sed 's,.*/,,') break + elif in_array "$word" ${verbs[PROTO]}; then + verb=$word + comps='git http https' + break elif in_array "$word" ${verbs[NONE]}; then verb=$word break diff --git a/shell/zsh-completion b/shell/zsh-completion index bcf18e4..13ede7c 100644 --- a/shell/zsh-completion +++ b/shell/zsh-completion @@ -17,25 +17,26 @@ _asp_command() { 'log' 'shortlog' 'show' + 'set-git-protocol' 'update' 'untrack' ) -if (( CURRENT == 1 )); then - _describe -t commands 'asp command' _asp_cmds || compadd "$@" -else - local curcontext="$curcontext" - cmd="${${_asp_cmds[(r)$words[1]:*]%%:*}}" - if (( $#cmd )); then - if (( $+functions[_asp_$cmd] )); then - _asp_$cmd + if (( CURRENT == 1 )); then + _describe -t commands 'asp command' _asp_cmds || compadd "$@" + else + local curcontext="$curcontext" + cmd="${${_asp_cmds[(r)$words[1]:*]%%:*}}" + if (( $#cmd )); then + if (( $+functions[_asp_$cmd] )); then + _asp_$cmd + else + _message "no more options" + fi else - _message "no more options" + _message "unknown asp command: $words[1]" fi - else - _message "unknown asp command: $words[1]" fi -fi } _arguments \ |