More hygiene in installer:

* change uninstall.sh to run under zsh, so we have access to better
  file globbing, string substitution, and $ZDOTDIR
* remove additional oh-my-zsh data files in uninstall
* remove unneeded `source ~/.zshrc` in uninstall
* remove bogus `. ~/.zshrc` at end of install.sh: it would just read it
   in the `sh` process running install.sh right before exiting, so it
   would have no effect aside from sometimes kicking out syntax errors.
This commit is contained in:
Andrew Janke 2015-02-28 00:55:21 -05:00
commit 0812923ae5
3 changed files with 17 additions and 12 deletions

33
tools/uninstall.zsh Normal file
View file

@ -0,0 +1,33 @@
#!/usr/bin/env zsh
echo "Removing $ZSH"
if [[ -d $ZSH ]]; then
rm -rf $ZSH
fi
echo "Removing Oh My Zsh data files"
if [[ -z $SHORT_HOST ]]; then
SHORT_HOST=${HOST/.*/}
fi
setopt null_glob
rm -fv ~/.zsh-update ${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-*
echo "Looking for original zsh config..."
if [ -f ~/.zshrc.pre-oh-my-zsh ] || [ -h ~/.zshrc.pre-oh-my-zsh ]; then
echo "Found ~/.zshrc.pre-oh-my-zsh -- Restoring to ~/.zshrc";
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then
ZSHRC_SAVE=".zshrc.omz-uninstalled-`date +%Y%m%d%H%M%S`";
echo "Found ~/.zshrc -- Renaming to ~/${ZSHRC_SAVE}";
mv ~/.zshrc ~/${ZSHRC_SAVE};
fi
mv ~/.zshrc.pre-oh-my-zsh ~/.zshrc;
else
echo "Switching back to bash"
chsh -s /bin/bash
fi
echo "Thanks for trying out Oh My Zsh. It's been uninstalled."