#compdef sh ksh bash csh tcsh rc
if (( CURRENT == ${words[(i)-c]} + 1 )); then
_cmdstring
else
local n=${words[(b:2:i)[^-]*]}
if (( n <= CURRENT )); then
compset -n $n
_alternative \
'files:file:_files' \
'commands:command:_normal' && return 0
fi
_default
fi