main.go 786 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "github.com/alecthomas/kong"
  6. "gitlab.com/beeper/discord/consts"
  7. "gitlab.com/beeper/discord/globals"
  8. "gitlab.com/beeper/discord/registration"
  9. "gitlab.com/beeper/discord/version"
  10. )
  11. var cli struct {
  12. globals.Globals
  13. GenerateRegistration registration.Cmd `kong:"cmd,help='Generate the registration file for synapse and exit'"`
  14. Version version.Cmd `kong:"cmd,help='Display the version and exit'"`
  15. }
  16. func main() {
  17. ctx := kong.Parse(
  18. &cli,
  19. kong.Name(consts.Name),
  20. kong.Description(consts.Description),
  21. kong.UsageOnError(),
  22. kong.ConfigureHelp(kong.HelpOptions{
  23. Compact: true,
  24. Summary: true,
  25. }),
  26. )
  27. err := ctx.Run(&cli.Globals)
  28. if err != nil {
  29. fmt.Fprintf(os.Stderr, "error: %s\n", err)
  30. os.Exit(1)
  31. }
  32. }