@@ -38,6 +38,7 @@ type LinterConfig struct {
38
38
DoesFullImport bool
39
39
NeedsSSARepr bool
40
40
InPresets []string
41
+ Speed int // more value means faster execution of linter
41
42
}
42
43
43
44
func (lc LinterConfig ) WithFullImport () LinterConfig {
@@ -56,6 +57,11 @@ func (lc LinterConfig) WithPresets(presets ...string) LinterConfig {
56
57
return lc
57
58
}
58
59
60
+ func (lc LinterConfig ) WithSpeed (speed int ) LinterConfig {
61
+ lc .Speed = speed
62
+ return lc
63
+ }
64
+
59
65
func newLinterConfig (linter Linter ) LinterConfig {
60
66
return LinterConfig {
61
67
Linter : linter ,
@@ -93,30 +99,31 @@ func enableLinterConfigs(lcs []LinterConfig, isEnabled func(lc *LinterConfig) bo
93
99
94
100
func GetAllSupportedLinterConfigs () []LinterConfig {
95
101
lcs := []LinterConfig {
96
- newLinterConfig (golinters.Govet {}).WithPresets (PresetBugs ),
97
- newLinterConfig (golinters.Errcheck {}).WithFullImport ().WithPresets (PresetBugs ),
98
- newLinterConfig (golinters.Golint {}).WithPresets (PresetStyle ),
99
-
100
- newLinterConfig (golinters.Megacheck {StaticcheckEnabled : true }).WithSSA ().WithPresets (PresetBugs ),
101
- newLinterConfig (golinters.Megacheck {UnusedEnabled : true }).WithSSA ().WithPresets (PresetUnused ),
102
- newLinterConfig (golinters.Megacheck {GosimpleEnabled : true }).WithSSA ().WithPresets (PresetStyle ),
103
-
104
- newLinterConfig (golinters.Gas {}).WithFullImport ().WithPresets (PresetBugs ),
105
- newLinterConfig (golinters.Structcheck {}).WithFullImport ().WithPresets (PresetUnused ),
106
- newLinterConfig (golinters.Varcheck {}).WithFullImport ().WithPresets (PresetUnused ),
107
- newLinterConfig (golinters.Interfacer {}).WithSSA ().WithPresets (PresetStyle ),
108
- newLinterConfig (golinters.Unconvert {}).WithFullImport ().WithPresets (PresetStyle ),
109
- newLinterConfig (golinters.Ineffassign {}).WithPresets (PresetUnused ),
110
- newLinterConfig (golinters.Dupl {}).WithPresets (PresetStyle ),
111
- newLinterConfig (golinters.Goconst {}).WithPresets (PresetStyle ),
112
- newLinterConfig (golinters.Deadcode {}).WithFullImport ().WithPresets (PresetUnused ),
113
- newLinterConfig (golinters.Gocyclo {}).WithPresets (PresetComplexity ),
114
-
115
- newLinterConfig (golinters.Gofmt {}).WithPresets (PresetFormatting ),
116
- newLinterConfig (golinters.Gofmt {UseGoimports : true }).WithPresets (PresetFormatting ),
117
- newLinterConfig (golinters.Maligned {}).WithFullImport ().WithPresets (PresetPerformance ),
102
+ newLinterConfig (golinters.Govet {}).WithPresets (PresetBugs ).WithSpeed (4 ),
103
+ newLinterConfig (golinters.Errcheck {}).WithFullImport ().WithPresets (PresetBugs ).WithSpeed (10 ),
104
+ newLinterConfig (golinters.Golint {}).WithPresets (PresetStyle ).WithSpeed (3 ),
105
+
106
+ newLinterConfig (golinters.Megacheck {StaticcheckEnabled : true }).WithSSA ().
107
+ WithPresets (PresetBugs ).WithSpeed (2 ),
108
+ newLinterConfig (golinters.Megacheck {UnusedEnabled : true }).WithSSA ().WithPresets (PresetUnused ).WithSpeed (5 ),
109
+ newLinterConfig (golinters.Megacheck {GosimpleEnabled : true }).WithSSA ().WithPresets (PresetStyle ).WithSpeed (5 ),
110
+
111
+ newLinterConfig (golinters.Gas {}).WithFullImport ().WithPresets (PresetBugs ).WithSpeed (8 ),
112
+ newLinterConfig (golinters.Structcheck {}).WithFullImport ().WithPresets (PresetUnused ).WithSpeed (10 ),
113
+ newLinterConfig (golinters.Varcheck {}).WithFullImport ().WithPresets (PresetUnused ).WithSpeed (10 ),
114
+ newLinterConfig (golinters.Interfacer {}).WithSSA ().WithPresets (PresetStyle ).WithSpeed (6 ),
115
+ newLinterConfig (golinters.Unconvert {}).WithFullImport ().WithPresets (PresetStyle ).WithSpeed (10 ),
116
+ newLinterConfig (golinters.Ineffassign {}).WithPresets (PresetUnused ).WithSpeed (9 ),
117
+ newLinterConfig (golinters.Dupl {}).WithPresets (PresetStyle ).WithSpeed (7 ),
118
+ newLinterConfig (golinters.Goconst {}).WithPresets (PresetStyle ).WithSpeed (9 ),
119
+ newLinterConfig (golinters.Deadcode {}).WithFullImport ().WithPresets (PresetUnused ).WithSpeed (10 ),
120
+ newLinterConfig (golinters.Gocyclo {}).WithPresets (PresetComplexity ).WithSpeed (8 ),
121
+
122
+ newLinterConfig (golinters.Gofmt {}).WithPresets (PresetFormatting ).WithSpeed (7 ),
123
+ newLinterConfig (golinters.Gofmt {UseGoimports : true }).WithPresets (PresetFormatting ).WithSpeed (5 ),
124
+ newLinterConfig (golinters.Maligned {}).WithFullImport ().WithPresets (PresetPerformance ).WithSpeed (10 ),
118
125
newLinterConfig (golinters.Megacheck {GosimpleEnabled : true , UnusedEnabled : true , StaticcheckEnabled : true }).
119
- WithSSA ().WithPresets (PresetStyle , PresetBugs , PresetUnused ),
126
+ WithSSA ().WithPresets (PresetStyle , PresetBugs , PresetUnused ). WithSpeed ( 1 ) ,
120
127
}
121
128
122
129
if os .Getenv ("GOLANGCI_COM_RUN" ) == "1" {
0 commit comments