Private/Write-RenderedText.ps1
|
function Write-RenderedText { param( [AllowNull()] [string]$Text, [switch]$NoAnsiOutput ) $outputText = if ($null -ne $Text) { [string]$Text } else { '' } if ($NoAnsiOutput) { $outputText = Remove-ColorScriptAnsiSequence -Text $outputText } try { & $script:ConsoleWriteDelegate $outputText $requiresNewLine = $true if ($outputText) { $requiresNewLine = -not $outputText.EndsWith("`n") } if ($requiresNewLine) { & $script:ConsoleWriteDelegate ([Environment]::NewLine) } } catch [System.IO.IOException] { Write-Verbose 'Console handle unavailable during cached render; writing rendered text to the pipeline.' Write-Output $outputText } } |