diff options
Diffstat (limited to 'match_copyright.go')
| -rw-r--r-- | match_copyright.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/match_copyright.go b/match_copyright.go index aa35950..723c63f 100644 --- a/match_copyright.go +++ b/match_copyright.go @@ -11,12 +11,18 @@ import ( type matchCopyright struct { rePattern *regexp.Regexp + reDeleteLineBefore []*regexp.Regexp + reDeleteLineAfter []*regexp.Regexp + // Pattern to be searched in file. Pattern string `ini:"match-copyright::pattern"` year string author string contact string + + DeleteLineBefore []string `ini:"match-copyright::delete_line_before"` + DeleteLineAfter []string `ini:"match-copyright::delete_line_after"` } func (cmc *matchCopyright) init() (err error) { @@ -27,6 +33,22 @@ func (cmc *matchCopyright) init() (err error) { return fmt.Errorf(`%s: pattern %q: %w`, logp, cmc.Pattern, err) } } + cmc.reDeleteLineBefore = make([]*regexp.Regexp, len(cmc.DeleteLineBefore)) + for x, pattern := range cmc.DeleteLineBefore { + re, err := regexp.Compile(pattern) + if err != nil { + return fmt.Errorf(`%s: delete_line_before %q: %w`, logp, pattern, err) + } + cmc.reDeleteLineBefore[x] = re + } + cmc.reDeleteLineAfter = make([]*regexp.Regexp, len(cmc.DeleteLineAfter)) + for x, pattern := range cmc.DeleteLineAfter { + re, err := regexp.Compile(pattern) + if err != nil { + return fmt.Errorf(`%s: delete_line_after %q: %w`, logp, pattern, err) + } + cmc.reDeleteLineAfter[x] = re + } return nil } |
