# shellcheck shell=sh disable=SC3043

___x_cmd_cosmo___binlist_(){
    [ -z "$___X_CMD_COSMO_BINLIST" ] || {
        x_="$___X_CMD_COSMO_BINLIST"
        return
    }

    # ___x_cmd rat_ "$___X_CMD_ROOT_MOD/cosmo/lib/data/bin"
    # x_="${___X_CMD_UNSEENCHAR_NEWLINE}${x_}${___X_CMD_UNSEENCHAR_NEWLINE}"

    # In windows git clone, install, the file \n => \r\n
    x_="${___X_CMD_UNSEENCHAR_NEWLINE}$(___x_cmd_cmds cat "$___X_CMD_ROOT_MOD/cosmo/lib/data/bin")${___X_CMD_UNSEENCHAR_NEWLINE}"

    ___X_CMD_COSMO_BINLIST="$x_"
}

___x_cmd_cosmo___hasbin(){
    local x_
    ___x_cmd_cosmo___binlist_
    [ "$x_" != "${x_#*"${___X_CMD_UNSEENCHAR_NEWLINE}${1}${___X_CMD_UNSEENCHAR_NEWLINE}"*}" ] || return 1
}

___x_cmd_cosmo___which_(){
    ___x_cmd_cosmo___binpath_ "$1"

    [ -f "$x_" ] || {
        x_=""
        return 1
    }
}

___x_cmd_cosmo___which(){
    local x_
    ___x_cmd_cosmo___which_ "$@" || return $?
    printf "%s\n" "$x_"
}

___x_cmd_cosmo___binpath_(){
    local bin="$1"; shift
    x_="$___X_CMD_COSMO_BIN_PATH/$___X_CMD_COSMO_VERSION/$bin"
}
