sourcegraph/dev/depgraph/main.go
Erik Seliger 9fab1b4e1d
depgraph: Fix spurious error when no subcommand name is passed (#61871)
This confused me:

```
terminal command () doesn't define an Exec function
```

Now it prints a help text.

Test plan:

Verified the above behavior by hand.
2024-04-15 16:10:44 +02:00

41 lines
707 B
Go

package main
import (
"context"
"flag"
"fmt"
"os"
"github.com/peterbourgon/ff/v3/ffcli"
)
func main() {
if err := mainErr(); err != nil {
fmt.Printf("error: %s\n", err)
os.Exit(1)
}
}
var rootFlagSet = flag.NewFlagSet("depgraph", flag.ExitOnError)
var rootCommand = &ffcli.Command{
ShortUsage: "depgraph [flags] <subcommand>",
FlagSet: rootFlagSet,
Exec: func(ctx context.Context, args []string) error {
return flag.ErrHelp
},
Subcommands: []*ffcli.Command{
summaryCommand,
traceCommand,
traceInternalCommand,
lintCommand,
},
}
func mainErr() error {
if err := rootCommand.Parse(os.Args[1:]); err != nil {
return err
}
return rootCommand.Run(context.Background())
}