Diff
1diff --git a/README.md b/README.md
2index 77fe0b96eb78e3d6ccd4470e0d64714808a60efd..68b6bfe69402c6b4e482c3fdf78e81158dc1702b 100644
3--- a/README.md
4+++ b/README.md
5@@ -10,7 +10,7 @@ Soft Serve
6 <a href="https://github.com/charmbracelet/soft-serve/actions"><img src="https://github.com/charmbracelet/soft-serve/workflows/build/badge.svg" alt="Build Status"></a>
7 </p>
8
9-A tasty, self-hosted Git server for the command line. 🍦
10+A tasty, self-hostable Git server for the command line. 🍦
11
12 <img src="https://stuff.charm.sh/soft-serve/soft-serve-cli-demo.gif" width="700" alt="Soft Serve screencast">
13
14diff --git a/main.go b/main.go
15index f6052c285da945e926d99b911beb1fdf4799118a..b9a702bc723f77557b4be84e34e43597114f52f9 100644
16--- a/main.go
17+++ b/main.go
18@@ -1,13 +1,42 @@
19 package main
20
21 import (
22+ "flag"
23+ "fmt"
24 "log"
25+ "os"
26
27 "github.com/charmbracelet/soft/config"
28 "github.com/charmbracelet/soft/server"
29 )
30
31+var (
32+ Version = ""
33+ CommitSHA = ""
34+
35+ version = flag.Bool("version", false, "display version")
36+)
37+
38 func main() {
39+ flag.Parse()
40+
41+ if *version {
42+ if len(CommitSHA) > 7 {
43+ CommitSHA = CommitSHA[:7]
44+ }
45+ if Version == "" {
46+ Version = "(built from source)"
47+ }
48+
49+ fmt.Printf("Soft Serve %s", Version)
50+ if len(CommitSHA) > 0 {
51+ fmt.Printf(" (%s)", CommitSHA)
52+ }
53+
54+ fmt.Println()
55+ os.Exit(0)
56+ }
57+
58 cfg := config.DefaultConfig()
59 s := server.NewServer(cfg)
60 log.Printf("Starting SSH server on %s:%d\n", cfg.Host, cfg.Port)