#compdef getopts unset # This will handle completion of keys of associative arrays, e.g. at # `vared foo['. local ret=1 if [[ $PREFIX = *\[* ]]; then compstate[parameter]=${PREFIX%%(|\\)\[*} IPREFIX=${PREFIX%%\[*}\[ PREFIX=${PREFIX#*\[} _subscript -q else _parameters -g '^a*' "$@" && ret=0 if compset -S '\[*'; then set - -S "" "$@" else set - -qS"${${QIPREFIX:+[}:-\[}" "$@" fi _parameters -g 'a*' "$@" && ret=0 return ret fi