@@ -11,35 +11,47 @@ import (
1111type Evaluator struct {
1212}
1313
14- func (e Evaluator ) Evaluate (r io.Reader ) ([]* gitdiff.File , []* Reasons , error ) {
14+ func (e Evaluator ) Evaluate (r io.Reader ) ([]* gitdiff.File , []* Reasons , [] * Reasons , error ) {
1515 files , _ , err := gitdiff .Parse (r )
1616 if err != nil {
17- return nil , nil , err
17+ return nil , nil , nil , err
1818 }
1919
20- filterers := []Filterer {
20+ lowValue := []Filterer {
2121 FocusSuffixFilterer {".sh" , ".bash" , ".c" , ".go" , ".py" , ".java" , ".cpp" , ".h" , ".hpp" , ".yaml" , ".yml" },
22- PrefixFilterer {"vendor/" , "test/" , "tests/" },
23- ContainsFilterer {"generated" , "testdata" },
22+ PrefixFilterer {"test/" , "tests/" },
2423 SuffixFilterer {"_test.go" },
24+ }
25+
26+ noValue := []Filterer {
27+ PrefixFilterer {"vendor/" },
28+ ContainsFilterer {"generated" , "testdata" },
2529 CommentFilterer {},
2630 EmptyLineFilterer {},
2731 }
2832
2933 filtered := []* gitdiff.File {}
3034
31- reasons := []* Reasons {}
35+ reasonsLowValue := []* Reasons {}
36+
37+ reasonsNoValue := []* Reasons {}
3238loop:
3339 for _ , file := range files {
34- for _ , filterer := range filterers {
40+ for _ , filterer := range noValue {
41+ if rea := filterer .Filter (file ); rea != nil {
42+ reasonsNoValue = append (reasonsNoValue , rea )
43+ continue loop
44+ }
45+ }
46+ for _ , filterer := range lowValue {
3547 if rea := filterer .Filter (file ); rea != nil {
36- reasons = append (reasons , rea )
48+ reasonsLowValue = append (reasonsLowValue , rea )
3749 continue loop
3850 }
3951 }
4052 filtered = append (filtered , file )
4153 }
42- return filtered , reasons , nil
54+ return filtered , reasonsLowValue , reasonsNoValue , nil
4355}
4456
4557var contentDiff = diffmatchpatch .New ()
0 commit comments