Skip to content

Commit e243f6e

Browse files
committed
Return early when forking to reduce indentation
1 parent c10450c commit e243f6e

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

src/node/vscode.ts

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)