Add support of respecting $PSStyle.OutputRendering on the remote host
#19601
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Summary
Using PowerShell remoting, if you set
$PSStyle.OutputRendering = 'plaintext'on the remote side, ANSI escape sequences are still being sent over the wire. Change is in the RemoteHostUserInterface using theGetOutputString()method to determine and strip ANSI escape sequences if required. Since this interface doesn't detect or support indicating if VirtualTerminal is supported, we always assume so so that ANSI can still be sent.Tested manually using
Enter-PSHostProcess.PR Context
Reported by Microsoft partner that ANSI is still being sent over the wire via PSRP even if
$PSStyle.OutputRendering = 'plaintext'is set in the remote server side. This is because only the local host was checking if ANSI should be removed. This change uses the same method.PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright headerWIP:or[ WIP ]to the beginning of the title (theWIPbot will keep its status check atPendingwhile the prefix is present) and remove the prefix when the PR is ready.(which runs in a different PS Host).