Skip to main content

build

Function build 

Source
pub fn build(spans: &[ClockSpan], days: RangeInclusive<i64>) -> ClockReport
Expand description

Build a report from spans, keeping only those filed in days.

days is an inclusive epoch-day range. An empty range or no matching span yields an empty report, which the caller renders as “no clocked time” rather than as an empty table — a table with no rows and a 0:00 total reads as a broken report, where a sentence reads as an answer.

Rows come out in outline order: a parent immediately before its children, siblings in first-seen order. Not sorted by time, deliberately — the report is a picture of the outline, and re-ordering it by duration breaks the one structural cue that says which rows belong to which project.