#compdef scl local curcontext="$curcontext" dashes ret=1 local -a state line force alts cmd [[ $words[2] = deregister ]] && force=( '--force[deregister even SCL installed as packages]' ) _arguments -C $force \ '(- 1)'{-l,--list}'[list installed software collections or packages within a collection]' \ '(-l --list)1:action:(enable run load unload list-collections list-enabled list-packages man register deregister)' \ '(- *)--help' \ '(-)*:collections:->collections' && ret=0 if [[ -n $state ]]; then (( $#line > 1 )) && curcontext="${curcontext%:*}-$line[1]:" if [[ $line[1] = register ]]; then _directories -P / -W / return fi if (( ${dashes:=$words[(I)--]} )); then shift dashes words (( CURRENT -= dashes )) _normal return fi if [[ $CURRENT -gt 3 && $words[CURRENT] = - ]]; then compadd - -- return fi [[ $line[1] = enable && $CURRENT -gt 3 ]] && cmd='command:command:_cmdstring' _alternative 'collections:collection:compadd $(_call_program collections "${words[1]} list-collections || ${words[1]} -l")' \ $cmd && ret=0 fi return ret