From 485aa55585cfc98032151f78f5ca56ddd04e8d67 Mon Sep 17 00:00:00 2001
From: Christian Muehlhaeuser 
 
 
diff --git a/main.go b/main.go
index f6052c285da945e926d99b911beb1fdf4799118a..b9a702bc723f77557b4be84e34e43597114f52f9 100644
--- a/main.go
+++ b/main.go
@@ -1,13 +1,42 @@
 package main
 
 import (
+	"flag"
+	"fmt"
 	"log"
+	"os"
 
 	"github.com/charmbracelet/soft/config"
 	"github.com/charmbracelet/soft/server"
 )
 
+var (
+	Version   = ""
+	CommitSHA = ""
+
+	version = flag.Bool("version", false, "display version")
+)
+
 func main() {
+	flag.Parse()
+
+	if *version {
+		if len(CommitSHA) > 7 {
+			CommitSHA = CommitSHA[:7]
+		}
+		if Version == "" {
+			Version = "(built from source)"
+		}
+
+		fmt.Printf("Soft Serve %s", Version)
+		if len(CommitSHA) > 0 {
+			fmt.Printf(" (%s)", CommitSHA)
+		}
+
+		fmt.Println()
+		os.Exit(0)
+	}
+
 	cfg := config.DefaultConfig()
 	s := server.NewServer(cfg)
 	log.Printf("Starting SSH server on %s:%d\n", cfg.Host, cfg.Port)