diff --git a/uninstall.sh b/uninstall.sh
index 2d1ac1a..764f57c 100755
--- a/uninstall.sh
+++ b/uninstall.sh
@@ -15,8 +15,45 @@
#You should have received a copy of the GNU General Public License
#along with autojump. If not, see .
-function show_help {
- echo "sudo ./uninstall.sh [--prefix /usr/local]"
+function help_msg {
+ echo "sudo ./uninstall.sh [--prefix /usr/local]"
+}
+
+# zsh: remove _j from fpath
+function remove_j {
+ # autocompletion file in the first directory of the FPATH variable
+ fail=true
+ for f in $fpath
+ do
+ if [ -f ${f}/_j ]; then
+ rm -v ${f}/_j || sudo rm -v ${f}/_j
+ break
+ fi
+ done
+}
+
+function remove_msg {
+ if [ "${2}" == "bash" ]; then
+ echo
+ echo "Please remove the line from ${bashrc_file} :"
+ echo
+ if [ "${1}" == "global" ]; then
+ echo -e "\tsource /etc/profile.d/autojump.bash"
+ elif [ "${1}" == "local" ]; then
+ echo -e "\tsource ~/etc/profile.d/autojump.bash"
+ fi
+ echo
+ elif [ "${2}" == "zsh" ]; then
+ echo
+ echo "Please remove the line from ~/.zshrc :"
+ echo
+ if [ "${1}" == "global" ]; then
+ echo -e "\tsource /etc/profile.d/autojump.zsh"
+ elif [ "${1}" == "local" ]; then
+ echo -e "\tsource ~/etc/profile.d/autojump.zsh"
+ fi
+ echo
+ fi
}
# Default install directory.
@@ -35,7 +72,7 @@ bashrc_file=${user_home}/.bashrc
# Command line parsing
while true; do
case "$1" in
- -h|--help|-\?) show_help; exit 0;;
+ -h|--help|-\?) help_msg; exit 0;;
-p|--prefix)
if [ $# -gt 1 ]; then
prefix=$2; shift 2
@@ -45,7 +82,7 @@ while true; do
fi
;;
--) shift; break;;
- -*) echo "invalid option: $1" 1>&2; show_help; exit 1;;
+ -*) echo "invalid option: $1" 1>&2; help_msg; exit 1;;
*) break;;
esac
done
@@ -53,19 +90,22 @@ done
# UNINSTALL AUTOJUMP
# global / custom location installations
if [ -d "${prefix}/share/autojump/" ]; then
- echo -e "\nUninstalling from ${prefix} ...\n"
+ echo
+ echo "Uninstalling from ${prefix} ..."
+ echo
sudo rm -rv ${prefix}/share/autojump/
sudo rm -v ${prefix}/bin/jumpapplet
sudo rm -v ${prefix}/bin/autojump
sudo rm -v ${prefix}/share/man/man1/autojump.1
- sudo rm -v /etc/profile.d/autojump.bash
sudo rm -v /etc/profile.d/autojump.sh
-
- echo
- echo "Please remove the line from ${bashrc_file} :"
- echo
- echo -e "\tsource /etc/profile.d/autojump.bash"
- echo
+ if [ -f /etc/profile.d/autojump.bash ]; then
+ sudo rm -v /etc/profile.d/autojump.bash
+ remove_msg "global" "bash"
+ fi
+ if [ -f /etc/profile.d/autojump.zsh ]; then
+ sudo rm -v /etc/profile.d/autojump.zsh
+ remove_msg "global" "zsh"
+ fi
fi
# local installations
@@ -73,11 +113,13 @@ if [ -d ~/.autojump/ ]; then
echo
echo "Uninstalling from ~/.autojump/ ..."
echo
- rm -rv ~/.autojump/
- echo
- echo "Please remove the line from ${bashrc_file} :"
- echo
- echo -e "\tsource ~/.autojump/profile.d/autojump.bash"
- echo
+ if [ -f ~/.autojump/etc/profile.d/autojump.bash ]; then
+ rm -rv ~/.autojump/
+ remove_msg "local" "bash"
+ fi
+ if [ -f ~/.autojump/etc/profile.d/autojump.zsh ]; then
+ rm -rv ~/.autojump/
+ remove_msg "local" "zsh"
+ fi
fi
diff --git a/uninstall.zsh b/uninstall.zsh
deleted file mode 100755
index b19e12c..0000000
--- a/uninstall.zsh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env zsh
-#Copyright Joel Schaerer 2008, 2009
-#This file is part of autojump
-
-#autojump is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
-#
-#autojump is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
-#
-#You should have received a copy of the GNU General Public License
-#along with autojump. If not, see .
-
-function show_help {
- echo "sudo ./uninstall.zsh [--prefix /usr/local]"
-}
-
-# Default install directory.
-prefix=/usr
-
-# Command line parsing
-while true; do
- case "$1" in
- -h|--help|-\?) show_help; exit 0;;
- -p|--prefix) if [ $# -gt 1 ]; then
- prefix=$2; shift 2
- else
- echo "--prefix or -p require an argument" 1>&2
- exit 1
- fi ;;
- --) shift; break;;
- -*) echo "invalid option: $1" 1>&2; show_help; exit 1;;
- *) break;;
- esac
-done
-
-
-# UNINSTALL AUTOJUMP
-# global / custom location installations
-if [[ -d "${prefix}/share/autojump/" ]]; then
- echo -e "\nUninstalling from ${prefix} ...\n"
- sudo rm -rv ${prefix}/share/autojump/
- sudo rm -v ${prefix}/bin/jumpapplet
- sudo rm -v ${prefix}/bin/autojump
- sudo rm -v ${prefix}/share/man/man1/autojump.1
- sudo rm -v /etc/profile.d/autojump.zsh
- sudo rm -v /etc/profile.d/autojump.sh
-fi
-
-# local installations
-if [[ -d ~/.autojump/ ]]; then
- echo -e "\nUninstalling from ~/.autojump/ ...\n"
- rm -rv ~/.autojump/
-fi
-
-# autocompletion file in the first directory of the FPATH variable
-fail=true
-for f in $fpath
-do
- if [[ -f ${f}/_j ]]; then
- sudo rm -v ${f}/_j
- break
- fi
-done
-
-echo -e "\nPlease remove the line from ~/.zshrc :\n"
-echo -e "\tsource /etc/profile.d/autojump.zsh"