refactor(lsp): type initialize errors (#27494)

This commit is contained in:
Shoubhit Dash
2026-05-14 15:20:02 +05:30
committed by GitHub
parent 52db7a76e2
commit 7e43d3e3f5
+4 -9
View File
@@ -9,7 +9,6 @@ import { Process } from "@/util/process"
import { LANGUAGE_EXTENSIONS } from "./language" import { LANGUAGE_EXTENSIONS } from "./language"
import { Schema } from "effect" import { Schema } from "effect"
import type * as LSPServer from "./server" import type * as LSPServer from "./server"
import { NamedError } from "@opencode-ai/core/util/error"
import { withTimeout } from "../util/timeout" import { withTimeout } from "../util/timeout"
import { Filesystem } from "@/util/filesystem" import { Filesystem } from "@/util/filesystem"
@@ -31,9 +30,10 @@ export type Info = NonNullable<Awaited<ReturnType<typeof create>>>
export type Diagnostic = VSCodeDiagnostic export type Diagnostic = VSCodeDiagnostic
export const InitializeError = NamedError.create("LSPInitializeError", { export class InitializeError extends Schema.TaggedErrorClass<InitializeError>()("LSPInitializeError", {
serverID: Schema.String, serverID: Schema.String,
}) cause: Schema.optional(Schema.Defect),
}) {}
export const Event = { export const Event = {
Diagnostics: BusEvent.define( Diagnostics: BusEvent.define(
@@ -275,12 +275,7 @@ export async function create(input: { serverID: string; server: LSPServer.Handle
INITIALIZE_TIMEOUT_MS, INITIALIZE_TIMEOUT_MS,
).catch((err) => { ).catch((err) => {
logger.error("initialize error", { error: err }) logger.error("initialize error", { error: err })
throw new InitializeError( throw new InitializeError({ serverID: input.serverID, cause: err })
{ serverID: input.serverID },
{
cause: err,
},
)
}) })
const syncKind = getSyncKind(initialized.capabilities) const syncKind = getSyncKind(initialized.capabilities)