# shellcheck shell=bash disable=2016

___x_cmd_chat_advise___provider_list(){
    ___x_cmd_chat_provider_ls
}

___x_cmd_chat_advise___model_list(){
    local provider="${1:-"$___X_CMD_CHAT_NORMAL_ALIAS"}"
    [ -n "$provider" ] || {
        local IFS=" "
        local compline="${COMP_LINE:-${COMP_WORDS[*]}}"
        case "$compline" in
            *\ openai\ *|*@gpt*)            provider=openai     ;;
            *\ gemini\ *|*@gemini*)         provider=gemini     ;;
            *\ mistral\ *|*@mistral*)       provider=mistral    ;;
            *\ ds\ *|*\ dsr1\ *|*@ds*)      provider=deepseek   ;;
            *\ grok\ *|*@grok*)             provider=grok       ;;
            *\ gh\ *|*@gh*)                 provider=gh         ;;
            *\ moonshot\ *|*@kimi*)         provider=moonshot   ;;
            *\ zhipu\ *|*@glm*)             provider=zhipu      ;;
            *\ siliconflow\ *|*@sili*)      provider=siliconflow ;;
            *\ openrouter\ *|*@or*)         provider=openrouter ;;
            *\ lms\ *|*@lms*)               provider=lms        ;;
            *\ llmf\ *|*@l*)                provider=llmf       ;;
            *\ ollama\ *|*@o*)              provider=ollama     ;;
            *)
                local x_=; ___x_cmd_chat_provider get_ || return $?
                provider="$x_" ;;
        esac
    }
    ___x_cmd_chat_model_ls "$provider"
}

