zv 0.1.2

Ziglang Version Manager and Project Starter
use crate::{App, Result};
use yansi::Paint;

pub async fn list_versions(app: &mut App) -> Result<()> {
    let installed = app.toolchain_manager.list_installations();

    for (version, is_active, is_master) in installed {
        let active_marker = if is_active {
            Paint::green("").to_string()
        } else {
            "  ".into()
        };

        let master_marker = if is_master {
            Paint::yellow(" (master)").to_string()
        } else {
            "  ".into()
        };

        let version_display = if is_active {
            Paint::green(&version.to_string()).bold().to_string()
        } else {
            version.to_string()
        };

        println!("{active_marker}{version_display}{master_marker}");
    }

    Ok(())
}