MCPcopy Index your code
hub / github.com/coder/code-server / openInExistingInstance

Function openInExistingInstance

src/node/main.ts:78–120  ·  view source on GitHub ↗
(args: DefaultedArgs, socketPath: string)

Source from the content-addressed store, hash-verified

76}
77
78export const openInExistingInstance = async (args: DefaultedArgs, socketPath: string): Promise<void> => {
79 const pipeArgs: OpenCommandPipeArgs & { fileURIs: string[] } = {
80 type: "open",
81 folderURIs: [],
82 fileURIs: [],
83 forceReuseWindow: args["reuse-window"],
84 forceNewWindow: args["new-window"],
85 gotoLineMode: true,
86 }
87 for (let i = 0; i < args._.length; i++) {
88 const fp = args._[i]
89 if (await isDirectory(fp)) {
90 pipeArgs.folderURIs.push(fp)
91 } else {
92 pipeArgs.fileURIs.push(fp)
93 }
94 }
95 if (pipeArgs.forceNewWindow && pipeArgs.fileURIs.length > 0) {
96 logger.error("--new-window can only be used with folder paths")
97 process.exit(1)
98 }
99 if (pipeArgs.folderURIs.length === 0 && pipeArgs.fileURIs.length === 0) {
100 logger.error("Please specify at least one file or folder")
101 process.exit(1)
102 }
103 const vscode = http.request(
104 {
105 path: "/",
106 method: "POST",
107 socketPath,
108 },
109 (response) => {
110 response.on("data", (message) => {
111 logger.debug("got message from Code", field("message", message.toString()))
112 })
113 },
114 )
115 vscode.on("error", (error: unknown) => {
116 logger.error("got error from Code", field("error", error))
117 })
118 vscode.write(JSON.stringify(pipeArgs))
119 vscode.end()
120}
121
122export const runCodeServer = async (
123 args: DefaultedArgs,

Callers 1

entryFunction · 0.90

Calls 3

isDirectoryFunction · 0.90
requestMethod · 0.80
writeMethod · 0.80

Tested by

no test coverage detected