package main import ( "fmt" "os" "path/filepath" ) var subCmdVersion = subCmd{ name: "version", descr: "Dumps version and build info to stdout", do: func(ctx subCmdCtx) error { ctx, err := ctx.withParsedFlags(&withParsedFlagsOpts{ noNetwork: true, }) if err != nil { return fmt.Errorf("parsing flags: %w", err) } versionPath := filepath.Join(getShareDirPath(), "version") version, err := os.ReadFile(versionPath) if err != nil { return fmt.Errorf("reading version info from %q: %w", versionPath, err) } if _, err := os.Stdout.Write(version); err != nil { return fmt.Errorf("writing version info to stdout: %w", err) } return nil }, }