summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-09-21 11:25:47 -0500
committerGitHub <[email protected]>2025-09-21 11:25:47 -0500
commit92c126d87564e671cefc4cf9c53ba9db182787fa (patch)
tree914565653112e0cb66d8d534d34460c1c2327e32
parent7123fbeb471faa8ce1420ec1b2266d316c58b187 (diff)
downloadopencode-92c126d87564e671cefc4cf9c53ba9db182787fa.tar.gz
opencode-92c126d87564e671cefc4cf9c53ba9db182787fa.zip
fix: lsp spawn logic (#2723)
-rw-r--r--packages/opencode/src/lsp/index.ts21
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,