summaryrefslogtreecommitdiffstats
path: root/Completion/Unix/Command/_col
blob: 2c8aa06590ea57e23ef7bbece41069b1a1f51851 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#compdef col

local variant
local -a args=(
  '(-b --no-backspaces)'{-b,--no-backspaces}'[do not output backspaces]'
  '(-f --fine)'{-f,--fine}'[permit forward half-line-feeds]'
  '(-h -x --tabs --spaces)'{-h,--tabs}'[convert spaces to tabs]'
  '(-l --lines)'{-l+,--lines=}'[buffer at least specified number of lines]: :_numbers -d128 lines'
  '(-p --pass)'{-p,--pass}'[pass through unknown control sequences]'
  '(-h -x --tabs --spaces)'{-x,--spaces}'[convert tabs to spaces]'
  '(-)'{-H,--help}'[display usage information]'
  '(-)'{-V,--version}'[display version information]'
)

_pick_variant -r variant util-linux=no-backspaces freebsd=nline $OSTYPE --help

case $variant in
  util-linux) ;;
  # Also Darwin, NetBSD, and DragonFly
  freebsd)    args=( ${args:#*\)(-[HV]|--*)[+=]#\[*} ) ;;
  openbsd*)   args=( ${args:#*\)(-[HpV]|--*)[+=]#\[*} ) ;;
  # SUSv2, Solaris, etc
  *)          args=( ${args:#*\)(-[hHlV]|--*)[+=]#\[*} ) ;;
esac

_arguments -s -S : $args