use std::fs;
use crate::{App, CoreError, UseScope};
impl App {
pub fn remove_plugin(&self, name: &str) -> Result<bool, CoreError> {
let removed = self.registry.remove_plugin(name)?;
if !removed {
return Ok(false);
}
let _ = self.unuse_tool(name, UseScope::Global);
let source_dir = self.home().join("plugins").join("sources").join(name);
if source_dir.exists() {
fs::remove_dir_all(&source_dir)?;
}
let cache_dir = self.runtime_root().join(name);
if cache_dir.exists() {
fs::remove_dir_all(&cache_dir)?;
}
Ok(true)
}
}