@@ -74,29 +74,31 @@ export class VscodeProvider {
74
74
}
75
75
76
76
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
+ }
88
80
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" ) )
98
98
} )
99
- }
99
+ vscode . once ( "error" , reject )
100
+ vscode . once ( "exit" , ( code ) => reject ( new Error ( `VS Code exited unexpectedly with code ${ code } ` ) ) )
101
+ } )
100
102
101
103
return this . _vscode
102
104
}
0 commit comments