(home: &Path, tracedecay_bin: &str)
| 335 | } |
| 336 | |
| 337 | fn install_codex_plugin(home: &Path, tracedecay_bin: &str) -> Result<()> { |
| 338 | let cached_dirs = codex_plugin_cached_install_dirs(home); |
| 339 | if !cached_dirs.is_empty() { |
| 340 | let install_dir = install_codex_cached_plugin(home, tracedecay_bin)?; |
| 341 | install_codex_personal_bootstrap(home, tracedecay_bin)?; |
| 342 | eprintln!( |
| 343 | "\x1b[32m✔\x1b[0m Refreshed installed Codex plugin bundle at {}", |
| 344 | install_dir.display() |
| 345 | ); |
| 346 | return Ok(()); |
| 347 | } |
| 348 | |
| 349 | let install_dir = install_codex_personal_bootstrap(home, tracedecay_bin)?; |
| 350 | eprintln!( |
| 351 | "\x1b[32m✔\x1b[0m Installed Codex plugin source at {}", |
| 352 | install_dir.display() |
| 353 | ); |
| 354 | Ok(()) |
| 355 | } |
| 356 | |
| 357 | fn install_codex_personal_bootstrap(home: &Path, tracedecay_bin: &str) -> Result<PathBuf> { |
| 358 | let install_dir = codex_plugin_install_dir(home); |
no test coverage detected