36 lines
942 B
Bash
36 lines
942 B
Bash
#!/bin/env bash
|
|
|
|
# Find where asdf should be installed
|
|
ASDF_VERSION="${ASDF_VERSION:-"0.8.1"}";
|
|
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}";
|
|
ASDF_COMPLETIONS="$ASDF_DIR/completions";
|
|
|
|
|
|
if [[ ! -f "$ASDF_DIR/asdf.sh" ]]; then
|
|
echo "[asdf] Installing asdf to ${ASDF_DIR}...";
|
|
git clone https://github.com/asdf-vm/asdf.git ${HOME}/.asdf --branch v${ASDF_VERSION};
|
|
fi
|
|
|
|
[[ -f "$ASDF_DIR/asdf.sh" ]] && . "$ASDF_DIR/asdf.sh"
|
|
[[ -f "${ASDF_COMPLETIONS}/asdf.bash" ]] && . ${ASDF_COMPLETIONS}/asdf.bash;
|
|
|
|
alias asdf_list_all='asdf plugin list all';
|
|
alias asdf_add='asdf plugin add';
|
|
alias asdf_list_versions='asdf list all';
|
|
|
|
|
|
# adds a plugin @ a version, installs and uses it
|
|
asdf_use() {
|
|
local plugin=${1};
|
|
local version=${2:-'latest'};
|
|
|
|
|
|
if [[ -z "${plugin}" ]]; then
|
|
echo "usage: asdf_use <plugin> [version]"
|
|
fi
|
|
|
|
asdf plugin add ${plugin};
|
|
asdf install ${plugin} ${version};
|
|
asdf local ${plugin} ${version};
|
|
}
|