blob: b548b3c3a850a4f9d885bee0e61db14c799653c9 (
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
27
28
29
30
31
32
33
34
35
36
37
|
#compdef unexpand gunexpand expand gexpand
local all tabs
local -a args
all="convert all whitespace, instead of just initial whitespace"
tabs="[use comma separated list of tab positions]:list of tab positions"
if _pick_variant gnu="Free Soft" unix --version; then
if [[ $service = *un* ]]; then
args=(
"(-a --help --version)--all[$all]"
'(--help --version)--first-only[convert only leading sequences of whitespace]'
)
else
args=(
'(-i --initial --help --version)'{-i,--initial}"[don't convert tabs after non blanks]"
)
fi
args+=(
"(-t --help --version)--tabs=${tabs}"
'(* -)--help[display usage information]'
'(* -)--version[display version information]'
)
elif [[ $OSTYPE = (*bsd*|dragonfly*|darwin*) ]]; then
args=( -A "-*" )
fi
[[ $service = *un* ]] && args+=( "(--all --help --version)-a[$all]" )
# Most (un)expand variants, excluding BusyBox, allow e.g. -4 instead of -t4
[[ $_cmd_variant[$service] == *busybox* ]] ||
args+=( '!(-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -t --tabs)-'{0..9} )
_arguments -s -S "$args[@]" \
"(--tabs --help)-t+${tabs}" \
'*:file:_files'
|