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
		
	
	
		
			999 B
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			39 lines
		
	
	
		
			999 B
		
	
	
	
		
			Bash
		
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
APP=fzf
 | 
						|
VERSION=${VERSION:-0.24.4}
 | 
						|
DATA_DIR="${XDG_DATA_HOME}/apps/releases"
 | 
						|
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: $(uname -m)"; 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}
 |