# shellcheck shell=dash

___x_cmd_install_locate(){
    local tgt="${1:?Provide name}"
    ___x_cmd_install_ll | ___x_cmd_cmds_awk -v FS=/ -v RS="\n" -v tgt="$tgt" 'BEGIN{ TGT=0 } $2==tgt { TGT=1; print $0; } END{ if(TGT==0){ exit(1); } }'
}


___x_cmd_install_get___info(){
    local name="${1}"
    [ -n "$name" ] || return $?
    name="$(___x_cmd_install_locate "$name")" || {
        install:error "Installation recipe not found -> $1"
        install:info --tip "x pkg update" "The index may be out of date. You can trigger an index update and try again."
        return 1
    }

    local _file="$___X_CMD_INSTALL_DATA/${name}.json"
    [ -f "$_file" ] || M="Can not found json file[$_file]" N=install log:ret:1
    ___x_cmd_cmds_cat "$___X_CMD_INSTALL_DATA/${name}.json"
    printf "\n"
}

___x_cmd_install_get___all_info(){
    local install_name=
    # TODO: Need to be removed in the future
    ___x_cmd_install_update___check || return $?
    local l; command find "$___X_CMD_INSTALL_DATA" -maxdepth 2 -name "*json" | while read -r l; do
        [ -f "$l" ] || continue
        install_name=${l##*/}
        install_name=${install_name%%.*}
        printf "\n%s\n%s\n" "+++" "${install_name}"
        ___x_cmd_cmds_cat "$l"
    done
}

___x_cmd_install_get_homepage(){
    local name="$1"
    ___x_cmd_install_get___info "$name" | ___x_cmd_cmds_awk \
    -f "$___X_CMD_ROOT_MOD/awk/lib/core.awk" \
    -f "$___X_CMD_ROOT_MOD/awk/lib/j/json.awk"   \
    -f "$___X_CMD_ROOT_MOD/awk/lib/j/jiter.awk" \
    -f "$___X_CMD_ROOT_MOD/install/lib/awk/homepage.awk"
}

___X_CMD_PACMAN_SCOOP_IS_AVAILABLE=
___x_cmd_install___env_available(){
    [ -z "$___X_CMD_PACMAN_SCOOP_IS_AVAILABLE" ] || return 0

    if ___x_cmd os is win || ___x_cmd os is wsl; then
        ___X_CMD_PACMAN_SCOOP_IS_AVAILABLE=1
        return 0
    fi

    return 1
}
# EndSection
