This commit is contained in:
Mike Schwörer 2023-06-10 00:19:17 +02:00
parent 8de83cc290
commit d017530444
Signed by: Mikescher
GPG Key ID: D3C7172E0A70F8CF
2 changed files with 14 additions and 5 deletions

View File

@ -11,6 +11,7 @@ import (
"io" "io"
"os" "os"
"path" "path"
"path/filepath"
"regexp" "regexp"
"strings" "strings"
"time" "time"
@ -24,6 +25,7 @@ type EnumDefVal struct {
type EnumDef struct { type EnumDef struct {
File string File string
FileRelative string
EnumTypeName string EnumTypeName string
Type string Type string
Values []EnumDefVal Values []EnumDefVal
@ -83,7 +85,7 @@ func GenerateEnumSpecs(sourceDir string, destFile string) error {
for _, f := range files { for _, f := range files {
fmt.Printf("========= %s =========\n\n", f.Name()) fmt.Printf("========= %s =========\n\n", f.Name())
fileEnums, pn, err := processFile(path.Join(sourceDir, f.Name())) fileEnums, pn, err := processFile(sourceDir, path.Join(sourceDir, f.Name()))
if err != nil { if err != nil {
return err return err
} }
@ -123,7 +125,7 @@ func GenerateEnumSpecs(sourceDir string, destFile string) error {
return nil return nil
} }
func processFile(fn string) ([]EnumDef, string, error) { func processFile(basedir string, fn string) ([]EnumDef, string, error) {
file, err := os.Open(fn) file, err := os.Open(fn)
if err != nil { if err != nil {
return nil, "", err return nil, "", err
@ -153,8 +155,15 @@ func processFile(fn string) ([]EnumDef, string, error) {
} }
if match, ok := rexEnumDef.MatchFirst(line); ok { if match, ok := rexEnumDef.MatchFirst(line); ok {
rfp, err := filepath.Rel(basedir, fn)
if err != nil {
return nil, "", err
}
def := EnumDef{ def := EnumDef{
File: fn, File: fn,
FileRelative: rfp,
EnumTypeName: match.GroupByName("name").Value(), EnumTypeName: match.GroupByName("name").Value(),
Type: match.GroupByName("type").Value(), Type: match.GroupByName("type").Value(),
Values: make([]EnumDefVal, 0), Values: make([]EnumDefVal, 0),
@ -239,7 +248,7 @@ func fmtOutput(cs string, enums []EnumDef, pkgname string) string {
str += "// ================================ " + enumdef.EnumTypeName + " ================================" + "\n" str += "// ================================ " + enumdef.EnumTypeName + " ================================" + "\n"
str += "//" + "\n" str += "//" + "\n"
str += "// File: " + enumdef.File + "\n" str += "// File: " + enumdef.FileRelative + "\n"
str += "// StringEnum: " + langext.Conditional(hasStr, "true", "false") + "\n" str += "// StringEnum: " + langext.Conditional(hasStr, "true", "false") + "\n"
str += "// DescrEnum: " + langext.Conditional(hasDescr, "true", "false") + "\n" str += "// DescrEnum: " + langext.Conditional(hasDescr, "true", "false") + "\n"
str += "//" + "\n" str += "//" + "\n"

View File

@ -1,5 +1,5 @@
package goext package goext
const GoextVersion = "0.0.155" const GoextVersion = "0.0.156"
const GoextVersionTimestamp = "2023-06-08T16:26:06+0200" const GoextVersionTimestamp = "2023-06-10T00:19:17+0200"