aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/flakeinfo/main.go24
1 files changed, 23 insertions, 1 deletions
diff --git a/cmd/flakeinfo/main.go b/cmd/flakeinfo/main.go
index d41f321..8c1960c 100644
--- a/cmd/flakeinfo/main.go
+++ b/cmd/flakeinfo/main.go
@@ -7,16 +7,38 @@ import (
"os"
"time"
+ "github.com/fcuny/world/internal/version"
"github.com/fcuny/world/pkg/flake/lock"
)
+const usage = `Usage:
+ flake-info [flake.lock]
+
+Options:
+ -v, --version Print version information
+ -h, --help Print this message
+`
+
func main() {
- var flakeLockPath string
+ flag.Usage = func() { fmt.Fprintf(os.Stderr, "%s\n", usage) }
+
+ var (
+ flakeLockPath string
+ versionFlag bool
+ )
flag.StringVar(&flakeLockPath, "flake-lock", "flake.lock", "path to the flake lock file")
+ flag.BoolVar(&versionFlag, "version", false, "Print version information")
+ flag.BoolVar(&versionFlag, "v", false, "Print version information")
flag.Parse()
+ if versionFlag {
+ information := version.VersionAndBuildInfo()
+ fmt.Println(information)
+ return
+ }
+
if _, err := os.Stat(flakeLockPath); err != nil {
if errors.Is(err, os.ErrNotExist) {
fmt.Fprintf(os.Stderr, "%s does not exists\n", flakeLockPath)