diff options
author | Yash Karandikar | 2021-09-25 17:38:24 -0500 |
---|---|---|
committer | Yash Karandikar | 2021-09-25 17:38:24 -0500 |
commit | dee21ac4fff498bc710b5d54fa1921501c30a24e (patch) | |
tree | b3237114de3a9e333517e6f36b12b162323e39e6 | |
parent | 07c2513a3e047b860b5ee9f1b63b886bc81412b2 (diff) | |
download | aur-dee21ac4fff498bc710b5d54fa1921501c30a24e.tar.gz |
Remove any directories that don't correspond to an installed package
-rwxr-xr-x | haur | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -133,6 +133,7 @@ else fi if [[ $CLEAR_CACHE == true ]]; then + REMOVED=false if test -f "$HOME/.haur_cache"; then echo "${blue}Clearing cache...${normal}" while IFS= read -r line || [[ -n "$line" ]]; do @@ -140,7 +141,19 @@ if [[ $CLEAR_CACHE == true ]]; then rm -rf "$HOME/.haur/$line" done < "$HOME/.haur_cache" rm ~/.haur_cache - else + REMOVED=true + fi + + dirs=() + while IFS= read -r -d '' dir; do + dirs+=($(basename "${dir#*/}")) + done < <(find ~/.haur -maxdepth 1 -mindepth 1 -type d -print0) + + for DIRECTORY in "${dirs[@]}"; do + pacman -Q $DIRECTORY &>/dev/null || echo "${blue}Removing $DIRECTORY${normal}" && rm -rf "$HOME/.haur/$DIRECTORY" && REMOVED=true + done + + if [[ $REMOVED == false ]]; then echo "${blue}Nothing to clear${normal}" fi fi
\ No newline at end of file |