use alba_core::Project;
use owo_colors::OwoColorize;
use crate::render::LineSink;
const NO_DESCRIPTION: &str = "(no description)";
pub fn run(project: &Project) -> i32 {
let mut beams: Vec<_> = project.beams.iter().collect();
beams.sort_by(|a, b| a.id.0.cmp(&b.id.0));
let mut out = LineSink::stdout();
for beam in beams {
match &beam.description {
Some(description) => out.line(&format!("{} {description}", beam.id.0)),
None if crate::color_enabled() => {
out.line(&format!("{} {}", beam.id.0, NO_DESCRIPTION.dimmed()))
}
None => out.line(&format!("{} {NO_DESCRIPTION}", beam.id.0)),
}
}
0
}