#!/usr/bin/env bash set -euo pipefail source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" main () ( APP=rg VERSION=${VERSION:-14.1.1} DEST="${XDG_DATA_HOME}/apps/releases/${APP}" URL=https://github.com/BurntSushi/ripgrep/releases/download/${VERSION}/ripgrep-${VERSION}-$(get_arch)-$(get_os).tar.gz set -x extract_tarball "${URL}" "${DEST}/${VERSION}" "--strip-component 1" set +x set_current_link "${DEST}" "${VERSION}" set -x mkdir_if_missing "${XDG_CONFIG_HOME}/bash/bashrc.d" mkdir_if_missing "${XDG_CONFIG_HOME}/fish/completions" mkdir_if_missing "${MAN_DIR}" set +x set_link "${XDG_BIN_HOME}/rg" "${DEST}" rg set_link "${MAN_DIR}/rg.1" "${DEST}" doc/rg.1 set_link "${XDG_CONFIG_HOME}/bash/bashrc.d/ripgrep.sh" "${DEST}" complete/rg.bash set_link "${XDG_CONFIG_HOME}/fish/completions/ripgrep.fish" "${DEST}" complete/rg.fish ) get_arch () ( MACHINE=$(uname -m) case "$MACHINE" in arm64) echo aarch64 ;; *) echo "$MACHINE" ;; esac ) get_os () ( case $(uname -s) in Linux*) echo unknown-linux-musl;; Darwin*) echo apple-darwin;; *) >&2 echo "unsupported os: $(uname -s)"; exit 1;; esac ) main "$@"