Initial scaffolding

This commit is contained in:
Gary Kramlich
2021-11-18 01:30:50 -06:00
commit f6493e0d87
7 changed files with 86 additions and 0 deletions

6
consts/consts.go Normal file
View File

@@ -0,0 +1,6 @@
package consts
const (
Name = "mautrix-discord"
Description = "Discord-Matrix puppeting bridge"
)

5
globals/globals.go Normal file
View File

@@ -0,0 +1,5 @@
package globals
type Globals struct {
Config string `kong:"flag,name='config',short='c',env='CONFIG',help='The configuration file to use',default='config.yaml'"`
}

7
go.mod Normal file
View File

@@ -0,0 +1,7 @@
module gitlab.com/beeper/discord
go 1.17
require github.com/alecthomas/kong v0.2.18
require github.com/pkg/errors v0.9.1 // indirect

12
go.sum Normal file
View File

@@ -0,0 +1,12 @@
github.com/alecthomas/kong v0.2.18 h1:H05f55eRO5f9gusObxgjpqKtozJNvniqMTuOPnf+2SQ=
github.com/alecthomas/kong v0.2.18/go.mod h1:ka3VZ8GZNPXv9Ov+j4YNLkI8mTuhXyr/0ktSlqIydQQ=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

37
main.go Normal file
View File

@@ -0,0 +1,37 @@
package main
import (
"fmt"
"os"
"github.com/alecthomas/kong"
"gitlab.com/beeper/discord/consts"
"gitlab.com/beeper/discord/globals"
"gitlab.com/beeper/discord/version"
)
var cli struct {
globals.Globals
Version version.Cmd `kong:"cmd,help='Display the version and exit'"`
}
func main() {
ctx := kong.Parse(
&cli,
kong.Name(consts.Name),
kong.Description(consts.Description),
kong.UsageOnError(),
kong.ConfigureHelp(kong.HelpOptions{
Compact: true,
Summary: true,
}),
)
err := ctx.Run(&cli.Globals)
if err != nil {
fmt.Fprintf(os.Stderr, "error: %s\n", err)
os.Exit(1)
}
}

16
version/cmd.go Normal file
View File

@@ -0,0 +1,16 @@
package version
import (
"fmt"
"gitlab.com/beeper/discord/consts"
"gitlab.com/beeper/discord/globals"
)
type Cmd struct{}
func (c *Cmd) Run(g *globals.Globals) error {
fmt.Printf("%s %s\n", consts.Name, String)
return nil
}

3
version/version.go Normal file
View File

@@ -0,0 +1,3 @@
package version
const String = "0.0.1"