/
styleTypes.go
57 lines (47 loc) · 1.1 KB
/
styleTypes.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package ilog
import (
"strings"
"time"
)
type IssueType string
const (
HIERARCHY_ISSUE IssueType = "HIERARCHY ISSUE"
NAMING_ISSUE IssueType = "NAMING ISSUE"
LENGTH_ISSUE IssueType = "LENGTH ISSUE"
)
type StyleLog struct {
IssueType IssueType
Reason string
RelativePath string
}
func (l StyleLog) String() string {
return l.RelativePath + l.Reason
}
func (l StyleLog) serialize() string {
lines := []string{
string(l.IssueType) + ": " + l.Reason,
l.RelativePath,
}
return strings.Join(lines, "\n") + "\n"
}
func (l StyleLog) visibleOnConsole() bool {
return true
}
type StyleSummary struct {
ExecutionTime time.Duration
HierarchyIssues int
NamingIssues int
LengthIssues int
TotalDirs int64
}
func (ds StyleSummary) serialize() string {
s := title(Style)
s += line("Execution time:", "%.2f s", ds.ExecutionTime.Abs().Seconds())
s += line("Hierarchy issues:", "%v", ds.HierarchyIssues)
s += line("Naming issues:", "%v", ds.NamingIssues)
s += line("Length issues:", "%v", ds.LengthIssues)
return s
}
func (ds StyleSummary) visibleOnConsole() bool {
return true
}