patchcov 0.1.0

Patch coverage for git diffs: attribute lcov, llvm-cov, Cobertura, Go and JaCoCo reports to a diff and gate on it.
Documentation
//! Diff/patch coverage analysis.
//!
//! Ingests a per-line coverage report (lcov / llvm-cov JSON / cobertura / JaCoCo / Go
//! coverprofile) plus a
//! git diff and produces PR-attributable coverage: **patch coverage** (the
//! fraction of lines the diff added that are covered), the explicit list of
//! **uncovered new lines**, project before/after **deltas**, and **indirect**
//! coverage flips on unchanged lines.
//!
//! Pipeline:
//! 1. [`format::parse`] turns report text into a per-line [`model::CoverageReport`].
//! 2. [`diff::DiffModel::between`] builds the added-line sets and base↔head
//!    alignment from `git2`.
//! 3. [`analysis::analyze`] attributes coverage to the diff.
//! 4. [`render::render`] emits markdown / YAML / JSON.

pub mod analysis;
pub mod cli;
pub mod cobertura;
pub mod config;
pub mod diff;
pub mod format;
pub mod go_coverprofile;
pub mod jacoco;
pub mod lcov;
pub mod llvm_json;
pub mod markers;
pub mod merge;
pub mod model;
pub mod paths;
pub mod render;
mod yaml;

pub use analysis::{
    analyze, analyze_with_markers, AppliedMarker, CoverageDiff, DiffScope, ExcludedFiles,
    MarkerSide, Markers,
};
pub use diff::{default_base_ref, DiffModel};
pub use format::{parse, Format};
pub use markers::{FileMarkers, MarkerKind, Region};
pub use model::{CoverageReport, FileCoverage};
pub use paths::PathMapping;
pub use render::{render, OutputFormat, RenderOptions};