summaryrefslogtreecommitdiff
path: root/generate.go
diff options
context:
space:
mode:
Diffstat (limited to 'generate.go')
-rw-r--r--generate.go44
1 files changed, 34 insertions, 10 deletions
diff --git a/generate.go b/generate.go
index 30e0315..dc07fa8 100644
--- a/generate.go
+++ b/generate.go
@@ -51,21 +51,45 @@ func (pb *Files) makeNewSortfile(pf *File) error {
return nil
}
-/*
-func newGenerate(parent *MsgName, child *MsgName)
- var FRUIT string = cases.Title(language.English, cases.NoLower).String(parent.Name)
+func (pf *File) newGenerateSort(w io.Writer, parent *MsgName) error {
+ var FRUIT string = parent.Name
var LOCK string = parent.Lockname
- var APPLES string = cases.Title(language.English, cases.NoLower).String(pf.Bases.Name)
- var APPLE string = cases.Title(language.English, cases.NoLower).String(pf.Base.Name)
- var COLORS []string
+
for _, v := range parent.Vars {
- if v.HasUnique {
- var COLOR string = cases.Title(language.English, cases.NoLower).String(v.VarName)
- COLORS = append(COLORS, COLOR)
+ if v.IsRepeated {
+ var APPLES string = v.VarName
+ var APPLE string = v.VarType
+ newIter(w, FRUIT, APPLE, APPLES, LOCK)
+ msg := pf.findMsg(APPLE)
+ if msg == nil {
+ return fmt.Errorf("failed to find struct %s", APPLE)
+ }
+ for _, v := range msg.Vars {
+ if v.HasSort {
+ var COLOR string = v.VarName
+ newSortBy(w, FRUIT, APPLE, COLOR)
+ }
+
+ }
}
}
+ return nil
+}
+
+func (pf *File) findMsg(s string) *MsgName {
+ if pf.Bases.Name == s {
+ return pf.Bases
+ }
+ if pf.Base.Name == s {
+ return pf.Base
+ }
+ for _, msg := range pf.MsgNames {
+ if msg.Name == s {
+ return msg
+ }
+ }
+ return nil
}
-*/
func (pf *File) specialBases(wFind io.Writer) {
var FRUIT string = cases.Title(language.English, cases.NoLower).String(pf.Bases.Name)