#
# SPDX-FileCopyrightText: 2020-2025 EasyCoding Team and contributors
#
# SPDX-License-Identifier: MIT
#

_zswap_cli()
{
    local cur prev words cword comp_args
    _comp_initialize -- "$@" || return

    case "$prev" in
        -a | --accept_threshold_percent | -p | --max_pool_percent)
            _comp_compgen -- -W "{1..100}"
            return
            ;;
        -e | --enabled | -s | --same_filled_pages_enabled | -n | --non_same_filled_pages_enabled | -x | --exclusive_loads | -r | --shrinker_enabled)
            _comp_compgen -- -W "Y N"
            return
            ;;
        -c | --compressor | -z | --zpool | --env | --version | --help)
            return
            ;;
        --config)
            _comp_compgen_filedir "@(conf|ini)"
            return
            ;;
        --stats)
            _comp_compgen -- -W "{0..3}"
            return
            ;;
    esac

    if [[ "$cur" == -* ]]; then
        _comp_compgen -- -W "-a -p -e -s -n -x -r -c -z"
        _comp_compgen -a -- -W "--accept_threshold_percent --max_pool_percent --enabled --same_filled_pages_enabled --non_same_filled_pages_enabled --exclusive_loads --shrinker_enabled --compressor --zpool"
        _comp_compgen -a -- -W "--config --env --stats --version --help"
        [[ "${COMPREPLY-}" == *= ]] && compopt -o nospace
    fi
} &&
    complete -F _zswap_cli zswap-cli

# ex: filetype=sh
