diff --git a/class.go b/class.go index e367db3..fe6bbe6 100644 --- a/class.go +++ b/class.go @@ -1,6 +1,7 @@ package main import ( + _ "embed" "fmt" "log" "os" @@ -12,6 +13,25 @@ import ( "github.com/davecgh/go-spew/spew" ) +//go:embed class.tmpl +var templatestr string +var classTemplate *template.Template + +var fns = template.FuncMap{ + "plus1": func(x int) int { + return x + 1 + }, +} + +func init() { + var err error + classTemplate, err = template.New("class").Funcs(fns).Parse(templatestr) + if err != nil { + Error.Printf("Error parsing template: %v", err) + return + } +} + type ( Class struct { ClassName string diff --git a/main.go b/main.go index b71c90a..e74490c 100644 --- a/main.go +++ b/main.go @@ -7,16 +7,12 @@ import ( "log" "os" "sync" - "text/template" "github.com/davecgh/go-spew/spew" _ "embed" ) -//go:embed class.tmpl -var templatestr string - var Error *log.Logger var Warning *log.Logger @@ -36,12 +32,6 @@ func init() { spew.Config.SortKeys = true } -var fns = template.FuncMap{ - "plus1": func(x int) int { - return x + 1 - }, -} - func main() { outdir := flag.String("o", ".", "Output directory") flag.Parse() @@ -52,12 +42,6 @@ func main() { return } - ltemplate, err := template.New("class").Funcs(fns).Parse(templatestr) - if err != nil { - Error.Printf("Error parsing template: %v", err) - return - } - wg := sync.WaitGroup{} for _, file := range files { wg.Add(1) @@ -68,7 +52,7 @@ func main() { Error.Printf("Error parsing file: %v", err) return } - class.Write(*outdir, ltemplate) + class.Write(*outdir, classTemplate) }(file) } wg.Wait()