uninstall.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/usr/bin/env bash
  2. set -eo pipefail
  3. ARGS_REMOVE_BACKUPS=0
  4. declare -r XDG_DATA_HOME="${XDG_DATA_HOME:-"$HOME/.local/share"}"
  5. declare -r XDG_CACHE_HOME="${XDG_CACHE_HOME:-"$HOME/.cache"}"
  6. declare -r XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-"$HOME/.config"}"
  7. declare -r LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$XDG_DATA_HOME/lunarvim"}"
  8. declare -r LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$XDG_CONFIG_HOME/lvim"}"
  9. # TODO: Use a dedicated cache directory #1256
  10. declare -r LUNARVIM_CACHE_DIR="$XDG_CACHE_HOME/nvim"
  11. LVIM_BIN="$(which lvim 2>/dev/null)"
  12. declare -a __lvim_dirs=(
  13. "$LUNARVIM_CONFIG_DIR"
  14. "$LUNARVIM_RUNTIME_DIR"
  15. "$LUNARVIM_CACHE_DIR"
  16. )
  17. function usage() {
  18. echo "Usage: uninstall.sh [<options>]"
  19. echo ""
  20. echo "Options:"
  21. echo " -h, --help Print this help message"
  22. echo " --remove-backups Remove old backup folders as well"
  23. }
  24. function parse_arguments() {
  25. while [ "$#" -gt 0 ]; do
  26. case "$1" in
  27. --remove-backups)
  28. ARGS_REMOVE_BACKUPS=1
  29. ;;
  30. -h | --help)
  31. usage
  32. exit 0
  33. ;;
  34. esac
  35. shift
  36. done
  37. }
  38. function main() {
  39. parse_arguments "$@"
  40. for dir in "${__lvim_dirs[@]}"; do
  41. rm -rf "$dir"
  42. if [ "$ARGS_REMOVE_BACKUPS" -eq 1 ]; then
  43. rm -rf "$dir.bak"
  44. fi
  45. done
  46. rm -f "$LVIM_BIN"
  47. }
  48. main "$@"