SCIP-backed Rust analyzer for hypergumbo (rust-analyzer integration)
Project description
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
Slice A: pure-Python translation surface from parsed SCIP Index bytes to
(symbols, edges). No live rust-analyzer invocation yet — that arrives
in Slice B alongside analyzer-registry wiring and the opt-in flag
(HYPERGUMBO_RUST_ANALYZER env var or --backend rust-analyzer CLI flag).
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_symbols—Documentwalk →Symbolobjects.scip_index_to_edges—SymbolInformation.relationships→Edges.scip_index_to_call_edges— non-DefinitionOccurrence→ 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hypergumbo_lang_rust_analyzer-5.0.1.tar.gz.
File metadata
- Download URL: hypergumbo_lang_rust_analyzer-5.0.1.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f28fdaf0a51c63d10298db00053786e3724af901cafab9e009bd265bd9e42681
|
|
| MD5 |
2225d51b6b05895a7e0cd9f080a258bb
|
|
| BLAKE2b-256 |
e904e367dff8dbd926c314c6b06bafa903871bd70f2dc53199981eac7cbb6ec1
|
File details
Details for the file hypergumbo_lang_rust_analyzer-5.0.1-py3-none-any.whl.
File metadata
- Download URL: hypergumbo_lang_rust_analyzer-5.0.1-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03a24232c110ecc8de9679b89fc8fed1578f927ac7a1b95410c994e9797103ae
|
|
| MD5 |
b18c1810e564a83ff3f30e603eea686d
|
|
| BLAKE2b-256 |
a657426deced6226da5d34dc9eb7e17ba494c5f6e046222429aa5728e26accd4
|