heron_rebuild_workflow/
real_task.rs1use anyhow::Result;
2use colored::Colorize;
3
4use crate::{AbstractTaskId, BranchSpec, StringMaker, WorkflowStrings};
5
6#[derive(Debug, Clone, Hash, PartialEq, Eq)]
9pub struct RealTaskKey {
10 pub id: AbstractTaskId,
11 pub branch: BranchSpec,
12}
13
14#[derive(Debug)]
15pub struct RealTaskStrings;
16
17impl StringMaker<RealTaskKey> for RealTaskStrings {
18 fn make_string(
19 &self,
20 task: &RealTaskKey,
21 wf: &WorkflowStrings,
22 buf: &mut String,
23 ) -> Result<()> {
24 use intern::GetStr;
25 buf.push_str(&format!("{}", wf.tasks.get(task.id)?.cyan()));
26 buf.push('[');
27 buf.push_str(&wf.get_full_branch_str(&task.branch)?);
28 buf.push(']');
29 Ok(())
30 }
31}