Initial commit: xif
This commit is contained in:
commit
cbe21d0f6a
|
@ -0,0 +1,38 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ -z "$@" ] && echo "xif: empty search term" && exit 1
|
||||
|
||||
filter='/^.[i*]. /d'
|
||||
filter1='s/^...\? //'
|
||||
filter2='s/-[^- ]* / /'
|
||||
|
||||
# when available, use xrs(1)
|
||||
# fallback to xbps-query -Rs
|
||||
XRS="xbps-query -Rs"
|
||||
command -v xrs >/dev/null && XRS="xrs"
|
||||
# when available, use xi(1)
|
||||
# fallback to xbps-install
|
||||
XI="xbps-install"
|
||||
command -v xi >/dev/null && XI="xi"
|
||||
|
||||
install() {
|
||||
sudo $XI "$@"
|
||||
}
|
||||
|
||||
pkgs() {
|
||||
$XRS "$@" | sed "$filter;$filter1;$filter2" | fzf --layout=reverse -m |\
|
||||
cut -d' ' -f1 | tr '\n' ' ' | sed "s/ $//"
|
||||
}
|
||||
|
||||
PKGS="$(pkgs "$@")"
|
||||
[ -z $PKGS ] && exit 130
|
||||
|
||||
install -S "$PKGS"
|
||||
status=$?
|
||||
if [ $status -eq 16 ]; then
|
||||
install -u xbps &&
|
||||
install -S $(pkgs "$@")
|
||||
else
|
||||
exit $status
|
||||
fi
|
||||
|
Loading…
Reference in New Issue