# shellcheck shell=dash

___X_CMD_ONSH_SETUP_RCCODE='test -e "$HOME/.x-cmd.root/local/data/xonsh/xonshrc" && source "$HOME/.x-cmd.root/local/data/xonsh/xonshrc"     # boot up x-cmd in Xonsh.'

___x_cmd_onsh___setup(){
    local envpath="$HOME/.x-cmd.root/local/data/xonsh"
    onsh:info "Adding [files=xonshrc] to [folder=$envpath]"

    ___x_cmd mkdirp "$envpath"
    ___x_cmd cp -f      "$___X_CMD_ROOT_MOD/onsh/lib/rc/xonshrc"    "$envpath/xonshrc"

    ___x_cmd boot initrcfile1   "$___X_CMD_ONSH_SETUP_RCCODE"       "$HOME/.xonshrc"    || return $?
    ___x_cmd shortcut compile xonsh || return $?

    ___x_cmd ensurefp "$HOME/.x-cmd.root/local/cache/advise/bootcode/v0.0.0.xsh"
    ___x_cmd advise complete onsh code > "$HOME/.x-cmd.root/local/cache/advise/bootcode/v0.0.0.xsh"
}

___x_cmd_onsh___setup_is_required(){
    ! {
        ___x_cmd boot ensurerccodewithoutextra    \
                                    "$___X_CMD_ONSH_SETUP_RCCODE"               "$HOME/.xonshrc"    && \
            ___x_cmd_cmds cmp       "$___X_CMD_ROOT_MOD/onsh/lib/rc/xonshrc"    "$HOME/.x-cmd.root/local/data/xonsh/xonshrc"
    } 1>/dev/null 2>/dev/null
}

