Implement parsing functions partially
This commit is contained in:
16
function.go
16
function.go
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
_ "embed"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"text/template"
|
||||
@@ -17,6 +18,7 @@ var fns = template.FuncMap{
|
||||
var templatestr string
|
||||
|
||||
var functionTemplate *template.Template
|
||||
|
||||
func init() {
|
||||
var err error
|
||||
functionTemplate, err = template.New("class").Funcs(fns).Parse(templatestr)
|
||||
@@ -30,10 +32,10 @@ func init() {
|
||||
type (
|
||||
Function struct {
|
||||
Name string
|
||||
Arguments []Argument
|
||||
Returns []Argument
|
||||
Arguments []Parameter
|
||||
Returns []Parameter
|
||||
}
|
||||
Argument struct {
|
||||
Parameter struct {
|
||||
Name string
|
||||
Type string
|
||||
Description string
|
||||
@@ -44,15 +46,19 @@ func (f *Function) ResolveFileName() string {
|
||||
return f.Name + ".lua"
|
||||
}
|
||||
func (f *Function) WriteFile() error {
|
||||
if f.Name == "" {
|
||||
return fmt.Errorf("function name is empty of %+v", f)
|
||||
}
|
||||
|
||||
file, err := os.Create(f.ResolveFileName())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
|
||||
err = functionTemplate.Execute(file, f)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user