all repos

clerk @ 4ad565dade8e2b0d171edeb4f6df8aeeb02b3549

missing tooling for ledger/hledger

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

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
linter: add invalid-include rule, 2 months ago
1
package linter
2
3
import "olexsmir.xyz/clerk/internal/analyzer"
4
5
type RuleID string
6
7
// Rule is the best interface that every rule must implement.
8
type Rule interface {
9
	ID() RuleID
10
	Severity() Severity
11
	CheckJournal(an *analyzer.Analysis) []Find
12
}
13
14
// Rules is list of all available rules.
15
var Rules = []Rule{
16
	&ParseError{},
17
	&InvalidInclude{},
18
	&EmptyPostings{},
19
	&OmittedPrecision{},
20
	&MissingCommodity{},
21
	&MissingStatus{},
22
	&MissingPayee{},
23
	&AccountDepthLimit{MaxDepth: 4},
24
	&MultipleOmittedAmounts{},
25
	&OrderDate{},
26
	&DuplicatedAccount{},
27
	&DuplicatedCommodity{},
28
	&DuplicatedTransaction{},
29
	&UndeclaredCommodity{},
30
	&UndeclaredAccount{},
31
	&UnbalancedTransaction{},
32
	// &UnusedAccount{},
33
}