package prompt import "text/template" // CompileTemplate checks static syntax with the same grammar and function // names as rendering, without evaluating request inputs or variables. func CompileTemplate(name, raw string) (*template.Template, error) { return parseTemplate(name, raw, template.FuncMap{ "input": func(string) (string, error) { return "", nil }, }) } func parseTemplate(name, raw string, funcs template.FuncMap) (*template.Template, error) { return template.New(name).Funcs(funcs).Option("missingkey=error").Parse(raw) }