From 890782893d553cb6dfdb42368b75fa9e8e893ff5 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 12 Oct 2025 04:30:43 -0500 Subject: moved formatting to lib/cobol --- history.go | 54 ++++++++++++++++-------------------------------------- 1 file changed, 16 insertions(+), 38 deletions(-) (limited to 'history.go') diff --git a/history.go b/history.go index c0a26c1..a2956df 100644 --- a/history.go +++ b/history.go @@ -6,42 +6,30 @@ package prep import ( "fmt" - "os" - "path/filepath" "time" + "go.wit.com/lib/cobol" "go.wit.com/lib/config" durationpb "google.golang.org/protobuf/types/known/durationpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" ) -// makes a bash autocomplete file for your command func (pb *Auto) getHistoryPB() error { - cacheDir, err := os.UserCacheDir() - if err != nil { - return err - } - basedir := filepath.Join(cacheDir, "argv") - os.MkdirAll(basedir, os.ModePerm) - fullname := filepath.Join(basedir, pb.Argname+".pb") - all := NewAutos() + err := config.LoadCache(all, "argv", pb.Argname) // loads ~/.cache/argv/forge.pb + var last *Auto - data, err := os.ReadFile(fullname) if err == nil { - err = all.Unmarshal(data) - if err == nil { - for found := range all.IterAll() { - dur := time.Since(found.Ctime.AsTime()) - pb.Duration = durationpb.New(dur) - // found.PrintDebug() - cmd := fmt.Sprintf("cmd='%s'", found.Cmd) - arglast := fmt.Sprintf("last='%s'", found.Last) - partial := fmt.Sprintf("p='%s'", found.Partial) - age := fmt.Sprintf("age='%-6.6s'", config.FormatDuration(dur)) - pb.Debugf("AUTO HISTORY: %s %-18.18s %-18.18s %-12.12s argv='%v' goargs='%v'", age, cmd, arglast, partial, found.Argv, found.Goargs) - last = found - } + for found := range all.IterAll() { + dur := time.Since(found.Ctime.AsTime()) + pb.Duration = durationpb.New(dur) + // found.PrintDebug() + cmd := fmt.Sprintf("cmd='%s'", found.Cmd) + arglast := fmt.Sprintf("last='%s'", found.Last) + partial := fmt.Sprintf("p='%s'", found.Partial) + age := fmt.Sprintf("age='%-6.6s'", cobol.FormatDuration(dur)) + pb.Debugf("AUTO HISTORY: %s %-18.18s %-18.18s %-12.12s argv='%v' goargs='%v'", age, cmd, arglast, partial, found.Argv, found.Goargs) + last = found } } @@ -59,22 +47,12 @@ func (pb *Auto) getHistoryPB() error { last = new(Auto) } + // this is the start time of the binary now := time.Now() pb.Ctime = timestamppb.New(now) - duration := time.Since(last.Ctime.AsTime()) all.Append(pb) - data, err = all.Marshal() - if err != nil { - return err - } - - f, err := os.OpenFile(fullname, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644) - defer f.Close() - if err != nil { - return err - } - _, err = f.Write(data) - pb.Debugf("WRITE DEBUG: write PB='%s' len(pb)=%d len(data)=%d dur=%v err=%v", fullname, all.Len(), len(data), duration, err) + err = all.Save() + pb.Debugf("WRITE DEBUG: write PB='%s' len(pb)=%d config.Save().err=%v", all.Filename, all.Len(), err) return err } -- cgit v1.2.3