Expand description
§ConfigurationProvider (Environment)
Implements ConfigurationProvider and ConfigurationInspector traits,
managing all application settings across multiple scopes (Default, User,
Workspace, Folder). It handles the configuration cascade, merging settings
from various sources in the correct precedence order.
§Implementation Strategy
The trait implementation is split across multiple helper modules for maintainability:
GetValue:GetConfigurationValue- retrieval from merged cacheUpdateValue:UpdateConfigurationValue- persistence and re-mergeInspectValue:InspectConfigurationValue- introspection across scopesLoading:ReadAndParseConfigurationFile,InitializeAndMergeConfigurations
The single impl ConfigurationProvider for MountainEnvironment block in
this file delegates to those helper functions. This satisfies Rust’s orphan
rules while keeping code organized.
Modules§
- GetValue 🔒
- Configuration value retrieval.
- Inspect
Value 🔒 - Configuration value introspection.
- Loading
- Configuration loading and merging utilities.
- Update
Value 🔒 - Configuration value update and persistence.