Update uninstall script

This commit is contained in:
Junegunn Choi 2014-05-21 01:14:21 +09:00
parent 459c332351
commit f37be006c3
2 changed files with 27 additions and 37 deletions

View File

@ -345,7 +345,7 @@ Finished. Restart your shell or reload config file.
EOF
[ $has_fish -eq 1 ] && echo " fzf_key_bindings # fish"; cat << EOF
To uninstall fzf, simply remove the added lines.
Use uninstall script to remove fzf.
For more information, see: https://github.com/junegunn/fzf
EOF

View File

@ -1,52 +1,42 @@
#!/bin/bash
remove_line() {
echo "Remove from $2:"
echo " - $1"
i=$(grep -c "$1" "$2")
if [ $i -eq 0 ]
then
echo " - Nothing found"
src=$(readlink "$2")
if [ $? -eq 0 ]; then
echo "Remove from $2 ($src):"
else
src=$2
echo "Remove from $2:"
fi
while [ $i -gt 0 ]
do
line=$(grep -m1 -nF "$1" "$2")
lineNumber=$(grep -m1 -nF "$1" "$2" | sed 's/:.*//')
if [ -n "$lineNumber" ]; then
echo " - Remove line ($line)"
awk -v n=$lineNumber 'NR == n {next} {print}' $2 > $2.bak && mv $2.bak $2
else
echo " - Nothing found"
fi
i=`expr $i - 1`
echo " - $1"
changed=0
while [ 1 ]; do
line=$(grep -m1 -nF "$1" "$src") || break
line_no=$(sed 's/:.*//' <<< "$line")
echo " - Remove line ($line)"
awk -v n=$line_no 'NR == n {next} {print}' "$src" > "$src.bak" &&
mv "$src.bak" "$src" || break
changed=1
done
[ $changed -eq 0 ] && echo " - Nothing found"
echo
}
for shell in bash zsh; do
if [ -f ~/.fzf.${shell} ]
then
rm ~/.fzf.${shell}
fi
rm -f ~/.fzf.${shell}
remove_line "source ~/.fzf.${shell}" ~/.${shell}rc
bind_file="~/.config/fish/functions/fish_user_key_bindings.fish"
if [ -f $bind_file ]
then
remove_line "fzf_key_bindings" "$bind_file"
fi
done
if [ -d ~/.config/fish/functions ]
then
if [ -f ~/.config/fish/functions/fzf.fish ]
then
rm ~/.config/fish/functions/fzf.fish
fi
bind_file=~/.config/fish/functions/fish_user_key_bindings.fish
if [ -f "$bind_file" ]; then
remove_line "fzf_key_bindings" "$bind_file"
fi
if [ "$(ls -A ~/.config/fish/functions)" ]
then
if [ -d ~/.config/fish/functions ]; then
rm -f ~/.config/fish/functions/fzf.fish
if [ "$(ls -A ~/.config/fish/functions)" ]; then
echo "Can't delete non-empty directory: \"~/.config/fish/functions\""
else
rmdir ~/.config/fish/functions