main.go

 1package main
 2
 3import (
 4	"flag"
 5	"fmt"
 6	"log"
 7	"os"
 8
 9	"github.com/charmbracelet/soft/config"
10	"github.com/charmbracelet/soft/server"
11)
12
13var (
14	Version   = ""
15	CommitSHA = ""
16
17	version = flag.Bool("version", false, "display version")
18)
19
20func main() {
21	flag.Parse()
22
23	if *version {
24		if len(CommitSHA) > 7 {
25			CommitSHA = CommitSHA[:7]
26		}
27		if Version == "" {
28			Version = "(built from source)"
29		}
30
31		fmt.Printf("Soft Serve %s", Version)
32		if len(CommitSHA) > 0 {
33			fmt.Printf(" (%s)", CommitSHA)
34		}
35
36		fmt.Println()
37		os.Exit(0)
38	}
39
40	cfg := config.DefaultConfig()
41	s := server.NewServer(cfg)
42	log.Printf("Starting SSH server on %s:%d\n", cfg.Host, cfg.Port)
43	err := s.Start()
44	if err != nil {
45		log.Fatalln(err)
46	}
47}