function _configcleaner_autocomplete() {
    # Первый параметр всегда будет "option1"
    local first_option="--console"

    # Второй параметр - предлагаемые варианты
    local second_options="
    --help
    --list
    --user
    set-openboard-fullscreen
    set-openboard-windowmode
    set-openboard-background
    clear-vscode-cache
    disable-anydesk-autostart
    restore-desktop-from-skel
    configclean
    "

    local programs="
        anydesk
        chromium
        dolphin
        gimp
        idle
        inkscape
        jetbrains
        kolourpaint
        libreoffice
        okular
        onboard
        openboard
        opera
        scratch-desktop
        smplayer
        trikstudio
        vlc
        yandex-browser
        kumir
        r7-office
        veyon
        comp-cab-setup
        desktop
        mouse-cursors
        icons
        power
    "

    configclean_found=false

    for element in "${COMP_WORDS[@]}"; do
        if [[ "$element" == 'configclean' ]]; then
            configclean_found=true;
        fi
    done

    latest="${COMP_WORDS[$COMP_CWORD]}"
    # Проверяем, сколько параметров было передано
    if [[ $COMP_CWORD -eq 1 ]]; then
        # Если это первый параметр, возвращаем единственную опцию
        words="$first_option"
    elif [[ $COMP_CWORD -eq 2 ]]; then
        # Если это второй параметр, возвращаем несколько опций
        words="$second_options"
    elif [[ "$configclean_found" == 'true' ]]; then
        # Если передано больше двух параметров, и есть configclean, предлагаем программы
        words="$programs"
    elif [[ "${COMP_WORDS[@]}" =~ "--user" ]] && [[ ${COMP_WORDS[$COMP_CWORD-1]} != "--user" ]] ; then
        # Если передано больше двух параметров, и есть --user (но не последний), он может выполнить только configclean
        words="configclean"
    else
        # Если передан больше двух параметров, ничего не возвращаем
        words=""
    fi

  COMPREPLY=($(compgen -W "$words" -- $latest))
  return 0
}

complete -F _configcleaner_autocomplete configcleaner
