summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2006-01-21 04:12:47 +0000
committerClint Adams <clint@users.sourceforge.net>2006-01-21 04:12:47 +0000
commite732e0b8a8c6fad3f7c3dda0b7a238a50518d984 (patch)
treef87073914736d3bcda8d91244282b92e22dcc699
parentf852bf2e0dd4b507370880d456ce40dbe00a0b2e (diff)
downloadzsh-e732e0b8a8c6fad3f7c3dda0b7a238a50518d984.tar.gz
zsh-e732e0b8a8c6fad3f7c3dda0b7a238a50518d984.zip
22168: add options and handling for new subcommands added in 22166 except for cache and cleancache.
-rw-r--r--ChangeLog4
-rw-r--r--Completion/Debian/Command/_bts90
2 files changed, 90 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index d5b955e34..2d175ad00 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2006-01-21 Clint Adams <clint@zsh.org>
+ * 22168: Completion/Debian/Command/_bts: add options and
+ handling for new subcommands added in 22166 except for
+ cache and cleancache.
+
* 22167: Completion/Unix/Command/_cp: completion for
GNU cp.
diff --git a/Completion/Debian/Command/_bts b/Completion/Debian/Command/_bts
index cd78eb669..38c5582a8 100644
--- a/Completion/Debian/Command/_bts
+++ b/Completion/Debian/Command/_bts
@@ -1,19 +1,36 @@
#compdef bts
-local expl
+local expl first=1
-compset -N '[,.]' || compset -n 2
+_arguments -A "-*" \
+ '(-o --offline)'{-o,--offline}'[use cached bugs]' \
+ '(--online --no-offline)'{--online,--no-offline}'[do not use cached bugs]' \
+ '(--cache --no-cache)--cache[cache new versions of pages]' \
+ '(--cache --no-cache)--no-cache[do not cache new versions of pages]' \
+ '--cache-mode=:cache mode:(min mbox full)' \
+ '--cache-delay=:seconds:' \
+ '--mbox[open a mail reader to read the corresponding mbox]' \
+ '--mailreader=:reader:' \
+ '(-f --force-refresh)'{-f,--force-refresh}'[download bug report even if unchanged]' \
+ '-no-force-refresh[do not force refresh]' \
+ '(-q --quiet)*'{-q,--quiet}'[only display info about newly cached pages]' \
+ '(--no-conf --noconf)*'{--no-conf,--noconf}'[do not read any config files]' \
+ '*:subcommand and args:->subcmds' && return 0
+
+compset -N '-[^0-9]#' && first=0
+compset -N '[,.]' && first=0
+[[ $first -eq 0 ]] || compset -n 2
if [[ CURRENT -eq 1 ]]; then
_wanted cmd expl 'bts command' compadd show bugs close reopen retitle \
reassign merge unmerge tag severity forwarded notforwarded help \
- clone submitter found notfound block unblock user usertag \
+ clone submitter found notfound block unblock user usertag usertags \
package owner noowner reportspam cache cleancache
return
fi
case "$words[1]" in
- show|close|unmerge|notforwarded)
+ (show|close|unmerge|notforwarded|noowner|reportspam)
if [[ CURRENT -eq 2 ]]; then
_message -e bugnum 'bug number'
else
@@ -99,6 +116,71 @@ case "$words[1]" in
_wanted sep expl 'separator' compadd -S ' ' , .
fi
;;
+ (clone)
+ if [[ CURRENT -eq 2 ]]; then
+ _message -e bugnum 'bug number'
+ elif [[ CURRENT -eq 3 || -prefix [-] ]]; then
+ _wanted newid expl 'new ID' compadd -- -{1..9}
+ else
+ _wanted sep expl 'separator' compadd -S ' ' , .
+ fi
+ ;;
+ (submitter|owner)
+ if [[ CURRENT -eq 2 ]]; then
+ _message -e bugnum 'bug number'
+ else
+ _alternative \
+ 'bugnum:bug number:' \
+ 'email:email address:_email_addresses -c' \
+ 'bang:bang:compadd \!'
+ fi
+ ;;
+ (found|notfound)
+ if [[ CURRENT -eq 2 ]]; then
+ _message -e bugnum 'bug number'
+ elif [[ CURRENT -eq 3 ]]; then
+ _message -e version 'version'
+ else
+ _wanted sep expl 'separator' compadd -S ' ' , .
+ fi
+ ;;
+ (block|unblock)
+ if [[ CURRENT -eq 2 ]]; then
+ _message -e bugnum 'bug number'
+ elif [[ CURRENT -eq 3 ]]; then
+ _wanted prep expl 'preposition' compadd by with
+ else
+ _alternative \
+ 'bugnum:bug number:' \
+ 'separator:separator:compadd -S " " , .'
+ fi
+ ;;
+ (user)
+ if [[ CURRENT -eq 2 ]]; then
+ _wanted upstream expl 'user email for usertags' _email_addresses -c
+ else
+ _wanted sep expl 'separator' compadd -S ' ' , .
+ fi
+ ;;
+ (usertags#)
+ if [[ CURRENT -eq 2 ]]; then
+ _message -e bugnum 'bug number'
+ elif [[ CURRENT -eq 3 ]]; then
+ _wanted operator expl 'operator' compadd - '+' '-' '='
+ elif [[ CURRENT -eq 4 ]]; then
+ _message -e usertag 'user tag'
+ else
+ _message -e usertag 'user tag'
+ _wanted sep expl 'separator' compadd -S ' ' , .
+ fi
+ ;;
+ (package)
+ if [[ CURRENT -eq 2 ]]; then
+ _wanted package expl 'package' _deb_packages avail
+ else
+ _wanted sep expl 'separator' compadd -S ' ' , .
+ fi
+ ;;
help)
;&
*) _wanted sep expl 'separator' compadd -S ' ' , .