Skip to content
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

Decouple terminal sequence construction from drivers #22

Closed
Tracked by #19
alexrp opened this issue Nov 20, 2021 · 1 comment
Closed
Tracked by #19

Decouple terminal sequence construction from drivers #22

alexrp opened this issue Nov 20, 2021 · 1 comment
Labels
area: drivers Issues related to the terminal drivers. area: io Issues related to core terminal I/O. area: samples Issues related to the sample projects. area: sequences Issues related to the control sequence APIs. type: feature Issues that are classified as feature requests.
Milestone

Comments

@alexrp
Copy link
Sponsor Member

alexrp commented Nov 20, 2021

Applications should be able to bundle a bunch of escape sequences and emit them all at once. This will require decoupling construction of escape sequences from the terminal driver.

@alexrp alexrp added type: feature Issues that are classified as feature requests. state: approved Feature requests and housekeeping tasks that have been approved. area: drivers Issues related to the terminal drivers. area: samples Issues related to the sample projects. area: api labels Nov 20, 2021
@alexrp alexrp self-assigned this Nov 20, 2021
@alexrp
Copy link
Sponsor Member Author

alexrp commented Nov 20, 2021

A consequence of this is that the driver will no longer be easily able to keep track of terminal state based on the methods/properties invoked by the application. To be fair, though, that state could already get out of sync if the application emitted escape sequences manually.

A better design here might be for the driver to hook into the input/output streams and have a minimal escape sequence parser to keep track of what the application is doing. This is quite a bit more involved than the current design, but it's also a lot more foolproof, and would allow us to also parse things like query responses (e.g. cursor position).

@alexrp alexrp added the area: sequences Issues related to the control sequence APIs. label Nov 28, 2021
@alexrp alexrp closed this as completed in fd39193 Nov 28, 2021
@alexrp alexrp added state: resolved area: io Issues related to core terminal I/O. and removed state: approved Feature requests and housekeeping tasks that have been approved. area: api labels Nov 28, 2021
@alexrp alexrp added this to the v1.0 milestone Dec 20, 2021
@alexrp alexrp removed their assignment Jan 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: drivers Issues related to the terminal drivers. area: io Issues related to core terminal I/O. area: samples Issues related to the sample projects. area: sequences Issues related to the control sequence APIs. type: feature Issues that are classified as feature requests.
Development

No branches or pull requests

1 participant