Code reference detail
reqlan-inlay-hint-provider.ts
packages/language/src/reqlan-inlay-hint-provider.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| complementary_information_rendering | The extension should render computed information inline in the editor as complementary text. Complementary rendering should include resolved references and optionally indirect references behind a toggle. Complementary rendering should not mutate source files unless the user explicitly applies a change. | 0.040 | ||
| inbound_inlay_hints_whole_graph | done | Inbound references shown in [view_references_as_inlay_hints] should include referencers from the whole requirement graph across the workspace, not only ideas declared in the current file. Coverage comes from SQLite ["../../../indexer/sqlite-schema.rq".edges_table] via ["../../../indexer/cache-reuse.rq".unify_inbound_indexes], not from Langium IndexManager. Whole-graph coverage must not regress to per-idea full-index scans — see [inbound_inlay_index_performance]. Implemented by ["../../../../packages/language/src/reqlan-inbound-reference-inlay-label.ts"], ["../../../../packages/language/src/reqlan-inlay-hint-provider.ts"]. [view_references_as_inlay_hints] [traceable_inlay_hints] [inbound_inlay_index_performance] | 0.056 | |
| inbound_inlay_index_performance | done | Computing inbound reference inlay hints for a document with many ideas must look up a pre-pushed SQLite inbound snapshot ( ["../../../indexer/cache-reuse.rq".unify_inbound_indexes] ) in near-constant time per declaration. Show the hints when that snapshot arrives ( ["../support/open-file-sequencing.rq".lazy_features_after_outbound] ). Until the first ready snapshot arrives, hints stay empty. Later index sync must not clear last-good with an empty mid-sync push ( ["../../../indexer/cache-reuse.rq".inbound_snapshot_events] ). Must not call Langium `findAllReferences` / equivalent full-index scans once per idea ( that is O ( ideas × workspace refs ) and freezes the editor on dense graphs ). Implemented by ["../../../../packages/language/src/reqlan-inbound-reference-inlay-label.ts"] and ["../../../../packages/language/src/reqlan-inlay-hint-provider.ts"]. [view_references_as_inlay_hints] [inbound_inlay_hints_whole_graph] | 0.122 | |
| traceable_inlay_hints | done | A click on one inbound referencer opens that idea via `reqlan.openInboundReferencer` → host openIndexFile ( same path as activity-bar / index opens ). The inlay label part must not use raw LSP Location for the click gesture — Cursor rejects detached file: / / opens that Location would trigger. A click on the remainder opens the inbound summary for that idea. The backlink tooltip uses the shared document-link file URI builder ( encoded path, `#L` fragment ). The Rust server emits the same markdown tooltip and open command ( ["../support/language-server-rust.rq".language_server_rust] ). A file path with a space opens that file from the inlay click and from the tooltip. A directory segment " reqlan rq " opens that file. Implemented by ["../../../../packages/language/src/reqlan-inbound-reference-inlay-label.ts"], ["../../../../packages/language/src/reqlan-inlay-hint-provider.ts"], ["../../../../packages/language/src/reqlan-inlay-hint-settings.ts"], ["../../../../packages/extension/src/extension/register-reference-inlay-hints.ts"], ["../../../../packages/language/src/reqlan-file-link-resolver.ts"], ["../../../../packages/language/src/reqlan-path-resolve.ts"], and ["../../../../crates/reqlan-lsp/src/analysis.rs"]. | 0.052 | |
| view_references_as_inlay_hints | done | References should be shown as inlay hints in the editor. This should be a toggleable setting, which should be available in the command palette. N-lines ( configurable setting ) of hints should be shown below the idea. Inbound lookup must stay interactive on large graphs via [inbound_inlay_index_performance]. The Rust server honours `reqlan.referencesInlayHints.enabled` and the host inbound snapshot ( `byIdeaName` + `fileReferencers` ). Implemented by ["../../../../packages/language/src/reqlan-inlay-hint-provider.ts"], ["../../../../packages/language/src/reqlan-inbound-reference-inlay-label.ts"], ["../../../../packages/language/src/reqlan-inlay-hint-settings.ts"], ["../../../../packages/extension/src/extension/register-reference-inlay-hints.ts"], and ["../../../../crates/reqlan-lsp/src/session.rs"]. | 0.093 | |
| index_cache_reuse | draft | Identify where the ideas index, diagnostics store, or in-process caches already hold data that other modules recompute. Goal: one walk, one sync, one open store where possible; reuse SQLite edges and mtime maps instead of rebuilding graphs from scratch. Related: [nonblocking_index], [indexing_incrementality], [consumers.index_consumers], [sequencing.index_sequencing]. | 0.164 | |
| unify_inbound_indexes | done | Inlay hints and code lens must read inbound edges from [ideas_schema.edges_table], not Langium IndexManager. Query: edges whose `target_id` is an idea in the open file, plus `comment_link` / `file_reference` rows whose `target_file` matches that file. File-top CodeLens uses the `file_reference` subset ( ["../extension/language/syntax/features-syntax-highlighting.rq".file_inbound_code_lens] ). The extension host runs the query and pushes a snapshot to the language server. The language server does not open SQLite ( [consumers.extension_ui_consumers] ). Updates follow index sync independently of open-file parse ( ["../language/syntax.rq".open_file_reference_sequencing], [inbound_snapshot_events] ). Mutation hooks already use the same store. Share one graph. Related: [index_cache_reuse], ["../indexer/indexer.rq".local_symbolic_analysis], ["../extension/language/syntax/features-syntax-highlighting.rq".inbound_inlay_index_performance]. | 0.213 |
Reference labels
"../../../../packages/language/src/reqlan-inlay-hint-provider.ts", "../../packages/language/src/reqlan-inlay-hint-provider.ts", ../../../../packages/language/src/reqlan-inlay-hint-provider.ts, ../../packages/language/src/reqlan-inlay-hint-provider.ts