X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/4c7aab190bdd467bf51a5f0503de838707830fa0..2bc5cc531c50d87c208965cdc80c0f42df56ecb1:/zsh/aliases/pacman.zsh diff --git a/zsh/aliases/pacman.zsh b/zsh/aliases/pacman.zsh index c3a71bb..04b7e4f 100644 --- a/zsh/aliases/pacman.zsh +++ b/zsh/aliases/pacman.zsh @@ -28,27 +28,39 @@ paclist() { } pacclean() { + local _count_pkg=$(pacman -Qq | wc -l) + local _count_pkg_exp=$(pacman -Qeq | wc -l) local _pkgs=( $(pacman -Qeq) ) for pkg in ${_pkgs[@]}; do # the file has been removed by a previous clean pacman -Qq $pkg 2>&1 1>/dev/null || continue - pacman -Qi $pkg | awk 'BEGIN {FS=": "}/^Name/{printf("\n\033[1;36m%s\033[0m ",$2)}/^Description/{print $2}/^(Required|Optional For)/' + pacman -Qi $pkg | awk 'BEGIN {FS=": "}/^Name/{printf("\n\033[1;36m%s\033[0m ",$2)}/^Description/{print $2}/^(Required|Optional For|Installed Size)/' local edrq='' while true; do - echo -n "Explicit, Dependency, Remove, Quit? [Edrq] " + echo -n "Explicit, Dependency, Remove, List, Quit? [Edrlq] " read -sk edrq echo case $edrq in - [Qq]) return ;; + [Qq]) break 2 ;; $'\n') ;& [Ee]) break ;; [Rr]) sudo pacman -Rnscu $pkg; break ;; [Dd]) sudo pacman -D --asdeps $pkg; break ;; + [Ll]) pacman -Ql $pkg | less ;; esac done done + local _count_pkg_after=$(pacman -Qq | wc -l) + local _count_pkg_exp_after=$(pacman -Qeq | wc -l) + local _delta_pkg=$(($_count_pkg_after - $_count_pkg)) + local _delta_pkg_exp=$(($_count_pkg_exp_after - $_count_pkg_exp)) + printf "\n %8s | %8s" "Packages" "Explicit" + printf "\nBefore | %8d | %8d" $_count_pkg $_count_pkg_exp + printf "\n After | %8d | %8d" $_count_pkg_after $_count_pkg_exp_after + printf "\n | %8d | %8d" $_delta_pkg $_delta_pkg_exp + printf "\n" } # [l]ist [o]orphans alias paclo='pacman -Qdt'