pub struct ConfigManager { /* private fields */ }Expand description
Configuration manager for workspace orchestration
Loads and applies workspace-level configuration with support for:
- Configuration hierarchy (workspace → project → user → defaults)
- Configuration validation against schema
- Runtime configuration updates
Implementations§
Source§impl ConfigManager
impl ConfigManager
Sourcepub async fn load_configuration(&mut self) -> Result<ConfigLoadResult>
pub async fn load_configuration(&mut self) -> Result<ConfigLoadResult>
Loads configuration from the configuration hierarchy
Configuration is loaded in priority order:
- Built-in defaults
- User-level configuration (~/.ricecoder/config.yaml)
- Project-level configuration (.ricecoder/project.yaml)
- Workspace-level configuration (.ricecoder/workspace.yaml)
Later sources override earlier sources.
Sourcepub fn merge_configs(
&self,
base: WorkspaceConfig,
override_config: WorkspaceConfig,
) -> WorkspaceConfig
pub fn merge_configs( &self, base: WorkspaceConfig, override_config: WorkspaceConfig, ) -> WorkspaceConfig
Merges two configurations, with the second overriding the first
Sourcepub fn validate_value(
&self,
key: &str,
value: &Value,
rule: &ValidationRule,
) -> Result<()>
pub fn validate_value( &self, key: &str, value: &Value, rule: &ValidationRule, ) -> Result<()>
Validates a configuration value against a validation rule
Sourcepub fn get_config(&self) -> &WorkspaceConfig
pub fn get_config(&self) -> &WorkspaceConfig
Gets the current configuration
Sourcepub fn get_setting(&self, key: &str) -> Option<&Value>
pub fn get_setting(&self, key: &str) -> Option<&Value>
Gets a configuration setting by key
Sourcepub fn set_setting(&mut self, key: String, value: Value) -> Result<()>
pub fn set_setting(&mut self, key: String, value: Value) -> Result<()>
Sets a configuration setting at runtime
Sourcepub fn get_rules(&self) -> &[WorkspaceRule]
pub fn get_rules(&self) -> &[WorkspaceRule]
Gets all rules
Sourcepub fn get_rule(&self, name: &str) -> Option<&WorkspaceRule>
pub fn get_rule(&self, name: &str) -> Option<&WorkspaceRule>
Gets a rule by name
Sourcepub fn enable_rule(&mut self, name: &str) -> Result<()>
pub fn enable_rule(&mut self, name: &str) -> Result<()>
Enables a rule by name
Sourcepub fn disable_rule(&mut self, name: &str) -> Result<()>
pub fn disable_rule(&mut self, name: &str) -> Result<()>
Disables a rule by name
Trait Implementations§
Source§impl Clone for ConfigManager
impl Clone for ConfigManager
Source§fn clone(&self) -> ConfigManager
fn clone(&self) -> ConfigManager
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ConfigManager
impl RefUnwindSafe for ConfigManager
impl Send for ConfigManager
impl Sync for ConfigManager
impl Unpin for ConfigManager
impl UnwindSafe for ConfigManager
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