pub struct LexConfig {
pub formatting: FormattingConfig,
pub inspect: InspectConfig,
pub convert: ConvertConfig,
pub diagnostics: DiagnosticsConfig,
pub includes: IncludesConfig,
pub labels: BTreeMap<String, NamespaceSpec>,
}Expand description
Top-level configuration consumed by Lex applications.
Fields§
§formatting: FormattingConfigFormatting rules.
inspect: InspectConfigInspect output options.
convert: ConvertConfigFormat-specific conversion options.
diagnostics: DiagnosticsConfigDiagnostics options.
includes: IncludesConfigInclude-resolution options.
labels: BTreeMap<String, NamespaceSpec>Extension-namespace declarations. The map shape is
free-form (each key is a namespace name; the value is a
sum-typed NamespaceSpec), so the field is declared as a
LeafType::Value escape hatch via #[clapfig(value)] —
clapfig accepts any TOML at this key and serde does the
shape-validation on the deserialize side. The lexd labels
subcommand and the boot helper read individual entries via
load_labels_from_toml for richer error messages
(reserved-namespace check, table-form validation, …).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LexConfig
impl<'de> Deserialize<'de> for LexConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Schema for LexConfig
impl Schema for LexConfig
Source§const STATIC: &'static SchemaStatic
const STATIC: &'static SchemaStatic
The macro-emitted const schema tree. Const so it composes inside
nested
static SchemaStatic = ... initializers.Source§fn schema() -> &'static Schema
fn schema() -> &'static Schema
Cached runtime view. The macro emits this method explicitly with a
per-impl
OnceLock; the helper cached_runtime_schema keeps the
generated body small.Source§fn schema_arc() -> Arc<Schema>
fn schema_arc() -> Arc<Schema>
Arc-flavored access to the same cached runtime view. Used by the
macro-driven builder (crate::SchemaConfigBuilder) to avoid
cloning the schema tree per builder construction — the runtime
spec stores an Arc<Schema> and the cache hands out cheap
reference-counted handles to it. Cost: one Arc::clone per call
(atomic increment, no allocation).Source§fn schema_static() -> &'static SchemaStatic
fn schema_static() -> &'static SchemaStatic
Convenience accessor; equivalent to
Self::STATIC.Source§fn field_paths() -> Vec<String>
fn field_paths() -> Vec<String>
Flat list of every dotted path the schema knows about: leaf
addressable keys plus every nested-section and array-of-objects
node. Lets consumer code (extension registries, doc generators,
--list-keys flags) replace hand-maintained “known paths”
constants — the macro recomputes the list every time a field is
added or removed. Read moreAuto Trait Implementations§
impl Freeze for LexConfig
impl RefUnwindSafe for LexConfig
impl Send for LexConfig
impl Sync for LexConfig
impl Unpin for LexConfig
impl UnsafeUnpin for LexConfig
impl UnwindSafe for LexConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more