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

Let terminal consumers provide click handlers and pattern recognizers for buffer text #6969

Open
ZoeyR opened this issue Jul 17, 2020 · 5 comments
Labels
Area-Output Related to output processing (inserting text into buffer, retrieving buffer text, etc.) Area-WPFControl Things related to the WPF version of the TermControl Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.
Milestone

Comments

@ZoeyR
Copy link
Contributor

ZoeyR commented Jul 17, 2020

Description of the new feature/enhancement

Terminal consumers have a need to provide their own handlers for clickable regions of text in the terminal. For example: In VS this could enable clicking on build errors and opening up a document to the line and column called out in the error.

Proposed technical implementation details (optional)

There needs to be two additions to the terminal in order to enable this:

  • Consumers of the terminal must be able to provide a pattern that will identify regions of clickable text
  • Consumers will provide a callback that is called with the clicked text as a parameter
@ZoeyR ZoeyR added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Jul 17, 2020
@ghost ghost added Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Jul 17, 2020
@DHowett DHowett changed the title Let terminal consumers provide click handlers Let terminal consumers provide click handlers and pattern recognizers for buffer text Jul 17, 2020
@DHowett DHowett added this to the Terminal Backlog milestone Jul 31, 2020
@DHowett DHowett added Area-Output Related to output processing (inserting text into buffer, retrieving buffer text, etc.) Product-Terminal The new Windows Terminal. labels Jul 31, 2020
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Jul 31, 2020
@DHowett DHowett added Needs-Tag-Fix Doesn't match tag requirements and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Jul 31, 2020
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Jul 31, 2020
@DHowett
Copy link
Member

DHowett commented Jul 31, 2020

This will require some part of #204/#574, but is a distinct ask that control consumers be able to add matching conditions and intercept click events.

@DHowett
Copy link
Member

DHowett commented Jul 31, 2020

Triaged into BL, Spec needed.

@DHowett DHowett added the Area-WPFControl Things related to the WPF version of the TermControl label Jul 31, 2020
@vnagarnaik
Copy link

Would it be possible to work on this FR, now that the #204/#574 have been closed?

@zadjii-msft
Copy link
Member

zadjii-msft commented Sep 7, 2021

I don't see why not, but whatever design we come up with should appropriately account for #8849, #7562, #8294, #2671, et. al. in #5001.

Actually, should this just be duped to some combination of those?

@zadjii-msft
Copy link
Member

I'm leaving this open and separate from #8849 because of one key factor:

For example: In VS this could enable clicking on build errors and opening up a document to the line and column called out in the error.

The ControlInteractivity needs a way of raising these events up to the hosting application to figure out what to do with them, not just the TermControl. Right now the control only really recognizes "ShellExecute this URL" as an action. People using the WPFControl will need to be able to say "If you see this pattern, then raise some identifier type of event", and be able to handle that event.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Output Related to output processing (inserting text into buffer, retrieving buffer text, etc.) Area-WPFControl Things related to the WPF version of the TermControl Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

4 participants