zsh Расширение подсказки: почему%b отменяет цвет фона?

Я использую Zsh 5.2 на MacOS, работаю в Terminal.app с установленным TERM xterm-256color,

При оформлении PROMPT я обнаружил, что в этой версии Zsh %b отменяет эффект предыдущего %K, Рассмотрим этот пример:

print -P '12%K{green}34%B56%b78%k90'

Это печатает только 3456 с зеленым фоном, а не 345678, как я бы ожидал.

Если я заменю%B...%b на%U...%u или%S...%s, 345678 получит зеленый фон. Кажется, что только% b неявно отменяет эффект%K.

Может кто-нибудь объяснить, почему это так?

1 ответ

Решение

Это ошибка в Zsh 5.2. Это было исправлено с этим коммитом

commit e87aa8941fd7e13b039bf4d1664c6dc39a09313a
Author: Oliver Kiddle <opk@zsh.org>
Date:   Fri Jul 8 22:28:15 2016 +0200

    38809: fix tracking of colour attributes and restore them when turning bold off

который был включен в Zsh 5.3.

Другие вопросы по тегам