use rho_tools::tool_card::{ToolCard, ToolFact};
#[derive(Clone, Copy, Debug)]
pub(crate) enum ChecklistStatus {
Pending,
InProgress,
Completed,
}
pub(crate) fn push_checklist_facts<'a>(
card: &mut ToolCard,
items: impl Iterator<Item = (&'a str, ChecklistStatus)>,
) {
for (text, status) in items {
if text.is_empty() {
continue;
}
let marker = match status {
ChecklistStatus::Completed => "☑",
ChecklistStatus::InProgress => "◐",
ChecklistStatus::Pending => "☐",
};
card.push_fact(ToolFact::Text {
text: format!("{marker} {text}"),
});
}
}