Skip to main content

rbnx/cmd/
list.rs

1// SPDX-License-Identifier: MulanPSL-2.0
2// List command: list system-installed packages
3
4use anyhow::Result;
5use robonix_cli::output;
6use robonix_cli::{Config, PackageDatabase};
7
8pub async fn execute(config: Config) -> Result<()> {
9    config.ensure_storage_dir()?;
10    let db = PackageDatabase::load(&config.package_storage_path)?;
11    let packages = db.list_packages();
12
13    if packages.is_empty() {
14        output::info("No packages installed.");
15        output::sub_step(&format!(
16            "Storage: {}",
17            config.package_storage_path.display()
18        ));
19        return Ok(());
20    }
21
22    output::action("Installed", "packages");
23    for pkg in packages {
24        output::sub_step(&format!(
25            "{} {}  ({})",
26            pkg.name,
27            pkg.version,
28            pkg.path.display()
29        ));
30    }
31    Ok(())
32}