about summary refs log tree commit diff
path: root/Completion/Debian/Command/_dpkg
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2002-05-28 14:12:51 +0000
committerClint Adams <clint@users.sourceforge.net>2002-05-28 14:12:51 +0000
commitc3c973a7d153a03c1e3f4cc21db2b8ccf903511a (patch)
tree4dcef69033c573f2a825357bc975ef8461397768 /Completion/Debian/Command/_dpkg
parentbdc28b666dbd52f58c563febd2388d74584e1ccd (diff)
downloadzsh-c3c973a7d153a03c1e3f4cc21db2b8ccf903511a.tar.gz
zsh-c3c973a7d153a03c1e3f4cc21db2b8ccf903511a.tar.xz
zsh-c3c973a7d153a03c1e3f4cc21db2b8ccf903511a.zip
17244: don't complete udebs for --unpack or -i.
16803: backports from Oliver's 16803
Diffstat (limited to 'Completion/Debian/Command/_dpkg')
-rw-r--r--Completion/Debian/Command/_dpkg138
1 files changed, 62 insertions, 76 deletions
diff --git a/Completion/Debian/Command/_dpkg b/Completion/Debian/Command/_dpkg
index 3baddaf28..79851134b 100644
--- a/Completion/Debian/Command/_dpkg
+++ b/Completion/Debian/Command/_dpkg
@@ -5,82 +5,68 @@ local _dpkg_options_recursive _dpkg_actions_install _dpkg_actions_record_avail
 local curcontext="$curcontext" context state line expl ret
 typeset -A opt_args
 
-_dpkg_deb_actions=('(--build)-b[build archive]:directory:_files -/' \
-           '(-b)--build:directory:_files -/' \
-           '(--contents)-c[list contents]:Debian package:_files -g \*.u\#deb' \
-           '(-c)--contents:Debian package:_files -g \*.u\#deb' \
-           '(--info)-I[show info]:Debian package:_files -g \*.u\#deb' \
-           '(-I)--info:Debian package:_files -g \*.u\#deb' \
-           '(--field)-f[show fields]:Debian package:_files -g \*.u\#deb' \
-           '(-f)--field:Debian package:_files -g \*.u\#deb' \
-           '(--control)-e[extract control]:Debian package:_files -g \*.u\#deb' \
-           '(-e)--control:Debian package:_files -g \*.u\#deb' \
-           '(--extract)-x[extract files]:Debian package:_files -g \*.u\#deb' \
-           '(-x)--extract:Debian package:_files -g \*.u\#deb' \
-           '(--vextract)-X[extract and list files]:Debian package:_files -g \*.u\#deb' \
-           '(-X)--vextract[extract and list]:Debian package:_files -g \*.u\#deb' \
-           '--fsys-tarfile[output fs tarfile]:Debian package:_files -g \*.u\#deb')
+_dpkg_deb_actions=(
+  '(--build -b)'{--build,-b}'[build archive]:directory:_files -/'
+  '(--contents -c)'{--contents,-c}'[list contents]:Debian package:_files -g \*.u\#deb'
+  '(--info -I)'{--info,-I}'[show info]:Debian package:_files -g \*.u\#deb'
+  '(--field -f)'{--field,-f}'[show fields]:Debian package:_files -g \*.u\#deb'
+  '(--control -e)'{--control,-e}'[extract control]:Debian package:_files -g \*.u\#deb'
+  '(--extract -x)'{--extract,-x}'[extract files]:Debian package:_files -g \*.u\#deb'
+  '(--vextract -X)'{--vextract,-X}'[extract and list files]:Debian package:_files -g \*.u\#deb'
+  '--fsys-tarfile[output fs tarfile]:Debian package:_files -g \*.u\#deb'
+)
 
-_dpkg_common_actions=('--help[show help]' \
-           '--version[show version]' \
-           '(--license)--licence[show licencing]' \
-           '(--licence)--license[show licensing]')
+_dpkg_common_actions=(
+  '--help[show help]'
+  '--version[show version]'
+  '(--license --licence)'{--license,--licence}'[show licencing]'
+)
 
