diff options
| author | Jeff Carr <[email protected]> | 2025-10-12 04:30:43 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-12 04:30:43 -0500 |
| commit | 890782893d553cb6dfdb42368b75fa9e8e893ff5 (patch) | |
| tree | 74ae2c16e7d38669052eedb3508db8880dba5d87 /history.go | |
| parent | 12195649cd8610533082d2cfb10568fe4c080a4d (diff) | |
moved formatting to lib/cobol
Diffstat (limited to 'history.go')
| -rw-r--r-- | history.go | 54 |
1 files changed, 16 insertions, 38 deletions
@@ -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 } |
