@@ -14,6 +14,8 @@ let guestPid: string;
1414let guestPlotView : string ;
1515export let guestGlobalenv : unknown ;
1616export let guestResDir : string ;
17+ let rVer : string ;
18+ let info : IRequest [ 'info' ] ;
1719
1820// Browser Vars
1921// Used to keep track of shared browsers
@@ -37,6 +39,12 @@ interface IRequest {
3739 requestPath ?: string ;
3840 uuid ?: number ;
3941 tempdir ?: string ;
42+ version ?: string ;
43+ info ?: {
44+ version : string ,
45+ command : string ,
46+ start_time : string
47+ } ;
4048}
4149
4250export function initGuest ( context : vscode . ExtensionContext ) : void {
@@ -45,7 +53,7 @@ export function initGuest(context: vscode.ExtensionContext): void {
4553 const sessionStatusBarItem = vscode . window . createStatusBarItem ( vscode . StatusBarAlignment . Right , 1000 ) ;
4654 sessionStatusBarItem . command = 'r.attachActiveGuest' ;
4755 sessionStatusBarItem . text = 'Guest R: (not attached)' ;
48- sessionStatusBarItem . tooltip = 'Attach to Host Terminal ' ;
56+ sessionStatusBarItem . tooltip = 'Click to attach to host terminal ' ;
4957 sessionStatusBarItem . show ( ) ;
5058 context . subscriptions . push (
5159 sessionStatusBarItem ,
@@ -58,6 +66,7 @@ export function initGuest(context: vscode.ExtensionContext): void {
5866export function detachGuest ( ) : void {
5967 console . info ( '[Guest Service] detach guest from workspace' ) ;
6068 sessionStatusBarItem . text = 'Guest R: (not attached)' ;
69+ sessionStatusBarItem . tooltip = 'Click to attach to host terminal' ;
6170 guestGlobalenv = undefined ;
6271 rWorkspace ?. refresh ( ) ;
6372}
@@ -96,8 +105,8 @@ export async function updateGuestRequest(file: string, force: boolean = false):
96105 guestPid = String ( request . pid ) ;
97106 guestPlotView = String ( request . plot ) ;
98107 console . info ( `[updateGuestRequest] attach PID: ${ guestPid } ` ) ;
99- sessionStatusBarItem . text = `Guest R: ${ guestPid } ` ;
100- sessionStatusBarItem . show ( ) ;
108+ sessionStatusBarItem . text = `Guest R ${ rVer } : ${ guestPid } ` ;
109+ sessionStatusBarItem . tooltip = ` ${ info . version } \nProcess ID: ${ guestPid } \nCommand: ${ info . command } \nStart time: ${ info . start_time } \nClick to attach to host terminal.` ;
101110 break ;
102111 }
103112 case 'browser' : {
@@ -125,8 +134,12 @@ export async function updateGuestRequest(file: string, force: boolean = false):
125134 } else {
126135 guestPid = String ( request . pid ) ;
127136 guestPlotView = String ( request . plot ) ;
137+ rVer = String ( request . version ) ;
138+ info = request . info ;
139+
128140 console . info ( `[updateGuestRequest] attach PID: ${ guestPid } ` ) ;
129- sessionStatusBarItem . text = `Guest R: ${ guestPid } ` ;
141+ sessionStatusBarItem . text = `Guest R ${ rVer } : ${ guestPid } ` ;
142+ sessionStatusBarItem . tooltip = `${ info . version } \nProcess ID: ${ guestPid } \nCommand: ${ info . command } \nStart time: ${ info . start_time } \nClick to attach to host terminal.` ;
130143 sessionStatusBarItem . show ( ) ;
131144 }
132145 }
0 commit comments