@@ -37,24 +37,29 @@ func NewExcludeRules(rules []ExcludeRule, lineCache *fsutils.LineCache, log logu
3737 lineCache : lineCache ,
3838 log : log ,
3939 }
40+ r .rules = createRules (rules , "(?i)" )
4041
42+ return r
43+ }
44+
45+ func createRules (rules []ExcludeRule , prefix string ) []excludeRule {
46+ parsedRules := make ([]excludeRule , 0 , len (rules ))
4147 for _ , rule := range rules {
4248 parsedRule := excludeRule {
4349 linters : rule .Linters ,
4450 }
4551 if rule .Text != "" {
46- parsedRule .text = regexp .MustCompile ("(?i)" + rule .Text )
52+ parsedRule .text = regexp .MustCompile (prefix + rule .Text )
4753 }
4854 if rule .Source != "" {
49- parsedRule .source = regexp .MustCompile ("(?i)" + rule .Source )
55+ parsedRule .source = regexp .MustCompile (prefix + rule .Source )
5056 }
5157 if rule .Path != "" {
5258 parsedRule .path = regexp .MustCompile (rule .Path )
5359 }
54- r . rules = append (r . rules , parsedRule )
60+ parsedRules = append (parsedRules , parsedRule )
5561 }
56-
57- return r
62+ return parsedRules
5863}
5964
6065func (p ExcludeRules ) Process (issues []result.Issue ) ([]result.Issue , error ) {
@@ -128,22 +133,7 @@ func NewExcludeRulesCaseSensitive(rules []ExcludeRule, lineCache *fsutils.LineCa
128133 lineCache : lineCache ,
129134 log : log ,
130135 }
131-
132- for _ , rule := range rules {
133- parsedRule := excludeRule {
134- linters : rule .Linters ,
135- }
136- if rule .Text != "" {
137- parsedRule .text = regexp .MustCompile (rule .Text )
138- }
139- if rule .Source != "" {
140- parsedRule .source = regexp .MustCompile (rule .Source )
141- }
142- if rule .Path != "" {
143- parsedRule .path = regexp .MustCompile (rule .Path )
144- }
145- r .rules = append (r .rules , parsedRule )
146- }
136+ r .rules = createRules (rules , "" )
147137
148138 return & ExcludeRulesCaseSensitive {r }
149139}
0 commit comments