pint.error --no-color lint rules
! stdout .
cmp stderr stderr.txt

-- stderr.txt --
level=info msg="Loading configuration file" path=.pint.hcl
rules/1.yaml:5 Fatal: syntax error: unexpected right parenthesis ')' (promql/syntax)
 5 |   expr: sum(errors_total) by )

rules/1.yaml:16 Warning: job label is required and should be preserved when aggregating "^.+$" rules, remove job from without() (promql/aggregate)
 16 |   expr: sum(errors_total) without(job)

rules/1.yaml:22 Fatal: syntax error: unexpected right parenthesis ')' (promql/syntax)
 22 |   expr: sum(errors_total) by )

rules/1.yaml:33 Warning: alert query doesn't have any condition, it will always fire if the metric exists (alerts/comparison)
 33 |   expr: sum(errors_total) without(job)

rules/1.yaml:33 Warning: job label is required and should be preserved when aggregating "^.+$" rules, remove job from without() (promql/aggregate)
 33 |   expr: sum(errors_total) without(job)

level=info msg="Problems found" Fatal=2 Warning=3
level=fatal msg="Fatal error" error="found 1 problem(s) with severity Bug or higher"
-- rules/1.yaml --
- record: disabled
  expr: sum(errors_total) by ) # pint disable promql/syntax

- record: active
  expr: sum(errors_total) by )

- record: disabled
  # pint disable promql/aggregate(job:true)
  expr: sum(errors_total) without(job)

- record: disabled
  # pint disable promql/aggregate
  expr: sum(errors_total) without(job)

- record: active
  expr: sum(errors_total) without(job)

- alert: disabled
  expr: sum(errors_total) by ) # pint disable promql/syntax

- alert: active
  expr: sum(errors_total) by )

- alert: disabled
  # pint disable promql/aggregate(job:true)
  expr: sum(errors_total) without(job) > 0

- alert: disabled
  # pint disable promql/aggregate
  expr: sum(errors_total) without(job) > 0

- alert: active
  expr: sum(errors_total) without(job)

-- .pint.hcl --
parser {
  relaxed = [".*"]
}
rule {
    aggregate ".+" {
        keep = [ "job" ]
    }
}
