UNPKG

@codesandbox/sdk

Version:
83 lines (82 loc) 2.48 kB
import { ProtocolError, TMessage, TNotification } from "../protocol"; export type CommonError = ProtocolError; export interface ILanguageConfig { id: string; /** @deprecated in favor of globs, everything listed in extensions is listed in glob form as well */ extensions: string[]; /** something/*.json, *.js, *.ts */ globs: string[]; hasLanguageServer: boolean; languageServerIds: string[]; } export type ListLanguagesMessage = TMessage<"language/list", Record<string, never>, { result: { languages: ILanguageConfig[]; }; error: CommonError; }>; export interface LSPResponseError { /** * A number indicating the error type that occurred. */ code: number; /** * A string providing a short description of the error. */ message: string; /** * A primitive or structured value that contains additional * information about the error. Can be omitted. */ data?: unknown; } export type LSPRequestMessage = TMessage<"language/lspRequest", { languageId: string; serverId: string; message: { method: string; params?: unknown; }; }, { result: unknown; error: CommonError | LSPResponseError; }>; export type LanguageLspNotification = TNotification<"language/lspNotification", { languageId: string; serverId: string; message: { method: string; params?: unknown; }; }>; /** * Used for requests from the server to the client */ export type LanguageLspServerRequest = TNotification<"language/lspServerRequest", { languageId: string; serverId: string; message: { id: number | string; method: string; params?: unknown; }; }>; /** * Used for responses from the client to the server on a request */ export type LanguageLspServerResponse = TMessage<"language/lspServerResponse", { languageId: string; serverId: string; message: { id: number | string; result?: string | number | boolean | Record<string, unknown> | null; error?: CommonError | LSPResponseError; }; }, { result: unknown; error: CommonError | LSPResponseError; }>; export type LanguageMessage = ListLanguagesMessage | LSPRequestMessage | LanguageLspServerResponse; export type LanguageRequest = LanguageMessage["request"]; export type LanguageResponse = LanguageMessage["response"]; export type LanguageNotification = LanguageLspNotification | LanguageLspServerRequest;