summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/lsp/index.ts15
1 files changed, 13 insertions, 2 deletions
diff --git a/packages/opencode/src/lsp/index.ts b/packages/opencode/src/lsp/index.ts
index fca80a387..56d2545e7 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<string, LSPServer.Info> = LSPServer
+ const servers: Record<string, LSPServer.Info> = {}
+ 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<string>(),
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