Changes
1 changed files (+2/-58)
-
-
@@ -5,66 +5,10 @@package analyze import ( "regexp" "sort" "strings" "github.com/go-enry/go-enry/v2/data" "github.com/go-enry/go-enry/v2" ) var isVendorRegExp *regexp.Regexp func init() { matchers := data.VendorMatchers caretStrings := make([]string, 0, 10) caretShareStrings := make([]string, 0, 10) matcherStrings := make([]string, 0, len(matchers)) for _, matcher := range matchers { str := matcher.String() if str[0] == '^' { caretStrings = append(caretStrings, str[1:]) } else if str[0:5] == "(^|/)" { caretShareStrings = append(caretShareStrings, str[5:]) } else { matcherStrings = append(matcherStrings, str) } } sort.Strings(caretShareStrings) sort.Strings(caretStrings) sort.Strings(matcherStrings) sb := &strings.Builder{} sb.WriteString("(?:^(?:") sb.WriteString(caretStrings[0]) for _, matcher := range caretStrings[1:] { sb.WriteString(")|(?:") sb.WriteString(matcher) } sb.WriteString("))") sb.WriteString("|") sb.WriteString("(?:(?:^|/)(?:") sb.WriteString(caretShareStrings[0]) for _, matcher := range caretShareStrings[1:] { sb.WriteString(")|(?:") sb.WriteString(matcher) } sb.WriteString("))") sb.WriteString("|") sb.WriteString("(?:") sb.WriteString(matcherStrings[0]) for _, matcher := range matcherStrings[1:] { sb.WriteString(")|(?:") sb.WriteString(matcher) } sb.WriteString(")") combined := sb.String() isVendorRegExp = regexp.MustCompile(combined) } // IsVendor returns whether or not path is a vendor path. func IsVendor(path string) bool { return isVendorRegExp.MatchString(path) return enry.IsVendor(path) }
-