21 lines
530 B
Go
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
|
|
}
|