Skip to main content

Module registry

Module registry 

Source
Expand description

The settings a CLI has, as a generated table.

#[derive(usage::Config)] reads the settings struct and emits a static of these, so at runtime a registry is a slice — no parsing, no map to build, and a PropId that indexes it directly. A merge over a hundred settings therefore never hashes a key, which is what makes resolving the whole struct at once cheap enough to do eagerly.

Keys are the dotted paths the spec declares. Nesting is a file’s concern, reconstructed by whatever reads the file; here a key is one string.

Structs§

Lookup
What looking a key up found.
PropId
A setting’s index in its registry.
PropMeta
What one setting is.
Registry
Every setting a CLI has.

Enums§

Merge
How the values for one setting combine when several layers supply them.
Scope
Where a setting will accept a value from.