Как установить подсказку в зависимости от кода выхода предыдущей команды в zsh? - PullRequest
0 голосов
/ 07 марта 2020

Хочу, если предыдущая удалась

PROMPT="%F{46}(^v^)%f %F{67}%n%f%F{61}@%f%F{70}%m%f %F{116}in %f%F{65}%~%f%B%F{39} ->%f%b "

Если нет

PROMPT="%F{9}(\`O´)%f %F{67}%n%f%F{61}@%f%F{70}%m%f %F{116}in %f%F{65}%~%f%B%F{39} ->%f%b "

1 Ответ

1 голос
/ 07 марта 2020

zsh имеет условный escape, доступный для использования в подсказках. Он имеет общую форму

%(x.true.false)

, где x - это условие для проверки одного символа, а true и false - произвольные строки, в которые будет расширена конструкция %(...), когда это условие правда или ложь, соответственно. В вашем случае символ условия будет ?, поэтому вы можете написать

PROMPT="%(?.%F{46}(^v^)%f.%F{9}(\`O´)%f) %F{67}..."
...