diff options
-rwxr-xr-x | utils/installer/uninstall.sh | 69 |
1 files changed, 58 insertions, 11 deletions
diff --git a/utils/installer/uninstall.sh b/utils/installer/uninstall.sh index 09923bb1..31007984 100755 --- a/utils/installer/uninstall.sh +++ b/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 "$@" |