2010-10-25 21:02:16 +00:00
|
|
|
# Uses the command-not-found package zsh support
|
2018-08-07 18:42:02 +00:00
|
|
|
# as seen in https://www.porcheron.info/command-not-found-for-zsh/
|
2010-10-25 21:02:16 +00:00
|
|
|
# this is installed in Ubuntu
|
|
|
|
|
2020-12-05 14:42:45 +00:00
|
|
|
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
|
|
|
|
function command_not_found_handler {
|
|
|
|
# check because c-n-f could've been removed in the meantime
|
|
|
|
if [ -x /usr/lib/command-not-found ]; then
|
|
|
|
/usr/lib/command-not-found -- "$1"
|
|
|
|
return $?
|
|
|
|
elif [ -x /usr/share/command-not-found/command-not-found ]; then
|
|
|
|
/usr/share/command-not-found/command-not-found -- "$1"
|
|
|
|
return $?
|
|
|
|
else
|
|
|
|
printf "zsh: command not found: %s\n" "$1" >&2
|
|
|
|
return 127
|
|
|
|
fi
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
fi
|
2013-04-14 05:07:17 +00:00
|
|
|
|
|
|
|
# Arch Linux command-not-found support, you must have package pkgfile installed
|
|
|
|
# https://wiki.archlinux.org/index.php/Pkgfile#.22Command_not_found.22_hook
|
|
|
|
[[ -e /usr/share/doc/pkgfile/command-not-found.zsh ]] && source /usr/share/doc/pkgfile/command-not-found.zsh
|
2015-01-10 14:38:49 +00:00
|
|
|
|
|
|
|
# Fedora command-not-found support
|
|
|
|
if [ -f /usr/libexec/pk-command-not-found ]; then
|
2020-12-05 14:42:45 +00:00
|
|
|
command_not_found_handler() {
|
2015-01-10 14:38:49 +00:00
|
|
|
runcnf=1
|
|
|
|
retval=127
|
|
|
|
[ ! -S /var/run/dbus/system_bus_socket ] && runcnf=0
|
|
|
|
[ ! -x /usr/libexec/packagekitd ] && runcnf=0
|
2020-12-05 14:42:45 +00:00
|
|
|
if [ $runcnf -eq 1 ]; then
|
2015-01-10 14:38:49 +00:00
|
|
|
/usr/libexec/pk-command-not-found $@
|
|
|
|
retval=$?
|
|
|
|
fi
|
|
|
|
return $retval
|
|
|
|
}
|
|
|
|
fi
|
2015-10-22 16:15:14 +00:00
|
|
|
|
2021-04-08 05:59:57 +00:00
|
|
|
# macOS command-not-found support
|
2015-10-22 16:15:14 +00:00
|
|
|
# https://github.com/Homebrew/homebrew-command-not-found
|
2021-04-08 05:59:57 +00:00
|
|
|
HB_CNF_HANDLER_SUFFIX="Library/Taps/homebrew/homebrew-command-not-found/handler.sh"
|
|
|
|
if [[ -s "/opt/homebrew/$HB_CNF_HANDLER_SUFFIX" ]]; then
|
|
|
|
source "/opt/homebrew/$HB_CNF_HANDLER_SUFFIX"
|
|
|
|
elif [[ -s "/usr/local/Homebrew/$HB_CNF_HANDLER_SUFFIX" ]]; then
|
|
|
|
source "/usr/local/Homebrew/$HB_CNF_HANDLER_SUFFIX"
|
2015-10-22 16:15:14 +00:00
|
|
|
fi
|
2019-03-25 21:19:46 +00:00
|
|
|
|
|
|
|
# NixOS command-not-found support
|
|
|
|
if [ -x /run/current-system/sw/bin/command-not-found ]; then
|
2020-12-05 14:42:45 +00:00
|
|
|
command_not_found_handler() {
|
2019-03-25 21:19:46 +00:00
|
|
|
/run/current-system/sw/bin/command-not-found $@
|
|
|
|
}
|
|
|
|
fi
|