Ошибка в коде, чтобы поставить stderr красным цветом в Zsh? - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть код для выделения stderr красным цветом в Zsh; Я скопировал его из https://github.com/fniessen/shell-leuven#stderr -in-red

Однако происходят странные вещи: красный иногда «ломается» стандартным выводом, а затем продолжается до конца экрана (см. последнюю строку, где «Уже в актуальном состоянии» зажато между регионами, выделенными красным):

enter image description here

(та же странная вещь в первый блок, где в конце блока есть ложная красная линия.)

Как решить эту проблему? Что-то не так в коде?

PS - Пример кода для вышеприведенного вывода:

BLU=$(tput bold)$(tput setaf 4)
reset=$(tput sgr0)

find . -maxdepth 5 -name ".git" -type d | rev | cut -c 6- | rev | sed "s#^\./##" |
    while IFS=$'\n' read -r repo; do
        printf '%s\n' "Current repository: ${BLU}$repo${reset}"
        git -C "$repo" remote update --prune
        git -C "$repo" merge --ff-only "@{u}"
        echo
    done
...