diff options
| author | Aiden Cline <[email protected]> | 2025-08-21 12:06:32 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-21 12:06:32 -0500 |
| commit | aa4dba1541c4f220417bd715e1b944b005d80d46 (patch) | |
| tree | 94e6fc867055b9eef9f2c4a3d500fb56f7491e6f | |
| parent | 947a3e8aff91921fa22fa0cb64e18073f0a4b095 (diff) | |
| download | opencode-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.ts | 8 |
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) |
