components_rs/config/mod.rs
1//! Configuration instance extraction — the concrete wirings in `config/*.jsonld` files.
2//!
3//! A configuration file instantiates one or more component classes by setting `@type` to a
4//! component IRI and providing parameter values as JSON-LD properties. Each such entry becomes
5//! a [`registry::ConfigRegistry`] entry holding a [`crate::components::types::ConfigInstance`].
6//!
7//! # LSP uses
8//!
9//! - **Diagnostics**: cross-reference `ConfigInstance.component_type_iri` against
10//! [`crate::components::registry::ComponentRegistry`] to flag unknown `@type` values or
11//! missing required parameters.
12//! - **Completion**: inside a config object, suggest the parameter IRIs of the matched
13//! component (compacted via the active context) as property keys.
14//! - **Goto-definition**: `ConfigInstance.source_file` + `iri_span` lets the LSP jump to
15//! where an instance IRI is declared when it is referenced elsewhere.
16
17pub mod registry;