// Server Registry - Maps a language id (or file extension) to an LSP server // launcher plus the root markers that identify a project boundary. // // Add new servers here. `match` is a list of file extensions (no dot) OR // language ids; either matches. import type { ServerConfig } from "./src/types.ts"; export const servers: ServerConfig[] = [ { id: "gopls", match: ["go"], command: "gopls", args: ["-remote=auto"], rootMarkers: ["go.work", "go.mod"], languageId: "go", }, { id: "typescript-language-server", match: ["ts", "tsx", "js", "jsx", "mts", "cts"], command: "typescript-language-server", args: ["--stdio"], rootMarkers: ["pnpm-workspace.yaml", "tsconfig.json", "package.json"], languageId: "typescript", }, { id: "pyright", match: ["py"], command: "pyright-langserver", args: ["--stdio"], rootMarkers: ["pyproject.toml", "setup.py", "setup.cfg"], languageId: "python", }, ];