- [[ -d /tmp/zpe ]] || mkdir /tmp/zpe/
- find $plugin_dir -maxdepth 1 -type d -exec git -C {} config --get remote.origin.url \; > /tmp/zpe/installed-urls
- comm -23 <(sort /tmp/zpe/installed-urls) <(sort "$config_dir"repositories) >> /tmp/zpe/diff
-
- for d in "$plugin_dir"*; do
- while read line; do
- grep -l $line "$d"/.git/config >> /tmp/zpe/deletable
- done < /tmp/zpe/diff
- done
-
- while read line2; do
- xargs rm -rf <<< $(echo $line2 | sed 's/\/.git\/config//g')
- done < /tmp/zpe/deletable
+ # Remove cloned plugins not specified in the config file
+ zpe-meta-pre
+ echo -n "" > "${zpe_tmp_dir}"deletable
+ echo -n "" > "${zpe_tmp_dir}"diff
+
+ find ${zpe_plugin_dir} -maxdepth 1 -type d -exec git -C {} config --get remote.origin.url \; > "${zpe_tmp_dir}"installed-urls
+ comm -23 <(sort ${zpe_tmp_dir}installed-urls) <(sort "${zpe_config_dir}"repositories) >> "${zpe_tmp_dir}"/diff
+
+ while read line; do
+ grep -l $line "$zpe_plugin_dir"/*/.git/config >> "${zpe_tmp_dir}"deletable
+ done < ${zpe_tmp_dir}diff
+
+ sed -i -e 's/\/.git\/config//g' -e 's/\/\//\//g' "${zpe_tmp_dir}"deletable
+
+ if [[ $(wc -l "${zpe_tmp_dir}"deletable | cut -d ' ' -f 1) > 0 ]]; then
+ cat "${zpe_tmp_dir}"deletable
+ echo "Delete these directories? [y/N]: "
+ read -rs -k 1 ans
+ case "${ans}" in
+ y|Y)
+ while read line2; do
+ xargs rm -rf <<< $(echo $line2)
+ done < ${zpe_tmp_dir}deletable
+ echo "Cleaned!"
+ ;;
+ *|$'\n')
+ echo "Aborted"
+ esac
+ else
+ echo "Nothing to clean"
+ fi