🚧 Stub commands

This commit is contained in:
Dan Jones 2025-04-01 11:23:09 -05:00
commit a9c62f7d20
4 changed files with 45 additions and 2 deletions

View file

@ -1,7 +1,29 @@
package main package main
import "fmt" import (
"fmt"
"os"
cmds "codeberg.org/danjones000/trakter/commands"
)
func procError(err error) {
if err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}
func main() { func main() {
fmt.Println("TODO") if len(os.Args) < 2 {
procError(fmt.Errorf("Missing command"))
}
cmd, err := cmds.New(os.Args[1], os.Args[2:])
procError(err)
fmt.Printf("Running %s\n", cmd.Name())
err = cmd.Run()
procError(err)
} }

17
commands/cmds.go Normal file
View file

@ -0,0 +1,17 @@
package commands
import (
"fmt"
"github.com/spf13/pflag"
)
type Command interface {
Name() string
FlagSet() *pflag.FlagSet
Run() error
}
func New(name string, args []string) (Command, error) {
return nil, fmt.Errorf("Unknown command: %s", name)
}

2
go.mod
View file

@ -1,3 +1,5 @@
module codeberg.org/danjones000/trakter module codeberg.org/danjones000/trakter
go 1.23.6 go 1.23.6
require github.com/spf13/pflag v1.0.6

2
go.sum Normal file
View file

@ -0,0 +1,2 @@
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=