diff options
| author | ewy <ewy0@protonmail.com> | 2026-04-17 00:24:48 +0200 |
|---|---|---|
| committer | ewy <ewy0@protonmail.com> | 2026-04-17 00:24:48 +0200 |
| commit | 945f09ad71e046337ba6d651b05e2c0c6b132c4e (patch) | |
| tree | 5e48c341c5978e455cbcae42e0139be0569340b6 /describe | |
| parent | 2aaa6cd8a0f689dc60a4c110a6d1aae40c170e26 (diff) | |
buffer descriptions (my bad, i forgot)
Diffstat (limited to 'describe')
| -rw-r--r-- | describe/describe.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/describe/describe.go b/describe/describe.go index 7f2c888..443c0e6 100644 --- a/describe/describe.go +++ b/describe/describe.go @@ -3,6 +3,7 @@ package describe import ( "bufio" "os" + "pik/model" "strings" ) @@ -11,9 +12,16 @@ var DescriptionPrefixes = []string{ "//", } -func Describe(file string) (string, error) { +var descriptions = make(map[model.Target]*string) + +func Describe(key model.Target, file string) (string, error) { + if d := descriptions[key]; d != nil { + return *d, nil + } fd, err := os.Open(file) if err != nil { + msg := err.Error() + descriptions[key] = &msg return "", err } defer fd.Close() @@ -33,5 +41,6 @@ func Describe(file string) (string, error) { text = strings.TrimPrefix(text, c) text = strings.TrimSpace(text) } + descriptions[key] = &text return text, nil } |
