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 | |
parent | eefc148313917b1a474ba7bdf44d6d088524074a (diff) |
refactor: use a static lvim binary template (#1444)
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | utils/bin/lvim | 6 | ||||
-rw-r--r-- | utils/bin/lvim.template | 7 | ||||
-rwxr-xr-x | utils/installer/install.sh | 13 | ||||
-rwxr-xr-x | utils/installer/install_bin.sh | 46 |
5 files changed, 41 insertions, 43 deletions
@@ -1,15 +1,19 @@ SHELL := /bin/bash install: - @echo Starting LunarVim Installer + @echo starting LunarVim installer bash ./utils/installer/install.sh +install-bin: + @echo starting LunarVim bin-installer + bash ./utils/installer/install_bin.sh + install-neovim-binary: - @echo Installing Neovim from github releases + @echo installing Neovim from github releases bash ./utils/installer/install-neovim-from-release uninstall: - @echo Starting LunarVim Uninstaller + @echo starting LunarVim uninstaller bash ./utils/installer/uninstall.sh generate_plugins_sha: @@ -30,7 +34,7 @@ style-lua: stylua --config-path .stylua.toml --check . style-sh: - shfmt -f . | grep -v jdtls | xargs shfmt -i 2 -ci -l -d + shfmt -f . | grep -v jdtls | xargs shfmt -i 2 -ci -bn -l -d test: bash ./utils/bin/test_runner.sh "$(TEST)" diff --git a/utils/bin/lvim b/utils/bin/lvim deleted file mode 100644 index e4cd9c75..00000000 --- a/utils/bin/lvim +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -export LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-$HOME/.local/share/lunarvim}" -export LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-$HOME/.config/lvim}" - -exec nvim -u "$LUNARVIM_RUNTIME_DIR/lvim/init.lua" "$@" diff --git a/utils/bin/lvim.template b/utils/bin/lvim.template new file mode 100644 index 00000000..1b18977d --- /dev/null +++ b/utils/bin/lvim.template @@ -0,0 +1,7 @@ +#!/bin/sh + +export LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-RUNTIME_DIR_VAR}" +export LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-CONFIG_DIR_VAR}" +export LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-CACHE_DIR_VAR}" + +exec nvim -u "$LUNARVIM_RUNTIME_DIR/lvim/init.lua" "$@" diff --git a/utils/installer/install.sh b/utils/installer/install.sh index 1987a519..c30f2efe 100755 --- a/utils/installer/install.sh +++ b/utils/installer/install.sh @@ -352,18 +352,7 @@ function link_local_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}" - -exec nvim -u "\$LUNARVIM_RUNTIME_DIR/lvim/init.lua" "\$@" -EOF - chmod +x "$INSTALL_PREFIX/bin/lvim" + make -C "$LUNARVIM_BASE_DIR" install-bin } function remove_old_cache_files() { 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" |