about summary refs log tree commit diff
path: root/Completion/Debian/Command/_dlocate
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Debian/Command/_dlocate')
-rw-r--r--Completion/Debian/Command/_dlocate31
1 files changed, 31 insertions, 0 deletions
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