LSP Rust
Semantic code navigation for Rust projects — go-to-definition, find-references, diagnostics, and hover.
@elyracode/lsp-rust starts a rust-analyzer process per session in any project containing a Cargo.toml and exposes the Language Server Protocol as agent tools. This gives the model the same semantic understanding your IDE has — exact symbol locations, type information, and real compiler diagnostics — instead of relying on text search and guesswork.
Install
elyra install npm:@elyracode/lsp-rust
The extension activates automatically in any project with a Cargo.toml in its root, and looks for rust-analyzer on your PATH (install it with rustup component add rust-analyzer). It does nothing if rust-analyzer is not available.
Tools
| Tool | Description |
|---|---|
rust_definitions |
Go to the definition of a symbol at a given file position |
rust_references |
Find all references to a symbol across the project |
rust_diagnostics |
Get Rust errors and warnings for a file |
rust_hover |
Get type information and documentation for a symbol |
All tools accept 1-based line and column numbers and return human-readable text results.
Examples
> Where is the `claim` method of the durable queue defined?
> Find every call site of `squeue_sql::stats` in this crate
> What Rust errors does crates/askr/src/observ_sql.rs have?
> What is the inferred type of the `sink` binding on line 42 of otel.rs?
Why use it
- Accuracy — definitions and references come from rust-analyzer, not regex
- Refactors that don't miss call sites —
rust_referencesenumerates every usage before edits - Real diagnostics — surface the same errors
cargo checkwould, without a full build - Hover types — inspect inferred types and doc comments without opening the file in an editor