プロンプトの色をローテートする

Introduction of the ZSH に載ってるやりかただと乱数を使ってるために同じ色になったりしてちょっと不満だったので zshrc を以下のようにしてみた。

PROMPT_COLOR=32
precmd() { PROMPT_COLOR="$[32 + ($PROMPT_COLOR - 31) % 5]";}
PROMPT=$'%{^[[${PROMPT_COLOR}m%}%U%n@$HOST'"%u%{^[[m%} %(!.#.$) "
RPROMPT=$'%{^[[${PROMPT_COLOR}m%}[%~]%{^[[m%}'

これで、行が変わる毎にプロンプトの色が 32-37 の間でローテートしてくれていい感じになる。