all repos

clerk @ 0c15ec4f9c402a46cd79ec6ec8535bc1c17764b6

missing tooling for ledger/hledger

clerk/internal/linter/rule_parse_error.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
linter: refactor to use semantic context, 1 month ago
1
package linter
2
3
import "olexsmir.xyz/clerk/journal/semantic"
4
5
// ParseError wraps parser errors into lint findings.
6
type ParseError struct{}
7
8
func (ParseError) ID() RuleID         { return "parse-error" }
9
func (ParseError) Severity() Severity { return SeverityError }
10
func (e *ParseError) CheckJournal(ctx *semantic.Context) []Find {
11
	var finds []Find
12
	for _, pf := range ctx.Files {
13
		for _, err := range pf.Errors {
14
			finds = append(finds, Find{
15
				Code:     e.ID(),
16
				Severity: e.Severity(),
17
				Message:  err.Message,
18
				Span:     err.Span,
19
			})
20
		}
21
	}
22
	return finds
23
}