# control(8) completion                                    -*- shell-script -*-
# vi: ft=sh sw=4
# SPDX-License-Identifier: GPL-2.0-or-later

_comp_control()
{
    local cur prev cword
    _comp_initialize -- "$@" || return

    if [[ $cur == -* ]]; then
	_comp_compgen -- -W '--help --version'
    elif ((cword == 1)); then
	_comp_compgen_split -l -- "$(
	    find /etc/control.d/facilities -maxdepth 1 -type f -perm /u+x \
	    -not \( -name '.*' -o -name '*.rpm*' -o -name '*.orig' -o -name '*~' \) \
	    -printf '%f\n'
	)"
    elif ((cword == 2)); then
	[ -f "/etc/control.d/facilities/$prev" ] || return
	_comp_compgen_split -- "$(/sbin/control "$prev" list)"
	_comp_compgen -a -- -W "list help status"
	if grep -qw '^new_summary' "/etc/control.d/facilities/$prev"; then
	    _comp_compgen -a -- -W "summary"
	fi
    elif ((cword == 3)) && [ $prev = help ]; then
	[ -f "/etc/control.d/facilities/${words[1]}" ] || return
	_comp_compgen_split -- "$(/sbin/control "${words[1]}" list)"
    fi
} &&
    complete -F _comp_control control

