-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for private options in DSR queries #14290
Conversation
@@ -209,7 +209,7 @@ namespace Microsoft::Console::VirtualTerminal | |||
class FlaggedEnumValue | |||
{ | |||
public: | |||
static constexpr VTInt mask{ WI_StaticAssertSingleBitSet(Flag) }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, was this causing trouble? Sorry!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, that was a bit confusing. I couldn't figure out why it would suddenly have a problem with that, but when Flag
is 0 that doesn't count as a single bit. I'm assuming it didn't complain before because we hadn't actually used the ANSI modes yet.
@msftbot merge this in 10 minutes |
Hello @carlos-zamora! Because you've given me some instructions on how to help merge this pull request, I'll be modifying my merge approach. Here's how I understand your requirements for merging this pull request:
If this doesn't seem right to you, you can tell me to cancel these instructions and use the auto-merge policy that has been configured for this repository. Try telling me "forget everything I just told you". |
🎉 Handy links: |
The original implementation of the Device Status Report sequence was
only capable of handling ANSI status queries. This PR adds the ability
to respond to private DEC queries as well.
To prove it's working as intended, I've also included support for the
DEC extended cursor position report (
DECXCPR
), which is essentiallythe same as the ANSI cursor position report, but with an additional
parameter indicating the page number. Until we support paging, though,
that value is just hardcoded to 1.
References
The method for distinguishing between ANSI options and the private DEC
options is based on the updates made to the
SM
/RM
mode sequences inPR #8469.
Validation Steps Performed
I've added a couple of unit tests covering the
DECXCPR
report, andalso manually confirmed we now pass the Extended Cursor-Position test
in vttest.
Closes #14206