pub trait Configuration: Send + Sync {
// Required methods
fn get_global_tool_version(&self, tool_name: &str) -> Option<String>;
fn set_global_tool_version(
&self,
tool_name: &str,
version: String,
) -> Result<()>;
fn get_project_tool_version(
&self,
tool_name: &str,
project_path: &Path,
) -> Option<String>;
fn set_project_tool_version(
&self,
tool_name: &str,
version: String,
project_path: &Path,
) -> Result<()>;
fn get_active_environment(&self) -> Option<String>;
fn set_active_environment(&self, env_name: Option<String>) -> Result<()>;
fn resolve_tool_version(
&self,
tool_name: &str,
cli_version: Option<&str>,
project_path: Option<&Path>,
) -> Option<String>;
}Expand description
Configuration management interface
Required Methods§
Sourcefn get_global_tool_version(&self, tool_name: &str) -> Option<String>
fn get_global_tool_version(&self, tool_name: &str) -> Option<String>
Get global tool version
Sourcefn set_global_tool_version(
&self,
tool_name: &str,
version: String,
) -> Result<()>
fn set_global_tool_version( &self, tool_name: &str, version: String, ) -> Result<()>
Set global tool version
Sourcefn get_project_tool_version(
&self,
tool_name: &str,
project_path: &Path,
) -> Option<String>
fn get_project_tool_version( &self, tool_name: &str, project_path: &Path, ) -> Option<String>
Get project-specific tool version
Sourcefn set_project_tool_version(
&self,
tool_name: &str,
version: String,
project_path: &Path,
) -> Result<()>
fn set_project_tool_version( &self, tool_name: &str, version: String, project_path: &Path, ) -> Result<()>
Set project-specific tool version
Sourcefn get_active_environment(&self) -> Option<String>
fn get_active_environment(&self) -> Option<String>
Get active environment name