diff options
author | kylo252 <[email protected]> | 2022-01-03 15:47:58 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-01-03 15:47:58 +0100 |
commit | 21b41688ee8c5056ffbb2b07df141ce1ccb4b213 (patch) | |
tree | 8e960532b36a3b8308dbee59a2c7138b74d64188 /utils/installer/install_bin.sh | |
parent | eefc148313917b1a474ba7bdf44d6d088524074a (diff) |
refactor: use a static lvim binary template (#1444)
Diffstat (limited to 'utils/installer/install_bin.sh')
-rwxr-xr-x | utils/installer/install_bin.sh | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/utils/installer/install_bin.sh b/utils/installer/install_bin.sh index 2438d5d1..4c649b44 100755 --- a/utils/installer/install_bin.sh +++ b/utils/installer/install_bin.sh @@ -1,33 +1,37 @@ #!/usr/bin/env bash set -eo pipefail -declare -r INSTALL_PREFIX="${INSTALL_PREFIX:-"$HOME/.local"}" +INSTALL_PREFIX="${INSTALL_PREFIX:-"$HOME/.local"}" -declare -r XDG_DATA_HOME="${XDG_DATA_HOME:-"$HOME/.local/share"}" -declare -r XDG_CACHE_HOME="${XDG_CACHE_HOME:-"$HOME/.cache"}" -declare -r XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-"$HOME/.config"}" +XDG_DATA_HOME="${XDG_DATA_HOME:-"$HOME/.local/share"}" +XDG_CACHE_HOME="${XDG_CACHE_HOME:-"$HOME/.cache"}" +XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-"$HOME/.config"}" -declare -r LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$XDG_DATA_HOME/lunarvim"}" -declare -r LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$XDG_CONFIG_HOME/lvim"}" +LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$XDG_DATA_HOME/lunarvim"}" +LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$XDG_CONFIG_HOME/lvim"}" +LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-"$XDG_CACHE_HOME/nvim"}" -# TODO: Use a dedicated cache directory #1256 -declare -r LUNARVIM_CACHE_DIR="$XDG_CACHE_HOME/nvim" +LUNARVIM_BASE_DIR="${LUNARVIM_BASE_DIR:-"$LUNARVIM_RUNTIME_DIR/lvim"}" function setup_shim() { - if [ ! -d "$INSTALL_PREFIX/bin" ]; then - mkdir -p "$INSTALL_PREFIX/bin" - fi - cat >"$INSTALL_PREFIX/bin/lvim" <<EOF -#!/bin/sh - -export LUNARVIM_CONFIG_DIR="\${LUNARVIM_CONFIG_DIR:-$LUNARVIM_CONFIG_DIR}" -export LUNARVIM_RUNTIME_DIR="\${LUNARVIM_RUNTIME_DIR:-$LUNARVIM_RUNTIME_DIR}" -export LUNARVIM_CACHE_DIR="\${LUNARVIM_CACHE_DIR:-$LUNARVIM_CACHE_DIR}" - -exec nvim -u "\$LUNARVIM_RUNTIME_DIR/lvim/init.lua" "\$@" -EOF - chmod +x "$INSTALL_PREFIX/bin/lvim" + local src="$LUNARVIM_BASE_DIR/utils/bin/lvim.template" + local dst="$INSTALL_PREFIX/bin/lvim" + + [ ! -d "$INSTALL_PREFIX/bin" ] && mkdir -p "$INSTALL_PREFIX/bin" + + # remove outdated installation so that `cp` doesn't complain + rm -f "$dst" + + cp "$src" "$dst" + + sed -e s"@RUNTIME_DIR_VAR@\"${LUNARVIM_RUNTIME_DIR}\"@"g \ + -e s"@CONFIG_DIR_VAR@\"${LUNARVIM_CONFIG_DIR}\"@"g \ + -e s"@CACHE_DIR_VAR@\"${LUNARVIM_CACHE_DIR}\"@"g "$src" \ + | tee "$dst" >/dev/null + + chmod u+x "$dst" } setup_shim "$@" + echo "You can start LunarVim by running: $INSTALL_PREFIX/bin/lvim" |