summaryrefslogtreecommitdiff
path: root/plugins/archlinux/archlinux.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/archlinux/archlinux.plugin.zsh')
-rw-r--r--plugins/archlinux/archlinux.plugin.zsh23
1 files changed, 12 insertions, 11 deletions
diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
index da170f488..796ff7adf 100644
--- a/plugins/archlinux/archlinux.plugin.zsh
+++ b/plugins/archlinux/archlinux.plugin.zsh
@@ -25,27 +25,28 @@ alias pacown='pacman -Qo'
alias pacupd="sudo pacman -Sy"
function paclist() {
- # Based on https://bbs.archlinux.org/viewtopic.php?id=93683
- pacman -Qqe | \
- xargs -I '{}' \
- expac "${bold_color}% 20n ${fg_no_bold[white]}%d${reset_color}" '{}'
+ local pkgs=$(LC_ALL=C pacman -Qqe)
+ for pkg in ${(f)pkgs}; do
+ pacman -Qs --color=auto "^${pkg}\$" || break
+ done
}
function pacdisowned() {
- local tmp db fs
- tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
- db=$tmp/db
- fs=$tmp/fs
+ local tmp_dir db fs
+ tmp_dir=$(mktemp --directory)
+ db=$tmp_dir/db
+ fs=$tmp_dir/fs
- mkdir "$tmp"
- trap 'rm -rf "$tmp"' EXIT
+ trap "rm -rf $tmp_dir" EXIT
pacman -Qlq | sort -u > "$db"
- find /bin /etc /lib /sbin /usr ! -name lost+found \
+ find /etc /usr ! -name lost+found \
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
comm -23 "$fs" "$db"
+
+ rm -rf $tmp_dir
}
alias pacmanallkeys='sudo pacman-key --refresh-keys'