func namespacedTree(tree *parse.Tree, ns []string) *parse.Tree { tree = tree.Copy() if len(ns) > 0 { prefix := strings.Join(ns, nsSep) + nsMark templateutil.WalkTree(tree, func(n, p parse.Node) { if n.Type() == parse.NodeTemplate { tmpl := n.(*parse.TemplateNode) tmpl.Name = prefix + tmpl.Name } }) } return tree }