summaryrefslogtreecommitdiff
path: root/describe
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-04-17 00:24:48 +0200
committerewy <ewy0@protonmail.com>2026-04-17 00:24:48 +0200
commit945f09ad71e046337ba6d651b05e2c0c6b132c4e (patch)
tree5e48c341c5978e455cbcae42e0139be0569340b6 /describe
parent2aaa6cd8a0f689dc60a4c110a6d1aae40c170e26 (diff)
buffer descriptions (my bad, i forgot)
Diffstat (limited to 'describe')
-rw-r--r--describe/describe.go11
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
}