mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-29 05:34:19 +01:00
fix: lsp bug (#1994)
This commit is contained in:
@@ -57,11 +57,15 @@ export namespace LSP {
|
|||||||
"lsp",
|
"lsp",
|
||||||
async () => {
|
async () => {
|
||||||
const clients: LSPClient.Info[] = []
|
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()
|
const cfg = await Config.get()
|
||||||
for (const [name, item] of Object.entries(cfg.lsp ?? {})) {
|
for (const [name, item] of Object.entries(cfg.lsp ?? {})) {
|
||||||
const existing = servers[name]
|
const existing = servers[name]
|
||||||
if (item.disabled) {
|
if (item.disabled) {
|
||||||
|
log.info(`LSP server ${name} is disabled`)
|
||||||
delete servers[name]
|
delete servers[name]
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -83,6 +87,13 @@ export namespace LSP {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.info("enabled LSP servers", {
|
||||||
|
serverIds: Object.values(servers)
|
||||||
|
.map((server) => server.id)
|
||||||
|
.join(", "),
|
||||||
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
broken: new Set<string>(),
|
broken: new Set<string>(),
|
||||||
servers,
|
servers,
|
||||||
@@ -104,7 +115,7 @@ export namespace LSP {
|
|||||||
const s = await state()
|
const s = await state()
|
||||||
const extension = path.parse(file).ext
|
const extension = path.parse(file).ext
|
||||||
const result: LSPClient.Info[] = []
|
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
|
if (server.extensions.length && !server.extensions.includes(extension)) continue
|
||||||
const root = await server.root(file, App.info())
|
const root = await server.root(file, App.info())
|
||||||
if (!root) continue
|
if (!root) continue
|
||||||
|
|||||||
Reference in New Issue
Block a user