21 lines
530 B
Go

package middleware
import (
"fmt"
"github.com/urfave/cli"
)
var NoArgs cli.BeforeFunc = func(ctx *cli.Context) error {
// `Before` funcs get run prior to resolving subcommands from args
if ctx.NArg() > 0 && ctx.App.Command(ctx.Args()[0]) == nil {
cmdName := ctx.Command.Name
if cmdName == "" && ctx.App.Name != "" {
cmdName = ctx.App.Name
}
// Use the same error format as `cobra.NoArgs` for consistency with the old CLI.
return fmt.Errorf("unknown command %q for %q", ctx.Args()[0], cmdName)
}
return nil
}