diff options
| author | Lucas <[email protected]> | 2025-08-17 04:59:51 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-16 22:59:51 -0400 |
| commit | 5d8d896fa23329e0fc95f55d4191a4af6ea45dfc (patch) | |
| tree | 818d361ddd5adf6851e0428bfaac4e6d864c4146 | |
| parent | 85c6301ac5d22128f564b7c04f94de3611600dbf (diff) | |
| download | opencode-5d8d896fa23329e0fc95f55d4191a4af6ea45dfc.tar.gz opencode-5d8d896fa23329e0fc95f55d4191a4af6ea45dfc.zip | |
feat(lsp): add rust-analyzer (#1972)
| -rw-r--r-- | packages/opencode/src/lsp/server.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index ca462f7f9..4a1ddca4e 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"]), |
