summaryrefslogtreecommitdiff
path: root/describe/describe.go
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-04-14 19:04:41 +0200
committerewy <ewy0@protonmail.com>2026-04-14 19:04:41 +0200
commit466758ce0a6de964f6ed8228d78fb7e9a4ff9a67 (patch)
tree8e522bcfdd08c07402fea89033adb84f85bd4665 /describe/describe.go
parent370f13b58e9cb74eeab3461afb779cf4d013c94b (diff)
add descriptions
Diffstat (limited to 'describe/describe.go')
-rw-r--r--describe/describe.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/describe/describe.go b/describe/describe.go
new file mode 100644
index 0000000..fe168ec
--- /dev/null
+++ b/describe/describe.go
@@ -0,0 +1,33 @@
+package describe
+
+import (
+ "bufio"
+ "os"
+ "strings"
+)
+
+var DescriptionPrefixes = []string{
+ "#",
+ "//",
+}
+
+func Describe(file string) (string, error) {
+ fd, err := os.Open(file)
+ if err != nil {
+ return "", err
+ }
+ defer fd.Close()
+ scanner := bufio.NewScanner(fd)
+ scanner.Split(bufio.ScanLines)
+ scanner.Scan()
+ text := scanner.Text()
+ if strings.HasPrefix(text, "#!") {
+ scanner.Scan()
+ text = scanner.Text()
+ }
+ text = strings.TrimSpace(text)
+ if !strings.HasPrefix(text, "#") {
+ return "", nil
+ }
+ return text, nil
+}