aboutsummaryrefslogtreecommitdiffstats
path: root/lib/templates/functions.go
diff options
context:
space:
mode:
authorKoni Marti <koni.marti@gmail.com>2023-07-26 11:18:24 +0200
committerRobin Jarry <robin@jarry.cc>2023-08-03 22:31:34 +0200
commitd29c9d1a2ff82234ad1810abc6a57199340e7fd5 (patch)
tree5d87ff8313f12c288bc41466453b0ed139a20c8b /lib/templates/functions.go
parent0e09c05937913a938bc4987db2b6d193ed0501bd (diff)
downloadaerc-d29c9d1a2ff82234ad1810abc6a57199340e7fd5.tar.gz
templates: attach directly from templates
Attach a file from templates. Add a split template function. {{- .Attach "LICENSE" -}} or {{range (exec "find ./doc -type f -name *.scd" "" | split "\n") -}} {{with . }} {{- $.Attach . -}} {{- end}} {{- end}} Fixes: https://todo.sr.ht/~rjarry/aerc/109 Signed-off-by: Koni Marti <koni.marti@gmail.com> Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'lib/templates/functions.go')
-rw-r--r--lib/templates/functions.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/templates/functions.go b/lib/templates/functions.go
index f083c8fb..692974fd 100644
--- a/lib/templates/functions.go
+++ b/lib/templates/functions.go
@@ -240,6 +240,14 @@ func join(sep string, elems []string) string {
return strings.Join(elems, sep)
}
+func split(sep string, s string) []string {
+ sp := strings.Split(s, sep)
+ for i := range sp {
+ sp[i] = strings.TrimSpace(sp[i])
+ }
+ return sp
+}
+
// removes a signature from the piped in message
func trimSignature(message string) string {
var res strings.Builder
@@ -335,6 +343,7 @@ var templateFuncs = template.FuncMap{
"humanReadable": humanReadable,
"cwd": cwd,
"join": join,
+ "split": split,
"trimSignature": trimSignature,
"compactDir": compactDir,
"match": parse.MatchCache,