scripts/void/xqq

47 lines
1.1 KiB
Plaintext
Raw Normal View History

2020-07-29 12:58:50 +00:00
#!/bin/zsh
zparseopts -D -E i=installed -installed=installed
if [[ $installed ]]; then
filter-installed() {
grep -e '^\[\*\]'
}
else
filter-installed() {
cat
}
fi
package=$(
2020-07-29 12:58:50 +00:00
xbps-query -Rs "$*" \
| filter-installed \
| fzf \
| cut -d' ' -f 2 \
)
description=$(xbps-query -R $package)
colored_description=$(mktemp)
2020-07-29 12:58:50 +00:00
{
grep '^pkgname:' <<<$description
grep '^pkgver:' <<<$description
grep '^short_desc:' <<<$description
grep -v '^pkgname:\|^pkgver:\|^short_desc:' <<<$description
}| sed -e 's/^\([^:]*:\)/\x1B[33m\1\x1B[0m/' > $colored_description
action=$(
printf "%s\n" details install remove hold unhold 'list files' 'set to auto' 'set to manual'| fzf --header "Actions for $package" --preview "cat $colored_description"
)
case $action in
details) cat $colored_description ;;
install) sudo xbps-install $package ;;
remove) sudo xbps-remove $package ;;
hold) sudo xbps-pkgdb -m hold $package ;;
unhold) sudo xbps-pkgdb -m unhold $package ;;
'list files') xbps-query -Rf $package ;;
'set to auto') sudo xbps-pkgdb -m auto $package ;;
'set to manual') sudo xbps-pkgdb -m manual $package ;;
*) echo "unknown action: $action"
esac