]> git.rmz.io Git - dotfiles.git/commitdiff
zsh: print summary at end of pacclean
authorSamir Benmendil <samir.benmendil@ultrahaptics.com>
Tue, 2 Jan 2018 11:55:10 +0000 (11:55 +0000)
committerSamir Benmendil <me@rmz.io>
Tue, 2 Jan 2018 11:59:47 +0000 (11:59 +0000)
zsh/aliases/pacman.zsh

index c3a71bb48fc4df9687f9a80ba58fa06ff1967886..34c5d8cd9d30742ff9d97bfcb56d10992629d109 100644 (file)
@@ -28,6 +28,8 @@ 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
@@ -41,7 +43,7 @@ pacclean() {
             read -sk edrq
             echo
             case $edrq in
-                [Qq]) return ;;
+                [Qq]) break 2 ;;
                 $'\n') ;&
                 [Ee]) break ;;
                 [Rr]) sudo pacman -Rnscu $pkg; break ;;
@@ -49,6 +51,15 @@ pacclean() {
             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'