summaryrefslogtreecommitdiff
path: root/sort.go
diff options
context:
space:
mode:
Diffstat (limited to 'sort.go')
-rw-r--r--sort.go23
1 files changed, 16 insertions, 7 deletions
diff --git a/sort.go b/sort.go
index b1ad4dd..d553852 100644
--- a/sort.go
+++ b/sort.go
@@ -2,6 +2,7 @@ package main
import (
"fmt"
+ "io"
"os"
"go.wit.com/log"
@@ -43,29 +44,26 @@ func (pb *Files) makeNewSortfile(pf *File) error {
}
pf.findFunc(wFind)
- // show the protobuf of the protobuf. Inception 2025
- pf.printMsgTable()
-
// attempt to add sort functions for pf.Base
- pf.processMessage(pf.Base)
+ pf.processMessage(pf.Base, wSort, wFind)
return nil
}
-func (pf *File) processMessage(msg *MsgName) error {
+func (pf *File) processMessage(msg *MsgName, wSort, wFind io.Writer) error {
log.Printf("%s\n", msg.Name)
for _, v := range msg.Vars {
if !v.IsRepeated {
// log.Printf("\tSKIP %s %s\n", v.VarName, v.VarType)
continue
}
- if err := pf.addSortByMsg(msg, v); err != nil {
+ if err := pf.addSortByMsg(msg, v, wSort, wFind); err != nil {
return err
}
}
return nil
}
-func (pf *File) addSortByMsg(parent *MsgName, find *MsgVar) error {
+func (pf *File) addSortByMsg(parent *MsgName, find *MsgVar, wSort, wFind io.Writer) error {
// log.Printf("\tLOOK HERE: %s %s\n", find.VarName, find.VarType)
var found *MsgName
for _, msg := range pf.MsgNames {
@@ -88,6 +86,17 @@ func (pf *File) addSortByMsg(parent *MsgName, find *MsgVar) error {
// log.Printf("\tUniq!: %s %s for %s\n", find.VarName, find.VarType, v.VarName)
newS := cases.Title(language.English, cases.NoLower).String(v.VarName)
log.Printf("\t(x %s) AppendUniqueBy%s(%s)\n", parent.Name, newS, find.VarType)
+ var FRUIT string = parent.Name
+ var APPLES string = cases.Title(language.English, cases.NoLower).String(find.VarName)
+ var APPLE string = find.VarType
+ var COLOR string = newS
+ var FruitLock string
+ if argv.Mutex {
+ FruitLock = "x.Lock" // uses mutex frum protoc.pb.go file
+ } else {
+ FruitLock = FRUIT + ".Lock" // ugly global lock hack. should probably deprecate
+ }
+ appendUniqueBy(wFind, FRUIT, APPLES, APPLE, COLOR, FruitLock)
log.Printf("\t(x %s) FindBy%s(string) *%s\n", parent.Name, newS, find.VarType)
if v.VarType == "string" {
log.Printf("\t(x %s) DeleteBy%s(string) *%s\n", parent.Name, newS, find.VarType)