Idea detail
wildcard_reference_edges
reqlan rq/indexer/indexer.rq:51
Summary
Native extract ( `extract.rs` ) expands each AST wildcard
against the idea catalog ( `match_wildcard` / workspace candidate list ).
Persist one edge of kind `wildcard_reference` per matching idea ( label = target idea name );
never emit plain `references` for wildcard forms.
Zero matches → one unresolved edge of the same kind ( `isResolved: false`, label = pattern text ).
Edge ids use `edgeId(source, 'wildcard_reference', targetOrUnresolvedKey)`.
Sync walks sorted `.rq` files and grows the catalog as it goes, so a wildcard file is
expanded against ideas already stored plus files earlier in that walk
( sync.rs ).
Ancestor / reference-chain walks treat `wildcard_reference` like `references`
( sqlite-store.ts ).
Ideas Summary references table groups them under sub-idea with other idea-to-idea links;
graph visibility is webview.rq /
wildcard_refs_toggle.
Soft mtime sync skips unchanged files — after introducing this edge kind, reindex ( or touch )
`.rq` files that contain wildcards so stored rows leave any legacy `references` fan-out.
Langium `idea-extractor` keeps the same kind for remaining TS extract paths.
Open-file local extract ( local_symbolic_analysis ) does not expand wildcards against a catalog.
Related: wildcard_references, index, indexer_rust,
wildcard_refs_toggle,
wildcard_reference_edges.
Navigation
Attributes
| Key | Value |
|---|---|
| implementation | extract.rs, types.rs, sync.rs, extract.rs, types.ts, sqlite-store.ts, reqlan-wildcard-resolve.ts |
| status | done |
| tests | wildcard_reference_edges.rs, wildcard_reference_edges.rs:expands_wildcard_refs_to_one_edge_per_matching_idea, wildcard_reference_edges.rs:emits_unresolved_edge_when_catalog_has_no_matches, wildcard_reference_edges.rs:stores_wildcard_fan_out_as_wildcard_reference_kind, wildcard_reference_edges.rs:extract_indexed_document_fans_out_edges_for_matching_catalog_ideas, wildcard_reference_edges.rs:sync_persists_wildcard_reference_edges, wildcard_reference_edges.rs:sync_persists_unresolved_wildcard_edge_when_catalog_has_no_matches, wildcard_reference_edges.rs:indexer_and_graphical_graph_rq_capture_wildcard_edge_and_toggle_ideas, wildcard_reference_edges.rs:stores_wildcard_fan_out_as_wildcard_reference_kind, html_export.rs:html_export_workspace_graph_includes_wildcard_refs_chip_and_edges |
Ancestor context
No ancestor chain recorded.
Outbound references
Inbound references
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| references | wildcard_refs_toggle | reqlan rq/extension/workspace-summary/ideas_summary/graphical_graph.rq | wildcard_reference_edges |
| references | index | reqlan rq/indexer/indexer.rq | wildcard_reference_edges |
| references | local_symbolic_analysis | reqlan rq/indexer/indexer.rq | wildcard_reference_edges |
| references | indexer_rust | reqlan rq/indexer/indexer.rq | wildcard_reference_edges |
| references | edges_table | reqlan rq/indexer/sqlite-schema.rq | wildcard_reference_edges |
| references | wildcard_references | reqlan rq/language/imports.rq | wildcard_reference_edges |
| references | wildcard_reference | reqlan rq/reference_types.rq | wildcard_reference_edges |
| references | features_tier_2 | reqlan rq/site/site.rq | wildcard_reference_edges |
Unresolved references
| Kind | Idea | Path | Snippet |
|---|---|---|---|
| None | |||
Local graph
Initialising graph…