ohmyzsh/plugins/notfound/notfound.plugin.zsh
2011-12-01 01:21:11 -05:00

25 lines
688 B
Bash

if (( $+commands[pkgfile] )); then
command_not_found_handler() {
local pkg p
local pid ppid pgrp session tty_nr tpgid
# double check pkgfile exists
[[ ! -x /usr/bin/pkgfile ]] && return 127
# do not run when within a pipe or subshell
[[ ! -t 1 ]] && return 127
read pid cmd state ppid pgrp session tty_nr tpgid rest < /proc/self/stat
[[ $$ -eq $tpgid ]] && return 127
saveIFS=$IFS; IFS=$'\n';
pkg=($(pkgfile -b -v -- $1))
IFS=$saveIFS
if [[ -z $pkg ]] && return 127
echo "The command \"$1\" can be found in the following packages:"
for p in $pkg; echo " $p"
}
else
omz_log_msg "notfound: plugin requires pkgtools"
fi