# shellcheck shell=dash

___x_cmd_pkgx___addpath(){
    [ -d "$___X_CMD_PKGX_BIN_PATH"  ] || return 0
    ___x_cmd path rm "$___X_CMD_PKGX_BIN_PATH" || true
    PATH="$___X_CMD_PKGX_BIN_PATH":"$PATH"
}

___x_cmd_pkgx___is_activated(){
    [ -f "$___X_CMD_ROOT_BOOT/pkgx" ]
}

___x_cmd_pkgx___activate_auto(){
    if [ -f "$___X_CMD_ROOT_BOOT/pkgx.disable" ]; then
        pkgx:info "pkgx is disabled mannually, to activate run 'x pkgx --activate'"
        return 1
    fi

    ___x_cmd_pkgx___activate
}

___x_cmd_pkgx___activate(){
    ___x_cmd_pkgx___addpath

    [ ! -f "$___X_CMD_ROOT_BOOT/pkgx.disable" ] || {
        pkgx:info "Removing file -> $___X_CMD_ROOT_BOOT/pkgx.disable"
        ___x_cmd_cmds rm "$___X_CMD_ROOT_BOOT/pkgx.disable" || return
    }

    ___x_cmd ensurefp "$___X_CMD_ROOT_BOOT/pkgx"
    printf "" >"$___X_CMD_ROOT_BOOT/pkgx"


    pkgx:info "pkgx activated, if you want to deactivate, run 'x pkgx --deactivate'"
}

___x_cmd_pkgx___deactivate(){
    ___x_cmd path rm "$___X_CMD_PKGX_BIN_PATH"

    [ ! -f "$___X_CMD_ROOT_BOOT/pkgx" ] || {
        pkgx:info "Removing file -> $___X_CMD_ROOT_BOOT/pkgx"
        ___x_cmd_cmds rm "$___X_CMD_ROOT_BOOT/pkgx" || return
    }

    ___x_cmd mkdirp "$___X_CMD_ROOT_BOOT"
    printf "" >"$___X_CMD_ROOT_BOOT/pkgx.disable"

    pkgx:info "pkgx deactivate successfully."
}
