Remove dot_config/zsh/direnv.zsh

This commit is contained in:
Nikolas Weger 2021-08-05 13:31:38 +02:00
parent 764a027223
commit 12c9bb27ed

View file

@ -1,102 +0,0 @@
#!/usr/bin/env zsh
autoload colors is-at-least
BOLD="bold"
NONE="NONE"
[[ -z "$DIRENV_HOME" ]] && export DIRENV_HOME="$HOME/.config/direnv"
ZSH_DIRENV_VERSION_FILE=${DIRENV_HOME}/version.txt
_zsh_direnv_log() {
local font=$1
local color=$2
local msg=$3
if [ $font = $BOLD ]
then
echo $fg_bold[$color] "[zsh-direnv-plugin] $msg" $reset_color
else
echo $fg[$color] "[zsh-direnv-plugin] $msg" $reset_color
fi
}
_zsh_direnv_last_version() {
echo $(curl -s https://api.github.com/repos/direnv/direnv/releases | grep tag_name | head -n 1 | cut -d '"' -f4)
}
_zsh_direnv_download_install() {
local version=$1
local machine
case "$(uname -m)" in
x86_64)
machine=amd64
;;
i686 | i386)
machine=386
;;
aarch64)
machine=arm64
;;
*)
_zsh_direnv_log $BOLD "red" "Machine $(uname -m) not supported by this plugin"
return 1
;;
esac
_zsh_direnv_log $NONE "blue" " -> download and install direnv ${version}"
wget -qc --no-check-certificate https://github.com/direnv/direnv/releases/download/${version}/direnv.${OSTYPE%-*}-${machine} -O "${DIRENV_HOME}/direnv"
chmod +x "${DIRENV_HOME}/direnv"
echo ${version} > ${ZSH_DIRENV_VERSION_FILE}
}
_zsh_direnv_install() {
_zsh_direnv_log $NONE "blue" "#############################################"
_zsh_direnv_log $BOLD "blue" "Installing direnv..."
_zsh_direnv_log $NONE "blue" "-> creating direnv home dir : ${DIRENV_HOME}"
mkdir -p ${DIRENV_HOME} || _zsh_direnv_log $NONE "green" "dir already exist"
local last_version=$(_zsh_direnv_last_version)
_zsh_direnv_log $NONE "blue" "-> retrieve last version of direnv..."
_zsh_direnv_download_install ${last_version}
if [ $? -ne 0 ]
then
_zsh_direnv_log $BOLD "red" "Install KO"
else
_zsh_direnv_log $BOLD "green" "Install OK"
fi
_zsh_direnv_log $NONE "blue" "#############################################"
}
update_zsh_direnv() {
_zsh_direnv_log $NONE "blue" "#############################################"
_zsh_direnv_log $BOLD "blue" "Checking new version of direnv..."
local current_version=$(cat ${ZSH_DIRENV_VERSION_FILE})
local last_version=$(_zsh_direnv_last_version)
if is-at-least ${last_version#v*} ${current_version#v*}
then
_zsh_direnv_log $BOLD "green" "Already up to date, current version : ${current_version}"
else
_zsh_direnv_log $NONE "blue" "-> Updating direnv..."
_zsh_direnv_download_install ${last_version}
_zsh_direnv_log $BOLD "green" "Update OK"
fi
_zsh_direnv_log $NONE "blue" "#############################################"
}
_zsh_direnv_load() {
# export PATH
export PATH=${PATH}:${DIRENV_HOME}
eval "$(direnv hook zsh)"
}
# install direnv if it isnt already installed
[[ ! -f "${ZSH_DIRENV_VERSION_FILE}" ]] && _zsh_direnv_install
# load direnv if it is installed
if [[ -f "${ZSH_DIRENV_VERSION_FILE}" ]]; then
_zsh_direnv_load
fi
unset -f _zsh_direnv_install _zsh_direnv_load