diff --git a/.config/zsh/functions/die b/.config/zsh/functions/die new file mode 100755 index 0000000..9c1711d --- /dev/null +++ b/.config/zsh/functions/die @@ -0,0 +1,18 @@ +#!/usr/bin/env zsh +# Exit with the error code of the last command and an optional error message in +# bold pink. The error code is overridden by the first argument, if it is a +# number. Put this in ${fpath} and load it with `autoload -U die`. + +local errorcode=${?} +if [[ -v 1 && ${1} =~ '^[0-9]+$' ]]; then + errorcode=${1} + shift +fi + +if [[ -v 1 ]]; then + print -Pnu2 "%B%F{201}" + print -u2 "${@}" + print -Pnu2 "%f%b" +fi + +exit ${errorcode}