-_dpkg_actions=('(--install)-i[install packages]:*:Debian packages:->install' \
-           '(-i)--install:*:Debian packages:->install' \
-           '--unpack[unpack package]:Debian package:_files -g \*.u\#deb' \
-           '--configure:*:package:->configure' \
-           '(--remove)-r[remove package]:*:package:->remove' \
-           '(-r)--remove:*:package:->remove' \
-           '(--purge)-P[purge package]:*:package:->purge' \
-           '(-P)--purge:*:package:->purge' \
-           '(--print-avail)-p[display available details]:packages:_deb_packages avail' \
-           '(-p)--print-avail:packages:_deb_packages avail' \
-           '--update-avail[update available]:package file:_files' \
-           '--merge-avail[merge available]:package file:_files' \
-           '(--record-avail)-A[record available]:*:package files:->record_avail' \
-           '(-A)--record-avail:*:package files:->record_avail' \
-           '--forget-old-unavail[forget uninstalled unavailable]' \
-           '--clear-avail[clear available]' \
-           '(--list)-l[list packages]:*:packages:->list' \
-           '(-l)--list:*:packages:->list' \
-           '(--status)-s[display package status]:*:packages:->status' \
-           '(-s)--status:*:packages:->status' \
-           '(--audit)-C[check for broken pkgs]' \
-           '(-C)--audit' \
-           '--get-selections[get selections]:pattern:' \
-           '--set-selections[set selections]' \
-	   '--yet-to-unpack[list uninstalled]' \
-           '(--listfiles)-L[list owned files]:*:packages:->listfiles' \
-           '(-L)--listfiles:*:packages:->listfiles' \
-           '(--search)-S[search for file owner]:*:pattern:->search' \
-           '(-S)--search:*:pattern:->search' \
-           '--print-architecture[print target architecture]' \
-           '--print-gnu-build-architecture[print GNU version of target architecture]' \
-           '--print-installation-architecture[print host architecture]' \
-           '--compare-versions[compare version numbers]:*::expression:= ->compare_versions')
+_dpkg_actions=(
+  '(--install -i)'{--install,-i}'[install packages]:*:Debian packages:->install'
+  '--unpack[unpack package]:Debian package:_files -g \*.deb'
+  '--configure[reconfigure specified packages]:*:package:->configure'
+  '(--remove -r)'{--remove,-r}'[remove package]:*:package:->remove'
+  '(--purge -P)'{--purge,-P}'[purge package]:*:package:->purge'
+  '(--print-avail -p)'{--print-avail,-p}'[display available details]:packages:_deb_packages avail'
+  '--update-avail[update available]:package file:_files'
+  '--merge-avail[merge available]:package file:_files'
+  '(--record-avail -A)'{--record-avail,-A}'[record available]:*:package files:->record_avail'
+  '--forget-old-unavail[forget uninstalled unavailable]'
+  '--clear-avail[clear available]'
+  '(--list -l)'{--list,-l}'[list packages]:*:packages:->list'
+  '(--status -s)'{--status,-s}'[display package status]:*:packages:->status'
+  '(--audit -C)'{--audit,-C}'[check for broken pkgs]'
+  '--get-selections[get selections]:pattern:'
+  '--set-selections[set selections]'
+  '--yet-to-unpack[list uninstalled]'
+  '(--listfiles, -L)'{--listfiles,-L}'[list owned files]:*:packages:->listfiles'
+  '(--search -S)'{--search,-S}'[search for file owner]:*:pattern:->search'
+  '--print-architecture[print target architecture]'
+  '--print-gnu-build-architecture'
+  '--print-installation-architecture'
+  '--compare-versions[compare version numbers]:*::expression:= ->compare_versions'
+)
 
