From: Simon Ruderich Date: Sun, 7 Mar 2010 19:07:05 +0000 (+0100) Subject: zsh/rc: Improve script which colors stderr red. X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=b49af9250a0a049133eb65b918b7dc7a8bd2e583;p=config%2Fdotfiles.git zsh/rc: Improve script which colors stderr red. Thanks to Mikachu. --- diff --git a/zsh/rc b/zsh/rc index 6d1886d..8c76e62 100644 --- a/zsh/rc +++ b/zsh/rc @@ -380,9 +380,14 @@ TRAPINT() { } # Colorize stderr. Very useful when looking for errors. Thanks to -# http://gentoo-wiki.com/wiki/Zsh -exec 2>>(while read line; do - print '\e[91m'${(q)line}'\e[0m' > /dev/tty; print -n $'\0'; done &) +# http://gentoo-wiki.com/wiki/Zsh for the basic script and Mikachu in #zsh on +# Freenode (2010-03-07 04:03) for some improvements (-r, printf). It's not yet +# perfect and doesn't work with some interactive stderr output, but in those +# cases the E alias can be used as workaround. +exec 2>>(while read -r line; do + printf '\e[91m%s\e[0m\n' "$line" + print -n $'\0'; +done &) # Make sure aliases are expanded when using sudo. alias sudo='sudo '