feat: better flags
All checks were successful
Go / build (push) Successful in 38s

This commit is contained in:
2025-11-04 21:15:05 +01:00
parent cfbb475a42
commit e5169ee0c4
11 changed files with 57 additions and 731 deletions

View File

@@ -11,29 +11,34 @@ import (
type cmd struct {
cmd func([]string, any)
config any
fs *flag.FlagSet
}
func (c *cmd) Run() {
func (c *cmd) Register(name string) {
c.fs = flag.NewFlagSet(name, flag.ExitOnError)
if c.config != nil {
flag.Parse()
filler := flagsfiller.New()
err := filler.Fill(flag.CommandLine, c.config)
err := filler.Fill(c.fs, c.config)
if err != nil {
log.Fatal(err)
}
c.cmd(flag.Args()[1:], c.config)
} else {
c.cmd(os.Args[2:], c.config)
}
}
var commands = map[string]cmd{
func (c *cmd) Run(name string) {
c.fs.Parse(os.Args[2:])
c.cmd(c.fs.Args(), c.config)
}
var commands = map[string]*cmd{
"request": {
request,
nil,
nil,
},
"create": {
create,
&createFlags{},
nil,
},
}