Parses source suppression directives and their justifications.
Summary
Types
@type summary() :: %{total: non_neg_integer(), reasonless: non_neg_integer()}
Functions
@spec parse_file(Path.t()) :: [Reach.Source.Suppression.Directive.t()]
@spec parse_source(String.t(), Path.t()) :: [Reach.Source.Suppression.Directive.t()]
@spec project_summary(Reach.Project.t(), String.t() | nil) :: summary()