about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_cowsay28
2 files changed, 33 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0774c683b..03e6f79fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-05  Clint Adams  <clint@zsh.org>
+
+	* 22404: Completion/Unix/Command/_cowsay:
+	completion for cowsay.
+
 2006-04-05  Peter Stephenson  <pws@csr.com>
 
 	* 22394, R. Ramkumar, plus doc as 22043:
diff --git a/Completion/Unix/Command/_cowsay b/Completion/Unix/Command/_cowsay
new file mode 100644
index 000000000..19e73811c
--- /dev/null
+++ b/Completion/Unix/Command/_cowsay
@@ -0,0 +1,28 @@
+#compdef cowsay cowthink
+
+local context state line
+typeset -A opt_args
+
+_arguments \
+  '-e:eye string:' \
+  '-f:cowfile:->cowfile' \
+  '-T:tongue string:' \
+  '-W:wrap column:' \
+  '-b[borg mode]' \
+  '-d[dead mode]' \
+  '-g[greedy mode]' \
+  '-h[help]' \
+  '-l[list]' \
+  '-n[no wordwrap]' \
+  '-p[paranoia mode]' \
+  '-s[stoned mode]' \
+  '-t[tired mode]' \
+  '-w[wired mode]' \
+  '-y[youthful mode]' \
+  ':message:' && return 0
+
+case "$state" in
+  (cowfile)
+  compadd ${=${(f)"$($service -l 2>/dev/null)"}:#*\:} || _files
+  ;;
+esac