Adopt terminal link provider API#90336
Conversation
src/vs/workbench/contrib/terminal/browser/terminalLinkHandler.ts
Outdated
Show resolved
Hide resolved
3e468a9 to
623c8af
Compare
|
I reverted the old changes and pushed a new solution that doesn't modify |
|
Merged in so xterm is on latest: b4c19fd |
|
I updated the branch and fixed the issues with widget hovering so that it works reliably. |
|
@jmbockhorst thanks and sorry about the delay, I was busy in the week I would try to merge (debt week) due to launching settings sync. Hopefully I'll finish this iteration's work early or get to it early April. I haven't forgotten 😃 |
|
I merged from master and did my best to fix the conflicts but I'm seeing the activation not happen when cmd+clicking (tested on mac). See the activate logs in the gif below, the first one worked but the other 3 didn't: The reason was because I also notice the link seems to get disposed when you click it, or just the rendering part of it anyway. We definitely want to keep the underline when clicked. |
|
It could be related to this new feature if this wasn't happening before: vscode/src/vs/workbench/contrib/terminal/browser/terminalLinkHandler.ts Lines 254 to 275 in 433380c |
|
Also can't seem to repro this in xterm.js' demo so not sure what's going on. |
|
Ah I figured it out, |
|
Created xtermjs/xterm.js#2836 |
|
Are there still problems with link activation in the other renderers? |
|
@jmbockhorst just webgl, will update vscode's xterm with the fix to xtermjs/xterm.js#2836 soon |
Diff: xtermjs/xterm.js@e05bf87...aecfb57 Contains webgl fix for #90336
|
Ok that seems to have fixed it 🎉 |
Currently when a cell is trimmed due to a wide char wrapping isn't covered
There was a problem hiding this comment.
CI passed, merging. Thanks a lot for all the work here @jmbockhorst, this is much better than it was for web links, just need to close the functionality gap and we should be good to switch this over.
|
Thank you for all of the help and guidance along the way! |





This adopts the new xterm.js link provider API and uses VS Code's shared link detection system. Added a new setting
terminal.integrated.experimentalLinkProviderto control this behavior. Closes #90298.Also, it was very complicated figuring out what was 0-based or 1-based and what to use where, so hopefully that can be cleared up with xtermjs/xterm.js#2706.