Preserve $? of wrapped widgets.

This commit is contained in:
Daniel Shahaf 2015-09-05 21:44:11 +00:00
parent eaffd88793
commit f78919d941

View file

@ -42,11 +42,11 @@ typeset -ga ZSH_HIGHLIGHT_HIGHLIGHTERS
# This function is supposed to be called whenever the ZLE state changes.
_zsh_highlight()
{
setopt localoptions nowarncreateglobal
# Store the previous command return code to restore it whatever happens.
local ret=$?
setopt localoptions nowarncreateglobal
# Do not highlight if there are more than 300 chars in the buffer. It's most
# likely a pasted command or a huge list of files in that case..
[[ -n ${ZSH_HIGHLIGHT_MAXLENGTH:-} ]] && [[ $#BUFFER -gt $ZSH_HIGHLIGHT_MAXLENGTH ]] && return $ret