zoi/cmd/
files.rs

1use crate::pkg::{local, resolve};
2use anyhow::{Result, anyhow};
3use colored::*;
4
5pub fn run(package_name: &str) -> Result<()> {
6    let (pkg_meta, _, _, _, _) = resolve::resolve_package_and_version(package_name, false)?;
7
8    let installed_packages = local::get_installed_packages()?;
9
10    let Some(pkg) = installed_packages.iter().find(|p| p.name == pkg_meta.name) else {
11        return Err(anyhow!("Package '{}' is not installed.", package_name));
12    };
13
14    println!("Files for {} {}:", pkg.name.cyan(), pkg.version.yellow());
15
16    if pkg.installed_files.is_empty() {
17        println!("(No files recorded for this package)");
18    } else {
19        let mut sorted_files = pkg.installed_files.clone();
20        sorted_files.sort();
21        for file in &sorted_files {
22            println!("{}", file);
23        }
24    }
25
26    Ok(())
27}