summaryrefslogtreecommitdiff
path: root/utils/installer/install_bin.sh
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2022-01-03 15:47:58 +0100
committerGitHub <[email protected]>2022-01-03 15:47:58 +0100
commit21b41688ee8c5056ffbb2b07df141ce1ccb4b213 (patch)
tree8e960532b36a3b8308dbee59a2c7138b74d64188 /utils/installer/install_bin.sh
parenteefc148313917b1a474ba7bdf44d6d088524074a (diff)
refactor: use a static lvim binary template (#1444)
Diffstat (limited to 'utils/installer/install_bin.sh')
-rwxr-xr-xutils/installer/install_bin.sh46
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"