#compdef control

local expl verbose

verbose=
zstyle -t ":completion:${curcontext}:facilities" verbose &&
    verbose=1

__control_facilities()
{
    local i
    local -a facilities
    facilities=()

    if [[ -n "$verbose" ]]; then
	for i in /etc/control.d/facilities/*~*(.rpm*|.orig|~)(-*:t); do
	    facilities+=( "$i:$(/etc/control.d/facilities/$i summary 2>/dev/null)" )
	done
	facilities=( "${(@)${(@)facilities/:[[:space:]]##/:}%:[[:space:]]#}" )
	_describe -t control-facilities 'control facility' facilities "$@"
    else
	_wanted control-facilities expl 'control facility' compadd "$@" - /etc/control.d/facilities/*~*(.rpm*|.orig|~)(-*:t)
    fi
}

_arguments -s \
    ':facility:__control_facilities' \
    '*::status: _control_d'

