summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2001-04-02 12:22:24 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2001-04-02 12:22:24 +0000
commitb197bb068176081cea30ec830a6ddff241fc6c54 (patch)
treeaa371659511f251a304d4f552376d7f6206bb382
parentd665e941f87987b3a361ffab342c3a288e0b0ca3 (diff)
downloadzsh-b197bb068176081cea30ec830a6ddff241fc6c54.tar.gz
zsh-b197bb068176081cea30ec830a6ddff241fc6c54.zip
moved from Completion/Debian/_dpkg
-rw-r--r--Completion/Debian/Command/_dpkg145
1 files changed, 145 insertions, 0 deletions
diff --git a/Completion/Debian/Command/_dpkg b/Completion/Debian/Command/_dpkg
new file mode 100644
index 000000000..a9084ffa4
--- /dev/null
+++ b/Completion/Debian/Command/_dpkg
@@ -0,0 +1,145 @@
+#compdef dpkg dpkg-deb
+
+local _dpkg_deb_actions _dpkg_common_actions _dpkg_actions _dpkg_options
+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 \*.deb' \
+ '(-c)--contents:Debian package:_files -g \*.deb' \
+ '(--info)-I[show info]:Debian package:_files -g \*.deb' \
+ '(-I)--info:Debian package:_files -g \*.deb' \
+ '(--field)-f[show fields]:Debian package:_files -g \*.deb' \
+ '(-f)--field:Debian package:_files -g \*.deb' \
+ '(--control)-e[extract control]:Debian package:_files -g \*.deb' \
+ '(-e)--control:Debian package:_files -g \*.deb' \
+ '(--extract)-x[extract files]:Debian package:_files -g \*.deb' \
+ '(-x)--extract:Debian package:_files -g \*.deb' \
+ '(--vextract)-X[extract and list files]:Debian package:_files -g \*.deb' \
+ '(-X)--vextract[extract and list]:Debian package:_files -g \*.deb' \
+ '--fsys-tarfile[output fs tarfile]:Debian package:_files -g \*.deb')
+
+_dpkg_common_actions=('--help[show help]' \
+ '--version[show version]' \
+ '(--license)--licence[show licencing]' \
+ '(--licence)--license[show licensing]')
+
+_dpkg_actions=('(--install)-i[install packages]:*:Debian packages:->install' \
+ '(-i)--install:*:Debian packages:->install' \
+ '--unpack[unpack package]:Debian package:_files -g \*.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_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_recursive=('(--recursive)-R[recursive]' '(-R)--recursive')
+
+# not needed anymore?
+# _dpkg_actions_install=('(--install)-i[install]' '(-i)--install')
+# _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
+
+;;
+
+esac
+
+case "$state" in
+ install|record_avail)
+ _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'
+ ;;
+ remove|purge|status|listfiles)
+ _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'
+ ;;
+ compare_versions)
+ _call_function ret _dpkg_$state && return ret
+ _arguments -C -A "-*" -s "$_dpkg_options[@]" \
+ '2:version A:' \
+ '3:operator:(lt le eq ne ge gt lt-nl le-nl ge-nl gt-nl)' \
+ '4: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'
+ ;;
+esac