33
44import { CancellationToken , commands , Position , ProviderResult , Range , TerminalLink , TerminalLinkContext ,
55 TerminalLinkProvider , Uri , window } from "vscode" ;
6+ import { sendInfo } from "vscode-extension-telemetry-wrapper" ;
67import { resolveSourceUri } from "./languageServerPlugin" ;
78
89export class JavaTerminalLinkProvder implements TerminalLinkProvider < IJavaTerminalLink > {
@@ -15,6 +16,7 @@ export class JavaTerminalLinkProvder implements TerminalLinkProvider<IJavaTermin
1516 * @return A list of terminal links for the given line.
1617 */
1718 public provideTerminalLinks ( context : TerminalLinkContext , _token : CancellationToken ) : ProviderResult < IJavaTerminalLink [ ] > {
19+ const isDebuggerTerminal : boolean = context . terminal . name . startsWith ( "Run:" ) || context . terminal . name . startsWith ( "Debug:" ) ;
1820 const regex = new RegExp ( "(\\sat\\s+)([\\w$\\.]+\\/)?(([\\w$]+\\.)+[<\\w$>]+)\\(([\\w-$]+\\.java:\\d+)\\)" ) ;
1921 const result : RegExpExecArray | null = regex . exec ( context . line ) ;
2022 if ( result && result . length ) {
@@ -26,6 +28,7 @@ export class JavaTerminalLinkProvder implements TerminalLinkProvider<IJavaTermin
2628 methodName : result [ 3 ] ,
2729 stackTrace,
2830 lineNumber : sourceLineNumber ,
31+ isDebuggerTerminal,
2932 } ] ;
3033 }
3134
@@ -36,6 +39,10 @@ export class JavaTerminalLinkProvder implements TerminalLinkProvider<IJavaTermin
3639 * Handle an activated terminal link.
3740 */
3841 public async handleTerminalLink ( link : IJavaTerminalLink ) : Promise < void > {
42+ sendInfo ( "" , {
43+ operationName : "handleJavaTerminalLink" ,
44+ isDebuggerTerminal : String ( link . isDebuggerTerminal ) ,
45+ } ) ;
3946 const uri = await resolveSourceUri ( link . stackTrace ) ;
4047 if ( uri ) {
4148 const lineNumber = Math . max ( link . lineNumber - 1 , 0 ) ;
@@ -56,4 +63,5 @@ interface IJavaTerminalLink extends TerminalLink {
5663 methodName : string ;
5764 stackTrace : string ;
5865 lineNumber : number ;
66+ isDebuggerTerminal : boolean ;
5967}
0 commit comments