Я создал файл конфигурации powershell, который изменяет подсказку для добавления какого-либо цвета (в зависимости от таких вещей, как git branch и т.д.)
Это выглядит хорошо, пока я не запустил консольную программу, такую как git, которая также выводит цветной текст. После этого кажется, что Powershell решает дословно вывести управляющие коды.
Проще понять с помощью скриншота:
- вывод перед запуском git, обратите внимание на цветной вывод текста "colorized>"
- это вывод после того, как я запустил git, обратите внимание, что escape-коды выводятся дословно
Вот мой файл конфигурации Powershell:
function prompt {
"" + [char]0x001b + "[35m colorized >" + [char]0x001b + "[0m"
}
Есть ли хитрость для повторного включения функциональности кодов ANSI, или это всего лишь какая-то особенность того, как Powershell или git выводит текст? Обратите внимание, что git - это всего лишь пример, я нашел несколько программ, которые это испортили, но не все из них.
MSBuild, например, работает просто отлично.