|
|
@@ -18,6 +18,7 @@ import (
|
|
|
"strings"
|
|
|
"sync"
|
|
|
"text/tabwriter"
|
|
|
+ "time"
|
|
|
|
|
|
"github.com/mattn/go-colorable"
|
|
|
"github.com/mattn/go-isatty"
|
|
|
@@ -538,3 +539,19 @@ func jsonDocsWalk(cmd *ffcli.Command) *commandDoc {
|
|
|
}
|
|
|
return res
|
|
|
}
|
|
|
+
|
|
|
+func lastSeenFmt(t time.Time) string {
|
|
|
+ if t.IsZero() {
|
|
|
+ return ""
|
|
|
+ }
|
|
|
+ d := max(time.Since(t), time.Minute) // at least 1 minute
|
|
|
+
|
|
|
+ switch {
|
|
|
+ case d < time.Hour:
|
|
|
+ return fmt.Sprintf(", last seen %dm ago", int(d.Minutes()))
|
|
|
+ case d < 24*time.Hour:
|
|
|
+ return fmt.Sprintf(", last seen %dh ago", int(d.Hours()))
|
|
|
+ default:
|
|
|
+ return fmt.Sprintf(", last seen %dd ago", int(d.Hours()/24))
|
|
|
+ }
|
|
|
+}
|