install_bin.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/env bash
  2. set -eo pipefail
  3. INSTALL_PREFIX="${INSTALL_PREFIX:-"$HOME/.local"}"
  4. XDG_DATA_HOME="${XDG_DATA_HOME:-"$HOME/.local/share"}"
  5. XDG_CACHE_HOME="${XDG_CACHE_HOME:-"$HOME/.cache"}"
  6. XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-"$HOME/.config"}"
  7. LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$XDG_DATA_HOME/lunarvim"}"
  8. LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$XDG_CONFIG_HOME/lvim"}"
  9. LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-"$XDG_CACHE_HOME/lvim"}"
  10. LUNARVIM_BASE_DIR="${LUNARVIM_BASE_DIR:-"$LUNARVIM_RUNTIME_DIR/lvim"}"
  11. function setup_shim() {
  12. local src="$LUNARVIM_BASE_DIR/utils/bin/lvim.template"
  13. local dst="$INSTALL_PREFIX/bin/lvim"
  14. [ ! -d "$INSTALL_PREFIX/bin" ] && mkdir -p "$INSTALL_PREFIX/bin"
  15. # remove outdated installation so that `cp` doesn't complain
  16. rm -f "$dst"
  17. cp "$src" "$dst"
  18. sed -e s"#RUNTIME_DIR_VAR#\"${LUNARVIM_RUNTIME_DIR}\"#"g \
  19. -e s"#CONFIG_DIR_VAR#\"${LUNARVIM_CONFIG_DIR}\"#"g \
  20. -e s"#CACHE_DIR_VAR#\"${LUNARVIM_CACHE_DIR}\"#"g \
  21. -e s"#BASE_DIR_VAR#\"${LUNARVIM_BASE_DIR}\"#"g "$src" \
  22. | tee "$dst" >/dev/null
  23. chmod u+x "$dst"
  24. }
  25. setup_shim "$@"
  26. echo "You can start LunarVim by running: $INSTALL_PREFIX/bin/lvim"