Ctrl K
ComunidadGuías…

cursor-plugin/scripts/uninstall.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/usr/bin/env bash

set -euo pipefail

for arg in "$@"; do
  case "${arg}" in
    --help|-h)
      echo "Usage: $0"
      echo "Uninstall the CLI-Anything Cursor local plugin and clear the discovery pointer."
      exit 0
      ;;
    *)
      echo "Unknown argument: ${arg}" >&2
      echo "Usage: $0" >&2
      exit 2
      ;;
  esac
done

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=lib.sh
source "${SCRIPT_DIR}/lib.sh"

PLUGIN_SRC="$(cd "${SCRIPT_DIR}/.." && pwd)"
DISCOVERY_POINTER="$(discovery_pointer_path)"

if [[ -f "${PLUGIN_SRC}/PLUGIN_ROOT.txt" && -f "${PLUGIN_SRC}/.cursor-plugin/plugin.json" ]]; then
  DEST_DIR="${PLUGIN_SRC}"
else
  if [[ -n "${CURSOR_PLUGINS_HOME:-}" ]]; then
    PLUGINS_HOME="$(resolve_plugins_home "${CURSOR_PLUGINS_HOME}")"
  else
    PLUGINS_HOME="$(resolve_plugins_home "${HOME}/.cursor/plugins")"
  fi
  DEST_DIR="${PLUGINS_HOME}/local/cli-anything"
fi

if ! is_cli_anything_install_path "${DEST_DIR}"; then
  echo "Refusing to uninstall unexpected path (expected .../local/cli-anything): ${DEST_DIR}" >&2
  exit 1
fi

DEST_HOST="$(to_host_path "${DEST_DIR}")"
if [[ -d "${DEST_DIR}" ]]; then
  DEST_HOST="$(to_host_path "$(cd "${DEST_DIR}" && pwd -P)")"
fi

if [[ -e "${DEST_DIR}" ]]; then
  rm -rf "${DEST_DIR}"
  echo "Removed plugin directory: ${DEST_DIR}"
else
  echo "Plugin directory not found (already removed): ${DEST_DIR}"
fi

if [[ -f "${DISCOVERY_POINTER}" ]]; then
  POINTER="$(tr -d '\r\n' < "${DISCOVERY_POINTER}")"
  PTR_KEY="$(normalize_path_key "${POINTER}")"
  DEST_KEY="$(normalize_path_key "${DEST_HOST}")"
  DEST_UNIX_KEY="$(normalize_path_key "${DEST_DIR}")"
  if [[ "${PTR_KEY}" == "${DEST_KEY}" || "${PTR_KEY}" == "${DEST_UNIX_KEY}" ]]; then
    rm -f "${DISCOVERY_POINTER}"
    echo "Removed discovery pointer: ${DISCOVERY_POINTER}"
  else
    echo "Left discovery pointer unchanged (points elsewhere): ${POINTER}"
  fi
else
  echo "Discovery pointer not present: ${DISCOVERY_POINTER}"
fi

echo "Uninstall complete. Reload the Cursor window if it is open."