Support any number of leading zeros in VT parameter values #1191
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.
Summary of the Pull Request
Adds support for any number of leading zeros in the parameter values of VT escape sequences. Tested manually, with Vttest, and with unit tests.
PR Checklist
Detailed Description of the Pull Request / Additional comments
In the
StateMachine::_ActionParamandStateMachine::_ActionOscParammethods, the parser would treat any parameter number with more than 5 digits as being the maximum value. This PR add checks which prevent leading zeros from contributing to that count, so the 5 digit limit now only applies to significant digits.Validation Steps Performed
printf "\033[0000000032mGREEN?\033[m\n".Microsoft::Console::VirtualTerminal::OutputEngineTestfor both the CSI and OSC sequences.