From 92c126d87564e671cefc4cf9c53ba9db182787fa Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Sun, 21 Sep 2025 11:25:47 -0500 Subject: [PATCH] fix: lsp spawn logic (#2723) --- packages/opencode/src/lsp/index.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/packages/opencode/src/lsp/index.ts b/packages/opencode/src/lsp/index.ts index 2f460f8e..bc83c8f7 100644 --- a/packages/opencode/src/lsp/index.ts +++ b/packages/opencode/src/lsp/index.ts @@ -126,13 +126,22 @@ export namespace LSP { result.push(match) continue } - log.info("spawning lsp server", { serverID: server.id }) - const handle = await server.spawn(root).catch((err) => { - s.broken.add(root + server.id) - log.error(`Failed to spawn LSP server ${server.id}`, { error: err }) - return undefined - }) + const handle = await server + .spawn(root) + .then((h) => { + if (h === undefined) { + s.broken.add(root + server.id) + } + return h + }) + .catch((err) => { + s.broken.add(root + server.id) + log.error(`Failed to spawn LSP server ${server.id}`, { error: err }) + return undefined + }) if (!handle) continue + log.info("spawned lsp server", { serverID: server.id }) + const client = await LSPClient.create({ serverID: server.id, server: handle,