@@ -74,29 +74,31 @@ export class VscodeProvider {
7474 }
7575
7676 private fork ( ) : Promise < cp . ChildProcess > {
77- if ( ! this . _vscode ) {
78- logger . debug ( "forking vs code..." )
79- const vscode = cp . fork ( path . join ( this . serverRootPath , "fork" ) )
80- vscode . on ( "error" , ( error ) => {
81- logger . error ( error . message )
82- this . _vscode = undefined
83- } )
84- vscode . on ( "exit" , ( code ) => {
85- logger . error ( `VS Code exited unexpectedly with code ${ code } ` )
86- this . _vscode = undefined
87- } )
77+ if ( this . _vscode ) {
78+ return this . _vscode
79+ }
8880
89- this . _vscode = new Promise ( ( resolve , reject ) => {
90- vscode . once ( "message" , ( message : ipc . VscodeMessage ) => {
91- logger . debug ( "got message from vs code" , field ( "message" , message ) )
92- return message . type === "ready"
93- ? resolve ( vscode )
94- : reject ( new Error ( "Unexpected response waiting for ready response" ) )
95- } )
96- vscode . once ( "error" , reject )
97- vscode . once ( "exit" , ( code ) => reject ( new Error ( `VS Code exited unexpectedly with code ${ code } ` ) ) )
81+ logger . debug ( "forking vs code..." )
82+ const vscode = cp . fork ( path . join ( this . serverRootPath , "fork" ) )
83+ vscode . on ( "error" , ( error ) => {
84+ logger . error ( error . message )
85+ this . _vscode = undefined
86+ } )
87+ vscode . on ( "exit" , ( code ) => {
88+ logger . error ( `VS Code exited unexpectedly with code ${ code } ` )
89+ this . _vscode = undefined
90+ } )
91+
92+ this . _vscode = new Promise ( ( resolve , reject ) => {
93+ vscode . once ( "message" , ( message : ipc . VscodeMessage ) => {
94+ logger . debug ( "got message from vs code" , field ( "message" , message ) )
95+ return message . type === "ready"
96+ ? resolve ( vscode )
97+ : reject ( new Error ( "Unexpected response waiting for ready response" ) )
9898 } )
99- }
99+ vscode . once ( "error" , reject )
100+ vscode . once ( "exit" , ( code ) => reject ( new Error ( `VS Code exited unexpectedly with code ${ code } ` ) ) )
101+ } )
100102
101103 return this . _vscode
102104 }
0 commit comments