Home

Awesome

nice-exit-code plugin for oh-my-zsh

oh-my-zsh plugin that maps exit status code to human readable string.

For example :

Warning (1) :

~/.oh-my-zsh-custom/plugins/nice-exit-code ± ❯ git pull origin master:master
From github.com:bric3/nice-exit-code
 ! [rejected]        master     -> master  (non-fast-forward)
↪ WARN ~/.oh-my-zsh-custom/plugins/nice-exit-code ± ❯

Command no found (127) :

~/.oh-my-zsh-custom/plugins/nice-exit-code ± ❯ fail
zsh: command not found: fail
↪ CNOTFOUND ~/.oh-my-zsh-custom/plugins/nice-exit-code ± ❯

Interrupted (130)

...
* d4eb1c2 - (grin/master) adds grin config (2014-06-21 22:37:14 +0200) Brice Dutheil <brice.dutheil@gmail.com>
* 9447ccb - Adds oh-my-git PR link (2014-06-18 18:07:43 +0200) Brice Dutheil <brice.dutheil@gmail.com>

↪ INT ~ ○ ❯

There's no real specifications for status codes, however some are commonly admitted for most programs, the mapping is inspired by this script

This function replaces the exit status number with its associated signal name name. Note we can't know for sure if these return codes are actually caused by the signals, but usually they are, since few programs output exit codes superior to 128 for error conditions. If no matching codes then output the raw code.

Install it

This install assume the current shell is ZSH with oh-my-zsh already installed.

Install a clone of this repository in oh-my-zsh plugin custom folder. *Note it is possible to change the default custom directory of oh-my-zsh by redefining the $ZSH_CUSTOM in the .zshrc *

mkdir -p $ZSH_CUSTOM/plugins
git clone git@github.com:bric3/nice-exit-code.git $ZSH_CUSTOM/plugins/nice-exit-code

This will make oh-my-git available as a plugin for oh-my-zsh. Now you still need to activate it. In your .zshrc just activate the plugin by adding oh-my-git to the plugins variable :

plugins=(
 # custom plugins
 nice-exit-code
 oh-my-git

 # bundled plugins
 git
 osx
 mosh
 ...

Then to use it in a theme just add $(nice_exit_code) anywhere in your ZSH shell prompt.

PROMPT='$(nice_exit_code) %n@%m > '