diff options
| author | Craig Jennings <c@cjennings.net> | 2026-04-23 01:07:52 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-04-23 01:07:52 -0500 |
| commit | 3fa47b1a3b7dd8d3a4f00f117e6f97caf55a3c5d (patch) | |
| tree | 41a88535e7dfed8f48107936468bf44adc5825a4 /snippets/eshell-mode | |
| parent | a97266c0e89ef8560824789063512d2613849fc9 (diff) | |
| download | dotemacs-3fa47b1a3b7dd8d3a4f00f117e6f97caf55a3c5d.tar.gz dotemacs-3fa47b1a3b7dd8d3a4f00f117e6f97caf55a3c5d.zip | |
feat(coverage): add format-report helper for the report buffer
Pure helper that renders intersect records into the text shown in the coverage report buffer. Takes the list of per-file plists from cj/--coverage-intersect and a scope label, returns the formatted string.
Output has three sections depending on what's present:
- "Uncovered lines" — one line per uncovered line, formatted as "<path>:<line>: uncovered" so compilation-mode's default regex picks them up for next-error navigation.
- "Not tracked" — files changed in the diff but absent from the coverage data (READMEs, test files, config).
- "Fully covered" — tracked files where every changed line is covered.
Files with empty :changed-lines (deletion-only hunks) are omitted. Summary counts cover only tracked files, so an all-README change shows "0 of 0" rather than a misleading percentage over nothing.
Tests cover Normal (partial, fully covered, mixed sections), Boundary (empty records, 100% coverage with no uncovered section, only-not-tracked case, deletion-only exclusion), and the output format that next-error relies on.
Diffstat (limited to 'snippets/eshell-mode')
0 files changed, 0 insertions, 0 deletions
