mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-01 21:51:40 +02:00
46 lines
1.5 KiB
Text
46 lines
1.5 KiB
Text
#compdef cat
|
|
|
|
local -a args
|
|
|
|
if _pick_variant gnu=GNU unix --version; then
|
|
args=(
|
|
'(-A --show-all)'{-A,--show-all}'[equivalent to -vET]'
|
|
'(-b --number-nonblank -n --number)'{-b,--number-nonblank}'[number nonempty output lines, overrides -n]'
|
|
'-e[equivalent to -vE]'
|
|
'(-E --show-ends)'{-E,--show-ends}'[display $ at end of each line]'
|
|
'(-n --number)'{-n,--number}'[number all output lines]'
|
|
'(-s --squeeze-blank)'{-s,--squeeze-blank}'[suppress repeated empty output lines]'
|
|
'-t[equivalent to -vT]'
|
|
'(-T --show-tabs)'{-T,--show-tabs}'[display TAB characters as ^I]'
|
|
'-u[ignored]'
|
|
'(-v --show-nonprinting)'{-v,--show-nonprinting}'[use ^ and M- notation, except for LFD and TAB]'
|
|
'(- : *)--help[display help and exit]'
|
|
'(- : *)--version[output version information and exit]'
|
|
'*:files:_files'
|
|
)
|
|
|
|
elif [[ "$OSTYPE" == (freebsd|dragonfly|darwin)* ]]; then
|
|
args=(
|
|
'(-n)-b[number non-blank output lines]'
|
|
'(-v)-e[display $ at the end of each line (implies -v)]'
|
|
'-n[number all output lines]'
|
|
'-s[squeeze multiple blank lines into one]'
|
|
'(-v)-t[display tab as ^I (implies -v)]'
|
|
'-u[do not buffer output]'
|
|
'-v[display non-printing chars as ^X or M-a]'
|
|
'(-)*:files:_files'
|
|
)
|
|
[[ $OSTYPE = freebsd* ]] && args+=(
|
|
'-l[set a lock on the stdout file descriptor]'
|
|
)
|
|
|
|
else
|
|
# POSIX reqires '-u', and most OSes may support '-n'
|
|
args=(
|
|
'-n[number all output lines]'
|
|
'-u[do not buffer output]'
|
|
'*:files:_files'
|
|
)
|
|
fi
|
|
|
|
_arguments -s -S : $args
|