From ab7ec8d9851fea8230e1ccfba284c5bfaf457d88 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Sun, 3 May 2015 16:53:47 +0200 Subject: 35011: update completions for some common Unix commands, in particular improving FreeBSD support --- Completion/Unix/Command/_wc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Completion/Unix/Command/_wc (limited to 'Completion/Unix/Command/_wc') 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' -- cgit v1.2.3