about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Debian/Command/_dlocate31
2 files changed, 36 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 85e353993..d3af72cb4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-28  Clint Adams  <clint@zsh.org>
+
+	* 21780: Completion/Debian/Command/_dlocate: completion for
+	dlocate.
+
 2005-09-28  Peter Stephenson  <pws@csr.com>
 
 	* 21779: Doc/Zsh/contrib.yo, Functions/Exceptions/throw, plus
diff --git a/Completion/Debian/Command/_dlocate b/Completion/Debian/Command/_dlocate
new file mode 100644
index 000000000..f8333b222
--- /dev/null
+++ b/Completion/Debian/Command/_dlocate
@@ -0,0 +1,31 @@
+#compdef dlocate
+
+local context state line
+typeset -A opt_args
+
+_arguments \
+	'-h[help]' \
+	'-S[match strings only]' \
+	'-L[list all files in package]' \
+	'-l[almost-emulation of dpkg -l]' \
+	'-s[print status of package]' \
+	'-ls[ls -ldF of all files in package]' \
+	'-du[du -sck of all files in package]' \
+        '-conf[list conffiles in package]' \
+	'-lsconf[ls -ldF of conffiles in package]' \
+	'-md5sum[list md5sums (if any) of package]' \
+	'-md5check[check md5sums (if any) of package]' \
+	'-man[list man pages (if any) of package]' \
+	':arg:->stringorpkg' && return 0
+
+case "$state" in
+    (stringorpkg)
+      if (( $+opt_args[-S] )); then
+          _files
+      else
+          _alternative \
+		'string:search string:_files' \
+		'package:Debian packages:_deb_packages installed'
+      fi
+    ;;
+esac