Zsh prompt

Начиная с macOS Catalina основной командной оболочкой стал Z Shell, он же Zsh.

Я много лет использовать неплохой prompt для bash

export PS1="\$(if [[ \$? == 0 ]]; then echo \"\[\033[01;32m\]\342\234\223\"; else echo \"\[\033[01;31m\]\342\234\227\"; fi) \[$(tput bold)\]\[$(tput setaf 6)\]\t \[$(tput setaf 2)\][\[$(tput setaf 3)\]\u\[$(tput setaf 1)\]@\[$(tput setaf 7)\]\h \[$(tput setaf 6)\]\w\[$(tput setaf 2)\]]\[$(tput setaf 4)\]\n\\$\[$(tput sgr0)\] "

Выглядит это так:

Однако, синтаксис zsh существенно отличается. Поэтому пришлось вручную переписать.

Тот же prompt для zsh:

PROMPT=$'%B%(?.%F{green}✔.%F{red}✘) %F{cyan}%* %F{green}[%(!.%F{red}.%F{yellow})%n%F{red}@%F{white}%m%F{white} %F{cyan}%~%F{green}] \n%F{blue}%(!.#.$) %f%b'

И, кстати, компактнее.