flag.Usage = base.Usage
flag.Parse()
- counter.CountFlags("cmd/go:flag-", *flag.CommandLine)
args := flag.Args()
if len(args) < 1 {
cmd, used := lookupCmd(args)
cfg.CmdName = strings.Join(args[:used], " ")
- counter.Inc("cmd/go:subcommand-" + strings.ReplaceAll(cfg.CmdName, " ", "-"))
if len(cmd.Commands) > 0 {
if used >= len(args) {
help.PrintUsage(os.Stderr, cmd)
} else {
base.SetFromGOFLAGS(&cmd.Flag)
cmd.Flag.Parse(args[1:])
- counter.CountFlags("cmd/go/"+cmd.Name()+":flag-", cmd.Flag)
args = cmd.Flag.Args()
}
_, dir, _ = strings.Cut(a, "=")
os.Args = slices.Delete(os.Args, used, used+1)
}
- counter.Inc("cmd/go:flag-C")
if err := os.Chdir(dir); err != nil {
base.Fatalf("go: %v", err)