diff --git a/main.go b/main.go index 559c14e..4600da9 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,7 @@ import ( "log" "os" "strings" + "sync" "text/template" "github.com/PuerkitoBio/goquery" @@ -58,20 +59,26 @@ func main() { return } + wg := sync.WaitGroup{} for _, file := range files { - class, err := ParseFile(file) - if err != nil { - Error.Printf("Error parsing file: %v", err) - continue - } + wg.Add(1) + go func(file string) { + defer wg.Done() + class, err := ParseFile(file) + if err != nil { + Error.Printf("Error parsing file: %v", err) + return + } - outfile, err := class.GetOutFile() - if err != nil { - Error.Printf("Error creating output file: %v", err) - return - } - ltemplate.Execute(outfile, class) + outfile, err := class.GetOutFile() + if err != nil { + Error.Printf("Error creating output file: %v", err) + return + } + ltemplate.Execute(outfile, class) + }(file) } + wg.Wait() } func ParseFile(filename string) (*Class, error) { @@ -156,7 +163,7 @@ func ParseFile(filename string) (*Class, error) { res.Methods = append(res.Methods, method) }) - // spew.Dump(res) + spew.Dump(res) return &res, nil } diff --git a/types.go b/types.go index df65976..23c9dd5 100644 --- a/types.go +++ b/types.go @@ -46,6 +46,8 @@ func (c *Class) GetOutFile() (*os.File, error) { filename := fmt.Sprintf("%s.lua", c.ClassName) filename = strings.ReplaceAll(filename, " ", "") filename = strings.ReplaceAll(filename, "-", "") + filename = strings.ReplaceAll(filename, ",", "") + filename = strings.ReplaceAll(filename, ":", "") f, err := os.Create(filename) if err != nil { return nil, err