module

Ignorelint::Checks::Conflicts

Detect redundant ignore/negation pairs.

Scans the active (non-blank, non-comment) pattern list for negated patterns that immediately follow their non-negated counterpart.

Instance methods

check(patterns : Array(Pattern), issues : Array(Issue)) : Nil

Check all patterns for adjacent ignore/negation conflicts.

Only flags pairs adjacent in the active list (blanks and comments aside) — non-adjacent pairs may be intentional (e.g., ignore everything then re-include specific files). Both orders are covered: an ignore cancelled by a negation, and a negation made dead by a later ignore.

Mutates issues in place by appending found conflicts.