summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-08-21 12:06:32 -0500
committerGitHub <[email protected]>2025-08-21 12:06:32 -0500
commitaa4dba1541c4f220417bd715e1b944b005d80d46 (patch)
tree94e6fc867055b9eef9f2c4a3d500fb56f7491e6f
parent947a3e8aff91921fa22fa0cb64e18073f0a4b095 (diff)
downloadopencode-aa4dba1541c4f220417bd715e1b944b005d80d46.tar.gz
opencode-aa4dba1541c4f220417bd715e1b944b005d80d46.zip
fix: if lsp fails to spawn it shouldn't inject errors into edit diagnostics (#2145)
-rw-r--r--packages/opencode/src/lsp/index.ts8
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/opencode/src/lsp/index.ts b/packages/opencode/src/lsp/index.ts
index 56d2545e7..3703284e7 100644
--- a/packages/opencode/src/lsp/index.ts
+++ b/packages/opencode/src/lsp/index.ts
@@ -126,7 +126,11 @@ export namespace LSP {
result.push(match)
continue
}
- const handle = await server.spawn(App.info(), root)
+ const handle = await server.spawn(App.info(), root).catch((err) => {
+ s.broken.add(root + server.id)
+ log.error(`Failed to spawn LSP server ${server.id}`, { error: err })
+ return undefined
+ })
if (!handle) continue
const client = await LSPClient.create({
serverID: server.id,
@@ -135,7 +139,7 @@ export namespace LSP {
}).catch((err) => {
s.broken.add(root + server.id)
handle.process.kill()
- log.error("", { error: err })
+ log.error(`Failed to initialize LSP client ${server.id}`, { error: err })
})
if (!client) continue
s.clients.push(client)