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-8.0.0.tar.gz (26.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-8.0.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for hypergumbo_lang_rust_analyzer-8.0.0.tar.gz
Algorithm Hash digest
SHA256 ddb349e6e0ecbfa59f91e1f266e3f47279c141114feede440a71f9a1f05b1666
MD5 c3b41a18d015a1e637aba7aede2ef324
BLAKE2b-256 dba5d11a11ca7e232557a51dd147fa4dad9bc3d4f89acfdc9db5c85448f2a4b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypergumbo_lang_rust_analyzer-8.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52845a113517a26749901dc40f4bff623f17b880fd201e358cbc1b1fa79274e4
MD5 f262c56fd925cf9e44e4753435f77842
BLAKE2b-256 019731bac99d8838954d8bb77378427b60077837886998402e31214899b75fce

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

8.0.0 This release

2 files

7.0.0

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