# shellcheck shell=dash


___x_cmd_xx___next(){
    local ___X_CMD_XX_NEXT_CHOICELIST="${___X_CMD_XX_NEXT_CHOICELIST}"
    # Get histid
    if [ -n "$___X_CMD_XX_NEXT_CHOICELIST" ] && [ "$((___X_CMD_XX_NEXT_CMDID + 1))" = "$HISTCMD" ]; then
        ___x_cmd_xx___next_execchoicelist
    else
        local x_=; ___x_cmd_xx___next_history_ || return
        ___X_CMD_XX_NEXT_CHOICELIST="$x_"
        ___x_cmd_xx___next_execchoicelist
    fi
}

___x_cmd_xx___next_history_(){
    local x_id=; local x_cmd=;
    ___x_cmd history last_ || return
    ___x_cmd tty update
    local size=$(( LINES / 3 ))
    xx:debug "Search next history, x_cmd[$x_cmd] size[$size]"
    xx:info "Predicting next command from history for [cmd=$x_cmd]"
    x_="$( ___x_cmd history predict -n "$size" "$x_cmd")"
}

___x_cmd_xx___next_execchoicelist(){
    ___x_cmd_xx___execchoicelist "$___X_CMD_XX_NEXT_CHOICELIST" list
}
