diff options
| author | ewy <ewy0@protonmail.com> | 2026-04-22 20:44:06 +0200 |
|---|---|---|
| committer | ewy <ewy0@protonmail.com> | 2026-04-22 20:44:06 +0200 |
| commit | 086a0cc0eb75c0c3a15cf6a715427df1e2d589a2 (patch) | |
| tree | 0bcc881b202f94a7ea39f94f13aea89ca2046312 /describe/describe.go | |
| parent | c6a362a039b1662dfc0badeb8badc4458e446787 (diff) | |
slowly working on that test coverage
Diffstat (limited to 'describe/describe.go')
| -rw-r--r-- | describe/describe.go | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/describe/describe.go b/describe/describe.go index 443c0e6..0863b6d 100644 --- a/describe/describe.go +++ b/describe/describe.go @@ -2,6 +2,7 @@ package describe import ( "bufio" + "io" "os" "pik/model" "strings" @@ -25,7 +26,17 @@ func Describe(key model.Target, file string) (string, error) { return "", err } defer fd.Close() - scanner := bufio.NewScanner(fd) + text, err := FromReader(fd) + if err != nil { + return text, err + } else { + descriptions[key] = &text + } + return text, err +} + +func FromReader(reader io.Reader) (string, error) { + scanner := bufio.NewScanner(reader) scanner.Split(bufio.ScanLines) scanner.Scan() text := scanner.Text() @@ -34,13 +45,19 @@ func Describe(key model.Target, file string) (string, error) { text = scanner.Text() } text = strings.TrimSpace(text) - if !strings.HasPrefix(text, "#") { + hasPrefix := false + for _, p := range DescriptionPrefixes { + if strings.HasPrefix(text, p) { + hasPrefix = true + break + } + } + if !hasPrefix { return "", nil } for _, c := range DescriptionPrefixes { text = strings.TrimPrefix(text, c) text = strings.TrimSpace(text) } - descriptions[key] = &text return text, nil } |
