diff --git a/packages/opencode/src/lsp/index.ts b/packages/opencode/src/lsp/index.ts index fca80a38..56d2545e 100644 --- a/packages/opencode/src/lsp/index.ts +++ b/packages/opencode/src/lsp/index.ts @@ -57,11 +57,15 @@ export namespace LSP { "lsp", async () => { const clients: LSPClient.Info[] = [] - const servers: Record = LSPServer + const servers: Record = {} + for (const server of Object.values(LSPServer)) { + servers[server.id] = server + } const cfg = await Config.get() for (const [name, item] of Object.entries(cfg.lsp ?? {})) { const existing = servers[name] if (item.disabled) { + log.info(`LSP server ${name} is disabled`) delete servers[name] continue } @@ -83,6 +87,13 @@ export namespace LSP { }, } } + + log.info("enabled LSP servers", { + serverIds: Object.values(servers) + .map((server) => server.id) + .join(", "), + }) + return { broken: new Set(), servers, @@ -104,7 +115,7 @@ export namespace LSP { const s = await state() const extension = path.parse(file).ext const result: LSPClient.Info[] = [] - for (const server of Object.values(LSPServer)) { + for (const server of Object.values(s.servers)) { if (server.extensions.length && !server.extensions.includes(extension)) continue const root = await server.root(file, App.info()) if (!root) continue