summary refs log tree commit diff
path: root/Completion/Unix/Command/_sh
blob: 559c6ad1b4f9054c1701cec3f68a1a69fd4eba91 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#compdef sh ksh bash zsh csh tcsh rc

if [[ $service == zsh ]]; then
  # try a bit harder
  if [[ ${words[CURRENT-1]} == -o ]]; then
    _options
    # no other possibilities
    return
  fi
fi

if (( CURRENT == ${words[(i)-c]} + 1 )); then
  compset -q
  _normal
else
  local n=${words[(b:2:i)[^-]*]}
  if (( n <= CURRENT )); then
    compset -n $n
    _normal && return 0
  fi
  _default
fi