# chsh(1) completion                                       -*- shell-script -*-

# Use of this file is deprecated on Linux systems whose chsh is from
# util-linux. Upstream completion is in util-linux >= 2.23, use that instead.

_chsh()
{
    local cur prev words cword
    _init_completion || return

    local word chroot
    for word in "${words[@]}"; do
        if [[ -v chroot ]]; then
            chroot=$word
            break
        fi
        [[ $word != -@(R|-root) ]] || chroot=
    done

    case $prev in
        --list-shells | --help | -v | --version)
            return
            ;;
        -R | --root)
            _filedir -d
            return
            ;;
        -s | --shell)
            _shells "${chroot-}"
            return
            ;;
    esac

    if [[ $cur == -* ]]; then
        local opts=$(_parse_help "$1")
        COMPREPLY=($(compgen -W '${opts:-$(_parse_usage "$1")}' -- "$cur"))
    else
        _allowed_users
    fi

} &&
    complete -F _chsh chsh

# ex: filetype=sh
