Estou tentando criar meu próprio prompt do Powershell em $profile
.
Por enquanto, tenho o seguinte:
$ESC = [char]27
$RESET = "$ESC[0m"
$pwd = $executionContext.SessionState.Path.CurrentLocation
function prompt {
$fontColor = "2;192;192;192m"
$backColor = "2;64;96;128m"
$shdwColor = "2;32;48;64m"
$main = "$RESET$ESC[38;$fontColor$ESC[48;$backColor"
$shadow = "$RESET$ESC[38;$backColor$ESC[48;$shdwColor"
$end = "$RESET$ESC[38;$shdwColor"
# "$main $pwd $shadow $end ";
# "$main $pwd $shadow $end$RESET ";
# "$main $pwd $shadow $end$ESC[0m ";
# "$main $pwd $shadow $end$ESC[0 ";
# "$main $pwd $shadow $end $RESET";
# "$main $pwd $shadow $end $ESC[0m";
return "$main $pwd $shadow $end $ESC[0";
}
O que resulta da seguinte forma:
Quando eu digito ls
ou dir
(por exemplo), tudo funciona bem.
Entretanto, quando digito uma string, meu zero à direita (de $ESC[0
) aparece vermelho, e quando fecho a string, o zero muda para branco.
Isso também aparece quando coloco $RESET
ou $ESC[0m
em vez de $ESC[0
(mas com um "m" em vez de "0"), e quando os removo são os
que aparecem em vermelho...
Também podemos ver que no prompt padrão do Powershell, o ">" fica vermelho quando abrimos uma string:
Alguém já passou pelo mesmo problema ao fazer prompts e, se sim, como você removeu essa coloração ou como você se adaptou?
Obrigado !