diff options
| author | Aiden Cline <[email protected]> | 2025-09-21 11:25:47 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-09-21 11:25:47 -0500 |
| commit | 92c126d87564e671cefc4cf9c53ba9db182787fa (patch) | |
| tree | 914565653112e0cb66d8d534d34460c1c2327e32 | |
| parent | 7123fbeb471faa8ce1420ec1b2266d316c58b187 (diff) | |
| download | opencode-92c126d87564e671cefc4cf9c53ba9db182787fa.tar.gz opencode-92c126d87564e671cefc4cf9c53ba9db182787fa.zip | |
fix: lsp spawn logic (#2723)
| -rw-r--r-- | packages/opencode/src/lsp/index.ts | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/packages/opencode/src/lsp/index.ts b/packages/opencode/src/lsp/index.ts index 2f460f8ef..bc83c8f7e 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, |
