summaryrefslogtreecommitdiff
path: root/template.go
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2018-11-10 11:16:28 -0500
committerDave Henderson <dhenderson@gmail.com>2018-11-10 20:56:24 -0500
commitb8797404d01fc222cf22535ff57ab925aed4d88d (patch)
treec8c6c40f0d803b0e7b852c43340e55b57a15b717 /template.go
parent40b95a7537904926783bea001c0d45fd3c30a798 (diff)
New tpl function
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'template.go')
-rw-r--r--template.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/template.go b/template.go
index 6ec2b239..86fbfb25 100644
--- a/template.go
+++ b/template.go
@@ -28,12 +28,18 @@ type tplate struct {
modeOverride bool
}
-func (t *tplate) toGoTemplate(g *gomplate) (*template.Template, error) {
- tmpl := template.New(t.name)
+func (t *tplate) toGoTemplate(g *gomplate) (tmpl *template.Template, err error) {
+ if g.rootTemplate != nil {
+ tmpl = g.rootTemplate.New(t.name)
+ } else {
+ tmpl = template.New(t.name)
+ g.rootTemplate = tmpl
+ }
tmpl.Option("missingkey=error")
+ g.funcMap["tpl"] = g.tpl
tmpl.Funcs(g.funcMap)
tmpl.Delims(g.leftDelim, g.rightDelim)
- _, err := tmpl.Parse(t.contents)
+ _, err = tmpl.Parse(t.contents)
if err != nil {
return nil, err
}