diff options
Diffstat (limited to 'plugin/plaintext')
| -rw-r--r-- | plugin/plaintext/common_in.go | 22 | ||||
| -rw-r--r-- | plugin/plaintext/text_in.go | 6 |
2 files changed, 24 insertions, 4 deletions
diff --git a/plugin/plaintext/common_in.go b/plugin/plaintext/common_in.go index f5be6aa6..cbc64c00 100644 --- a/plugin/plaintext/common_in.go +++ b/plugin/plaintext/common_in.go @@ -17,6 +17,9 @@ type textIn struct { URI string InputDir string OnlyIPType lib.IPType + + RemovePrefixesInLine []string + RemoveSuffixesInLine []string } func (t *textIn) scanFile(reader io.Reader, entry *lib.Entry) error { @@ -40,10 +43,8 @@ func (t *textIn) scanFile(reader io.Reader, entry *lib.Entry) error { func (t *textIn) scanFileForTextIn(reader io.Reader, entry *lib.Entry) error { scanner := bufio.NewScanner(reader) for scanner.Scan() { - line := strings.TrimSpace(scanner.Text()) - if line == "" { - continue - } + line := scanner.Text() + line, _, _ = strings.Cut(line, "#") line, _, _ = strings.Cut(line, "//") line, _, _ = strings.Cut(line, "/*") @@ -51,6 +52,19 @@ func (t *textIn) scanFileForTextIn(reader io.Reader, entry *lib.Entry) error { if line == "" { continue } + + line = strings.ToLower(line) + for _, prefix := range t.RemovePrefixesInLine { + line = strings.TrimSpace(strings.TrimPrefix(line, strings.ToLower(strings.TrimSpace(prefix)))) + } + for _, suffix := range t.RemoveSuffixesInLine { + line = strings.TrimSpace(strings.TrimSuffix(line, strings.ToLower(strings.TrimSpace(suffix)))) + } + line = strings.TrimSpace(line) + if line == "" { + continue + } + if err := entry.AddPrefix(line); err != nil { return err } diff --git a/plugin/plaintext/text_in.go b/plugin/plaintext/text_in.go index 6ebf15d9..d9aea269 100644 --- a/plugin/plaintext/text_in.go +++ b/plugin/plaintext/text_in.go @@ -32,6 +32,9 @@ func newTextIn(iType string, action lib.Action, data json.RawMessage) (lib.Input URI string `json:"uri"` InputDir string `json:"inputDir"` OnlyIPType lib.IPType `json:"onlyIPType"` + + RemovePrefixesInLine []string `json:"removePrefixesInLine"` + RemoveSuffixesInLine []string `json:"removeSuffixesInLine"` } if strings.TrimSpace(iType) == "" { @@ -60,6 +63,9 @@ func newTextIn(iType string, action lib.Action, data json.RawMessage) (lib.Input URI: tmp.URI, InputDir: tmp.InputDir, OnlyIPType: tmp.OnlyIPType, + + RemovePrefixesInLine: tmp.RemovePrefixesInLine, + RemoveSuffixesInLine: tmp.RemoveSuffixesInLine, }, nil } |
