Expand description
ConfigurationProvider: reads, writes, and watches workspace configuration.
§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 across all scopes.
- Loading
- Configuration loading, caching, and merging.
- Update
Value 🔒 - Configuration value update and persistence.