summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_wc
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2015-05-05 23:32:59 +0200
committerAxel Beckert <abe@deuxchevaux.org>2015-05-05 23:58:59 +0200
commitdb38e167634b6c2217eec3a5aafc37c46d9e5a8d (patch)
treedaa342d423febbd3a5a7ef97053037677fab004a /Completion/Unix/Command/_wc
parent01eea47617a6e06debdb4330f92ae69f92089fd2 (diff)
parent3c3c8d3d13fd4cf6c03f81ca8dc18a1efd561728 (diff)
downloadzsh-db38e167634b6c2217eec3a5aafc37c46d9e5a8d.tar.gz
zsh-db38e167634b6c2217eec3a5aafc37c46d9e5a8d.zip
Merge branch 'upstream' into debian
Diffstat (limited to 'Completion/Unix/Command/_wc')
-rw-r--r--Completion/Unix/Command/_wc26
1 files changed, 26 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_wc b/Completion/Unix/Command/_wc
new file mode 100644
index 000000000..49a03ba2c
--- /dev/null
+++ b/Completion/Unix/Command/_wc
@@ -0,0 +1,26 @@
+#compdef wc gwc
+
+local args
+
+args=(
+ '(-c --bytes)'{-c,--bytes}'[print byte counts]'
+ '(-C -m --chars)'{-m,--chars}'[print character counts]'
+ '(-w --words)'{-w,--words}'[print word counts]'
+ '(-l --lines)'{-l,--lines}'[print line counts]'
+)
+
+if _pick_variant gnu=GNU unix --version; then
+ args+=(
+ '(*)--files0-from=[read NUL-terminated file list from specified file]:file:_files'
+ '(-L --max-line-length)'{-L,--max-line-length}'[print longest line lengths]'
+ )
+else
+ args=( -A "-*" "${(@)args:#(|\(*\))(|\*)--*}" )
+ case $OSTYPE in
+ freebsd*|netbsd*) args+=( '-L[print longest line lengths]' ) ;;
+ openbsd*) args+=( '-h[human readable: use unit suffixes]' ) ;;
+ solaris*) args+=( ${${(M)args:#*-m\[*}//-m\[/-C\[} ) ;;
+ esac
+fi
+
+_arguments -s -S $args '*:file:_files'