diff options
| author | Mathews Bryan <[email protected]> | 2026-04-21 17:03:09 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-21 22:03:09 +0000 |
| commit | 5e9fb3cc9045f9ef9a5c33ff6c295cf0438da39b (patch) | |
| tree | 7344fa229686d21715fe9dbc12d3ec9f1b9ded7b /packages | |
| parent | 2da6d860e0e2c5309a0030a5591c8218fffd6a99 (diff) | |
| download | opencode-5e9fb3cc9045f9ef9a5c33ff6c295cf0438da39b.tar.gz opencode-5e9fb3cc9045f9ef9a5c33ff6c295cf0438da39b.zip | |
feat: replace csharp-ls with roslyn-language-server (#14463)
Co-authored-by: Mathews <[email protected]>
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/lsp/server.ts | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index 918236806..a07e33686 100644 --- a/packages/opencode/src/lsp/server.ts +++ b/packages/opencode/src/lsp/server.ts @@ -705,32 +705,42 @@ export const CSharp: Info = { root: NearestRoot([".slnx", ".sln", ".csproj", "global.json"]), extensions: [".cs"], async spawn(root) { - let bin = which("csharp-ls") + let bin = which("roslyn-language-server") if (!bin) { if (!which("dotnet")) { - log.error(".NET SDK is required to install csharp-ls") + log.error(".NET SDK is required to install roslyn-language-server") return } if (Flag.OPENCODE_DISABLE_LSP_DOWNLOAD) return - log.info("installing csharp-ls via dotnet tool") - const proc = Process.spawn(["dotnet", "tool", "install", "csharp-ls", "--tool-path", Global.Path.bin], { - stdout: "pipe", - stderr: "pipe", - stdin: "pipe", - }) + log.info("installing roslyn-language-server via dotnet tool") + const proc = Process.spawn( + [ + "dotnet", + "tool", + "install", + "--global", + "roslyn-language-server", + "--prerelease", + ], + { + stdout: "pipe", + stderr: "pipe", + stdin: "pipe", + }, + ) const exit = await proc.exited if (exit !== 0) { - log.error("Failed to install csharp-ls") + log.error("Failed to install roslyn-language-server") return } - bin = path.join(Global.Path.bin, "csharp-ls" + (process.platform === "win32" ? ".exe" : "")) - log.info(`installed csharp-ls`, { bin }) + bin = path.join(Global.Path.bin, "roslyn-language-server" + (process.platform === "win32" ? ".exe" : "")) + log.info(`installed roslyn-language-server`, { bin }) } return { - process: spawn(bin, { + process: spawn(bin, ["--stdio", "--autoLoadProjects"], { cwd: root, }), } |
