mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-21 01:34:22 +01:00
feat(lsp): add rust-analyzer (#1972)
This commit is contained in:
@@ -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 = {
|
export const Clangd: Info = {
|
||||||
id: "clangd",
|
id: "clangd",
|
||||||
root: NearestRoot(["compile_commands.json", "compile_flags.txt", ".clangd", "CMakeLists.txt", "Makefile"]),
|
root: NearestRoot(["compile_commands.json", "compile_flags.txt", ".clangd", "CMakeLists.txt", "Makefile"]),
|
||||||
|
|||||||
Reference in New Issue
Block a user