-_dpkg_options=('--abort-after[abort after errors]:number of errors:' \
-           '--admindir=[data directory]:directory:_files -/' \
-           '--root=[alternative root]:root:_files -/' \
-           '--instdir=[change inst root but not data dir]:_files -/' \
-           '(--selected-only)-O[skip unselected packages]' \
-           '(-O)--selected-only' \
-           '(--skip-same-version)-E[skip packages with same version as installed]' \
-           '(-E)--skip-same-version' \
-           '(--refuse-downgrade)-G[skip packages with earlier version than installed]' \
-           '(-G)--refuse-downgrade' \
-           '(--auto-deconfigure)-B[install can break other packages]' \
-           '(-B)--auto-deconfigure' \
-           '--largemem[optimize for >4Mb RAM]' \
-           '--smallmem[optimize for <4Mb RAM]' \
-           '--no-act[show potential actions but do not follow through]' \
-           '-D+[debug options]:debug options:(h 1 2 3)' \
-           '--debug=[debug options]:debug options:(help 1 2 3)' \
-           '--ignore-depends=[ignore depends involving package]:package:_deb_packages avail' \
-           --{force,refuse,no-force}'--[forcing options]:what:(auto-select downgrade configure-any hold bad-path not-root overwrite overwrite-diverted depends-version depends confnew confold confdef confmiss conflicts architecture overwrite-dir remove-reinstreq remove-essential)')
+_dpkg_options=(
+  '--abort-after[abort after errors]:number of errors:'
+  '--admindir=[data directory]:directory:_files -/'
+  '--root=[alternative root]:root:_files -/'
+  '--instdir=[change inst root but not data dir]:_files -/'
+  '(--selected-only -O)'{--selected-only,-O}'[skip unselected packages]'
+  '(--skip-same-version -E)'{--skip-same-version,-E}'[skip packages with same version as installed]'
+  '(--refuse-downgrade -G)'{--refuse-downgrade,-G}'[skip packages with earlier version than installed]'
+  '(--auto-deconfigure -B)'{--auto-deconfigure,-B}'[install can break other packages]'
+  '--largemem[optimize for >4Mb RAM]'
+  '--smallmem[optimize for <4Mb RAM]'
+  '--no-act[show potential actions but do not follow through]'
+  '-D+[debug options]:debug options:(h 1 2 3)'
+  '--debug=[debug options]:debug options:(help 1 2 3)'
+  '--ignore-depends=[ignore depends involving package]:package:_deb_packages avail'
+  --{force,refuse,no-force}'--[forcing options]:what:(auto-select downgrade configure-any hold bad-path not-root overwrite overwrite-diverted depends-version depends confnew confold confdef confmiss conflicts architecture overwrite-dir remove-reinstreq remove-essential)'
+)
 
-_dpkg_options_recursive=('(--recursive)-R[recursive]' '(-R)--recursive')
+_dpkg_options_recursive=( '(--recursive -R)'{--recursive,-R}'[recursive]' )
 
 # not needed anymore?
 #  _dpkg_actions_install=('(--install)-i[install]' '(-i)--install')
@@ -115,7 +101,7 @@ case "$state" in
              "$_dpkg_options_recursive[@]" \
 	     '*:directory:_path_files -/' \
 	   - nonrecur \
-	     '*:Debian package:_path_files -g \*.u\#deb'
+	     '*:Debian package:_path_files -g \*.deb'
   ;;
   remove|purge|status|listfiles)
         _call_function ret _dpkg_$state && return ret
@@ -138,8 +124,8 @@ case "$state" in
         _call_function ret _dpkg_$state && return ret
         _arguments -C -A "-*" -s '--configure' \
 	   "$_dpkg_options[@]" \
-	'(--pending)-a[pending packages]' \
-	'(-a)--pending' \
-	'*:package:_deb_packages installed'
+	  '(* --pending)-a[pending packages]' \
+	  '(* -a)--pending' \
+	  '*:package:_deb_packages installed'
   ;;
 esac