diff --git a/generate.go b/generate.go index 2ab8665..b10ebcc 100644 --- a/generate.go +++ b/generate.go @@ -121,7 +121,7 @@ func (pb *Files) makeNewSortfile(pf *File) error { // func newSortBy(w io.Writer, STRUCT, ITER, SORTNAME, SORTBY, SELECT string) string { if PARENT == VARNAME { sortby = "SortBy" + v.VarName - sortname := s.VarType + v.VarName + sortname := "sort" + s.VarType + v.VarName selectName := "selectAll" + VARNAME funcdef := pmsg.newSortBy(wSort, PARENT, s.VarType, sortname, sortby, selectName, v.VarName) log.Printf("Adding %s\n", funcdef) diff --git a/generateSort.go b/generateSort.go index 2daee70..a9d5259 100644 --- a/generateSort.go +++ b/generateSort.go @@ -83,14 +83,15 @@ func newIter(w io.Writer, msg *MsgName) string { // TODO; figure out what types this actually works on // TODO; add timestamppb compare func (msg *MsgName) newSortType(w io.Writer, STRUCT, VARNAME string) string { + SORTNAME := "sort" + STRUCT + VARNAME // Can these be lower case? Should they be lower case? maybe sort.Sort() requires upper case? fmt.Fprintln(w, "// sort struct by", VARNAME) - fmt.Fprintln(w, "type "+STRUCT+VARNAME+" []*"+STRUCT+"") + fmt.Fprintln(w, "type "+SORTNAME+" []*"+STRUCT+"") fmt.Fprintln(w, "") - fmt.Fprintln(w, "func (a "+STRUCT+VARNAME+") Len() int { return len(a) }") - fmt.Fprintln(w, "func (a "+STRUCT+VARNAME+") Less(i, j int) bool { return a[i]."+VARNAME+" < a[j]."+VARNAME+" }") - fmt.Fprintln(w, "func (a "+STRUCT+VARNAME+") Swap(i, j int) { a[i], a[j] = a[j], a[i] }") + fmt.Fprintln(w, "func (a "+SORTNAME+") Len() int { return len(a) }") + fmt.Fprintln(w, "func (a "+SORTNAME+") Less(i, j int) bool { return a[i]."+VARNAME+" < a[j]."+VARNAME+" }") + fmt.Fprintln(w, "func (a "+SORTNAME+") Swap(i, j int) { a[i], a[j] = a[j], a[i] }") fmt.Fprintln(w, "") return "type " + STRUCT + VARNAME + " []*" + STRUCT + " // { return a[i]." + VARNAME + " < a[j]." + VARNAME + " }"