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.