#!/bin/zsh

grep -q "void" /etc/os-release || return

hashafter xi
hashafter xbps-remove


xq() {
	xbps-query -Rs "$@" | grep -v -- '-32bit'
}
xqn() {
	if [[ -z $1 || -n $2 ]]; then
		<<-HERE
		Usage: xqn NAME
		Search for NAME only in package names
		HERE
	else
		xbps-query -Rs $1 | awk "\$2 ~ /$1/ { print }"
	fi
}

alias xfiles="xbps-query -f"

xbps-install() {
	local logfile=$(mktemp)
	sudo script --return --quiet -c "/usr/bin/xbps-install $*" $logfile
	local ret=$?
	grep -oP ".*(?=: post-install message)" < $logfile \
		| ifne xargs -L 1 xbps-query -p install-msg
	hash -r
	return $ret
}

xupdate() {
	if [[ -z "$@" ]]; then
		xbps-install -Su
		if [[ $? == 16 ]]; then
			xbps-install -Syu xbps
			xupdate
		fi
	else
		xbps-install -SA "$@"
		xcheckupdates
	fi
}

xowner() {
	xbps-query -Ro "*${1}*"
}


sv() {
	command sv "$@"
	ret=$?
	if [[ "$1" == "up" ]]; then
		shift
		sleep 0.5
		command sv check "$@"
	fi
	return $ret
}

sv-manage() {
	action=$1
	shift
	case "$action" in
		add)
			for service in "$@"; do
				ln -s ${SVDIR_TEMPLATES:-/etc/sv}/${service:s#/##} ${SVDIR:-/var/service}
			done
			;;
		remove|rm)
			for service in "$@"; do
				rm  ${SVDIR:-/var/service}/${service:s#/##}
			done
			;;
	esac
}

# renamed package binaries
alias ts=moreutils_ts