Skip to main content

hypergumbo-lang-rust-analyzer

SCIP-backed Rust analyzer for hypergumbo.

This optional package integrates rust-analyzer scip output into hypergumbo, providing precise type-resolved symbols and call edges for Rust workspaces beyond what the tree-sitter rust.py analyzer can recover. It is designed as an opt-in alternative to rust.py, not a replacement.

Status

Shipped end-to-end. Activate with the --backend rust-analyzer root flag (also settable via HYPERGUMBO_RUST_ANALYZER=1). Install with pipx install 'hypergumbo[rust-analyzer]', or pipx inject hypergumbo hypergumbo-lang-rust-analyzer when hypergumbo is already installed.

When --backend rust-analyzer is requested but the integration package or the rust-analyzer binary is missing/broken (the binary is smoke-tested with rust-analyzer --version), the CLI exits non-zero with a pointer to the install or to rustup component add rust-analyzer, rather than silently falling through to the tree-sitter rust.py analyzer.

Why SCIP, not LSP

Rust-analyzer emits SCIP with a single shot of rust-analyzer scip instead of requiring a long-lived LSP session. SCIP is slower than tree-sitter (~10× at every realistic size per WI-zakub), so this backend is opt-in and falls through to rust.py when unavailable or not requested.

Stable-ID parity

rust.py and this analyzer both produce stable_ids via hypergumbo_lang_mainstream.rust_scip.compute_rust_stable_id_from_source, so cross-pass dedup works. Shared symbols carry the same stable_id under both backends; rust-analyzer-only symbols (e.g. trait-resolved method dispatch) extend the id space with SCIP-only suffixes.

Upstream shim

Symbol / edge emission builds on hypergumbo_core.scip.*:

  • scip_index_to_symbolsDocument walk → Symbol objects.
  • scip_index_to_edgesSymbolInformation.relationshipsEdges.
  • scip_index_to_call_edges — non-Definition Occurrence → calls / references edges via span-enclosure resolution.

Rust-analyzer's Relationship set is empty (per WI-zakub), so the primary edge source here is scip_index_to_call_edges.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hypergumbo_lang_rust_analyzer-7.0.0.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hypergumbo_lang_rust_analyzer-7.0.0-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file hypergumbo_lang_rust_analyzer-7.0.0.tar.gz.

File metadata

File hashes

Hashes for hypergumbo_lang_rust_analyzer-7.0.0.tar.gz
Algorithm Hash digest
SHA256 baf36c37250a753f58aa14cae309287a44e82356a99e9bd14ee2064bc708248f
MD5 61bdc46a19edeff49cc7c0b7e07a0fcf
BLAKE2b-256 f4627e5167ee5300f8385afa36df4ad23e8cef8f9ea510eea8c534a214d2146b

See more details on using hashes here.

File details

Details for the file hypergumbo_lang_rust_analyzer-7.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hypergumbo_lang_rust_analyzer-7.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e2049185411eb68b5f90bd9da986fc57ae36eb6414b200c254d1761e3028fcb
MD5 34d072e6e4e3dad8b854daa48bb64492
BLAKE2b-256 de5e3d73e9e0b96c22d212d5078c3d5e424577fa322ce0246b0ac171d0114463

See more details on using hashes here.

Release history Release notifications | RSS feed

8.0.0

2 files

This release

7.0.0 This release

2 files

6.1.0

2 files

6.0.0

2 files

5.0.1

2 files

5.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page