summaryrefslogtreecommitdiff
path: root/plugins/debian/debian.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/debian/debian.plugin.zsh')
-rw-r--r--plugins/debian/debian.plugin.zsh47
1 files changed, 44 insertions, 3 deletions
diff --git a/plugins/debian/debian.plugin.zsh b/plugins/debian/debian.plugin.zsh
index b51d0cd37..6e45e0521 100644
--- a/plugins/debian/debian.plugin.zsh
+++ b/plugins/debian/debian.plugin.zsh
@@ -1,6 +1,7 @@
# Authors:
# https://github.com/AlexBio
# https://github.com/dbb
+# https://github.com/Mappleconfusers
#
# Debian-related zsh aliases and functions for zsh
@@ -20,8 +21,8 @@ fi
# Aliases ###################################################################
# These are for more obscure uses of apt-get and aptitude that aren't covered
# below.
-alias ag='apt-get'
-alias ap='aptitude'
+alias age='apt-get'
+alias api='aptitude'
# Some self-explanatory aliases
alias acs="apt-cache search"
@@ -56,7 +57,7 @@ if [[ $use_sudo -eq 1 ]]; then
alias ar='sudo $apt_pref remove'
# apt-get only
- alias ads='sudo $apt_pref dselect-upgrade'
+ alias ads='sudo apt-get dselect-upgrade'
# Install all .deb files in the current directory.
# Warning: you will need to put the glob in single quotes if you use:
@@ -109,6 +110,38 @@ else
?not(~n`uname -r`))'\'' root'
fi
+# Completion ################################################################
+
+#
+# Registers a compdef for $1 that calls $apt_pref with the commands $2
+# To do that it creates a new completion function called _apt_pref_$2
+#
+apt_pref_compdef() {
+ local f fb
+ f="_apt_pref_${2}"
+
+ eval "function ${f}() {
+ shift words;
+ service=\"\$apt_pref\";
+ words=(\"\$apt_pref\" '$2' \$words);
+ ((CURRENT++))
+ test \"\${apt_pref}\" = 'aptitude' && _aptitude || _apt
+ }"
+
+ compdef "$f" "$1"
+}
+
+apt_pref_compdef aac "autoclean"
+apt_pref_compdef abd "build-dep"
+apt_pref_compdef ac "clean"
+apt_pref_compdef ad "update"
+apt_pref_compdef afu "update"
+apt_pref_compdef ag "upgrade"
+apt_pref_compdef ai "install"
+apt_pref_compdef ail "install"
+apt_pref_compdef ap "purge"
+apt_pref_compdef ar "remove"
+apt_pref_compdef ads "dselect-upgrade"
# Misc. #####################################################################
# print all installed packages
@@ -184,3 +217,11 @@ kerndeb () {
"$revision" kernel_image kernel_headers
}
+# List packages by size
+function apt-list-packages {
+ dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | \
+ grep -v deinstall | \
+ sort -n | \
+ awk '{print $1" "$2}'
+}
+