You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
986 B
Plaintext

4 years ago
#!/usr/bin/env bash
APP=fzf
VERSION=${VERSION:-0.24.4}
DATA_DIR="${XDG_DATA_HOME}/buddy-up/apps"
DEST_DIR="${DATA_DIR}/${APP}/${VERSION}"
OS=
ARCH=
case $(uname -s) in
Linux*) OS=linux;;
Darwin*) OS=darwin;;
*) >&2 echo "unsupported os"; return;
esac
case $(uname -m) in
x86_64*) ARCH=amd64;;
*) >&2 echo "unsupported architecture"; exit 1;;
esac
URL="https://github.com/junegunn/fzf/releases/download/${VERSION}/fzf-${VERSION}-${OS}_${ARCH}.tar.gz"
TMP_DIR=
if [[ ! -d "${DEST_DIR}" ]] ; then
TMP_DIR=$(mktemp --directory)
TAR_GZ="${TMP_DIR}/release.tar.gz"
curl --location --silent --output "${TAR_GZ}" "${URL}"
mkdir -p "${DEST_DIR}"
tar xzf "${TAR_GZ}" --directory "${DEST_DIR}"
rm -rf "${TMP_DIR}"
fi
cd "${DATA_DIR}/${APP}" || exit
[[ -s current ]] && unlink current
ln -s "${VERSION}" current
cd "${XDG_BIN_HOME}" || exit
[[ -L "${APP}" ]] || ln --symbolic "${DATA_DIR}/${APP}/current/${APP}" ${APP}