fix(block): removing ANSI coloring control sequences from message output #1124
+3
−0
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.
Description
Noice assumes users on windows will be using the default cmd.exe shell.
As someone who does all windows scripting through powershell, I have set configured my neovim shell to be pwsh
When using Powershell 7, colors are pushed to the output with the default variable
which colors the terminal screen using ANSI control characters
Example:
**^[[30;1m **
When reading the terminal output, since these characters are being UTF8 encoded
through the shell piping, they are showing up in the notify message output.
It may be possible to turn the OutputRendering off, however, then there would
be no coloring whatsoever.
Resolution
In the same place where CR and LF are removed, add an extra check for ANSI characters
Screenshots
Working with CMD
Same command with pwsh as neovim shell
After filtering ANSI characters