Handle multiple case insensitivity prefixes in ignores (fixes #2134)

This commit is contained in:
Jakob Borg
2015-08-08 11:53:14 +02:00
parent 161d5c8379
commit 0bfcafc5c6
2 changed files with 5 additions and 3 deletions

View File

@@ -38,9 +38,10 @@ func Convert(pattern string, flags int) (*regexp.Regexp, error) {
}
}
// Support case insensitive ignores
ignore := strings.TrimPrefix(pattern, "(?i)")
if ignore != pattern {
// Support case insensitive ignores. We do the loop because we may in some
// circumstances end up with multiple insensitivity prefixes
// ("(?i)(?i)foo"), which should be accepted.
for ignore := strings.TrimPrefix(pattern, "(?i)"); ignore != pattern; ignore = strings.TrimPrefix(pattern, "(?i)") {
flags |= CaseFold
pattern = ignore
}