v0.0.156
This commit is contained in:
parent
8de83cc290
commit
d017530444
@ -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"
|
||||||
|
@ -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"
|
||||||
|
Loading…
Reference in New Issue
Block a user