struct

Ignorelint::HelmignoreStyleLinter

Inherits Ignorelint::FormatLinter < Struct < Value < Object

The linter adapter for helmignore files.

Combines:

  1. CommonGlob.check — shared glob-validity rules
  2. HelmignoreSemantics.check — undocumented ** warning
  3. Conflicts.check — cross-pattern conflict detection

Constructors

new

Instance methods

build_glob(pat : Pattern, base_dir : String) : String

Build the glob for dead-rule detection.

Helmignore has no documented ** support — the **/ prefix in the glob could produce false negatives if Helm's matcher does not support it. However, for dead-rule detection a false negative (missed dead rule) is less harmful than a false positive (flagging a valid rule), so we use **/ for unrooted patterns to match as broadly as possible.

check_pattern(pat : Pattern) : Array(Issue)

Check a single pattern for format-specific issues.

Returns an array of Issue values (empty if the pattern is clean for this format). Called once per active (non-blank, non-comment) pattern.

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

Check the full pattern list for cross-pattern issues.

Used for conflict detection (e.g. "build" followed by "!build"). Mutates the issues array in place for efficiency.

initialize