pub trait Environment: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn get_tool_version(&self, tool_name: &str) -> Option<String>;
fn set_tool_version(
&mut self,
tool_name: &str,
version: String,
) -> Result<()>;
fn get_environment_path(&self) -> PathBuf;
fn activate(&self) -> Result<ToolContext>;
fn list_tools(&self) -> Result<HashMap<String, String>>;
}Expand description
Virtual environment management interface
Required Methods§
Sourcefn get_tool_version(&self, tool_name: &str) -> Option<String>
fn get_tool_version(&self, tool_name: &str) -> Option<String>
Get tool version for this environment
Sourcefn set_tool_version(&mut self, tool_name: &str, version: String) -> Result<()>
fn set_tool_version(&mut self, tool_name: &str, version: String) -> Result<()>
Set tool version for this environment
Sourcefn get_environment_path(&self) -> PathBuf
fn get_environment_path(&self) -> PathBuf
Get environment directory path
Sourcefn activate(&self) -> Result<ToolContext>
fn activate(&self) -> Result<ToolContext>
Activate this environment and return tool context