mirror of https://github.com/coder/code-server.git
Allow installing extensions from the CLI while $VSCODE_IPC_HOOK_CLI
Closes #2083
This commit is contained in:
parent
e998dc1e82
commit
cc5ed1eb57
|
@ -166,6 +166,28 @@ async function entry(): Promise<void> {
|
||||||
console.log(version, commit)
|
console.log(version, commit)
|
||||||
}
|
}
|
||||||
process.exit(0)
|
process.exit(0)
|
||||||
|
} else if (args["list-extensions"] || args["install-extension"] || args["uninstall-extension"]) {
|
||||||
|
logger.debug("forking vs code cli...")
|
||||||
|
const vscode = cp.fork(path.resolve(__dirname, "../../lib/vscode/out/vs/server/fork"), [], {
|
||||||
|
env: {
|
||||||
|
...process.env,
|
||||||
|
CODE_SERVER_PARENT_PID: process.pid.toString(),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vscode.once("message", (message: any) => {
|
||||||
|
logger.debug("Got message from VS Code", field("message", message))
|
||||||
|
if (message.type !== "ready") {
|
||||||
|
logger.error("Unexpected response waiting for ready response")
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
const send: CliMessage = { type: "cli", args }
|
||||||
|
vscode.send(send)
|
||||||
|
})
|
||||||
|
vscode.once("error", (error) => {
|
||||||
|
logger.error(error.message)
|
||||||
|
process.exit(1)
|
||||||
|
})
|
||||||
|
vscode.on("exit", (code) => process.exit(code || 0))
|
||||||
} else if (process.env.VSCODE_IPC_HOOK_CLI) {
|
} else if (process.env.VSCODE_IPC_HOOK_CLI) {
|
||||||
const pipeArgs: OpenCommandPipeArgs = {
|
const pipeArgs: OpenCommandPipeArgs = {
|
||||||
type: "open",
|
type: "open",
|
||||||
|
@ -217,28 +239,6 @@ async function entry(): Promise<void> {
|
||||||
})
|
})
|
||||||
vscode.write(JSON.stringify(pipeArgs))
|
vscode.write(JSON.stringify(pipeArgs))
|
||||||
vscode.end()
|
vscode.end()
|
||||||
} else if (args["list-extensions"] || args["install-extension"] || args["uninstall-extension"]) {
|
|
||||||
logger.debug("forking vs code cli...")
|
|
||||||
const vscode = cp.fork(path.resolve(__dirname, "../../lib/vscode/out/vs/server/fork"), [], {
|
|
||||||
env: {
|
|
||||||
...process.env,
|
|
||||||
CODE_SERVER_PARENT_PID: process.pid.toString(),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
vscode.once("message", (message: any) => {
|
|
||||||
logger.debug("Got message from VS Code", field("message", message))
|
|
||||||
if (message.type !== "ready") {
|
|
||||||
logger.error("Unexpected response waiting for ready response")
|
|
||||||
process.exit(1)
|
|
||||||
}
|
|
||||||
const send: CliMessage = { type: "cli", args }
|
|
||||||
vscode.send(send)
|
|
||||||
})
|
|
||||||
vscode.once("error", (error) => {
|
|
||||||
logger.error(error.message)
|
|
||||||
process.exit(1)
|
|
||||||
})
|
|
||||||
vscode.on("exit", (code) => process.exit(code || 0))
|
|
||||||
} else {
|
} else {
|
||||||
wrap(() => main(args, cliArgs, configArgs))
|
wrap(() => main(args, cliArgs, configArgs))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue