diff options
author | Oliver Kiddle <opk@users.sourceforge.net> | 2003-08-22 16:30:28 +0000 |
---|---|---|
committer | Oliver Kiddle <opk@users.sourceforge.net> | 2003-08-22 16:30:28 +0000 |
commit | 2270746356368eb20676bbfb26c82c2a06e694ec (patch) | |
tree | 90c91d1100d1145c9d7e6b16cd786b94f1f92f3f /Completion/Debian | |
parent | 2fe227ff13556508ed844e8996c8c3bc8401a4a3 (diff) | |
download | zsh-2270746356368eb20676bbfb26c82c2a06e694ec.tar.gz zsh-2270746356368eb20676bbfb26c82c2a06e694ec.tar.xz zsh-2270746356368eb20676bbfb26c82c2a06e694ec.zip |
tidy up of many completions (updates, fixes, improvements and plain aesthetics)
Diffstat (limited to 'Completion/Debian')
-rw-r--r-- | Completion/Debian/Command/_bug | 230 | ||||
-rw-r--r-- | Completion/Debian/Command/_debchange | 19 | ||||
-rw-r--r-- | Completion/Debian/Command/_debfoster | 149 | ||||
-rw-r--r-- | Completion/Debian/Command/_dpkg | 93 | ||||
-rw-r--r-- | Completion/Debian/Command/_dpkg_source | 28 | ||||
-rw-r--r-- | Completion/Debian/Command/_dput | 37 | ||||
-rw-r--r-- | Completion/Debian/Command/_dupload | 35 | ||||
-rw-r--r-- | Completion/Debian/Command/_update-alternatives | 59 |
8 files changed, 331 insertions, 319 deletions
diff --git a/Completion/Debian/Command/_bug b/Completion/Debian/Command/_bug index 8b87867c7..9bd2cb569 100644 --- a/Completion/Debian/Command/_bug +++ b/Completion/Debian/Command/_bug @@ -2,140 +2,104 @@ local _bug_commonargs _rb_commonargs -_bug_commonargs=('-d[debug: send mail to postmaster@localhost]' \ - '-m[maintainer-only]' \ - '-p[print to stdout instead of mail]' \ - '-h[help]' \ - '*:package:_deb_packages installed') +_bug_commonargs=( + '-d[debug: send mail to postmaster@localhost]' + '-m[maintainer-only]' + '-p[print to stdout instead of mail]' + '-h[help]' + '*:package:_deb_packages installed' +) - -_rb_commonargs=('(--bts)-B[use alternate BTS]:system:(debian gnome kde tdyc kde-debian)' \ - '(-B)--bts=:system:(debian gnome kde tdyc kde-debian)' \ - '(--ldap)-l[enable LDAP support]' \ - '(-l)--ldap' \ - '--no-ldap[disable LDAP support]' \ - '(--http_proxy)--proxy=:proxyhost:_hosts' \ - '(--proxy)--http_proxy=:proxyhost:_hosts') +_rb_commonargs=( + '(-B --bts)'{-B,--bts=}'[use alternate BTS]:system:(debian gnome kde tdyc kde-debian)' + '(-l --ldap)'{-l,--ldap}'[enable LDAP support]' + '(-l --ldap)--no-ldap[disable LDAP support]' + '(--http_proxy)--proxy=:proxyhost:_hosts' + '(--proxy)--http_proxy=:proxyhost:_hosts' +) case "$service" in -bug) -_arguments '-c[exclude configs from report]' \ - '-f[argument is a file, not a package]' \ - '-H[special header]:custom header:' \ - '-q[quiet - no e-mail forwarding]' \ - '-s[set subject]:subject:' \ - '-S[set severity]:severity:(wishlist normal important serious grave critical)' \ - '-v[version]' \ - '-x[do not cc submitter]' \ - '-z[send configs verbatim]' \ - "$_bug_commonargs[@]" -;; - -reportbug) -_arguments '(--no-config-files)-c[exclude configs from report]' \ - '(-c)--no-config-files' \ - '(--filename)-f[argument is a file, not a package]:filename:_files' \ - '(-f)--filename=:filename:_files' \ - '(--header)-H[special header]:custom header:' \ - '(-H)--header=:custom header:' \ - '(--subject)-s[set subject]:subject:' \ - '(-s)--subject=:subject:' \ - '(--severity)-S[set severity]:severity:(wishlist normal important serious grave critical)' \ - '(-S)--severity=:severity:(wishlist normal important serious grave critical)' \ - '(--no-cc)-x[do not cc submitter]' \ - '(-x)--no-cc' \ - '(--no-compress)-z[send configs verbatim]' \ - '(-z)--no-compress[send configs verbatim]' \ - '(--af)-a[use af instead of editor]' \ - '(-a)--af[use af instead of editor]' \ - '(--no-bts-query)-b[do not check bts]' \ - '(-b)--no-bts-query' \ - '(--gpg --gnupg)-g[sign report with GnuPG]' \ - '(-g --gpg)--gnupg[sign report with GnuPG]' \ - '(-g --gnupg)--gpg[sign report with GnuPG]' \ - '(--include)-i[include text]:include file:_files' \ - '(-i)--include=:include file:_files' \ - '(--attach)-A[attach file]:attachment:_files' \ - '(-A)--attach=:attachment:_files' \ - '(--mutt)-M[use mutt instead of editor]' \ - '(-M)--mutt' \ - '(--gnus)-G[use GNUS instead of editor]' \ - '(-G)--gnus' \ - '(--editor)-e[use specified editor instead of editor]:editor:' \ - '(-e)--editor=:editor:' \ - '--mua=[use specified mua instead of editor]' \ - '--mta=[use specified mta]' \ - '(--nmh --mh)-n[use comp instead of editor]' \ - '(-n --mh)--nmh' \ - '(--nmh -n)--mh' \ - '(--output)-o[output to file instead of mail]:output file:_files' \ - '(-o)--output=:output file:_files' \ - '(--pgp)-P[sign report with PGP]' \ - '(-P)--pgp' \ - '(--class)-C:GNATS report class:' \ - '(-C)--class=:GNATS report class:' \ - '--realname=:real name:' \ - '(--replyto)--reply-to=' \ - '(--reply-to)--replyto=' \ - '--email=:originating address:' \ - '--smtphost=:SMTP server:_hosts' \ - '(--print)-p[print to stdout instead of mail]' \ - '(-p)--print' \ - '(--quiet)-q[reduce verbosity of output]' \ - '(-q)--quiet' \ - '(--no-query-source)--query-source' \ - '(--query-source)--no-query-source' \ - '(--no-debconf)--debconf' \ - '(--debconf)--no-debconf' \ - '(--query-only)-Q[do not submit]' \ - '(-Q)--query-only' \ - '(--justification)-j:justification:' \ - '(-j)--justification=:justification:' \ - '(--package-version)-V:package version:' \ - '(-V)--package-version=:package version:' \ - '(--interface)-u:user interface:' \ - '(-u)--interface=:user interface:' \ - '(--type)-t:type of report:' \ - '(-t)--type=:type of report:' \ - '--template[output a template report only]' \ - '--configure[reconfigure reportbug for this user]' \ - '(--no-check-available)--check-available' \ - '(--check-available)--no-check-available' \ - '--mode=' \ - '(--verify --no-verify)-v[verify integrity with debsums]' \ - '(--no-verify -v)--verify' \ - '(--verify -v)--no-verify' \ - '(--kudos)-k[send appreciative email to maintainer]' \ - '(-k)--kudos' \ - '--mirror=:BTS mirror:_hosts' \ - '--list-cc=:carbon copy:' \ - '--report-quiet' \ - '(--offline)-O[disable external queries]' \ - '(-O)--offline' \ - '(--query-bts --no-query-bts)-b[do not query BTS]' \ - '(-b --query-bts)--no-query-bts' \ - '(-b --no-query-bts)--query-bts' \ - '(--tags)-T[add specified tags]:tags:' \ - '(-T)--tags=:tags:' \ - '(-p)--print[print to stdout instead of mail]' \ - '(-m)--maintonly' \ - '(-d)--debug' \ - '--version' \ - '--license' \ - "$_bug_commonargs[@]" \ - "$_rb_commonargs[@]" -;; - -querybts) -_arguments '(--web)-w[launch external web browser]' \ - '(-w)--web' \ - '(--archive)-A[Browse archived bugs]' \ - '(-A)--archive' \ - '(--source)-s[Query for source packages rather than binary]' \ - '(-s)--source' \ - '(--version)-v[show version]' \ - '(-v)--version' \ - "$_rb_commonargs[@]" \ - '*:package:_deb_packages avail' - + bug) + _arguments \ + '-c[exclude configs from report]' \ + '-f[argument is a file, not a package]' \ + '-H[special header]:custom header:' \ + '-q[quiet - no e-mail forwarding]' \ + '-s[set subject]:subject:' \ + '-S[set severity]:severity:(wishlist normal important serious grave critical)' \ + '-v[version]' \ + '-x[do not cc submitter]' \ + '-z[send configs verbatim]' \ + "$_bug_commonargs[@]" + ;; + reportbug) + _arguments \ + '(-c --no-config-files)'{-c,--no-config-files}'[exclude configs from report]' \ + '(-f --filename)'{-f,--filename=}'[argument is a file, not a package]:filename:_files' \ + '(-H --header)'{-H,--header=}'[special header]:custom header' \ + '(-s --subject)'{-s,--subject=}'[set subject]:subject' \ + '(-S --severity)'{-S,--severity=}'[set severity]:severity:(wishlist normal important serious grave critical)' \ + '(-x --no-cc)'{-x,--no-cc}'[do not cc submitter]' \ + '(-z --no-compress)'{-z,--no-compress}'[send configs verbatim]' \ + '(-a --af)'{-a,--af}'[use af instead of editor]' \ + '(-b --no-bts-query)'{-b,--no-bts-query}'[do not check bts]' \ + '(-g --gpg --gnupg)'{-g,--gpg,--gnupg}'[sign report with GnuPG]' \ + '(-i --include)'{-i,--include}'[include text]:include file:_files' \ + '(-A --attach)'{-A,--attach=}'[attach file]:attachment:_files' \ + '(-M --mutt)'{-M,--mutt}'[use mutt instead of editor]' \ + '(-G --gnus)'{-G,--gnus}'[use GNUS instead of editor]' \ + '(-e --editor)'{-e,--editor=}'[use specified editor instead of editor]:editor' \ + '--mua=[use specified mua instead of editor]' \ + '--mta=[use specified mta]' \ + '(-n --nmh --mh)'{-n,--nmh,--mh}'[use comp instead of editor]' \ + '(-o --output)'{-o,--output=}'[output to file instead of mail]:output file:_files' \ + '(-P --pgp)'{-P,--pgp}'[sign report with PGP]' \ + '(-C --class)'{-C,--class=}':GNATS report class' \ + '--realname=:real name' \ + '(--replyto)--reply-to=' \ + '(--reply-to)--replyto=' \ + '--email=:originating address:_email_addresses' \ + '--smtphost=:SMTP server:_hosts' \ + '(-p --print)'{-p,--print}'[print to stdout instead of mail]' \ + '(-q --quiet)'{-q,--quiet}'[reduce verbosity of output]' \ + '(--no-query-source)--query-source' \ + '(--query-source)--no-query-source' \ + '(--no-debconf)--debconf' \ + '(--debconf)--no-debconf' \ + '(-Q --query-only)'{-Q,--query-only}'[do not submit]' \ + '(-j --justification)'{-j,--justification=}':justification' \ + '(-V --package-version)'{-V,--package-version=}':package version' \ + '(-u --interface)'{-u,--interface=}':user interface' \ + '(-t --type)'{-t,--type=}':type of report' \ + '--template[output a template report only]' \ + '--configure[reconfigure reportbug for this user]' \ + '(--no-check-available)--check-available' \ + '(--check-available)--no-check-available' \ + '--mode=' \ + '(-v --verify --no-verify)'{-v,--verify}'[verify integrity with debsums]' \ + '(--verify -v)--no-verify' \ + '(-k --kudos)'{-k,--kudos}'[send appreciative email to maintainer]' \ + '--mirror=:BTS mirror:_hosts' \ + '--list-cc=:carbon copy:' \ + '--report-quiet' \ + '(-O --offline)'{-O,--offline}'[disable external queries]' \ + '(-n --no-query-bts --query-bts)'{-b,--no-query-bts}'[do not query BTS]' \ + '(-b --no-query-bts)--query-bts' \ + '(-T --tags)'{-T,--tags=}'[add specified tags]:tags' \ + '(-m)--maintonly' \ + '(-d)--debug' \ + '--version' \ + '--license' \ + "$_bug_commonargs[@]" \ + "$_rb_commonargs[@]" + ;; + querybts) + _arguments \ + '(-w --web)'{-w,--web}'[launch external web browser]' \ + '(-A --archive)'{-A,--archive}'[browse archived bugs]' \ + '(-s --source)'{-s,--source}'[query for source packages rather than binary]' \ + '(-v --version)'{-v,--version}'[show version]' \ + "$_rb_commonargs[@]" \ + '*:package:_deb_packages avail' + ;; esac diff --git a/Completion/Debian/Command/_debchange b/Completion/Debian/Command/_debchange index 689329370..960194ce7 100644 --- a/Completion/Debian/Command/_debchange +++ b/Completion/Debian/Command/_debchange @@ -1,15 +1,10 @@ #compdef debchange dch=debchange _arguments \ - '(--help)-h[help]' \ - '(-h)--help' \ - '--version' \ - '(--append -a --newversion -v --increment)-i[increment]' \ - '(--append -a --newversion -v -i)--increment' \ - '(--increment -i --newversion -v --append)-a[append]' \ - '(--increment -i --newversion -v -a)--append' \ - '(--append -a --increment -i --newversion)-v[newversion]:version:' \ - '(--append -a --increment -i -v)--newversion:version:' \ - '(--preserve)-p[preserve]' \ - '(-p)--preserve' \ - ':text:' + '(-h --help)'{-h,--help}'[display help information]' \ + '--version' \ + '(--append -a --newversion -v --increment -i)'{-i,--increment}'[increment release or version number]' \ + '(--append -a --newversion -v --increment -i)'{-a,--append}'[add new changelog entry]' \ + '(--append -a --newversion -v --increment -i)'{-v,--newversion}'[specify new version number]:version:' \ + '(--preserve -p)'{-p,--preserve}'[preserve source tree directory name]' \ + ':text:' diff --git a/Completion/Debian/Command/_debfoster b/Completion/Debian/Command/_debfoster index 8f7f1b082..154d0e913 100644 --- a/Completion/Debian/Command/_debfoster +++ b/Completion/Debian/Command/_debfoster @@ -1,93 +1,68 @@ #compdef debfoster -_arguments \ -'(--verbose)-v[be a loudmouth]' \ -'(-v)--verbose[be a loudmouth]' \ -'(--version)-V[show version and copyright information]' \ -'(-V)--version[show version and copyright information]' \ -'(--help)-h[show this message]' \ -'(-h)--help[show this message]' \ -'(--quiet)-q[silently build keeper file]' \ -'(-q)--quiet[silently build keeper file]' \ -'(--force)-f[force system to conform to keeper file]' \ -'(-f)--force[force system to conform to keeper file]' \ -'(--mark-only)-m[do not install or delete packages]' \ -'(-m)--mark-only[do not install or delete packages]' \ -'(--upgrade)-u[try to upgrade dependencies]' \ -'(-u)--upgrade[try to upgrade dependencies]' \ -'(--config FILE)-c[specify configuration file]' \ -'(-c)--config FILE[specify configuration file]' \ -'(--keeperfile FILE)-k[specify keeper file]' \ -'(-k)--keeperfile FILE[specify keeper file]' \ -'(--no-keeperfile)-n[do not read keeper file]' \ -'(-n)--no-keeperfile[do not read keeper file]' \ -'(--ignore-default-rules)-i[ignore default rules]' \ -'(-i)--ignore-default-rules[ignore default rules]' \ -'(--show-keepers)-a[show packages on keeper list]' \ -'(-a)--show-keepers[show packages on keeper list]' \ -'(--show-orphans)-s[show orphaned packages]' \ -'(-s)--show-orphans[show orphaned packages]' \ -'(--show-depends)-d[show all depends of PACKAGE]:package:_deb_packages avail' \ -'(-d)--show-depends[show all depends of PACKAGE]:package:_deb_packages avail' \ -'(--show-dependents)-e[show dependents of PACKAGE]:package:_deb_packages avail' \ -'(-e)--show-dependents[show dependents of PACKAGE]:package:_deb_packages avail' \ -'(--show-providers)-p[show packages providing PACKAGE]:package:_deb_packages avail' \ -'(-p)--show-providers[show packages providing PACKAGE]:package:_deb_packages avail' \ -'(--show-related)-r[show packages brought in by PACKAGE]:package:_deb_packages avail' \ -'(-r)--show-related[show packages brought in by PACKAGE]:package:_deb_packages avail' \ -'(--use-tasks)-t[make tasks visible as packages]' \ -'(-t)--use-tasks[make tasks visible as packages]' \ -'*-'{-option,o}'[override any configuration option]:option string:->option' \ -'*:package markings: _alternative "installed:installed packages:_deb_packages -S- installed" "uninstalled:uninstalled packages:_deb_packages uninstalled"' \ -&& return 0 +local curcontext="$curcontext" state line expl ret=1 -ret=1 +_arguments -C \ + '(-v --verbose)'{-v,--verbose}'[be a loudmouth]' \ + '(-V --version)'{-V,--versuib}'[show version and copyright information]' \ + '(-h --help)'{-h,--help}'[show help information]' \ + '(-q --quiet)'{-q,--quiet}'[silently build keeper file]' \ + '(-f --force)'{-f,--force}'[force system to conform to keeper file]' \ + '(-m --mark-only)'{-m,--mark-only}'[do not install or delete packages]' \ + '(-u --upgrade)'{-u,--upgrade}'[try to upgrade dependencies]' \ + '(-c --config)'{-c,--config}'[specify configuration file]:file:_files' \ + '(-k --keeperfile)'{-k,--keeperfile}'[specify keeper file]:file:_files' \ + '(-n --no-keeperfile)'{-n,--no-keeperfile}'[do not read keeper file]' \ + '(-i --ignore-default-rules)'{-i,--ignore-default-rules}'[ignore default rules]' \ + '(-a --show-keepers)'{-a,--show-keepers}'[show packages on keeper list]' \ + '(-s --show-orphans)'{-s,--show-orphans}'[show orphaned packages]' \ + '(-d --show-depends)'{-d,--show-depends}'[show all depends of specified package]:package:_deb_packages avail' \ + '(-e --show-dependents)'{-e,--show-dependents}'[show dependents of specified package]:package:_deb_packages avail' \ + '(-p --show-providers)'{-p,--show-providers}'[show packages providing specified package]:package:_deb_packages avail' \ + '(-r --show-related)'{-r,--show-related}'[show packages brought in by specified package]:package:_deb_packages avail' \ + '(-t --use-tasks)'{-t,--use-tasks}'[make tasks visible as packages]' \ + '*-'{-option,o}'[override any configuration option]:option string:->option' \ + '*:package markings: _alternative "installed:installed packages:_deb_packages -S- installed" "uninstalled:uninstalled packages:_deb_packages uninstalled"' \ + && ret=0 -while [[ -n "$state" ]]; do - lstate="$state" - state='' - - case "$lstate" in - option) - if compset -P '*='; then - case "$IPREFIX" in - *(#i)(install|remove|info)cmd*) - _wanted values expl 'command string' _command && ret=0 - ;; - *(#i)(keeperfile|dpkg(status|available))*) - _wanted values expl 'metadata file' _files && ret=0 - ;; - *(#i)maxpriority*) - _wanted values expl 'package priority' \ - compadd required important standard optional extra ANY && ret=0 - ;; - *(#i)(use(hold|essential|predepends|recommends|suggests|tasks)|negativekeepers|verbose|force|quiet)*) - _wanted values expl 'truth value' \ - compadd yes no && ret=0 - ;; - *(#i)(no|)keepsections*) - _wanted values expl 'section' \ - compadd x11 web utils text tex sound shells science \ - otherosfs oldlibs news net misc math mail libs \ - interpreters hamradio graphics games electronics \ - editors doc devel comm base admin && ret=0 - ;; - *(#i)guessdepends*) - _wanted values expl 'name extension' \ - compadd doc dev && ret=0 - ;; - esac - else - _wanted values expl 'configure file option' \ - compadd -M 'm:{a-z}={A-Z}' -S '=' - \ - InstallCmd RemoveCmd InfoCmd KeeperFile DpkgStatus \ - DpkgAvailable MaxPriority UseHold UseEssential \ - UsePreDepends UseRecommends UseSuggests UseTasks \ - KeepSections NokeepSections GuessDepends NegativeKeepers \ - Verbose Force Quiet && ret=0 - fi - ;; - esac -done +if [[ -n "$state" ]]; then + if compset -P '*='; then + case "$IPREFIX" in + *(#i)(install|remove|info)cmd*) + _wanted values expl 'command string' _command && ret=0 + ;; + *(#i)(keeperfile|dpkg(status|available))*) + _wanted values expl 'metadata file' _files && ret=0 + ;; + *(#i)maxpriority*) + _wanted values expl 'package priority' \ + compadd required important standard optional extra ANY && ret=0 + ;; + *(#i)(use(hold|essential|predepends|recommends|suggests|tasks)|negativekeepers|verbose|force|quiet)*) + _wanted values expl 'truth value' \ + compadd yes no && ret=0 + ;; + *(#i)(no|)keepsections*) + _wanted values expl 'section' compadd \ + x11 web utils text tex sound shells science \ + otherosfs oldlibs news net misc math mail libs \ + interpreters hamradio graphics games electronics \ + editors doc devel comm base admin && ret=0 + ;; + *(#i)guessdepends*) + _wanted values expl 'name extension' \ + compadd doc dev && ret=0 + ;; + esac + else + _wanted values expl 'configure file option' \ + compadd -M 'm:{a-z}={A-Z}' -S '=' - \ + InstallCmd RemoveCmd InfoCmd KeeperFile DpkgStatus \ + DpkgAvailable MaxPriority UseHold UseEssential \ + UsePreDepends UseRecommends UseSuggests UseTasks \ + KeepSections NokeepSections GuessDepends NegativeKeepers \ + Verbose Force Quiet && ret=0 + fi +fi return ret diff --git a/Completion/Debian/Command/_dpkg b/Completion/Debian/Command/_dpkg index d8b5d9327..406428d97 100644 --- a/Completion/Debian/Command/_dpkg +++ b/Completion/Debian/Command/_dpkg @@ -1,4 +1,4 @@ -#compdef dpkg dpkg-deb +#compdef dpkg dpkg-deb dpkg-reconfigure local _dpkg_deb_actions _dpkg_common_actions _dpkg_actions _dpkg_options local _dpkg_options_recursive _dpkg_actions_install _dpkg_actions_record_avail @@ -73,63 +73,72 @@ _dpkg_options_recursive=( '(--recursive -R)'{--recursive,-R}'[recursive]' ) # _dpkg_actions_record_avail=('(--record-avail)-A[record available]' '(-A)--record-avail') case "$service" in -dpkg) -_arguments -C -s "$_dpkg_actions[@]" \ - "$_dpkg_deb_actions[@]" \ - "$_dpkg_common_actions[@]" \ - "$_dpkg_options[@]" \ - "$_dpkg_options_recursive[@]" && return 0 -;; - -dpkg-deb) -_arguments "$_dpkg_deb_actions[@]" \ - "$_dpkg_common_actions[@]" && return 0 - -;; + dpkg) + _arguments -C -s \ + "$_dpkg_actions[@]" \ + "$_dpkg_deb_actions[@]" \ + "$_dpkg_common_actions[@]" \ + "$_dpkg_options[@]" \ + "$_dpkg_options_recursive[@]" && return 0 + ;; + dpkg-deb) + _arguments "$_dpkg_deb_actions[@]" \ + "$_dpkg_common_actions[@]" && return 0 + ;; + dpkg-reconfigure) + _arguments -s \ + '(-f --frontend)'{-f,--frontend}'[select frontend to use]:frontend' \ + '(-p --priority)'{-p,--priority}'[specify min priority of questions]:priority' \ + '--default-priority[use default question priority]' \ + '(*)--all[reconfigure all installed packages using debconf]' \ + '(-u --unseen-only)'{-u,--unseen-only}'[only ask questions not yet seen are asked]' \ + '--force[reconfigure even packages in broken state]' \ + '(-)'{-h,--help}'[display help information]' \ + '*:package:_deb_packages installed' && return 0 + ;; esac case "$state" in install|record_avail) - _call_function ret _dpkg_$state && return ret + _call_function ret _dpkg_$state && return ret # not needed anymore? # "${(@e):-\$_dpkg_actions_${state}}" \ - _arguments -C -A '-*' -s \ - "$_dpkg_options[@]" \ - \!${^_dpkg_actions%%:*} \ - - recur \ - "$_dpkg_options_recursive[@]" \ - '*:directory:_path_files -/' \ - - nonrecur \ - '*:Debian package:_path_files -g \*.deb' + _arguments -C -A '-*' -s \ + "$_dpkg_options[@]" \ + \!${^_dpkg_actions%%:*} \ + - recur \ + "$_dpkg_options_recursive[@]" \ + '*:directory:_path_files -/' \ + - nonrecur \ + '*:Debian package:_path_files -g \*.deb' ;; remove|purge|status|listfiles) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s "$_dpkg_options[@]" \ - '*:package:_deb_packages installed' + _call_function ret _dpkg_$state && return ret + _arguments -C -A "-*" -s "$_dpkg_options[@]" \ + '*:package:_deb_packages installed' ;; list) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s "$_dpkg_options[@]" \ - '*:packages:_deb_packages avail' + _call_function ret _dpkg_$state && return ret + _arguments -C -A "-*" -s "$_dpkg_options[@]" \ + '*:packages:_deb_packages avail' ;; compare_versions) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s \ - '1:version A:' \ - '2:operator:(lt le eq ne ge gt lt-nl le-nl ge-nl gt-nl)' \ - '3:version B:' + _call_function ret _dpkg_$state && return ret + _arguments -C -A "-*" -s \ + '1:version A:' \ + '2:operator:(lt le eq ne ge gt lt-nl le-nl ge-nl gt-nl)' \ + '3:version B:' ;; configure) - _call_function ret _dpkg_$state && return ret - _arguments -C -A "-*" -s '--configure' \ - "$_dpkg_options[@]" \ - '(* --pending)-a[pending packages]' \ - '(* -a)--pending' \ - '*:package:_deb_packages installed' + _call_function ret _dpkg_$state && return ret + _arguments -C -A "-*" -s '--configure' \ + "$_dpkg_options[@]" \ + '(* -a --pending)'{-a,--pending}'[pending packages]' \ + '*:package:_deb_packages installed' ;; search) - _call_function ret _dpkg_$state && return ret - _files + _call_function ret _dpkg_$state && return ret + _files ;; esac diff --git a/Completion/Debian/Command/_dpkg_source b/Completion/Debian/Command/_dpkg_source new file mode 100644 index 000000000..274a85794 --- /dev/null +++ b/Completion/Debian/Command/_dpkg_source @@ -0,0 +1,28 @@ +#compdef dpkg-source + +_arguments \ + '-x[specify source file]:Debian source file:_files -g \*.dsc' \ + '-b[specify source directory]:Debian source directory:_files -/' \ + '-c-[control file]:control file:_files' \ + '-l-[changelog file]:changelog file:_files' \ + '-F-[changelog format]:changelog format:' \ + '-V-[set substitutions variable]:expression:' \ + '-T-[alternate variable file]:varlistfile:' \ + '-D-[override dsc field]:expression:' \ + '-U-[remove a field]:field:' \ + '-i-[ignore files in diff]:filter:' \ + '-sa[autoselect orig source]' \ + '-sk[use packaged orig source - unpack and keep]' \ + '-sp[use packaged orig source - unpack and remove]' \ + '-su[use unpackaged orig source - unpack and keep]' \ + '-sr[use unpackaged orig source - unpack and remove]' \ + '-ss[trust packed and unpacked source are the same]' \ + '-sn[no diff, do main tarfile only]' \ + '-sA[autoselect orig source with overwrite]' \ + '-sK[use packaged orig source - unpack and keep with overwrite]' \ + '-sP[use packaged orig source - unpack and remove with overwrite]' \ + '-sU[use unpackaged orig source - unpack and keep with overwrite]' \ + '-sR[use unpackaged orig source - unpack and remove with overwrite]' \ + '-sp[leave original source packed in cwd]' \ + '-su[unpack original source tree too]' \ + '-h[help]' diff --git a/Completion/Debian/Command/_dput b/Completion/Debian/Command/_dput index 5fe9847d1..64b682c6f 100644 --- a/Completion/Debian/Command/_dput +++ b/Completion/Debian/Command/_dput @@ -1,27 +1,14 @@ #compdef dput -if (( ! $+_dput_sites )); then - _dput_sites=( ${${(M)${(f)"$(</etc/dput.cf)"}:#\[*}//[][]/} ) -fi - -_arguments '(-c)--config[config file]:config file:' \ - '(--config)-c[config file]:config file:' \ - '(--debug)-d[debug mode]' \ - '(-d)--debug[debug mode]' \ - '(--dinstall)-D[run dinstall after upload]' \ - '(-D)--dinstall[run dinstall after upload]' \ - '(--force)-f[force upload of already uploaded package]' \ - '(-f)--force[force upload of already uploaded package]' \ - '(--lintian)-l[run lintian before upload]' \ - '(-l)--lintian[run lintian before upload]' \ - '(-o)--check-only[check the package, do not upload]' \ - '(--check-only)-o[check the package, do not upload]' \ - '(--print)-p[print configuration]' \ - '(-p)--print[print configuration]' \ - '(--simulate)-s[simulate an upload only]' \ - '(-s)--simulate[simulate an upload only]' \ - '(--unchecked)-u[do not check GPG signature on the changes file]' \ - '(-u)--unchecked[do not check GPG signature on the changes file]' \ - '(-v)--version[version]' \ - '(--version)-v[version]' \ - '*:changes file:_files -g \*.changes' \ +_arguments \ + '(-c --config)'{-c,--config}'[specify config file]:config file:_files' \ + '(-d --debug)'{-d,--debug}'[debug mode]' \ + '(-D --dinstall)'{-D,--dinstall}'[run dinstall after upload]' \ + '(-f --force)'{-f,--force}'[force upload of already uploaded package]' \ + '(-l --lintian)'{-l,--lintian}'[run lintian before upload]' \ + '(-o --check-only)'{-o,--check-only}'[check the package, do not upload]' \ + '(-p --print)'{-p,--print}'[print configuration]' \ + '(-s --simulate)'{-s,--simulare}'[simulate an upload only]' \ + '(-u --unchecked)'{-u,--unchecked}'[do not check GPG signature on the changes file]' \ + '(-v --version)'{-v,--version}'[show version information]' \ + '*:changes file:_files -g \*.changes' diff --git a/Completion/Debian/Command/_dupload b/Completion/Debian/Command/_dupload index 81ac73f67..4ec179688 100644 --- a/Completion/Debian/Command/_dupload +++ b/Completion/Debian/Command/_dupload @@ -2,25 +2,20 @@ if (( ! $+_dupload_sites )); then _dupload_sites=( -$(grep -hs "^\$cfg" /etc/dupload.conf ~/.dupload.conf | sed 's/^\$cfg{\([^}]*\)}.*$/\1/') -) + $(grep -hs "^\$cfg" /etc/dupload.conf ~/.dupload.conf | sed 's/^\$cfg{\([^}]*\)}.*$/\1/') + ) fi -_arguments '--to:nickname[nickname of target site]:('"$_dupload_sites"')' \ - '(--debug)-d[ftp verbosity]:debuglevel:' \ - '(-d)--debug[ftp verbosity]:debuglevel:' \ - '(--force)-f[upload ignoring logs]' \ - '(-f)--force[upload ignoring logs]' \ - '(--keep)-k[keep going, skip broken]' \ - '(-k)--keep[keep going, skip broken]' \ - '--no[dry run]' \ - '--nomail[suppress announcement]' \ - '--mailonly[dry run and real announcement]' \ - '--noarchive[add anti-archival header]' \ - '(--print)-p[print config legibly]' \ - '(-p)--print[print config legibly]' \ - '(--quiet)-q[quiet]' \ - '(-q)--quiet[quiet]' \ - '(--Version)-V[version]' \ - '(-V)--Version[version]' \ - '*:changes file:_files -g \*.changes' \ +_arguments \ + '--to:nickname[nickname of target site]:('"$_dupload_sites"')' \ + '(-d --debug)'{-d,--debug}'[ftp verbosity]:debuglevel:' \ + '(-f --force)'{-f,--force}'[upload ignoring logs]' \ + '(-k --keep)'{-k,--keep}'[keep going, skip broken]' \ + '--no[dry run]' \ + '--nomail[suppress announcement]' \ + '--mailonly[dry run and real announcement]' \ + '--noarchive[add anti-archival header]' \ + '(-p --print)'{-p,--print}'[print config legibly]' \ + '(-q --quiet)'{-q,--quiet}'[quiet]' \ + '(-V --Version)'{-V,--Version}'[display version information]' \ + '*:changes file:_files -g \*.changes' diff --git a/Completion/Debian/Command/_update-alternatives b/Completion/Debian/Command/_update-alternatives new file mode 100644 index 000000000..dd1d4fce3 --- /dev/null +++ b/Completion/Debian/Command/_update-alternatives @@ -0,0 +1,59 @@ +#compdef update-alternatives + +local curcontext="$curcontext" context state line alterdir + +if [[ -d /var/lib/dpkg/alternatives ]]; then + alterdir=/var/lib/dpkg/alternatives +elif [[ -d /var/lib/rpm/alternatives/ ]]; then + alterdir=/var/lib/rpm/alternatives +fi + +_arguments -C \ + '--verbose' \ + '--quiet' \ + '--test' \ + '--help' \ + '--version' \ + '--altdir:altdir:_files -/' \ + '--admindir:admindir:_files -/' \ + '--install:*::alt:= ->install' \ + '--remove:*::alt:= ->remove' \ + '--auto:name:_files -W $alterdir' \ + '--display:name:_files -W $alterdir' \ + '--config:name:_files -W $alterdir' && return + +while true; do + case "$state" in + islave) + _call_function ret _update_alternatives_$state && return ret + state= + _arguments -C \ + '1:link:_files' \ + '2:name:_files -W $alterdir' \ + '3:path:_files' \ + '--slave:*::more:= ->islave' && return + [[ -z $state ]] && return 1 + ;; + + install) + _call_function ret _update_alternatives_$state && return ret + _arguments -C \ + '1:link:_files' \ + '2:name:_files -W $alterdir' \ + '3:path:_files' \ + '4:priority:' \ + '--slave:*::slave:= ->islave' && return + [[ -z $state ]] && return 1 + ;; + + remove) + _call_function ret _update_alternatives_$state && return ret + _arguments \ + '1:name:_files -W $alterdir' \ + '2:path:_files' + return + ;; + + *) return 1 ;; + esac +done |