From 9a106cd026b0ba34e2a05badfd091d45a6a0b3b2 Mon Sep 17 00:00:00 2001 From: sh0rez Date: Tue, 10 Mar 2020 16:54:47 +0100 Subject: [PATCH] fix(cli): panic on no args --- cmd/tk/env.go | 3 ++- pkg/cli/args.go | 4 ++-- pkg/cli/command.go | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cmd/tk/env.go b/cmd/tk/env.go index f764cc4e3..996663ef2 100644 --- a/cmd/tk/env.go +++ b/cmd/tk/env.go @@ -51,7 +51,7 @@ func envSetCmd() *cli.Command { cmd := &cli.Command{ Use: "set", Short: "update properties of an environment", - Args: cli.ArgsExact(1), + Args: workflowArgs, Predictors: complete.Flags{ "server-from-context": kubectlContexts, }, @@ -175,6 +175,7 @@ func envRemoveCmd() *cli.Command { Use: "remove ", Aliases: []string{"rm"}, Short: "delete an environment", + Args: workflowArgs, Run: func(cmd *cli.Command, args []string) error { for _, arg := range args { path, err := filepath.Abs(arg) diff --git a/pkg/cli/args.go b/pkg/cli/args.go index 457f7534d..bdcc1fa2c 100644 --- a/pkg/cli/args.go +++ b/pkg/cli/args.go @@ -94,9 +94,9 @@ func ArgsAny() Arguments { } } -// PredictAny predicts anything (usually files and directories) +// PredictAny predicts any files/directories func PredictAny() complete.Predictor { - return complete.PredictAnything + return complete.PredictFiles("*") } // ValidateAny always approves diff --git a/pkg/cli/command.go b/pkg/cli/command.go index 5630f3332..ac7e6eb68 100644 --- a/pkg/cli/command.go +++ b/pkg/cli/command.go @@ -106,6 +106,9 @@ func (c *Command) Execute() error { } // validate args + if c.Args == nil { + c.Args = ArgsAny() + } if err := c.Args.Validate(c.Flags().Args()); err != nil { return c.help(err) }