Browse Source

fix: update the uninstallation script (#1924)

kylo252 3 years ago
parent
commit
ee4d580bb2
1 changed files with 58 additions and 11 deletions
  1. 58 11
      utils/installer/uninstall.sh

+ 58 - 11
utils/installer/uninstall.sh

@@ -1,11 +1,58 @@
-#!/bin/sh
-USER_BIN_DIR="$HOME/.local/bin"
-if [ -d "/data/data/com.termux" ]; then
-  sudo() {
-    eval "$@"
-  }
-  USER_BIN_DIR="$HOME/../usr/bin"
-fi
-rm -rf ~/.local/share/lunarvim
-sudo rm "$USER_BIN_DIR"/lvim
-rm -rf ~/.local/share/applications/lvim.desktop
+#!/usr/bin/env bash
+set -eo pipefail
+
+ARGS_REMOVE_BACKUPS=0
+
+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"}"
+
+declare -r LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$XDG_DATA_HOME/lunarvim"}"
+declare -r LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$XDG_CONFIG_HOME/lvim"}"
+
+# TODO: Use a dedicated cache directory #1256
+declare -r LUNARVIM_CACHE_DIR="$XDG_CACHE_HOME/nvim"
+
+LVIM_BIN="$(which lvim 2>/dev/null)"
+
+declare -a __lvim_dirs=(
+  "$LUNARVIM_CONFIG_DIR"
+  "$LUNARVIM_RUNTIME_DIR"
+  "$LUNARVIM_CACHE_DIR"
+)
+
+function usage() {
+  echo "Usage: uninstall.sh [<options>]"
+  echo ""
+  echo "Options:"
+  echo "    -h, --help                       Print this help message"
+  echo "    --remove-backups                 Remove old backup folders as well"
+}
+
+function parse_arguments() {
+  while [ "$#" -gt 0 ]; do
+    case "$1" in
+      --remove-backups)
+        ARGS_REMOVE_BACKUPS=1
+        ;;
+      -h | --help)
+        usage
+        exit 0
+        ;;
+    esac
+    shift
+  done
+}
+
+function main() {
+  parse_arguments "$@"
+  for dir in "${__lvim_dirs[@]}"; do
+    rm -rf "$dir"
+    if [ "$ARGS_REMOVE_BACKUPS" -eq 1 ]; then
+      rm -rf "$dir.bak"
+    fi
+  done
+  rm -f "$LVIM_BIN"
+}
+
+main "$@"