Browse Source

feat(lsp): add rust-analyzer (#1972)

Lucas 6 months ago
parent
commit
5d8d896fa2
1 changed files with 18 additions and 0 deletions
  1. 18 0
      packages/opencode/src/lsp/server.ts

+ 18 - 0
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"]),