@@ -10,6 +10,11 @@ import (
10
10
yaml "gopkg.in/yaml.v2"
11
11
)
12
12
13
+ const (
14
+ multilinePrefix = "(?m)"
15
+ orPipe = "|"
16
+ )
17
+
13
18
// GenHeuristics generates language identification heuristics in Go.
14
19
// It is of generator.File type.
15
20
func GenHeuristics (fileToParse , _ , outPath , tmplPath , tmplName , commit string ) error {
@@ -67,14 +72,14 @@ func loadRule(namedPatterns map[string]StringArray, rule *Rule) *LanguagePattern
67
72
}
68
73
result = & LanguagePattern {"And" , rule .Languages , "" , subPatterns }
69
74
} else if len (rule .Pattern ) != 0 { // OrPattern
70
- conjunction := strings .Join (rule .Pattern , " | " )
75
+ conjunction := strings .Join (rule .Pattern , orPipe )
71
76
pattern := convertToValidRegexp (conjunction )
72
77
result = & LanguagePattern {"Or" , rule .Languages , pattern , nil }
73
78
} else if rule .NegativePattern != "" { // NotPattern
74
79
pattern := convertToValidRegexp (rule .NegativePattern )
75
80
result = & LanguagePattern {"Not" , rule .Languages , pattern , nil }
76
81
} else if rule .NamedPattern != "" { // Named OrPattern
77
- conjunction := strings .Join (namedPatterns [rule .NamedPattern ], " | " )
82
+ conjunction := strings .Join (namedPatterns [rule .NamedPattern ], orPipe )
78
83
pattern := convertToValidRegexp (conjunction )
79
84
result = & LanguagePattern {"Or" , rule .Languages , pattern , nil }
80
85
} else { // AlwaysPattern
@@ -164,8 +169,6 @@ func isUnsupportedRegexpSyntax(reg string) bool {
164
169
(strings .HasPrefix (reg , multilinePrefix + `/` ) && strings .HasSuffix (reg , `/` ))
165
170
}
166
171
167
- const multilinePrefix = "(?m)"
168
-
169
172
// convertToValidRegexp converts Ruby regexp syntaxt to RE2 equivalent.
170
173
// Does not work with Ruby regexp literals.
171
174
func convertToValidRegexp (rubyRegexp string ) string {
0 commit comments