From 5d8d896fa23329e0fc95f55d4191a4af6ea45dfc Mon Sep 17 00:00:00 2001 From: Lucas Date: Sun, 17 Aug 2025 04:59:51 +0200 Subject: [PATCH] feat(lsp): add rust-analyzer (#1972) --- packages/opencode/src/lsp/server.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index ca462f7f..4a1ddca4 100644 --- a/packages/opencode/src/lsp/server.ts +++ b/packages/opencode/src/lsp/server.ts @@ -500,6 +500,24 @@ export namespace LSPServer { }, } + export const RustAnalyzer: Info = { + id: "rust", + root: NearestRoot(["Cargo.toml", "Cargo.lock"]), + extensions: [".rs"], + async spawn(_, root) { + const bin = Bun.which("rust-analyzer") + if (!bin) { + log.info("rust-analyzer not found in path, please install it") + return + } + return { + process: spawn(bin, { + cwd: root, + }), + } + }, + } + export const Clangd: Info = { id: "clangd", root: NearestRoot(["compile_commands.json", "compile_flags.txt", ".clangd", "CMakeLists.txt", "Makefile"]),