summaryrefslogtreecommitdiff
path: root/man/manview/data.go
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-06-01 19:37:34 +0200
committerewy <ewy0@protonmail.com>2026-06-01 19:37:34 +0200
commit3d46b9546e1ccf131ce4dbcbfc12f6e37fa301ea (patch)
tree54bd9343fe51734b7e2377a844065f317bc51cc3 /man/manview/data.go
parent46d032cd21b0e8e2c94a32333d3805ec76980cca (diff)
default to manpage view for help
Diffstat (limited to 'man/manview/data.go')
-rw-r--r--man/manview/data.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/man/manview/data.go b/man/manview/data.go
new file mode 100644
index 0000000..7e42fcc
--- /dev/null
+++ b/man/manview/data.go
@@ -0,0 +1,43 @@
+package manview
+
+import (
+ _ "embed"
+ _ "github.com/ewy1/pik/flags"
+ "github.com/ewy1/pik/spool"
+ "github.com/spf13/pflag"
+ "runtime"
+ "runtime/debug"
+ "time"
+)
+
+//go:embed version.txt
+var version string
+
+type ManData struct {
+ Flags []pflag.Flag
+ Now string
+ Revision string
+ Runtime string
+ Version string
+ ExitCodes map[int]*spool.ExitCode
+}
+
+func NewData() ManData {
+ var flags []pflag.Flag
+ pflag.Parse()
+ pflag.VisitAll(func(flag *pflag.Flag) {
+ flags = append(flags, *flag)
+ })
+ info, ok := debug.ReadBuildInfo()
+ if !ok {
+ _, _ = spool.Panic(spool.NoDebugInfo, "could not read debug info\n")
+ }
+ return ManData{
+ Flags: flags,
+ Now: time.Now().Format(time.DateTime),
+ Runtime: runtime.Version(),
+ Version: version,
+ Revision: info.Main.Version,
+ ExitCodes: spool.CodeMap,
+ }
+}