diff options
author | Marvin Borner | 2019-03-05 01:09:01 +0100 |
---|---|---|
committer | Marvin Borner | 2019-03-05 01:09:01 +0100 |
commit | 55457187d18221e76bd12f0fb2cfab65c49b92fb (patch) | |
tree | 8db042d2d80710d54100c2709ad4332153ac848a /.oh-my-zsh/plugins/command-not-found |
Initial commit
Diffstat (limited to '.oh-my-zsh/plugins/command-not-found')
-rw-r--r-- | .oh-my-zsh/plugins/command-not-found/README.md | 31 | ||||
-rw-r--r-- | .oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh | 33 |
2 files changed, 64 insertions, 0 deletions
diff --git a/.oh-my-zsh/plugins/command-not-found/README.md b/.oh-my-zsh/plugins/command-not-found/README.md new file mode 100644 index 0000000..df62d1f --- /dev/null +++ b/.oh-my-zsh/plugins/command-not-found/README.md @@ -0,0 +1,31 @@ +# command-not-found plugin + +This plugin uses the command-not-found package for zsh to provide suggested packages to be installed if a command cannot be found. + +To use it, add `command-not-found` to the plugins array of your zshrc file: + +```zsh +plugins=(... command-not-found) +``` + +An example of how this plugin works in Ubuntu: +``` +$ mutt +The program 'mutt' can be found in the following packages: + * mutt + * mutt-kz + * mutt-patched +Try: sudo apt install <selected package> +``` + +### Supported platforms + +It works out of the box with the command-not-found packages for: + +- [Ubuntu](https://www.porcheron.info/command-not-found-for-zsh/) +- [Debian](https://packages.debian.org/search?keywords=command-not-found) +- [Arch Linux](https://wiki.archlinux.org/index.php/Pkgfile#Command_not_found) +- [macOS (Homebrew)](https://github.com/Homebrew/homebrew-command-not-found) +- [Fedora](https://fedoraproject.org/wiki/Features/PackageKitCommandNotFound) + +You can add support for other platforms by submitting a Pull Request. diff --git a/.oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh b/.oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh new file mode 100644 index 0000000..ba1262d --- /dev/null +++ b/.oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh @@ -0,0 +1,33 @@ +# Uses the command-not-found package zsh support +# as seen in https://www.porcheron.info/command-not-found-for-zsh/ +# this is installed in Ubuntu + +[[ -e /etc/zsh_command_not_found ]] && source /etc/zsh_command_not_found + +# 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 + +# Fedora command-not-found support +if [ -f /usr/libexec/pk-command-not-found ]; then + command_not_found_handler () { + runcnf=1 + retval=127 + [ ! -S /var/run/dbus/system_bus_socket ] && runcnf=0 + [ ! -x /usr/libexec/packagekitd ] && runcnf=0 + if [ $runcnf -eq 1 ] + then + /usr/libexec/pk-command-not-found $@ + retval=$? + fi + return $retval + } +fi + +# OSX command-not-found support +# https://github.com/Homebrew/homebrew-command-not-found +if type brew &> /dev/null; then + if brew command command-not-found-init > /dev/null 2>&1; then + eval "$(brew command-not-found-init)"; + fi +fi |