Audited comments project-wide against the current implementation: - scripts/install.sh, scripts/uninstall.sh: header curl URLs pointed at a root-level install.sh/uninstall.sh, but the files live under scripts/ — the documented command 404'd. Corrected to the scripts/ path (matching the README and the actual file location). - src/move.ts: header said it ties "four logic modules" and omitted editor.ts; the --edit terminal action was also missing from the order of operations. Both corrected. - src/config.ts: numeric Config fields are all milliseconds now; dropped the stale "pixels" unit left over from stepCount/stepSize. Comments-only (plus two script header lines); tsc clean, 64 tests pass.
73 lines
2.2 KiB
Bash
Executable File
73 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
#
|
|
# uninstall.sh - End-user uninstaller for the `move` CLI.
|
|
#
|
|
# Curl-pipe ready:
|
|
#
|
|
# curl -fsSL https://gitea.cahlen.com/nokeo08/Move/raw/branch/master/scripts/uninstall.sh | sh
|
|
#
|
|
# Removes the `move` wrapper from $XDG_BIN_HOME and the install tree from
|
|
# $XDG_DATA_HOME/move. Does NOT remove Bun — that's your runtime, not ours.
|
|
# Also leaves the user config file at $XDG_CONFIG_HOME/move/config.json
|
|
# intact (Unix convention; user customizations are not ours to delete).
|
|
# A notice is printed pointing at the file so you can remove it yourself
|
|
# if desired.
|
|
#
|
|
# Env vars (must match what install.sh used):
|
|
# XDG_DATA_HOME Source install root (default $HOME/.local/share).
|
|
# XDG_BIN_HOME Wrapper install root (default $HOME/.local/bin).
|
|
# XDG_CONFIG_HOME User config root (default $HOME/.config).
|
|
#
|
|
# POSIX sh; no bashisms.
|
|
|
|
set -eu
|
|
|
|
INSTALL_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/move"
|
|
BIN_DIR="${XDG_BIN_HOME:-$HOME/.local/bin}"
|
|
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/move"
|
|
CONFIG_FILE="$CONFIG_DIR/config.json"
|
|
WRAPPER="$BIN_DIR/move"
|
|
|
|
die() {
|
|
printf 'Error: %s\n' "$1" >&2
|
|
exit 1
|
|
}
|
|
|
|
# Same safety guard as install.sh: refuse to wipe a directory that points
|
|
# somewhere catastrophic.
|
|
case "$INSTALL_DIR" in
|
|
'' | '/' | "$HOME" | "$HOME/" | '/move')
|
|
die "refusing to operate on INSTALL_DIR='$INSTALL_DIR' (too broad)"
|
|
;;
|
|
esac
|
|
|
|
REMOVED_SOMETHING=0
|
|
|
|
if [ -e "$WRAPPER" ] || [ -L "$WRAPPER" ]; then
|
|
rm -f "$WRAPPER"
|
|
printf 'Removed %s\n' "$WRAPPER"
|
|
REMOVED_SOMETHING=1
|
|
fi
|
|
|
|
if [ -d "$INSTALL_DIR" ]; then
|
|
rm -rf "$INSTALL_DIR"
|
|
printf 'Removed %s\n' "$INSTALL_DIR"
|
|
REMOVED_SOMETHING=1
|
|
fi
|
|
|
|
if [ "$REMOVED_SOMETHING" = "0" ]; then
|
|
printf 'Nothing to remove. Checked %s and %s.\n' "$WRAPPER" "$INSTALL_DIR"
|
|
if [ -e "$CONFIG_FILE" ]; then
|
|
printf 'Note: config file at %s was left in place.\n' "$CONFIG_FILE"
|
|
printf ' Remove it manually with: rm -rf %s\n' "$CONFIG_DIR"
|
|
fi
|
|
exit 0
|
|
fi
|
|
|
|
if [ -e "$CONFIG_FILE" ]; then
|
|
printf '\nNote: your config file at %s was left in place.\n' "$CONFIG_FILE"
|
|
printf ' Remove it manually with: rm -rf %s\n' "$CONFIG_DIR"
|
|
fi
|
|
|
|
printf '\nUninstalled. (Bun was not touched.)\n'
|