Fora da caixa, a execução do PowerShell com o Cmder define a cor do primeiro plano como branco:

HojeinstaleioPowerShellCoreecrieiumanovatarefadoCmderexatamentecomoatarefapadrão"PowerShell as Admin", mas aponta para pwsh.exe em vez de Powershell.exe :
*C:\Program Files\PowerShell\pwsh.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command "Invoke-Expression '. ''%ConEmuDir%\..\profile.ps1'''"
Por motivos que não entendo, a cor do primeiro plano da janela do PowerShell Core é verde:

Enquantotentavaentenderomotivo,passeialgumtempomexendonoseguinteblocodecódigocontidoem \vendor\profile.ps1 :
[ScriptBlock]$CmderPrompt = {
$Host.UI.RawUI.ForegroundColor = "White"
Write-Host $pwd.ProviderPath -NoNewLine -ForegroundColor Green
checkGit($pwd.ProviderPath)
}
Aqui é onde fica esquisito. Se eu alterar essa instrução Write-Host para usar -ForegroundColor White em vez de Green , a cor de primeiro plano permanecerá permanentemente branca. Se eu alterá-lo para Red , a cor do primeiro plano ficará permanentemente vermelha. Ainda mais estranho: se eu deixar a instrução Write-Host original sozinha (usando o original Green color), mas adicionar uma instrução Write-Host adicional acima sem o parâmetro Foregroundcolor , a cor do primeiro plano permanecerá branca. É como se uma instrução Write-Host fosse necessária para manter o estado de $Host.UI.RawUI.ForegroundColor .
Alguém mais experimentando essa esquisitice? Estou faltando algo estúpido?
Eu tentei isso com o Cmder 1.3.5 e 1.3.6 - mesmo resultado.
Exemplos adicionais:
Resultados em white cor de primeiro plano:
[ScriptBlock]$CmderPrompt = {
$Host.UI.RawUI.ForegroundColor = "White"
Write-Host $pwd.ProviderPath -NoNewLine -ForegroundColor White
checkGit($pwd.ProviderPath)
}
Também resulta em white cor de primeiro plano:
[ScriptBlock]$CmderPrompt = {
$Host.UI.RawUI.ForegroundColor = "White"
Write-Host "blah"
Write-Host $pwd.ProviderPath -NoNewLine -ForegroundColor Green
checkGit($pwd.ProviderPath)
}
Resultados em red cor de primeiro plano:
[ScriptBlock]$CmderPrompt = {
$Host.UI.RawUI.ForegroundColor = "White"
Write-Host "blah" -ForegroundColor Red
Write-Host $pwd.ProviderPath -NoNewLine -ForegroundColor Green
checkGit($pwd.ProviderPath)
}