#!/bin/sh
# credits to virtualenv
kerl_deactivate() {
    if [ -n "$_KERL_SAVED_ERL_AFLAGS" ]; then
        ERL_AFLAGS="$_KERL_SAVED_ERL_AFLAGS"
        export ERL_AFLAGS
        unset _KERL_SAVED_ERL_AFLAGS
    fi
    if [ -n "$_KERL_PATH_REMOVABLE" ]; then
        # shellcheck disable=SC2001
        PATH="$(echo "$PATH" | sed -e "s#$_KERL_PATH_REMOVABLE:##")"
        export PATH
        unset _KERL_PATH_REMOVABLE
    fi
    if [ -n "$_KERL_MANPATH_REMOVABLE" ]; then
        # shellcheck disable=SC2001
        MANPATH="$(echo "$MANPATH" | sed -e "s#$_KERL_MANPATH_REMOVABLE:##")"
        export MANPATH
        unset _KERL_MANPATH_REMOVABLE
    fi
    if [ -n "$_KERL_SAVED_REBAR_PLT_DIR" ]; then
        REBAR_PLT_DIR="$_KERL_SAVED_REBAR_PLT_DIR"
        export REBAR_PLT_DIR
        unset _KERL_SAVED_REBAR_PLT_DIR
    fi
    if [ -n "$_KERL_ACTIVE_DIR" ]; then
        unset _KERL_ACTIVE_DIR
    fi
    if [ -n "$_KERL_SAVED_PS1" ]; then
        PS1="$_KERL_SAVED_PS1"
        export PS1
        unset _KERL_SAVED_PS1
    fi
    if [ -n "$_KERL_DOCSH_DOT_ERLANG" ]; then
        rm "$HOME/.erlang"
        unset _KERL_DOCSH_DOT_ERLANG
    fi
    if [ -n "$_KERL_DOCSH_USER_DEFAULT" ]; then
        unset DOCSH_USER_DEFAULT
        unset _KERL_DOCSH_USER_DEFAULT
    fi
    if [ -n "$_KERL_ERL_CALL_REMOVABLE" ]; then
        # shellcheck disable=SC2001
        PATH="$(echo "$PATH" | sed -e "s#$_KERL_ERL_CALL_REMOVABLE:##")"
        export PATH
        unset _KERL_ERL_CALL_REMOVABLE
    fi
    if [ -n "$BASH" ] || [ -n "$ZSH_VERSION" ]; then
        hash -r
    fi
    if [ ! "$1" = "nondestructive" ]; then
        unset -f kerl_deactivate
    fi
    unset KERL_ENABLE_PROMPT
    unset KERL_PROMPT_FORMAT
}
kerl_deactivate nondestructive

_KERL_SAVED_REBAR_PLT_DIR="$REBAR_PLT_DIR"
export _KERL_SAVED_REBAR_PLT_DIR
_KERL_PATH_REMOVABLE="/root/.asdf/installs/erlang/24.3.3/bin"
PATH="${_KERL_PATH_REMOVABLE}:$PATH"
export PATH _KERL_PATH_REMOVABLE
_KERL_MANPATH_REMOVABLE="/root/.asdf/installs/erlang/24.3.3/lib/erlang/man:/root/.asdf/installs/erlang/24.3.3/man"
MANPATH="${_KERL_MANPATH_REMOVABLE}:$MANPATH"
export MANPATH _KERL_MANPATH_REMOVABLE
REBAR_PLT_DIR="/root/.asdf/installs/erlang/24.3.3"
export REBAR_PLT_DIR
_KERL_ACTIVE_DIR="/root/.asdf/installs/erlang/24.3.3"
export _KERL_ACTIVE_DIR
_KERL_ERL_CALL_REMOVABLE=$(\find /root/.asdf/installs/erlang/24.3.3 -type d -path "*erl_interface*/bin")
PATH="${_KERL_ERL_CALL_REMOVABLE}:$PATH"
export PATH _KERL_ERL_CALL_REMOVABLE
# https://twitter.com/mononcqc/status/877544929496629248
export _KERL_SAVED_ERL_AFLAGS=" $ERL_AFLAGS"
kernel_history=$(echo "$ERL_AFLAGS" | \grep 'kernel shell_history' || true)
if [ -z "$kernel_history" ]; then
    export ERL_AFLAGS="-kernel shell_history enabled $ERL_AFLAGS"
fi
# shellcheck source=/dev/null
if [ -f "/root/.asdf/plugins/erlang/kerl-home/.kerlrc" ]; then . "/root/.asdf/plugins/erlang/kerl-home/.kerlrc"; fi
if [ -n "$KERL_ENABLE_PROMPT" ]; then
    _KERL_SAVED_PS1="$PS1"
    export _KERL_SAVED_PS1
    if [ -n "$KERL_PROMPT_FORMAT" ]; then
        FRMT="$KERL_PROMPT_FORMAT"
    else
        FRMT="(%BUILDNAME%)"
    fi
    PRMPT=$(echo "$FRMT" | sed 's^%RELEASE%^24.3.3^;s^%BUILDNAME%^asdf_24.3.3^')
    PS1="$PRMPT$PS1"
    export PS1
fi
if [ -d "/root/.asdf/installs/erlang/24.3.3/lib/docsh" ]; then
    export DOCSH_USER_DEFAULT="/root/.asdf/installs/erlang/24.3.3/lib/docsh/user_default"
    export _KERL_DOCSH_USER_DEFAULT=yes
    if [ -f "$HOME/.erlang" ]; then
        # shellcheck disable=SC2153
        if [ ! x"$KERL_DOCSH_DOT_ERLANG" = x'exists' ]; then
            echo "Couldn't symlink correct $HOME/.erlang - file exists - docsh might not work."
            echo "Please make sure $HOME/.erlang contains code"
            echo "from /root/.asdf/installs/erlang/24.3.3/lib/docsh/dot.erlang"
            echo 'and export KERL_DOCSH_DOT_ERLANG=exists to suppress this warning.'
        fi
    else
        ln -s "/root/.asdf/installs/erlang/24.3.3/lib/docsh/dot.erlang" "$HOME/.erlang"
        export _KERL_DOCSH_DOT_ERLANG=yes
    fi
fi
if [ -n "$BASH" ] || [ -n "$ZSH_VERSION" ]; then
    hash -r
fi
