Colorize o prompt zsh com base no último código de retorno

Pode ser útil obter feedback visual com base no código de retorno do comando executado mais recentemente. Este é meu prompt para zsh:

PS1='%m:%h $(current_dir_path) %(?.$fg[green].$fg[red])%#$reset_color '

O que se traduz em:

cafayate:779 ~ % 

O %normalmente será verde, mas se o último comando não vai ser vermelho:

Cenário

A “mágica” acontece dentro do %(...)bloco:
antes do primeiro ponto vem a condição,
antes do segundo ponto o truegalho
e após o segundo ponto, o falsegalho.