all repos

clerk @ f68a2c6

missing tooling for ledger/hledger

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

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
linter: add undeclared-payee 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
	&DuplicatedTag{},
30
	&UndeclaredCommodity{},
31
	&UndeclaredAccount{},
32
	&UndeclaredPayee{},
33
	&UnbalancedTransaction{},
34
	&UndeclaredTag{},
35
	&InvalidDateTag{},
36
	&InvalidTypeTag{},
37
	&UnusedAccount{},
38
	&UnusedTag{},
39
}