aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReto Brunner <reto@labrat.space>2020-05-02 14:06:02 +0200
committerDrew DeVault <sir@cmpwn.com>2020-05-06 10:00:59 -0400
commit6bd6690d80931062210d18f3e9855074707b03a8 (patch)
treef1d0460cb11a51037bda61f170ffad1c60b5a5f4
parent434eaa19a18a1f4c49796118e3c601317374474e (diff)
downloadaerc-6bd6690d80931062210d18f3e9855074707b03a8.tar.gz
templates: add version func
Fixes #316
-rw-r--r--aerc.go4
-rw-r--r--doc/aerc-templates.7.scd7
-rw-r--r--lib/templates/template.go8
3 files changed, 19 insertions, 0 deletions
diff --git a/aerc.go b/aerc.go
index 1b51d6d3..12d94531 100644
--- a/aerc.go
+++ b/aerc.go
@@ -19,6 +19,7 @@ import (
"git.sr.ht/~sircmpwn/aerc/commands/terminal"
"git.sr.ht/~sircmpwn/aerc/config"
"git.sr.ht/~sircmpwn/aerc/lib"
+ "git.sr.ht/~sircmpwn/aerc/lib/templates"
libui "git.sr.ht/~sircmpwn/aerc/lib/ui"
"git.sr.ht/~sircmpwn/aerc/widgets"
)
@@ -179,6 +180,9 @@ func main() {
as.OnMailto = aerc.Mailto
}
+ // set the aerc version so that we can use it in the template funcs
+ templates.SetVersion(Version)
+
close(initDone)
for !ui.ShouldExit() {
diff --git a/doc/aerc-templates.7.scd b/doc/aerc-templates.7.scd
index ff5d4b5f..d0650123 100644
--- a/doc/aerc-templates.7.scd
+++ b/doc/aerc-templates.7.scd
@@ -125,6 +125,13 @@ aerc provides the following additional functions:
{{dateFormat .Date "Mon Jan 2 15:04:05 -0700 MST 2006"}}
```
+*version*
+ Returns the version of aerc, which can be useful for things like X-Mailer.
+
+ ```
+ X-Mailer: aerc {{version}}
+ ```
+
*Function chaining*
All of the template functions can be chained together if needed.
diff --git a/lib/templates/template.go b/lib/templates/template.go
index e18328cc..d16ac1fd 100644
--- a/lib/templates/template.go
+++ b/lib/templates/template.go
@@ -16,6 +16,13 @@ import (
"github.com/mitchellh/go-homedir"
)
+var version string
+
+//SetVersion initializes the aerc version displayed in template functions
+func SetVersion(v string) {
+ version = v
+}
+
type TemplateData struct {
To []*mail.Address
Cc []*mail.Address
@@ -168,6 +175,7 @@ var templateFuncs = template.FuncMap{
"dateFormat": time.Time.Format,
"toLocal": toLocal,
"exec": cmd,
+ "version": func() string { return version },
}
func findTemplate(templateName string, templateDirs []string) (string, error) {