#!/bin/zsh CLEAR="\e[2K\e[${COLUMNS}D" printc() { printf "$CLEAR\e[32m%s\e[0m" "$*" >&2 } revdep() { printc "> $1" parents=$(xbps-query -X "$1") if [[ -z $parents ]]; then echo $1 else while IFS= read -r i; do revdep $i done <<<"$parents" fi } result=$(revdep "$1") printc sort -u <<<"$result"