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(envAppDirPath, "share/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
	},
}