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.

37 lines
1.1 KiB
Plaintext

#!/usr/bin/env bash
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"
function get_os () {
case $(uname -s) in
Linux*) echo unknown-linux-musl;;
Darwin*) echo apple-darwin;;
*) >&2 echo "unsupported os: $(uname -s)"; exit 1;;
esac
}
function set_link () {
TARGET="$1"
APP_DIR="$2"
APP_PATH="$3"
pushd "$(dirname "${TARGET}")" || exit 1
unlink_if_set "${TARGET}"
REL_PATH=$(relative_path "$(dirname "${TARGET}")" "${APP_DIR}/current/${APP_PATH}")
ln -s "${REL_PATH}" "$(basename "${TARGET}")"
popd || exit 1
}
APP=rg
VERSION=${VERSION:-13.0.0}
DEST="${XDG_DATA_HOME}/apps/releases/${APP}"
URL=https://github.com/BurntSushi/ripgrep/releases/download/${VERSION}/ripgrep-${VERSION}-$(uname -m)-$(get_os).tar.gz
extract_tarball "${URL}" "${DEST}/${VERSION}" "--strip-component 1"
set_current_link "${DEST}" "${VERSION}"
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/functions/ripgrep.fish" "${DEST}" complete/rg.fish